Dymobidge |
Отправлено: 17 Февраля, 2021 - 00:25:18
|
Прохожий
Покинул форум
Сообщений всего: 7
Дата рег-ции: Янв. 2021
Репутация: 0
|
Доброго времени суток! Начала осваивать Кибор бот с визуального редактора, моей целью было написание бота для фарма опыта в игре мобильная русская рыбалка. Запустила я её на экономичном, в плане потребления ресурсов, андройд эмуляторе - KOplayer и начала творить, а точнее вытворять...
Нажмите для увеличения
Учла все основные факторы, такие как голод, поломавшуюся снасть и тому подобное, но механика выуживания рыбы была очень деревянной (3 секунды зажимает кнопку "тянуть", затем передаёт управление в блок "логики" и, если не было обнаружено каких либо факторов, к примеру не увидел кнопки "отпустить" при поимке рыбы, то вновь зажимает кнопку "тянуть" и так по кругу) и, в связи с этим, я решила доработать эту часть бота, вдохновившись работой Владимира по написанию бота для русской рыбалки 3, взяв оттуда функцию "Лов" и подставив свои параметры.
Именно тут у меня всё пошло не так... Не получается реализовать корректную работу таймера совместно с заимствованной функцией выуживания рыбы "Лов".
Проблема заключается в том, что, при включении таймера (независимо от того, в какой именно момент он был включен) цикл обрывается, оставив зажатой кнопку "тянуть".
Нажмите для увеличения
Мне необходимо, чтобы во время работы цикла "loop()" в функции "fishing" происходил опрос экрана на наличие кнопки "Отпустить" (либо отсутствие надписи "см" на эхолоте) и в случае нахождения управление передавалось в функцию "dismiss", затем выключало таймер, а его включение происходило лишь в функции "fishing".(Отредактировано автором: 17 Февраля, 2021 - 00:38:54) |
|
|
Ilya001 |
Отправлено: 17 Февраля, 2021 - 00:47:46
|
Эксперт
Покинул форум
Сообщений всего: 459
Дата рег-ции: Май 2020
Репутация: 23
|
Dymobidge пишет: Доброго времени суток! Начала осваивать Кибор бот с визуального редактора, моей целью было написание бота для фарма опыта в игре мобильная русская рыбалка. Запустила я её на экономичном, в плане потребления ресурсов, андройд эмуляторе - KOplayer и начала творить, а точнее вытворять...
Нажмите для увеличения
Учла все основные факторы, такие как голод, поломавшуюся снасть и тому подобное, но механика выуживания рыбы была очень деревянной (3 секунды зажимает кнопку "тянуть", затем передаёт управление в блок "логики" и, если не было обнаружено каких либо факторов, к примеру не увидел кнопки "отпустить" при поимке рыбы, то вновь зажимает кнопку "тянуть" и так по кругу) и, в связи с этим, я решила доработать эту часть бота, вдохновившись работой Владимира по написанию бота для русской рыбалки 3, взяв оттуда функцию "Лов" и подставив свои параметры.
Именно тут у меня всё пошло не так... Не получается реализовать корректную работу таймера совместно с заимствованной функцией выуживания рыбы " Лов".
Проблема заключается в том, что, при включении таймера (независимо от того, в какой именно момент он был включен) цикл обрывается, оставив зажатой кнопку "тянуть".
Нажмите для увеличения
Мне необходимо, чтобы во время работы цикла "loop()" в функции "fishing" происходил опрос экрана на наличие кнопки "Отпустить" (либо отсутствие надписи "см" на эхолоте) и в случае нахождения управление передавалось в функцию "dismiss", затем выключало таймер, а его включение происходило лишь в функции "fishing".
А без блока логики не как реализовать то что вы хотите? Опишите что хотите точно по порядку. Я сам не кодер и не мастер но уже давно работаю с виз.редактор.кодом, могу подсказать что знаю. |
|
|
Dymobidge |
Отправлено: 17 Февраля, 2021 - 00:57:41
|
Прохожий
Покинул форум
Сообщений всего: 7
Дата рег-ции: Янв. 2021
Репутация: 0
|
Ilya001 пишет:
А без блока логики не как реализовать то что вы хотите? Опишите что хотите точно по порядку. Я сам не кодер и не мастер но уже давно работаю с виз.редактор.кодом, могу подсказать что знаю.
Если вы имеете в виду функцию "logics", то нет, эта функция смотрит на сообщения, которые могли появится после заброса удочки, вроде голода или не собранной удочки и лишь после определения того, что всё в порядке, управление переходит в функцию "fishing".
Мне же надо, чтобы при переходе к функции "fishing" включался параллельный опрос на наличие появления какого-либо окна на экране (о поимке рыбы, о том, что рыба сорвалась и т.п.) и в случае появления данного окна завершалась работа функции "fishing" передав управление функции "dismiss".(Отредактировано автором: 17 Февраля, 2021 - 00:59:38) |
|
|
Dymobidge |
Отправлено: 17 Февраля, 2021 - 01:06:43
|
Прохожий
Покинул форум
Сообщений всего: 7
Дата рег-ции: Янв. 2021
Репутация: 0
|
Zireael пишет:
Включайте таймер при вызове этой функций, в таймере можно выполнить любой код, когда нужно выключайте его.
Включаю таймер, вот только толку 0, т.к. при включении таймера прекращается распознавание критических точек напряжения удилища и остаётся зажатой кнопка "тянуть" (другими словами ЛКМ)
Именно поэтому и решила искать помощи на форуме
(Добавление)
Возможно ли как-то в цикл "loop()" вставить контрольные точки, чтобы на каждом этапе раз, например, в 10мс опрашивалась логика "if (getcolor(где-тоX, где-тоY)==какой-то_цветZ)" и при правде управление переходило к функции dismiss();, завершая функцию fishing();, а при лжи возвращалась к той точке, с которой произошло обращение к логике "if (getcolor)"?
Этого было бы достаточно, т.к. при появлении какого-либо окна с сообщением происходит затемнение всего фона.
Функция fishing(); (Отобразить)CODE:function fishing()
{
sleep(100);
readtext(RU, #text_KIB, 40, 3, -1, -1, -1, -1, -1, 0, -1, sx_KIB+1006, sy_KIB+1005, sx_KIB+1048, sy_KIB+1029, -1);
sleep(50);
if (text_KIB=="см") goto m_KIB4;
else goto m_KIB1;
m_KIB1: search();
goto exit_KIB;
m_KIB4: int Z=1;
mousedown(LEFT, 1170, 950);
loop()
{
if (Z==1)
{
if (getcolor(730, 934)==0)
{
mouseup(LEFT, 1170, 950);
Z=0;
}
}
if (Z==0)
{
if (getcolor(695, 934)!=0)
{
mousedown(LEFT, 1170, 950);
Z=1;
}
}
sleep(10);
}
goto exit_KIB;
exit_KIB:;
}
|
|
|
Zireael |
Отправлено: 17 Февраля, 2021 - 01:22:16
|
Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Таймер не влияет на работу бота, если конечно в нём нет цикла.
Цитата: Возможно ли как-то в цикл "loop()" вставить контрольные точки, чтобы на каждом этапе раз, например, в 10мс опрашивалась логика "if (getcolor
В таймере проверяйте что нужно if (getcolor...(Отредактировано автором: 17 Февраля, 2021 - 01:25:42) |
|
|
Dymobidge |
Отправлено: 17 Февраля, 2021 - 01:35:16
|
Прохожий
Покинул форум
Сообщений всего: 7
Дата рег-ции: Янв. 2021
Репутация: 0
|
Dantes3000 пишет: Dymobidge , ну то в этом цикле можно сколько угодно проверок делать, хоть черный пиксель искать, хоть белый. Для этого таймер вообще не нужен. Лично я его использую только лишь когда проверяю не отвалился ли интернет
Подскажите пожалуйста, как это реализовать не нарушая цикла в коде функции, изложенном мной выше? Чтобы на любом из этапов происходил опрос getcolor, приостанавливая цикл лишь кратковременно и возвращаясь на ту же строчку цикла в случае лжи.(Отредактировано автором: 17 Февраля, 2021 - 01:35:59) |
|
|
|