Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: LLlteйn on June 10, 2017, 12:47:46 PM
-
не могу понять, когда я убираю команду SUB, END_SUB и поиск и бой(), всё работает нормально, не могу понять в чём проблема помогите пожалуйста советом, заранее большое спасибо.
SUB(поиск и бой)
GO1:
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(693,574, 693,574, 11201274) // нет моба
$check = 0
WAITMS(100)
ELSE
WAITMS(100)
LCLICK(693,574) // жмёт на моба
$check = 1
WAITMS(100)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (749,255, 893,469, "screens\элементаль воды 1.bmp", 75)
$check = 1
WAITMS(100)
SUB(прогнать)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (928,345, 1201,517, "screens\прогнать.bmp", 75)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(693,574, 693,574, 11201274) // нет моба
$check = 1
WAITMS(100)
END_IF
END_CYC
GOTO(GO1)
END_IF
END_CYC
END_SUB
прогнать()
ELSE
IF_PICTURE_IN (749,255, 893,469, "screens\элементаль воздуха 1.bmp", 75)
$check = 1
WAITMS(100)
прогнать()
ELSE
IF_PICTURE_IN (749,255, 893,469, "screens\снежная ведьма 1.bmp", 75)
$check = 1
SUB(нпапсть)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (927,345, 1201,517, "screens\нпапсть.bmp", 75)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
END_CYC
END_SUB
нпапсть()
WAITMS(100)
ELSE
IF_PICTURE_IN (749,255, 893,469, "screens\громовержец 1.bmp", 75)
$check = 1
нпапсть()
WAITMS(100)
END_IF
END_IF
END_IF
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (901,176, 949,205, "screens\ваш ход.bmp", 75)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
END_CYC
///////////////////////////////////////////
//система боя
///////////////////////////////////////////
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (770,168, 883,210, "screens\победитель.bmp", 75)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(641,297, 641,297, 0) // ожидание выхода на остров
$check = 1
WAITMS(500)
ELSE
WAITMS(100)
END_IF
END_CYC
END_SUB
поиск и бой()
-
В имени не должно быть пробелов. После удаления интерпритатором 'мусора' остался вызов
бой()
Пиши поиск_и_бой() или ПоискИБой()
-
не прокатило, кликер просто пропускает первый блок (поиск по пикселю) и пропускает поиск картинки (элементаль воды 1) и приступает к поиску картинки "прогнать".
Но если убрать условие подпрограммы он работает нормально, и в отдельном скрипте второй блок действий (поиск картинок элементалей, ведьм, громовержца с прогоном и нападением) работает нормально.
к тому же у меня есть и другие подпрограммы названия которых состоят из 2ух и более слов, а они работают нормально.
-
С пробелами конечно не стоит писать но у тебя ошибки гораздо серьезнее.
Описания подпрограмм вложены черти куда, они не могут быть никуда вложены! Описания должны быть в начале скрипта перед основным кодом.
Далее ты через гото выпрыгиваешь из цикла подпрограммы в другую подпрограмму :o так нельзя.
Нельзя выпрыгивать из циклов и подпрограмм, иначе кликер перестает понимать где находится выполнение что приводит к глюкам.
Вот исправленный код
SUB(прогнать)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (928,345, 1201,517, "screens\прогнать.bmp", 75)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
$check2 = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(693,574, 693,574, 11201274) // нет моба
$check2 = 1
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
$start = 1
ELSE
WAITMS(50)
END_IF
END_CYC
END_SUB
SUB(Напасть)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (927,345, 1201,517, "screens\Напасть.bmp", 75)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
END_SUB
SUB(поиск_и_бой)
GO1:
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(693,574, 693,574, 11201274) // нет моба
WAITMS(100)
ELSE
WAITMS(100)
LCLICK(693,574) // жмёт на моба
$check = 1
WAITMS(100)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (749,255, 893,469, "screens\элементаль воды 1.bmp", 75)
$check = 1
WAITMS(100)
прогнать()
ELSE
IF_PICTURE_IN (749,255, 893,469, "screens\элементаль воздуха 1.bmp", 75)
$check = 1
WAITMS(100)
прогнать()
ELSE
IF_PICTURE_IN (749,255, 893,469, "screens\снежная ведьма 1.bmp", 75)
$check = 1
Напасть()
WAITMS(100)
ELSE
IF_PICTURE_IN (749,255, 893,469, "screens\громовержец 1.bmp", 75)
$check = 1
Напасть()
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_IF
END_IF
END_IF
END_CYC
IF($start = 1)
$start = 0
GOTO(GO1)
END_IF
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (901,176, 949,205, "screens\ваш ход.bmp", 75)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
///////////////////////////////////////////
//система боя
///////////////////////////////////////////
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (770,168, 883,210, "screens\победитель.bmp", 75)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(641,297, 641,297, 0) // ожидание выхода на остров
$check = 1
WAITMS(500)
ELSE
WAITMS(50)
END_IF
END_CYC
END_SUB
поиск_и_бой()
-
большое спасибо!!!
почти всё работает, только поясните пожалуйста за что отвечает этот блок:
IF($start = 1)
$start = 0
GOTO(GO1)
END_IF
и если можно по проще, для чайников, благодарю.
-
Это твой переход в начало подпрограммы. Только написанный корректно.
19 строка, переменной $start присваивается значение 1
после чего мы выходим из подпрограммы (прогнать) а потом и из цикла на 56 строке WHILE($check = 0)
после цикла у нас условие если $start равна 1 то
присваиваем $start = 0
и прыгаем через GOTO(GO1) на 41 строку к GO1:
-
спасибо большое
-
Я код и не смотрел :)
С телефона неформатированную длинную кашу не было смысла пытаться понять. Что с краю увидел на то первое внимание и обратил.
-
помогите пожалуйста, мне нужен скрипт который открывает диалоговое окно с вопросом: "продолжить?" и кнопками: "да" или "нет", кода я нажимаю нет скрипт останавливается, а когда нажимаю да он должен открыть диалоговое окно с функцией ввода (в окно вводится время в секундах (оно может быть всегда разное, но стандартное 600 сек.) желательно конечно чтобы в окно вводилось время в минутах) и он должен ожидать указанное время, следом (через указанное время) снова открыть окно с вопросом "продолжить?" и так по кругу. С первой частью я разобрался, а вот дальше не знаю:
1-я часть:
$mr = dialogbox("продолжить или нет?", 4, 4)
if ($mr = 6)
print("Yes")
$myvar = 5
WAIT(600)
else
print("No")
halt
end_if
2-я часть:
$str = inputbox("сколько времени добавить?", "600", 999)
print($str)
Заранее благодарю
-
$mr = dialogbox("продолжить?", 4, 2)
if ($mr = 6)
print("Yes")
$str = inputbox("сколько МИНУТ добавить?", "10", 999)
print($str)
$myvar = 5
WAIT($str*60)
else
print("No")
halt
end_if
WAITMS(50)
-
пишет: ошибка при интерпритации строки WAIT($str*60)
-
А так?
$mr = dialogbox("продолжить?", 4, 2)
if ($mr = 6)
print("Yes")
$str = int(inputbox("сколько МИНУТ добавить?", "10", 999))
print($str)
$myvar = 5
WAIT($str*60)
else
print("No")
halt
end_if
WAITMS(50)
-
разве WAIT($str*60) это не 60 сек.?
Ты просил в минутах. Это умножение введенных минут на секунды.
-
благодарю, допёрло
-
всё работает
-
Здравствуйте, скажите пожалуйста есть какой то способ решить мою проблему.
Она заключается в следующем: мне нужно что бы кликер проверял все картинки в указанной папке, не нумеруя их от 1 до бесконечности (просто нужно что бы каждый файл имел своё название)
-
Что значит проверял? Искал до первой найденной?
http://crapware.aidf.org/forum/index.php?topic=1752.msg11301#msg11301
-
благодарю
-
при воспроизведении пишет ошибка при интерпретации строки: IF_PICTURE_IN (790,331, 850,391, "screens\монстры\безумный вепрь.bmp", "screens\монстры\король червей.bmp", 75), разве нельзя писать искомые файлы через запятую?
-
при воспроизведении пишет ошибка при интерпретации строки: IF_PICTURE_IN (790,331, 850,391, "screens\монстры\безумный вепрь.bmp", "screens\монстры\король червей.bmp", 75), разве нельзя писать искомые файлы через запятую?
Нельзя.
-
Здравствуйте, скажите а в подпрограмме можно записать ещё одно подпрограмму или нет?
-
Записать тело подпрограммы в подпрограмме, или вызвать другую подпрограмму?
Первое не имеет смысла. Второе - сколько душа пожелает.
-
вот:
SUB(ход по полю)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (901,130, 947,154, "screens\поле\жёлтый камень 1.bmp", 75)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (901,130, 947,154, "screens\поле\зелёный камень1.bmp", 75)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (901,130, 947,154, "screens\поле\красный камень1.bmp", 75)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
END_IF
END_IF
END_CYC
END_SUB
SUB(молния)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (668,542, 705,580, "screens\заклинания\молния.bmp", 75)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(500)
END_IF
END_CYC
END_SUB
SUB(бой со слабыми)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (901,130, 947,154, "screens\рабочие\ваш ход.bmp", 75)
$check = 1
WAITMS(500)
LCLICK(1003,565) // 6889472 мана
WAITMS(100)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(793,558, 793,558, 16052727) // крест
$check = 1
LCLICK($_return1, $_return2)
WAITMS(500)
ход по полю()
молния()
ELSE
IF_PIXEL_IN(737,561, 737,561, 11377608) // квадрат
$check = 1
LCLICK($_return1, $_return2)
WAITMS(500)
ход по полю()
молния()
ELSE
IF_PICTURE_IN (773,129, 883,144, "screens\рабочие\победитель.bmp", 75)
$check = 1
WAITMS(100)
END_IF
END_IF
END_IF
END_CYC
END_SUB
бой со слабыми()
-
подсветку закостылил.
-
Здравствуйте, помогите пожалуйста!
У меня есть сценарий который переходит от игрока к игроку в онлайн игре каждые 50 боёв он перезагружает страницу и начинает заново, так вот как мне сделать что бы помимо этого он каждые 2 часа 58 мнут (конечно лучше что бы в интервал межу 2 часами 57 минут и 2 часами и 59 минут ) после команды include и до подпрограммы "открыть чат" выполнял определенное действие, а потом снова возвращался к тому месту откуда закончил
вот сам скрипт (не судите строго и заранее благодарю):
FOR($a=0,$a<50)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (1279,833, 1305,859, "screens\переключатель избранных 1.bmp", 100) // поиск переключателя избранных 1
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (1279,833, 1305,859, "screens\переключатель избранных 2.bmp", 100) // поиск переключателя избранных 2
$check = 1
WAITMS(100)
ELSE
WAITMS(100)
END_IF
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (1279,833, 1305,859, "screens\переключатель избранных 2.bmp", 100) // поиск переключателя избранных 2
$check = 1
WAITMS(100)
ELSE
WAITMS(100)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(1273,696, 1273,696, 1599645) // выделить только 15ых уровней
$check = 1
LCLICK($_return1, $_return2)
WAITMS(3000)
ELSE
IF_PIXEL_IN(1273,696, 1273,696, 13167359) // 15ые уровни уже выделены
$check = 1
WAITMS(100)
ELSE
WAITMS(100)
END_IF
END_IF
END_CYC
SUB(открыть чат)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (622,658, 658,684, "screens\стрелка вверх.bmp", 100) // поиск стрелки вверх
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(100)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (622,183, 658,209, "screens\стрелка вниз.bmp", 100) // поиск стрелки вниз
$check = 1
WAITMS(100)
ELSE
WAITMS(100)
END_IF
END_CYC
END_SUB
открыть чат()
LCLICK(1165,244) // 5668248 1-й в списке
WAITMS(100)
SUB(в гости)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (1185,237, 1291,842, "screens\в гости.bmp", 100) // поиск в гости
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(100)
END_IF
END_CYC
END_SUB
в гости()
SUB(ожидание перехода)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(641,247, 641,247, 10149114) // ожидание ухода с острова
$check = 1
WAITMS(500)
ELSE
WAITMS(100)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(641,247, 641,247, 0) // ожидание перехода на остров
$check = 1
WAITMS(500)
ELSE
WAITMS(100)
END_IF
END_CYC
END_SUB
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,267) // 10673140 2-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,291) // 7183803 3-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,317) // 3229271 4-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,340) // 2769238 5-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,364) // 3229271 6-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,386) // 8897255 7-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,410) // 10475504 8-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,435) // 9292784 9-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,459) // 10673140 10-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,484) // 9292784 11-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,506) // 5732234 12-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,530) // 8106707 13-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,556) // 10673140 14-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,579) // 9292784 15-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,603) // 10673140 16-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,628) // 9292784 17-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,651) // 10673140 18-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,675) // 9292784 19-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,699) // 10673140 20-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,722) // 8501982 21-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,747) // 10673140 22-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,772) // 7579847 23-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,795) // 4394 24-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
открыть чат()
LCLICK(1165,818) // 8765410 25-й в списке
WAITMS(100)
в гости()
ожидание перехода()
#include"поиск и бой.cms"
END_CYC
GO11:
LCLICK(75,45) // 987432 обновить страницу
WAITMS(500)
GO12:
$time = $_time_t + 60 // таймер на 60 секунд
WHILE($time > $_time_t)
MOVE(954,439)
WAITMS(50)
GETSCREEN
IF_PIXEL_IN(954,444, 954,444, 13423582, 20427, 12700, 13210) // арена
$time = 0
WAITMS(1000)
ELSE
MOVE(632,544)
WAITMS(50)
GETSCREEN
IF_PIXEL_IN(632,544, 632,544, 9192960) // не зашёл в игру
$time = 0
LCLICK($_return1, $_return2)
WAITMS(3000)
GOTO(GO12)
ELSE
MOVE(989,610)
WAITMS(50)
GETSCREEN
IF_PIXEL_IN(989,610, 989,610, 7822649) // забор ежедневного подарка
$time = 0
LCLICK($_return1, $_return2)
WAITMS(3000)
LCLICK(1297,149) // 45
WAIT(3)
GOTO(GO12)
ELSE
WAITMS(50)
END_IF
END_IF
END_IF
END_CYC
IF($time ! 0)
GOTO(GO11)
END_IF
-
не понял?
это значит нельзя так?
-
У тебя описания подпрограмм вложены в цикл, это ошибка. Описания всегда находятся на первом уровне, и обычно пишутся до основного кода вначале скрипта.
Также не ясно что там в #include"поиск и бой.cms"
-
это у меня старый скрипт, а новый ещё не готов там всё как надо (ну почти), а в "includ"e отдельная тема она не столь важна в данном вопросе