Автокликер Clickermann :: Форум

Основной раздел => Использование => Topic started by: Джек Водогрей on December 22, 2016, 10:28:05 AM

Title: Написание кликера
Post by: Джек Водогрей on December 22, 2016, 10:28:05 AM
Добрый день. Подскажите как сделать так чтобы кликер по происшествии заданного события перемещался в заданный раздел кода, а затем в заданном разделе кода по происшествии события описанного в этом куске кода, перемещался в следующий заданный кусок кода? Таких кусков будешь штук 30.
С while пробовал, но там я так понял прикрутить дополнительные переходы либо нельзя, либо я не знаю как.
Спасибо за ответы)
Title: Re: Написание кликера
Post by: Луций on December 22, 2016, 06:38:51 PM
закрываешь свои участки кода в вот такие условия
$f=1
while($f)
твой код
if(условие)
выполнено
$f=0
end_if
end_cyc

это пример с ожиданием картинки, можно написать включение кода по флагу $f можно повторение до отключения флага
главное не ищи легких путей с метками, это путь к хаосу
Title: Re: Написание кликера
Post by: dramster on December 22, 2016, 06:41:04 PM
твой вопрос так и напрашивает использвание GOTO

но лучше ненадо, постарайся даже не читать что это такое. а скинь сюда сваи наработки, побольше опиши свою задачу, и с помощью циклов и условий все получится.
Title: Re: Написание кликера
Post by: Джек Водогрей on December 23, 2016, 12:07:50 AM
Поздно ребят) я уже нашел goto)))))) пути назад видимо нет)
Title: Re: Написание кликера
Post by: Джек Водогрей on December 23, 2016, 12:12:56 AM
а вообще вопрос:

1:
GETSCREEN
IF_PIXEL_IN (686,537, 756,554, 16449279,15528177,14672611)  //
WAITMS(700)
LCLICK($_return1, $_return2)  //
WAITMS(1000)
goto(2)
else
LCLICK(409,175)  //
WAITMS(700)
LCLICK(638,512)  //
goto(1)
END_IF
END_IF

2:
GETSCREEN   
IF_PIXEL_IN (308,416, 411,433, 16449279,15528177,14672611)  //
WAITMS(1000)
LCLICK($_return1, $_return2)  //
goto(2)
ELSE
LCLICK(505,424) //
WAITMS(1500)
goto(1)
END_IF
END_IF   

У меня проблема с куском 2:
Выполняется действие когда находит пиксель, но затем делает действие которое забиндено на else
Я что-то не так сделал или goto не возвращается вверх кода для повтора куска?)
Title: Re: Написание кликера
Post by: Джек Водогрей on December 23, 2016, 12:17:40 AM
Вообще если вы говорите циклы лучше я попробую по циклам все переписать. Но всеравно интересно почему у меня с goto не заработало как я хотел)
Title: Re: Написание кликера
Post by: Oraven on December 23, 2016, 09:07:55 AM
У тебя там лишние END_IF
Вот верный код, за одно выкинул бессмысленные переходы гото

Code: (clickermann) [Select]
a:
GETSCREEN
IF_PIXEL_IN (686,537, 756,554, 16449279,15528177,14672611)
   WAITMS(700)
   LCLICK($_return1, $_return2)
   WAITMS(1000)
else
   LCLICK(409,175)
   WAITMS(700)
   LCLICK(638,512)
   goto(a)
END_IF

b:
GETSCREEN
IF_PIXEL_IN (308,416, 411,433, 16449279,15528177,14672611)
   WAITMS(1000)
   LCLICK($_return1, $_return2)
   goto(b)
ELSE
   LCLICK(505,424)
   WAITMS(1500)
END_IF

То же самое через циклы
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PIXEL_IN (686,537, 756,554, 16449279,15528177,14672611)
      WAITMS(700)
      LCLICK($_return1, $_return2)
      WAITMS(1000)
      $check = 1
   else
      LCLICK(409,175)
      WAITMS(700)
      LCLICK(638,512)
      WAITMS(100)
   END_IF
END_CYC

$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PIXEL_IN (308,416, 411,433, 16449279,15528177,14672611)
      WAITMS(1000)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      LCLICK(505,424)
      WAITMS(1500)
      $check = 1
   END_IF
END_CYC
Title: Re: Написание кликера
Post by: Джек Водогрей on December 23, 2016, 10:01:35 AM
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PIXEL_IN (308,416, 411,433, 16449279,15528177,14672611)
      WAITMS(1000)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      LCLICK(505,424)
      WAITMS(1500)
      $check = 1
   END_IF
END_CYC

Красный кусок не очень понимаю. За что отвечает $check и почему в первой части кода он до else, а здесь после?
Хотелось бы бесконечное повторение зеленого куска до тех пор пока не произойдет потеря пикселя
Title: Re: Написание кликера
Post by: Oraven on December 23, 2016, 10:20:13 AM
$check это переменная, имя может быть любым. И если в цикл вложен еще цикл с подобным "ожиданием" то имя естественно должно быть другим

Code: (clickermann) [Select]
$check = 0 // присваиваем значение 0 переменной $check
WHILE($check = 0) // цикл выполняется если $check равна 0

      $check = 1 // если по условию значение $check изменится то цикл перестанет повторяться

END_CYC
Title: Re: Написание кликера
Post by: Vint on December 23, 2016, 01:05:34 PM
Поздно ребят) я уже нашел goto)))))) пути назад видимо нет)

 ;D ;D ;D
Мы его потеряли...