Автокликер Clickermann :: Форум
Основной раздел => Использование => Topic started by: Veromos on August 10, 2015, 04:54:50 PM
-
Добрый день, как можно сделать скрипт более компактным. Видел на форуме что используют формулы, похожего для картинок найти не смог.
Можно как то совместить блоки *hand* и *take* ? ( задержка между ними от 1 до 5 секунд максимум)
Возможно ли настроить #ENTER ( при привязки к окну) замена на #13 и #0x0D не помогает.
target:
GETSCREEN
IF_PICTURE_IN (20,5, 900,500, "a.bmp", -1, 70)
LCLICK($_return1, $_return2)
WAITMS(100)
KEYPRESS(#1)
WAITMS(300)
END_IF
IF_PICTURE_IN (20,5, 900,500, "b.bmp", -1, 70)
LCLICK($_return1, $_return2)
WAITMS(100)
KEYPRESS(#1)
WAITMS(300)
END_IF
IF_PICTURE_IN (20,5, 900,500, "c.bmp", -1, 70)
LCLICK($_return1, $_return2)
WAITMS(100)
KEYPRESS(#1)
WAITMS(300)
END_IF
//d,e,f... таких картинок в сумме больше десятка
GOTO(hand)
hand:
GETSCREEN
IF_PIXEL_IN(220,5, 900,500, 5761023)
KEYPRESS(#ENTER)
WAITMS(2000)
END_IF
IF_PICTURE_IN (20,5, 900,500, "1.bmp", -1, 90)
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
IF_PICTURE_IN (20,5, 900,500, "2.bmp", -1, 90)
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
IF_PICTURE_IN (20,5, 900,500, "3.bmp", -1, 90)
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
IF_PICTURE_IN (20,5, 900,500, "4.bmp", -1, 90)
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
GOTO(take) // *take* будет присутствовать всегда если находит *hand*
take:
GETSCREEN
IF_PICTURE_IN (20,5, 900,500, "11.bmp", -1, 100)
KEYPRESS(#ENTER) // перестает корректно работать при привязке к окну клиента
WAITMS(100)
END_IF
WAITMS(50)
GOTO(target)
-
В этом коде зачем GOTO? Ни один из них не нужен.
Упростить, вот пример:
hand:
GETSCREEN
IF_PIXEL_IN(220,5, 900,500, 5761023)
KEYPRESS(#ENTER)
WAITMS(2000)
END_IF
GETSCREEN
FOR($i=1, $i < 5)
IF_PICTURE_IN (20,5, 900,500, STRCONCAT($i, ".bmp"), -1, 90)
LCLICK($_return1, $_return2)
WAITMS(100)
$i = 100 // если нужно прервать перебор при нахождении.
END_IF
END_CYC
А с буквами проще переименовать в цифры. Можно постоянную буквенную часть+индексная цифровая.
Если хочешь, можно заморочится и с буквами. Например взять строку "abcdef...." и брать в цикле букву под следующим номером.
В чём проблема совмещения блоков *hand* и *take*? Берёшь и совмещаешь. В чём затык не понятно.
По привязке... всё зависит от приложения. Раз не принимает, значит не принимает. Можно попробовать режим
#ps2_keyboard прописать в начале. Но это только если есть подключенное устройство PS/2.
-
Клик мышью норм проходит, #ENTER хотел сделать потому что тут на форуме или в вашей группе в вк прочел, что если есть возможность заменить нажатие мышью на нажатие клавиш будет лучше.
Сделал задержку в 5 секунд теперь связка *hand* и *take* работает , раньше появление картинки "mob...bmp" могло вклинится между ними и начинался бой.( перс не успевал дойти до убитого моба если появлялся другой и начинал атаку)
А с *постоянную буквенную часть+индексная цифровая* приношу извинения за дезинформацию.
Я заменил название картинок буквами тут в коде a, b, c... чтобы убрать трудно читаемые название моих картинок *vidstopimobastoyawegonamne2.bmp* *vidmobaslevaiduwego2.bmp* и т.д. всего около 20 картинок таких вышло.
При вставке таким способом кликер видит все картинки как одну и не находит.
GETSCREEN
FOR($i=1, $i < 5)
IF_PICTURE_IN (20,5, 900,500, STRCONCAT($i, "mob1.bmp", "mob2.bmp", "mob3.bmp", "mob4.bmp", "mob5.bmp", "mob6.bmp", "mob7.bmp", "mob8.bmp",), -1, 70)
LCLICK($_return1, $_return2)
WAITMS(100)
KEYPRESS(#1)
WAITMS(300)
$i = 100 // если нужно прервать перебор при нахождении.
END_IF
END_CYC
GETSCREEN
IF_PIXEL_IN(20,5, 900,500, 5761023)
LCLICK($_return1, $_return2)
WAIT(5)
END_IF
GETSCREEN
FOR($i=1, $i < 5)
IF_PICTURE_IN (20,5, 900,500, STRCONCAT($i, "vid1.bmp", "vid2.bmp", "vid3.bmp", "vid4.bmp"), -1, 90)
LCLICK($_return1, $_return2)
WAIT(5)
$i = 100 // если нужно прервать перебор при нахождении.
END_IF
END_CYC
GETSCREEN
IF_PICTURE_IN (200,45, 760,240, "lut.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
-
Правильно пишется так
GETSCREEN
FOR($i=1, $i < 8)
IF_PICTURE_IN (20,5, 900,500, STRCONCAT("mob",$i,".bmp"), -1, 70)
LCLICK($_return1, $_return2)
WAITMS(100)
KEYPRESS(#1)
WAITMS(300)
$i = 100 // если нужно прервать перебор при нахождении.
END_IF
END_CYC
GETSCREEN
IF_PIXEL_IN(20,5, 900,500, 5761023)
LCLICK($_return1, $_return2)
WAIT(5)
END_IF
GETSCREEN
FOR($i=1, $i < 4)
IF_PICTURE_IN (20,5, 900,500, STRCONCAT("vid",$i,".bmp"), -1, 90)
LCLICK($_return1, $_return2)
WAIT(5)
$i = 100 // если нужно прервать перебор при нахождении.
END_IF
END_CYC
GETSCREEN
IF_PICTURE_IN (200,45, 760,240, "lut.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
-
стр. FOR($i=1, $i < 5)