Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Как узнать координаты первого символа в слове, найденном с помощью readtext

Страниц (1): [1]
 

1. Kostick - 21 Мая, 2023 - 12:08:49 - перейти к сообщению
Здравствуйте. Пользуюсь визуальным редактором. Возникла проблема.

Есть область, в которой идет поиск слова "трофеи" с помощью функции readtext. Бот запоминает все найденные буквы, у которых корректность выше 0.6, после этого ищет в этом результате слово "трофеи". Задача в том, чтобы если оно было найдено, нужно найти относительно координат первого символа в этом слове иконку рыбы и навести на нее курсор.

Проблема как раз в том, как узнать координаты первого символа в этом слове, чтобы отсчитывать от него новую область (область с иконкой рыбы)?
Область достаточно большая, потому что окно с трофеями, а вместе с ним и слово "Трофеи" перемещается.

Прикрепляю скриншот области поиска:(для просмотра ссылки Вам необходимо авторизоваться)
2. Zireael - 21 Мая, 2023 - 12:28:41 - перейти к сообщению
 Цитата:
область с иконкой рыбы

Проще искать зелёную рамку вокруг рыбы.
Либо искать крестик, которым закрывается окно с трофеями.
3. Kostick - 21 Мая, 2023 - 12:29:07 - перейти к сообщению
У меня получилось в визуальном редакторе найти все корректные символы и прокликать по ним, но я не могу придумать, как найти именно первый символ в слове "трофеи".

Прикрепляю файл визуального редактора и код в Kibor.
Визуальный редактор:(для просмотра ссылки Вам необходимо авторизоваться) Код в Kibor:(для просмотра ссылки Вам необходимо авторизоваться) (Добавление)
 Zireael пишет:
 Цитата:
область с иконкой рыбы

Проще искать зелёную рамку вокруг рыбы.
Либо искать крестик, которым закрывается окно с трофеями.

Я рассматривал вариант с крестиком, но хотел сначала попробовать через слово "трофеи", и только сейчас понял, что не все так просто.
(Добавление)
 Zireael пишет:
 Цитата:
область с иконкой рыбы

Проще искать зелёную рамку вокруг рыбы.
Либо искать крестик, которым закрывается окно с трофеями.

Разрешите, я тогда по другой тебе тут сразу спрошу.
Когда ищу текст в области и вывожу его с помощью textout, то там есть буквы "Н", как на скрине:(для просмотра ссылки Вам необходимо авторизоваться) Я так понимаю, это новые строки. Как их вырезать? Я понимаю, с помощью регулярного выражения, но какого именно?
4. Zireael - 21 Мая, 2023 - 13:02:48 - перейти к сообщению
 Цитата:
Когда ищу текст в области и вывожу его с помощью textout, то там есть буквы "Н"

Это пустые элементы массива char.
CODE:
char Text[10];
Text[0] = '1';
Text[1] = '2';
Text[2] = '3';
Text[3] = '4';

textout(0, 200, 200, format(#Text[0], 10), 1);
loop()sleep(10);
5. Kostick - 21 Мая, 2023 - 14:17:18 - перейти к сообщению
 Zireael пишет:
 Цитата:
Когда ищу текст в области и вывожу его с помощью textout, то там есть буквы "Н"

Это пустые элементы массива char.
CODE:
char Text[10];
Text[0] = '1';
Text[1] = '2';
Text[2] = '3';
Text[3] = '4';

textout(0, 200, 200, format(#Text[0], 10), 1);
loop()sleep(10);

Во, да, да, а как от них избавиться? Или они нигде не участвуют?
6. Zireael - 21 Мая, 2023 - 14:20:24 - перейти к сообщению
 Цитата:
а как от них избавиться?

Заполнить массив нулями.
CODE:
char Text[10];
initialarray(#Text[0], 0);
Text[0] = '1';
Text[1] = '2';
Text[2] = '3';
Text[3] = '4';

textout(0, 200, 200, format(#Text[0]), 1);
loop()sleep(10);
7. Kostick - 21 Мая, 2023 - 14:42:12 - перейти к сообщению
 Zireael пишет:
 Цитата:
а как от них избавиться?

Заполнить массив нулями.
CODE:
char Text[10];
initialarray(#Text[0], 0);
Text[0] = '1';
Text[1] = '2';
Text[2] = '3';
Text[3] = '4';

textout(0, 200, 200, format(#Text[0]), 1);
loop()sleep(10);

Спасибо большое, а то я уже думал, вот так делать, но это фигня:
CODE:
regexreplace(-1, #Text_Cut_Wait, Text_Wait, "(Н+)", "");

Powered by ExBB FM 1.0 Final