1
Общие вопросы / Re: Создал раба, для захвата мира, а он не слушается
« : Август 25, 2017, 02:00:59 pm »
Я ей никогда не пользовалась. Спасибо за новое знание

Добавлена тема оформления "Clickermann" для кода с подсветкой синтаксиса. Выбирается из выпадающего списка "Код" (рядом с "цвет", "размер" и "шрифт") в режиме редактирования поста. Либо просто BB-тегом "code=clickermann"
В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.
Может нужно дальше в код заглянуть? Проверить окончания например...Молодец! Спасибо. Надо было просто поныть после двух безрезультатных вечеров поиска потеряшки "END_IF", чтобы услышать ту же версию подразумеваемой ошибки, разобрать цепочку условий на блоки и найти бермуд в коде.
Не могу понять, почему вне зависимости от значения $HP_full (0 или 1) выполняются все последующие действия. Всё определяется верно, альтернатива условия и окончание прописаны. Но он уперто прет в город, если хп не полное... Где я туплю?
SUB(OPA) GETSCREEN COLORMODE(7) // сканирование здоровья для PvE IF_PIXEL_IN($start_X+285,$start_Y-479, $start_X+286,$start_Y-474, 8355839) $HP_full=1 ELSE $HP_full=0 END_IF // сканирование маны для PvP IF_PIXEL_IN($start_X+285,$start_Y-459, $start_X+286,$start_Y-454, 16777087) $EP_full=1 ELSE $EP_full=0 END_IF END_SUB // __________ 7.Охота ____________________ WAIT(2) OPA() IF($log=1) LOGWRITE("HP_full = ",$HP_full, ", EP_full = ", $EP_full) END_IF WAIT(2) IF($HP_full=1) WORLD() WAIT(1) IF($world ! 1) //если не в городе (не равно 1) MOVE($town_X+RND(0,20),$town_Y+RND(0,15)) // идем в город WAIT(RND(2,3)) LCLICK(-1,-1)
Вот для этого и нужно заключать код в кодМои бодания с упрямым слеповатым смайликом произошли при попытке Изменить, ранее написанный
Код: [Выделить]COLORMODE( 8 )
COLORMODE(8)
COLORMODE(8))
Правда при таком раскладе цикл не особо нужен, ибо скрипт у вас скорее всего долгое время будет выполняться ровно до строки 16. Если убрать остановку скрипта, то ваша папка перезахламиться скринами, на которые вы даже внимания не обратите. Если же убрать существование самого цикла, то это не будет соответствовать вашим требованиям, но можете попробовать и так:
$stop=0 WHILE($stop=0) KEYPRESS(#M) WAIT(2) DBLCLICK(1233,413) WAIT(2) DBLCLICK(1270,510) WAIT(1) DBLCLICK(1118,863) WAIT(1) GETSCREEN IF_PICTURE_IN(754,889, 764,897, "search.bmp", -1, 100) $stop=1 ELSE SCREENSHOTEX(754,889, 764,897, "Ups_", 0) HALT // остановка. пройдите в папку screens и сравните искомое с результатом END_IF END_CYC
Как-то так. Анализируйте, сравнивайте. Если картинка не соответствует стандартам функции IF_PICTURE_IN или находится не совсем в той области, то на скрине это будет видно. При нейтрализации ошибки SCREENSHOTEX и HALT можно закомментировать или убрать. Тут дело вкуса.
$log=0 KEYPRESS(#M) WAIT(2) DBLCLICK(1233,413) WAIT(2) DBLCLICK(1270,510) WAIT(1) DBLCLICK(1118,863) WAIT(1) GETSCREEN IF_PICTURE_IN(754,889, 764,897, "search.bmp", -1, 100) IF($log=1) LOGWRITE("Усё ништяки.") END_IF ELSE SCREENSHOTEX(754,889, 764,897, "Ups_", 0) IF($log=1) LOGWRITE("Здесь и сейчас лично я вижу вот это... Твой Clickermann") END_IF END_IF HALT
$stop=0 WHILE($stop=0) GETSCREEN IF_PICTURE_IN(754,889, 764,897, "search.bmp", -1, 100) $stop=1 ELSE KEYPRESS(#M) WAIT(2) DBLCLICK(1233,413) WAIT(2) DBLCLICK(1270,510) WAIT(1) DBLCLICK(1118,863) WAIT(1) END_IF END_CYC
а мне вот некогда в школу к дяде-винтуА ещё активный участник называется... Как не стыдно прогуливать?
пичаль