Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: lanser285 on November 10, 2013, 06:36:58 PM
-
вот такой вопросик...отдельно скрипт пашет, если подключаю его через #include в другом скрипте то он не пашет, в чем проблема?
#name "in_com_dar"
LOGSHOW(1)
wait(1)
//ïðèíèìàåì ïîäàðêè===================================================
print("ïðèåì ïîäàðêîâ")
GETSCREEN
$dari = 1
WHILE($dari < 6) // 5 ïîäàðêîâ ïîêà
//ïðîâåðêà ïîäàðêîâ
$chek_dar=0
while($chek_dar=0)
GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax, STRCONCAT("dar", $dari, ".bmp"))
print("ïðèíèìàåì ïîäàðîê dar",$dari)
LCLICK($_return1+100, $_return2+10)
wait(4)
GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "send_vk.bmp")
print("îòïðàâëÿåì ïîäàðîê dar",$dari)
LCLICK($_return1+100, $_return2+10)
wait(4)
end_if
END_IF
else
$chek_dar=1
waitms(50)
END_CYC
else
print("íåò ïîäàðêà dar",$dari)
INC($dari)
waitms(50)
END_CYC
//--------------------------------
wait(1)
print("ïðèåì ïîäàðêîâ îêîí÷åí")
-
Наверное не находит ресурсы (картинки для поиска). Как там всё по папкам раскидано?
-
Наверное не находит ресурсы (картинки для поиска). Как там всё по папкам раскидано?
нет, все скрипты и картинки в одной папке..
-
а сам другой скрипт в той же папке? инклуд, как и все ресурсы, работает относительно текущей папки проекта
-
а сам другой скрипт в той же папке? инклуд, как и все ресурсы, работает относительно текущей папки проекта
да, скрипт в котором я подключаю скрипт описанный выше в той же папке(все скрипты и картинки в одной папке)
он его подключает, в логе пишется первый принт, но ни цикл не выполняет, ни последний принт он не пишет, и шпилит дальше по основному скрипту
-
Переменные не пересекаются?
Последний Else не лишний? Да и предпоследний тоже Что он делает в цикле WHILE? А говоришь работает.
-
Переменные не пересекаются?
Последний Else не лишний? Да и предпоследний тоже Что он делает в цикле WHILE? А говоришь работает.
:o вот я нупень...но реально работает отдельно :-X спс, буду исправлять))))
-
Переменные не пересекаются?
Последний Else не лишний? Да и предпоследний тоже Что он делает в цикле WHILE? А говоришь работает.
:o вот я нупень...но реально работает отдельно :-X спс, буду исправлять))))
:'(всеравно не робит
-
Покажи. Может не допилил.
-
Покажи. Может не допилил.
вот
// New Script
// Author: Anonymous
// Version: 1.0 (03.11.2013)
#name "in_com_dar"
LOGSHOW(1)
wait(1)
//ïðèíèìàåì ïîäàðêè===================================================
print("ïðèåì ïîäàðêîâ")
GETSCREEN
$dari = 1
WHILE($dari < 6) // 5 ïîäàðêîâ ïîêà
//ïðîâåðêà ïîäàðêîâ
$chek_dar=0
while($chek_dar=0)
GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax, STRCONCAT("dar", $dari, ".bmp"))
print("ïðèíèìàåì ïîäàðîê dar",$dari)
LCLICK($_return1+100, $_return2+10)
wait(4)
GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "send_vk.bmp")
print("îòïðàâëÿåì ïîäàðîê dar",$dari)
LCLICK($_return1+100, $_return2+10)
wait(4)
end_if
END_IF
$chek_dar=1
waitms(50)
END_CYC
print("íåò ïîäàðêà dar",$dari)
INC($dari)
waitms(50)
END_CYC
//--------------------------------
wait(1)
print("ïðèåì ïîäàðêîâ îêîí÷åí")
-
сделал то же самое через цикл for и все заработало....но всетаки интересно почему через while не пашет..
// New Script
// Author: Anonymous
// Version: 1.0 (03.11.2013)
#name "in_com_dar"
LOGSHOW(1)
wait(1)
//ïðèíèìàåì ïîäàðêè===================================================
print("ïðèåì ïîäàðêîâ")
GETSCREEN
for($dari,$dari < 6) // 5 ïîäàðêîâ ïîêà
//ïðîâåðêà ïîäàðêîâ
$chek_dar=0
while($chek_dar=0)
GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax, STRCONCAT("dar", $dari, ".bmp"))
print("ïðèíèìàåì ïîäàðîê dar",$dari)
LCLICK($_return1+100, $_return2+10)
wait(4)
GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "send_vk.bmp")
print("îòïðàâëÿåì ïîäàðîê dar",$dari)
LCLICK($_return1+100, $_return2+10)
wait(4)
end_if
END_IF
$chek_dar=1
waitms(50)
END_CYC
print("íåò ïîäàðêà dar",$dari)
INC($dari)
waitms(50)
END_CYC
//--------------------------------
wait(1)
print("ïðèåì ïîäàðêîâ îêîí÷åí")
-
Потому, что неправильно. Второй while у тебя не работает. В независимости от поиска ты сразу выскакиваешь. 6 раз проскочит очень быстро.
-
Потому, что неправильно. Второй while у тебя не работает. В независимости от поиска ты сразу выскакиваешь. 6 раз проскочит очень быстро.
почему не работает второй wile? как будет правильно?)даже если он не работает почему последний принт не печатает в логе? оО
-
Не совсем так. Скрипт работает, но не работает внутренний цикл. Его тело работает 1 раз, как будто цикла нет вовсе.
В версии с For тоже.
-
Не совсем так. Скрипт работает, но не работает внутренний цикл. Его тело работает 1 раз, как будто цикла нет вовсе.
В версии с For тоже.
вот лог, 5-й подарок принял и второй раз проверил)
-
Ты не понял. Цикл со счетчиком выполняется. И всё что внутри. Но внутренний while зачем? Можешь его стереть ничего не изменится.
-
Ты не понял. Цикл со счетчиком выполняется. И всё что внутри. Но внутренний while зачем? Можешь его стереть ничего не изменится.
смотри внешний цикл это перебор массива картинок, а внутренний вайл это если он принял подарок то должен повторить действие ибо таких действий несколько может быть(заранее не известно). или есть какой то еще способ зациклить внутреннее действие?) у меня возник еще один вопрос...можно ли в конструкции IF_PICTURE_IN использовать логическое или? и как это описать если возможно?
-
смотри внешний цикл это перебор массива картинок, а внутренний вайл это если он принял подарок то должен повторить действие ибо таких действий несколько может быть(заранее не известно). или есть какой то еще способ зациклить внутреннее действие?)
Это всё и так видно, как ты хотел. Но у тебя не так.
Вот твой код сокращённо, видишь?
while($chek_dar=0)
GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax, STRCONCAT("dar", $dari, ".bmp"))
//...
END_IF
$chek_dar=1
waitms(50)
END_CYC
можно ли в конструкции IF_PICTURE_IN использовать логическое или? и как это описать если возможно?
"Или" нет. Можно использовать вложенность в ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "somefile1.bmp")
// нашли 1
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "somefile2.bmp")
// нашли 2
ELSE
// и т.д. если нужно
END_IF
END_IF
-
смотри внешний цикл это перебор массива картинок, а внутренний вайл это если он принял подарок то должен повторить действие ибо таких действий несколько может быть(заранее не известно). или есть какой то еще способ зациклить внутреннее действие?)
Это всё и так видно, как ты хотел. Но у тебя не так.
Вот твой код сокращённо, видишь?
да, уже понял о чем ты) $chek_dar=1 перенес под елсе в конструкцию поиска катинки во вложенном цикле)
Вложенность елсе я уже использовал, просто в одном и том же месте месте может быть 2 варианта картинки, а действие одно и то же, думал можно как нибудь код сократить) спасибо за ответы)
-
"Или" нет. Можно использовать вложенность в ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "somefile1.bmp")
// нашли 1
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "somefile2.bmp")
// нашли 2
ELSE
// и т.д. если нужно
END_IF
END_IF
решил вот так сделать, будут переноситься координаты при нахождении первой картинки?
IF_PICTURE_IN (0,0,$_xmax,$_ymax,"xpatak.bmp")
goto(dublexpatak)
else
IF_PICTURE_IN (0,0,$_xmax,$_ymax,"xpatak1.bmp")
dublexpatak:
print("óäàð")
LCLICK($_return1+10, $_return2+10)
END_IF
END_IF
-
Вот как правильно
GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax,"xpatak.bmp")
print("удар")
LCLICK($_return1+10, $_return2+10)
else
IF_PICTURE_IN (0,0,$_xmax,$_ymax,"xpatak1.bmp")
print("удар")
LCLICK($_return1+10, $_return2+10)
END_IF
END_IF
-
lanser285, было бы там что сокращать. А ты ввел 2 строчки чтобы сократить 2 строчки. При этом поломал стройность и линейность скрипта.