Автокликер Clickermann :: Форум
Основной раздел => Ошибки => Архив => Topic started by: aden on July 01, 2014, 02:34:52 PM
-
SUB(heal_)
$skip=0
print("heal")
for($vyn, $vyn<4)
getscreen
colormode(8)
IF_PICTURE_IN (273,877,480,938, STRCONCAT("img\vyn",$vyn,".bmp"), -1, 100)
print("ïüåì âûíó")
LCLICK($_return1+10,$_return2+10)
$vyn=5
$heals=5 // картинка найдена второй цикл необходимо пропустить!!!!
END_IF
END_CYC
for($heals, $heals<3)
getscreen
colormode(8)
IF_PICTURE_IN (273,877,480,938, STRCONCAT("img\heals",$heals,".bmp"), -1, 100)
print("ïüåì ýëèê")
LCLICK($_return1+10,$_return2+10)
$heals=5
END_IF
END_CYC
END_SUB
пробывал goto но толи лыжи не едут толи в циклах он очень неработает да и некомильфо этот goto.
В принципе оно и понятно что в циклах оно так и должно быть.Так что извне повлиять на цикл не получится в итоге пришлось реализовывать такой костыль между циклами.
if($skip=1) // переменная объявленная в первом цикле
goto(end) // перескакиваем через второй цикл сразу в конец
end_if
может кому в голову придет как элегантнее это реализовать?
-
вон там где $skip=1 пишешь $skip=0 а внутрь вместо богомерзкого goto пихаешь все что тебе нужно пропустить
в чем суть вопроса то я не понял? раздел еще такой, нервный, выбрали
-
столкнулся с поведением которого неожидал.
осознал, буду внимательнее.
-
столкнулся с поведением которого неожидал.
осознал, буду внимательнее.
Ничего неожиданного нет, FOR обнуляет переменную при начале цикла. так что твоя 5 превратилась в 0
SUB(heal_)
$skip=0
print("heal")
for($vyn, $vyn<4)
getscreen
colormode(8)
IF_PICTURE_IN (273,877,480,938, STRCONCAT("img\vyn",$vyn,".bmp"), -1, 100)
print("пьем выну")
LCLICK($_return1+10,$_return2+10)
$vyn=5
$skip=1 // картинка найдена второй цикл необходимо пропустить!!!!
END_IF
END_CYC
IF($skip=0)
for($heals, $heals<3)
getscreen
colormode(8)
IF_PICTURE_IN (273,877,480,938, STRCONCAT("img\heals",$heals,".bmp"), -1, 100)
print("пьем элик")
LCLICK($_return1+10,$_return2+10)
$heals=5
END_IF
END_CYC
END_IF
END_SUB
-
Чё это она обнуляет при начале? В 4.10 это решили ведь.
Вот в конце обнуляет.
-
Чё это она обнуляет при начале? В 4.10 это решили ведь.
Вот в конце обнуляет.
v4.10.002
$a = 2
FOR($a,$a<3)
PRINT($a)
END_CYC
HALT
Лог:
20:09:22 0
20:09:22 1
20:09:22 2
-
Чёт эту тему не разжевали, некоторые не поняли. Переменную обнуляет, если не задана в самом FOR.
Такой себе костыль.
Преведущий пример по вопросу ТС должен выглядеть так
$b = 2
FOR($a=$b,$a<3)
PRINT($a)
END_CYC
HALT
Тогда всё будет, как хотел ТС