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

Основной раздел => Использование => Topic started by: keepsv on October 26, 2014, 02:43:52 PM

Title: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: keepsv on October 26, 2014, 02:43:52 PM
Доброго времени суток! Помогите разораться в написании сценария для выполнения действий продемонстрированных в видео по этой ссылке https://www.dropbox.com/s/vb9fnqc9qusl4q9/JH.avi?dl=0
Пытался просто записать сценарий но работает это не надежно, при малейших временных задержках отображения страницы сценарий сбивается. Подумал может сделать сценарий на основе поиска всех ключевых кнопок (предварительно наделал скринов https://www.dropbox.com/s/pskbv55z8ug0bcq/%D0%BA%D0%BD%D0%BE%D0%BF%D0%BA%D0%B8.rar?dl=0)
Но в процессе понял что здорово буксую в процессе написания такого сценария! Помогите составить скрипт так что б его работа не зависела от времени загрузки страницы, т.к. оно часто меняется! Так же желательно что б выполнение сценария не зависело от местоположения  окна браузера, я так понимаю привязка к окну тут не прокатит, т.к. действия происходят в разных окнах. Буду очень благодарен за любую помощь в этом не простом для меня деле!
Вот что сделал до создания темы.
Code: (clickermann) [Select]
WAIT(2)
//--------------------------------
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ksh.bmp", -1, 100)
   MOVE($_return1, $_return2)
      WAIT(1)   
   LCLICK($_return1, $_return2)
         ELSE
         WAIT(5)
END_IF
WAITMS(50)
//--------------------------------
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ar.bmp", -1, 100)
   MOVE($_return1, $_return2)
      WAIT(1)   
   LCLICK($_return1, $_return2)
         ELSE
         WAIT(5)
//--------------------------------
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "da.bmp", -1, 100)
   MOVE($_return1, $_return2)
      WAIT(1)   
   LCLICK($_return1, $_return2)
         ELSE
         WAIT(5)
//--------------------------------
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "rz.bmp", -1, 100)
   MOVE($_return1, $_return2)
      WAIT(1)   
   LCLICK($_return1, $_return2)
         ELSE
         WAIT(5)
END_IF
WAITMS(50)         
//--------------------------------
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "po.bmp", -1, 100)
   MOVE($_return1, $_return2)
      WAIT(1)   
   LCLICK($_return1, $_return2)
         ELSE
         WAIT(5)
END_IF
WAITMS(50)
//--------------------------------
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ar.bmp", -1, 100)
   MOVE($_return1, $_return2)
      WAIT(1)   
   LCLICK($_return1, $_return2)
         ELSE
         WAIT(5)
//--------------------------------
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "da.bmp", -1, 100)
   MOVE($_return1, $_return2)
      WAIT(1)   
   LCLICK($_return1, $_return2)
         ELSE
         WAIT(5)
//--------------------------------
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "rz.bmp", -1, 100)
   MOVE($_return1, $_return2)
      WAIT(1)   
   LCLICK($_return1, $_return2)
         ELSE
         WAIT(5)
END_IF
WAITMS(50)

Совсем забыл сказать что такую процедуру нужно будет проделывать на разных акаунтах. Возможно будет правильным сделать ввод логина и пароля в соответствующие поля, вместо автозаполнения браузером.
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: Oraven on October 26, 2014, 03:27:58 PM
Тебе нужен поиск картинок с ожиданием их появления.
Например ждем какую то кнопку, загрузилось, появилась, кликнули. Далее ждем следующую кнопку. Не обязательно кнопку. можно какую то часть игры.

Вот бесконечное ожидание картинки, цикл будет крутиться делая новый поиск каждые 50 миллисекунд, что вполне нормально, пока не найдет картинку.
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100) // ждем картинку
      $check = 1 // нашли, изменяем переменную, прерываем цикл
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

Но могут быть разные глюки, картинка по какой то причине может быть не найдена. (Например кликер нажал кнопку а она не нажалась  :o)
Тогда нужно использовать ограниченный во времени цикл.
Code: (clickermann) [Select]
$time = $_time_t + 60
WHILE($time > $_time_t) // ждем картинку не более 60 сек
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
      $time = 0 // нашли, обнуляем таймер, прерываем цикл
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC

IF($time ! 0) // проверка результатов, если НЕ 0 то
   // цикл был прерван по таймеру, картинка не найдена
   // какие то действия, например прыгнуть в начало какой то части по ГОТО
  // или выполнить дополнительную проверку
END_IF

Функция EXECUTE может открывать страницы в браузере
Code: (clickermann) [Select]
EXECUTE("http://vk.com/feed")
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: keepsv on October 26, 2014, 05:41:30 PM
Oraven Я так понимаю значения  $time нужно вводить ручками?
$time = $_time_t + 60
WHILE($time > $_time_t)

P.S. Написал в ЛС...
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: Oraven on October 26, 2014, 07:07:32 PM
Это время в секундах которое будет крутиться цикл. Тебе нужно лишь указать сколько секунд максимум допустимо ждать.

$переменная = $системная переменная время Unix + 60 // добавляем к текущему времени 60 секунд
WHILE(Если переменная $time БОЛЬШЕ системной переменной время Unix) // цикл крутится пока условие верно
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: keepsv on October 26, 2014, 08:32:49 PM
Спасибо за подсказку, я так понимаю мне нужно заменить там название искомой картинки и выстроить последовательность.

Code: (clickermann) [Select]
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ksh.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ar.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
/// и так далее...



Я правильно понимаю?
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: Oraven on October 26, 2014, 08:46:46 PM
Да.
Кстати в твоем первоначальном скрипте не хватает END_IF
Сколько IF столько же должно быть и завершений END_IF
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: keepsv on October 26, 2014, 09:27:22 PM
По этому сценарию процесс спотыкается на повторном поиске картинки arsenal.bmp
Code: (clickermann) [Select]
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "arsenal.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "da.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "razmestit.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "poisk.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
WAITMS(3000)
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "arsenal.bmp", -1, 100)//эту картинку не ищет, она же чуть выше, там находит
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "da.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "rz.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "kr.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ms.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "vrag.bmp", -1, 100)
      $time = 0
      MOVE($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
Подскажите куда копать?
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: keepsv on October 26, 2014, 09:51:25 PM
Еще пару вопросов . )
Code: (clickermann) [Select]
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "udz.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(100)
      MOVER(1,33)
      WAITMS(100)     
      LCLICK   //не пойму как сделать клик в точке куда переместился курсор выполнив MOVER(1,33)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
Как внести в сценарий комбинацию клавиш" Ctrl+W"?
Как лучше реализовать ввод логина в соответствующее поле?
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: Oraven on October 27, 2014, 03:26:39 AM
1 Ну значит что то изменилось тебе там виднее.

2
Code: (clickermann) [Select]
LCLICK(-1,-1) // клик без координатНо вообще у тебя можно так
Code: (clickermann) [Select]
LCLICK($_return1, $_return2)
WAITMS(100)
LCLICK($_return1+1, $_return2+33)
WAITMS(100)

Code: (clickermann) [Select]
KEYDOWN (#CTRL) // Ctrl+W
WAITMS (50)
KEYPRESS(#W)
KEYUP (#CTRL)

Все просто,
Клик по полю логина -> вставка через буфер Ctrl+V -> TAB -> вставка через буфер Ctrl+V пароля -> ENTER

Советую протестить отдельные части отдельными скриптами.

Code: (clickermann) [Select]
LCLICK(142,329)
WAITMS(100)

TOCLIP("ПАРОЛЬ") // копируем в буфер
WAITMS(50)

KEYDOWN (#CTRL) // Ctrl+V
WAITMS (50)
KEYPRESS(#V)
KEYUP (#CTRL)
WAITMS(100)

KEYPRESS(#TAB) // переход
WAITMS(100)

TOCLIP("ЛОГИН") // копируем в буфер
WAITMS(50)

KEYDOWN (#CTRL) // Ctrl+V
WAITMS (50)
KEYPRESS(#V)
KEYUP (#CTRL)
WAITMS(100)

KEYPRESS(#ENTER) // ввод
WAITMS(100)

Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: Vint on October 27, 2014, 08:40:05 AM
Совсем забыл сказать что такую процедуру нужно будет проделывать на разных акаунтах. Возможно будет правильным сделать ввод логина и пароля в соответствующие поля, вместо автозаполнения браузером.
Ещё лучше запускать страницу напрямую с передачей логина-пароля
Code: (clickermann) [Select]
$file_akk="список.txt" // файл с аккаунтами   логин: пароль
$akkaunt_line=0
FOR ($akkaunt_line, $akkaunt_line < TFCOUNT($file_akk))
   $akkaunt = StrReadln($file_akk, $akkaunt_line)
   WAITMS(30)
   $log = STRCUT2 ($akkaunt, 1, STRPOS ($akkaunt,":")-1)
   $pass = STRCUT2 ($akkaunt, STRPOS ($akkaunt,":")+1, 999)
   WAITMS(100)
   EXECUTE("firefox.exe", STRCONCAT ("login.vk.com/?act=login&from_host=vk.com&email=", $log, "&pass=", $pass))
   WAIT(3)
   
   //работаем над аккаунтом
END_CYC

HALT

По окончании действий над аккаунтом можно вкладку закрывать.
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: Oraven on October 27, 2014, 09:47:39 AM
А у него там вроде телефонный номер, &email= будет работать в этой строчке вообще?
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: Vint on October 27, 2014, 10:38:00 AM
Будет. У меня тоже номер.
У них название с лохматых времён. По хорошему должны были переименовать в login но кому оно надо.
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: keepsv on October 27, 2014, 04:34:58 PM
Всем кто откликнулся на просьбу ОГРОМНОЕ СПАСИБО. Сценарий созд, все работает как часы. )) Но есть пару моментов.
1. Иногда выскакивает такая штука (прикрепленный файл) эта штука нарушает ход выполнения сценария!
2. Периодически при обновлении страницы окно флеш плеера неактивно, соответственно кликер жмет но ничего не происходит. При переключении на другую вкладку и возврате обратно-проблема решается. Но ход выполнения сценария нарушается.
Подскажите как решить это?
Code: (clickermann) [Select]
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1vera.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "arsenal.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "da.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "razmestit.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "poisk.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(700)
      LCLICK($_return1-154, $_return2+1) //ñìåùåíèå
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "da.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "razmestit.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "kr.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ms.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "vrag.bmp", -1, 100)
      $time = 0
      MOVE($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "udz.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(300)
      LCLICK($_return1+2, $_return2+36)
  WAITMS(300)
LCLICK($_return1-1, $_return2+72)
WAITMS(300)     
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
WAIT(2)
//------ïîñëå ÷èñòêè ñòðàíèöû
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "plag.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
 WAIT(1)
//-----------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "out.bmp", -1, 100)
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(5000)
      DBLCLICK($_return1-668, $_return2+75)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
c
//______________________________________________________
TOCLIP("логин") //
//______________________________________________________
WAITMS(50)
KEYDOWN (#CTRL) // Ctrl+V
WAITMS (50)
KEYPRESS(#V)
KEYUP (#CTRL)
WAITMS(100)
KEYPRESS(#TAB) //
WAITMS(100)
//______________________________________________________
TOCLIP("пароль") //
//______________________________________________________
WAITMS(50)
KEYDOWN (#CTRL) // Ctrl+V
WAITMS (50)
KEYPRESS(#V)
KEYUP (#CTRL)                 
WAITMS(500)
KEYPRESS(#ENTER)
 WAIT(2)
//--------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "jh.bmp", -1, 100)
      $time = 0
      RCLICK($_return1, $_return2)
      WAITMS(500)
      LCLICK($_return1+86, $_return2+10)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
 WAIT(2)
IF($time ! 0)
END_IF
WAITMS(100)
//--------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "zkr.bmp", -1, 100)
      $time = 0
      LCLICK($_return1+2, $_return2+2)
      WAITMS(1000)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: Vint on October 27, 2014, 04:40:32 PM
Переставить флеш.
Поменять Яндекс недобраузер на другой.
Другое.
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: Oraven on October 27, 2014, 05:23:32 PM
Ты выбрал второй вариант циклов с таймерами, однако не используешь их функцию. Раз время цикла вышло а картинка не найдена это говорит об возникшей ошибке (в твоем случае вылезшей табличке) и дальше продолжать не стоит.

Code: (clickermann) [Select]
$time = $_time_t + 60
WHILE($time > $_time_t)
   
END_CYC
IF($time ! 0)
   HINTPOPUP("Ошибка")
   // а можно вставить и команду проигрывания звука SOUND("play.wav"), если ты рядом то сможешь подойти и разобраться в проблеме
   HALT // хотябы вставь остановку если не найдено
END_IF

В 4.11 версии появились "потоки". Вот как раз в твоем случаи их можно использовать.
Твой код будет работать в потоке THREAD(bot) а в основном потоке будет крутиться анализ на твою помеху. И если эту табличку обнаружит кликер то поставит выполнение твоего скрипта на паузу, уберет табличку и при её отсутствии снова запустит твой сценарий.
Хороший пример использования

Code: (clickermann) [Select]
///// Проверка флешки ///// основной поток
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Flash.bmp", -1, 100) // ищем замерзшую флешку
   SETTHREAD (bot, 0) // останавливаем программу bot (Пауза)
   WAITMS(500)
   LCLICK($_return1, $_return2) // убираем сообщение жмем Да
   WAITMS(50)
   MOVE($_xmax,$_ymax) // убираем курсор
   WAITMS(1000)
ELSE
   SETTHREAD (bot, 1) // если не нашли то запускаем программу bot (если конечно она на паузе)
   WAITMS(50)
END_IF

// поток программы
THREAD(bot) // здесь код работает независимо от проверки
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1vera.bmp", -1, 100)
         $time = 0
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
   //--------------------------------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "arsenal.bmp", -1, 100)
         $time = 0
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
   //--------------------------------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "da.bmp", -1, 100)
         $time = 0
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
   //--------------------------------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "razmestit.bmp", -1, 100)
         $time = 0
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
   //--------------------------------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "poisk.bmp", -1, 100)
         $time = 0
         LCLICK($_return1, $_return2)
         WAITMS(700)
         LCLICK($_return1-154, $_return2+1) //смещение
         WAITMS(100)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
   //--------------------------------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "da.bmp", -1, 100)
         $time = 0
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
   //--------------------------------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "razmestit.bmp", -1, 100)
         $time = 0
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
   //--------------------------------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "kr.bmp", -1, 100)
         $time = 0
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
   //--------------------------------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ms.bmp", -1, 100)
         $time = 0
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
   //--------------------------------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "vrag.bmp", -1, 100)
         $time = 0
         MOVE($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
   //--------------------------------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "udz.bmp", -1, 100)
         $time = 0
         LCLICK($_return1, $_return2)
         WAITMS(300)
         LCLICK($_return1+2, $_return2+36)
         WAITMS(300)
         LCLICK($_return1-1, $_return2+72)
         WAITMS(300)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
   WAIT(2)
   //------после чистки страницы
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "plag.bmp", -1, 100)
         $time = 0
         LCLICK($_return1, $_return2)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
   WAIT(1)
   //-----------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "out.bmp", -1, 100)
         $time = 0
         LCLICK($_return1, $_return2)
         WAITMS(5000)
         DBLCLICK($_return1-668, $_return2+75)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
   
   WAIT(1)
   
   //______________________________________________________
   TOCLIP("логин") //
   //______________________________________________________
   WAITMS(50)
   KEYDOWN (#CTRL) // Ctrl+V
   WAITMS (50)
   KEYPRESS(#V)
   KEYUP (#CTRL)
   WAITMS(100)
   KEYPRESS(#TAB) //
   WAITMS(100)
   //______________________________________________________
   TOCLIP("пароль") //
   //______________________________________________________
   WAITMS(50)
   KEYDOWN (#CTRL) // Ctrl+V
   WAITMS (50)
   KEYPRESS(#V)
   KEYUP (#CTRL)
   WAITMS(500)
   KEYPRESS(#ENTER)
   WAIT(2)
   //--------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "jh.bmp", -1, 100)
         $time = 0
         RCLICK($_return1, $_return2)
         WAITMS(500)
         LCLICK($_return1+86, $_return2+10)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
   WAIT(2)
   IF($time ! 0)
   END_IF
   WAITMS(100)
   //--------------------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "zkr.bmp", -1, 100)
         $time = 0
         LCLICK($_return1+2, $_return2+2)
         WAITMS(1000)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
END_THREAD
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: keepsv on October 27, 2014, 10:44:35 PM
Еще раз большое спасибо за помощь! Я очень рад что моя задача послужила отличным примером демонстрации новой ПОЛЕЗНОЙ возможности в ПО! Обязательно использую ее в своем сценарии, как только появится флешка! ))
У меня еще тут вопросик возник. Выше я говорил про проблему с тем что периодически флешка застывает, т.е. не реагирует на клики.  Можно ли сделать так чтоб при первом поиске картинки 1vera.bmp и не переходе к следующему блоку с поиском arsenal.bmp (например в течении 3 мин, открывалось новое окно в браузере и сразу закрывалось возвращаясь на вкладку с флешкой, после чего поиск и последующий клик по 1vera.bmp начинался снова?

Эту проблему вроде как решил, добавив трехсекундное ожидание после того как нашли 1vera.bmp флешка замерзала при моментальном клике по найденному фрагменту. Посмотрю как она пойдет дальше! За подсказку со звуком отдельное спасибо! Выручает.))
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: keepsv on October 28, 2014, 01:37:45 PM
Есть еще  одна не решенная задача, точнее я ее решил создание для каждого аккаунта отдельной картинки (отмечена красным кружком) но это не очень удобно т.к. аккаунты периодически меняются. Если бы я понимал почему кликер не находит эти картинки, они ведь одинаковые... Возможно из за того что то что находится за этими картинками отличается, Но скрин я делаю на маленький фрагмент этой картинки (прикрепил) и там не видать фона!
Подскажите как решить эту проблему?
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: Oraven on October 28, 2014, 02:28:09 PM
Да во флешке часто текстуры с частичной прозрачностью. В результате при наложении на разные фоны картинка меняется, невидимо для глаз но ощутимо для кликера.
Поможет нам цветокоррекция+процент совпадения

Цветокоррекция сократит градиенты, а процент совпадения позволит опустить несколько не совпавших пикселов.

Вот таким скриптом получаем скорректированный снимок
Code: (clickermann) [Select]
// Получение скриншота с цветокоррекцией (фильтр 6) вообще рабочие значения 5-7
GETSCREEN
COLORMODE(6)
SCREENSHOT
HALT
Вырезаем со снимка фрагмент для поиска

после снимка (GETSCREEN) пишем цветокоррекцию COLORMODE чтобы скорректировать снимок
Code: (clickermann) [Select]
GETSCREEN
COLORMODE(6) // используем коррекцию того же уровня
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 80) // ставим 80% совпадения

Учти что чем больше область поиска, чем больше фрагмент, и чем меньше процент совпадения тем дольше поик!
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: keepsv on October 28, 2014, 03:51:34 PM
Огромное спасибо! Все заработало как надо!
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: keepsv on October 31, 2014, 11:58:53 AM
Добрый день! Возникла еще одна задача! Имеем рабочий сценарий для одного аккаунта, аккаунтов около десятка. Сценарий один и тот же единственная разница в логинах и паролях. Я сохранил для каждого аккаунта свой сценарий и после сигнала sirenhilo.wav ручками выбирал следующий и стартавал...
ВОПРОС №1: Возможно ли заставить кликер по завершению одного сценария переключаться на другой?
ВОПРОС №2: Возможно ли вместо (ну или после) проигрывания аудио файла сделать так что бы кликер каким то образом удаленно уведомлял о ошибке, например письмо отправлял на мыло, или еще как нибудь-это не имеет значения? ) Задача-быть в курсе когда процесс споткнулся, в моем случае в 90% это "лимит исчерпан" пора переключить акаунт...
Вот сценарий с которым у меня работает...
Code: (clickermann) [Select]
//начало со страницы авторизации
WAITMS(1000)
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (700,0, $_xmax,$_ymax, "TEL.bmp", -1, 100)
         $time = 0
         WAIT(1)
         LCLICK($_return1-1, $_return2+30)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
  IF($time ! 0)
   END_IF                 
                                     TOCLIP("ЛОГИН")
   WAITMS(50)
   KEYDOWN (#CTRL) // Ctrl+V
   WAITMS (50)
   KEYPRESS(#V)
   KEYUP (#CTRL)
   WAITMS(100)
   KEYPRESS(#TAB)
   WAITMS(100)
                                     TOCLIP("ПАРОЛЬ")
   WAITMS(50)
   KEYDOWN (#CTRL) // Ctrl+V
   WAITMS (50)
   KEYPRESS(#V)
   KEYUP (#CTRL)
   WAITMS(500)
   KEYPRESS(#ENTER)
   //--------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (700,0, $_xmax,$_ymax, "jh.bmp", -1, 100)
         $time = 0
         WAITMS(100)
         RCLICK($_return1+10, $_return2+10)
         WAITMS(500)
         LCLICK($_return1+86, $_return2+20)
      ELSE
         WAITMS(1000)
      END_IF
   END_CYC
  IF($time ! 0)
   END_IF
   //--------------------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (700,0, $_xmax,$_ymax, "zkr.bmp", -1, 100)
         $time = 0
         WAITMS(1000)
         LCLICK($_return1+3, $_return2+3)
         WAITMS(500)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
  IF($time ! 0)
   END_IF
WAITMS(7000)
//-----------------поиск кш
   $time = $_time_t + 60
   WHILE($time > $_time_t) // ЖДЕМ КАРТИНКУ НЕ БОЛЕЕ 60 СЕК
      GETSCREEN
      COLORMODE(7)
      IF_PICTURE_IN (700,0, $_xmax,$_ymax, "ksh.bmp", -1, 80)
         $time = 0    // НАШЛИ, ОБНУЛЯЕМ ТАЙМЕР, ПРЕРЫВАЕМ ЦИКЛ
         WAITMS(2000)
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
   IF($time ! 0)  //ПРОВЕРКА РЕЗУЛЬТАТОВ, ЕСЛИ НЕ 0 ТО ЦИКЛ БЫЛ ПРЕРВАН ПО ТАЙМЕРУ, КАРТИНКА НЕ НАЙДЕНА.
 //ТУТ ДОБАВЛЯЕМ КАКИЕ ТО ДЕЙСТВИЯ ЕСЛИ КАРТИНКА НЕ НАЙДЕНА
END_IF
   //--------------------------------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (700,0, $_xmax,$_ymax, "arsenal.bmp", -1, 100)
         $time = 0
         WAITMS(100)
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
   IF($time ! 0)
   SOUND("sirenhilo.wav")
    WAITMS(500)
      HINTPOPUP("ОШИБКА СЦЕНАРИЯ")
    HALT                     //остановка сценария лимит исчерпан
   END_IF
   //--------------------------------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (700,0, $_xmax,$_ymax, "da.bmp", -1, 100)
         $time = 0
         WAITMS(100)
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
            WAITMS(3000)
   //--------------------------------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      COLORMODE(5)
      IF_PICTURE_IN (700,0, $_xmax,$_ymax, "razmestit.bmp", -1, 90)
         $time = 0
         WAITMS(100)
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
  IF($time ! 0)
   END_IF
   //--------------------------------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (700,0, $_xmax,$_ymax, "poisk.bmp", -1, 100)
         $time = 0
         WAITMS(100)
         LCLICK($_return1, $_return2)
         WAITMS(700)
         LCLICK($_return1-154, $_return2+1)
         WAITMS(100)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
  IF($time ! 0)
   END_IF
   //--------------------------------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (700,0, $_xmax,$_ymax, "da.bmp", -1, 100)
         $time = 0
         WAITMS(100)
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
  IF($time ! 0)
   END_IF
   WAITMS(1000)
   //--------------------------------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      COLORMODE(5)
      IF_PICTURE_IN (700,0, $_xmax,$_ymax, "razmestit.bmp", -1, 90)
         $time = 0
         WAITMS(100)
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
  IF($time ! 0)
   END_IF
   //--------------------------------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (700,0, $_xmax,$_ymax, "ms.bmp", -1, 100)
         $time = 0
         WAITMS(100)
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
  IF($time ! 0)
   END_IF
   //--------------------------------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (700,0, $_xmax,$_ymax, "vrag.bmp", -1, 100)
         $time = 0
         MOVE($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(100)
      END_IF
   END_CYC
  IF($time ! 0)
SOUND("sirenhilo.wav")
WAITMS(500)
HINTPOPUP("ОШИБКА СЦЕНАРИЯ")
HALT //остановка сценария лимит исчерпан
   END_IF
   //--------------------------------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (700,0, $_xmax,$_ymax, "udz.bmp", -1, 100)
         $time = 0
         WAITMS(100)
         LCLICK($_return1+2, $_return2+2)
         WAITMS(500)
         LCLICK($_return1+4, $_return2+38)
         WAITMS(500)
         LCLICK($_return1+6, $_return2+74)
         WAITMS(500)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
  IF($time ! 0)
   END_IF
   WAIT(1)
//-------------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (700,0, $_xmax,$_ymax, "plag.bmp", -1, 100)
         $time = 0
         WAITMS(100)
         LCLICK($_return1, $_return2)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
  IF($time ! 0)
   END_IF
//-------------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (700,0, $_xmax,$_ymax, "chistka.bmp", -1, 100)
         $time = 0
         WAITMS(100)
         LCLICK($_return1, $_return2)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
  IF($time ! 0)
   END_IF
   WAITMS(1000)
    //-----------
   $time = $_time_t + 60
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (700,0, $_xmax,$_ymax, "out.bmp", -1, 100)
         $time = 0
         WAITMS(500)
         LCLICK($_return1+6, $_return2+6)
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
  IF($time ! 0)
   END_IF
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: Oraven on October 31, 2014, 12:28:29 PM
Конечно, свои логины и пароли запиши в файл "LogPass.txt" в таком виде
Code: [Select]
Тест1@mail.ru:111111111
Тест2@mail.ru:абвгд
Тест3@mail.ru:тестТестТЕСТ
Где до двоеточия логин, а после пароль. Каждый цикл скрипта кликер будет читать новую строку и так по кругу.
Файл, конечно, приложи к скрипту.

Code: (clickermann) [Select]
//начало со страницы авторизации
WAITMS(1000)
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "TEL.bmp", -1, 100)
      $time = 0
      WAIT(1)
      LCLICK($_return1-1, $_return2+30)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF

//======Обработка логинов и паролей============
IF($count < TFCOUNT("LogPass.txt"))
   INC($count,1)
ELSE
   // здесь можно вставить остановку по достижении полного круга аккаунтов
   $count = 1 // начинаем с начала
END_IF

$str = TFREAD ("LogPass.txt", $count)
$log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
$pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
LOGWRITE ("Логин: ", $log, " Пароль: ", $pass)
WAITMS(500)
//=============================================

TOCLIP($log)
WAITMS(50)
KEYDOWN (#CTRL) // Ctrl+V
WAITMS (50)
KEYPRESS(#V)
KEYUP (#CTRL)
WAITMS(100)
KEYPRESS(#TAB)
WAITMS(100)
TOCLIP($pass)
WAITMS(50)
KEYDOWN (#CTRL) // Ctrl+V
WAITMS (50)
KEYPRESS(#V)
KEYUP (#CTRL)
WAITMS(500)
KEYPRESS(#ENTER)
//--------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "jh.bmp", -1, 100)
      $time = 0
      WAITMS(100)
      RCLICK($_return1+10, $_return2+10)
      WAITMS(500)
      LCLICK($_return1+86, $_return2+20)
   ELSE
      WAITMS(1000)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "zkr.bmp", -1, 100)
      $time = 0
      WAITMS(1000)
      LCLICK($_return1+3, $_return2+3)
      WAITMS(500)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
WAITMS(7000)
//-----------------поиск кш
$time = $_time_t + 60
WHILE($time > $_time_t) // ЖДЕМ КАРТИНКУ НЕ БОЛЕЕ 60 СЕК
   GETSCREEN
   COLORMODE(7)
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "ksh.bmp", -1, 80)
      $time = 0    // НАШЛИ, ОБНУЛЯЕМ ТАЙМЕР, ПРЕРЫВАЕМ ЦИКЛ
      WAITMS(2000)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)  //ПРОВЕРКА РЕЗУЛЬТАТОВ, ЕСЛИ НЕ 0 ТО ЦИКЛ БЫЛ ПРЕРВАН ПО ТАЙМЕРУ, КАРТИНКА НЕ НАЙДЕНА.
   //ТУТ ДОБАВЛЯЕМ КАКИЕ ТО ДЕЙСТВИЯ ЕСЛИ КАРТИНКА НЕ НАЙДЕНА
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "arsenal.bmp", -1, 100)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
   SOUND("sirenhilo.wav")
   WAITMS(500)
   HINTPOPUP("ОШИБКА СЦЕНАРИЯ")
   HALT                     //остановка сценария лимит исчерпан
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "da.bmp", -1, 100)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
WAITMS(3000)
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   COLORMODE(5)
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "razmestit.bmp", -1, 90)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "poisk.bmp", -1, 100)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
      WAITMS(700)
      LCLICK($_return1-154, $_return2+1)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "da.bmp", -1, 100)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
WAITMS(1000)
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   COLORMODE(5)
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "razmestit.bmp", -1, 90)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "ms.bmp", -1, 100)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "vrag.bmp", -1, 100)
      $time = 0
      MOVE($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(100)
   END_IF
END_CYC
IF($time ! 0)
   SOUND("sirenhilo.wav")
   WAITMS(500)
   HINTPOPUP("ОШИБКА СЦЕНАРИЯ")
   HALT //остановка сценария лимит исчерпан
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "udz.bmp", -1, 100)
      $time = 0
      WAITMS(100)
      LCLICK($_return1+2, $_return2+2)
      WAITMS(500)
      LCLICK($_return1+4, $_return2+38)
      WAITMS(500)
      LCLICK($_return1+6, $_return2+74)
      WAITMS(500)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
WAIT(1)
//-------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "plag.bmp", -1, 100)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//-------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "chistka.bmp", -1, 100)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
WAITMS(1000)
//-----------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "out.bmp", -1, 100)
      $time = 0
      WAITMS(500)
      LCLICK($_return1+6, $_return2+6)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF

На счет второго вопроса вот
http://crapware.aidf.org/forum/index.php?topic=1441.msg7497#msg7497 (http://crapware.aidf.org/forum/index.php?topic=1441.msg7497#msg7497)
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: keepsv on October 31, 2014, 01:17:24 PM
Спасибо, буду пробовать. ) Подскажите почему скопировав сценарий отсюда и вставив в кликер: кирилица=знаки вопроса? Как исправить?
И еще, можно ли одно действие, например поиск какого то элемента, обозвать одним словом и в последующем при необходимости вставлять это слово?
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: keepsv on October 31, 2014, 02:32:29 PM
Чет я не пойму, вот сценарий
Code: (clickermann) [Select]
$time = $_time_t + 20
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "jh.bmp", -1, 100)   //тут мы ищем картинку
      $time = 0
      WAITMS(100)
      RCLICK($_return1+10, $_return2+10) //нашли. ок
      WAITMS(300)
      LCLICK($_return1+86, $_return2+20)
   ELSE
      WAITMS(1000) //если не нашли продолжаем искать 20сек
   END_IF
END_CYC
 IF($time ! 0) // если не нашли за 20сек ищем другую
GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "RESTART.bmp", -1, 100)   // которая перезагрузит страницу
      $time = 0
      WAITMS(100)
      LCLICK($_return1+3, $_return2+3)
   ELSE
      BEEP(1000,1000) //а если и сейчас не нашли то пикаем
   END_IF
END_IF
А не пойму я вот что: как сделать чтоб после того как страница перезагружена опять начался поиск jh.bmp? А если перезагрузка не потребовалась и jh.bmp найдена с первого раза сценарий продолжился...
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: Oraven on October 31, 2014, 02:48:39 PM
Спасибо, буду пробовать. ) Подскажите почему скопировав сценарий отсюда и вставив в кликер: кирилица=знаки вопроса? Как исправить?
И еще, можно ли одно действие, например поиск какого то элемента, обозвать одним словом и в последующем при необходимости вставлять это слово?
Кодеровка чтоб её, у меня то такого нет но вот пользователи Win7 и далее на такое грешат. Попробуй вставить в блокнот и снова скопировать от туда.

Про символ не понял  :o

Используй переход к метке через гото. (Лювимай команда нубов  ;D но здесь она кстати )
Code: (clickermann) [Select]
RESTART: // метка

$time = $_time_t + 20
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "jh.bmp", -1, 100)   //тут мы ищем картинку
      $time = 0
      WAITMS(100)
      RCLICK($_return1+10, $_return2+10) //нашли. ок
      WAITMS(300)
      LCLICK($_return1+86, $_return2+20)
   ELSE
      WAITMS(50) //не нужно тут ставить такие задержки. 50 мс чтоб разгрузить проц достаточно! Только для этого тут задержка и нужна.
   END_IF
END_CYC
IF($time ! 0) // если не нашли за 20сек ищем другую
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "RESTART.bmp", -1, 100)   // которая перезагрузит страницу
      $time = 0
      WAITMS(100)
      LCLICK($_return1+3, $_return2+3)
      WAIT(5) // подождем
      GOTO(RESTART) // переходим к метке
   ELSE
      BEEP(1000,1000) //а если и сейчас не нашли то пикаем
      HALT // стоп
   END_IF
END_IF
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: keepsv on October 31, 2014, 04:35:32 PM
Спасибо, То что нужно. ) И рас уж пошла такая пьянка еще один вопрос:
У каждого аккаунта лимит в сутки 100 циклов, по данному Вами варианту аккаунты будут по очереди исчерпывать свой лимит после чего будут крутиться по кругу без пользы! Возможно ли задать определенное кол-во "ВХОДОВ" на каждый аккаунт после чего в поле ввода логина и пароля будет вводиться следующий аккаунт из файла LogPass.txt?
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: keepsv on October 31, 2014, 05:25:03 PM
Подскажите почему ошибка? Логины по кругу не вводит...
Code: (clickermann) [Select]
VHOD:
WAITMS(1000)
  $time = $_time_t + 15
  WHILE($time > $_time_t)
   GETSCREEN
    IF_PICTURE_IN (700,0, $_xmax,$_ymax, "TEL.bmp", -1, 100)
      $time = 0
      WAIT(1)
      LCLICK($_return1-1, $_return2+30)
    ELSE
      WAITMS(50)
   END_IF
 END_CYC
  IF($time ! 0)
   BEEP(1000,2000)
    WAITMS(500)
    HINTPOPUP("НЕ ЗАГРУЗИЛАСЬ СТРАНИЦА ВХОДА")
  END_IF
//======????????? ??????? ? ???????============
IF($count < TFCOUNT("LogPass.txt"))
   INC($count,1)
ELSE
   // ????? ????? ???????? ????????? ?? ?????????? ??????? ????? ?????????
   $count = 1 // ???????? ? ??????
END_IF
 
$str = TFREAD ("LogPass.txt", $count)
$log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
$pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
LOGWRITE ("?????: ", $log, " ??????: ", $pass)
WAITMS(500)
//=============================================
 
TOCLIP($log)
WAITMS(50)
KEYDOWN (#CTRL) // Ctrl+V
WAITMS (50)
KEYPRESS(#V)
KEYUP (#CTRL)
WAITMS(100)
KEYPRESS(#TAB)
WAITMS(100)
TOCLIP($pass)
WAITMS(50)
KEYDOWN (#CTRL) // Ctrl+V
WAITMS (50)
KEYPRESS(#V)
KEYUP (#CTRL)
WAITMS(500)
KEYPRESS(#ENTER)
//--------
                           RESTART: //МЕТКА
$time = $_time_t + 20
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "jh.bmp", -1, 100)   
      $time = 0
      WAITMS(100)
      RCLICK($_return1+10, $_return2+10)
      WAITMS(300)
      LCLICK($_return1+86, $_return2+20)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
 IF($time ! 0)
GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "RESTART.bmp", -1, 100)   
      $time = 0
      WAITMS(100)
      LCLICK($_return1+3, $_return2+3)
       WAIT(5)
       GOTO(RESTART) // ПЕРЕХОДИМ К МЕТКИ
   ELSE
      BEEP(1000,1000)   //
      HINTPOPUP("НЕ ОСУЩЕСТВЛЕН ВХОД")
      HALT //СТОП
   END_IF
END_IF
//--------------------
$time = $_time_t + 10
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "zkr.bmp", -1, 100)
      $time = 0
      WAITMS(1000)
      LCLICK($_return1+3, $_return2+3)
      WAITMS(500)
   ELSE
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//-----------------
                 KSH: // МЕТКА WAIT(5)  GOTO(RESTART) // ПЕРЕХОДИМ К МЕТКИ
                 
                 
                 
$time = $_time_t + 80  //ТУТ ПОСТАВИТЬ 120 ПОСЛЕ ОТЛАДКИ





WHILE($time > $_time_t)
   GETSCREEN
   COLORMODE(7)
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "ksh.bmp", -1, 80)
      $time = 0
      WAITMS(2000)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
 GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "RESTART.bmp", -1, 100)   
      $time = 0
      WAITMS(100)
      LCLICK($_return1+3, $_return2+3)
       WAIT(5)
       GOTO(KSH) // ПЕРЕХОДИМ К МЕТКИ-СНОВА ИЩЕМ КШ
   ELSE
      BEEP(1000,1000)   //
      HINTPOPUP("НЕ НАШЛИ КШ")
      HALT //СТОП
   END_IF
END_IF
//--------------------------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "arsenal.bmp", -1, 100)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
       WAIT(5)
       GOTO(VHOD) // если не находим арсенал перезаходим
   ELSE
      WAITMS(50)
   END_IF
END_IF
//--------------------------------
$time = $_time_t + 15
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "da.bmp", -1, 100)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
END_IF
WAITMS(3000)
//--------------------------------
                             RAZMESTIT:
$time = $_time_t + 10
WHILE($time > $_time_t)
   GETSCREEN
   COLORMODE(5)
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "razmestit.bmp", -1, 90)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
  GETSCREEN
   COLORMODE(5)
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "razmestit.bmp", -1, 90)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      BEEP(1000,1000)   //
      HINTPOPUP("НЕ НАШЛИ КНОПКУ РАЗМЕСТИТЬ")
   END_IF
END_IF
//--------------------------------
$time = $_time_t + 10
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "poisk.bmp", -1, 100)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
      WAITMS(800)
      LCLICK($_return1-154, $_return2+1)  // АРСЕНАЛ
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
 $time = $_time_t + 10
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "da.bmp", -1, 100)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
 $time = $_time_t + 10
WHILE($time > $_time_t)
   GETSCREEN
   COLORMODE(5)
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "razmestit.bmp", -1, 90)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
  GETSCREEN
   COLORMODE(5)
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "razmestit.bmp", -1, 90)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      BEEP(1000,1000)   //
      HINTPOPUP("НЕ НАШЛИ КНОПКУ РАЗМЕСТИТЬ")
   END_IF
END_IF
//--------------------------------
$time = $_time_t + 10
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "ms.bmp", -1, 100)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------чистим страницу
$time = $_time_t + 10
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "vrag.bmp", -1, 100)
      $time = 0
      MOVE($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
   SOUND("sirenhilo.wav")
$time = $_time_t + 10
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "plag.bmp", -1, 100)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//-------------
$time = $_time_t + 10
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "chistka.bmp", -1, 100)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
END_IF
WAITMS(1000)
//-----------
$time = $_time_t + 10
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "out.bmp", -1, 100)
      $time = 0
      LCLICK($_return1+6, $_return2+6)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
END_IF
  WAITMS(5000)
   GOTO(VHOD)
   HINTPOPUP("C ЭТИМ ВСЕ-СЛЕДУЮЩИЙ")
END_IF
//--------------------------------
$time = $_time_t + 10
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "udz.bmp", -1, 100)
      $time = 0
      WAITMS(100)
      LCLICK($_return1+2, $_return2+2)
      WAITMS(500)
      LCLICK($_return1+4, $_return2+38)
      WAITMS(500)
      LCLICK($_return1+6, $_return2+74)
      WAITMS(500)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
END_IF
WAIT(1)
//-------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "plag.bmp", -1, 100)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//-------------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "chistka.bmp", -1, 100)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
END_IF
WAITMS(1000)
//-----------
$time = $_time_t + 60
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (700,0, $_xmax,$_ymax, "out.bmp", -1, 100)
      $time = 0
      LCLICK($_return1+6, $_return2+6)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//-----------
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: Oraven on October 31, 2014, 06:02:22 PM
мало информации. 100 циклов чего? Какое количество входов? Когда начинаются новые сутки.
Можно настроить запись отработанных аков в INI файл и автосброс на следующие сутки. Только чтобы это все организовать надо знать все переменные этого уравнения.

Строка 151 лишний END_IF
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: keepsv on November 04, 2014, 03:23:56 PM
Решил задачу по другому! ) Еще раз премного благодарен за помощь, сам бы наверно не осилил. ))

Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: keepsv on November 11, 2014, 09:53:10 PM
Добрый вечер. Подскажите как заставить кликер выполнив один сценарий 100 раз переключиться на второй,  и тоже прокрутить его 100раз ,  потом третий четвертый в общем их около 10. Задача такая: есть 10 аккаунтов на которых нужно прокрутить сценарий (он выше) сейчас кликер перебирает логины от этих аккаунтов поочередно по кругу. Но из этих аккаунтов есть более приоритетные их бы прокрутить в первую очередь (100 раз  каждый)! Я подумал создать несколько сценариев с разными аккаунтами и... Ну в общем понятно из самого вопроса...) Но может есть другой  способ? Заранее спасибо.)
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: Луций on November 12, 2014, 08:57:17 AM
тебе нужно сделать цикл, это очевидно, а логины и пароли аккаунтов - чтение строк из текстового файла, согласно цифре цикла (я вижу ты это уже сделал)

еще одна вещь - посмотри что такое сабы, и подумай над циклом фор - твой код можно будет сжать раза в 4
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: keepsv on November 12, 2014, 09:58:51 AM
Мне нужно сделать цикл? Если честно понимания о чем речь нет.
Вот мой сценарий.

Code: (clickermann) [Select]
VHOD:
WAITMS(1000)
  $time = $_time_t + 10
  WHILE($time > $_time_t)
   GETSCREEN
    IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ZKR.bmp", -1, 100)
      $time = 0
      WAIT(1)
      LCLICK($_return1+38, $_return2+4)
      WAITMS(500)
      LCLICK($_return1+2, $_return2+2)
      WAITMS(500)
TOCLIP("http://vk.com/") // копируем в буфер
        WAITMS(50)
        KEYDOWN (#CTRL) // Ctrl+V
        WAITMS (50)
        KEYPRESS(#V)
        KEYUP (#CTRL)
        WAITMS(100)
        KEYPRESS(#ENTER) // ввод
        WAITMS (50)       
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//=============================================
  $time = $_time_t + 10
  WHILE($time > $_time_t)
   GETSCREEN
    IF_PICTURE_IN (0,0, $_xmax,$_ymax, "tel.bmp", -1, 100)
      $time = 0
      WAIT(1)
      LCLICK($_return1-1, $_return2+30)
    ELSE
      WAITMS(50)
   END_IF
 END_CYC
  IF($time ! 0)
   BEEP(1000,1000)
    WAITMS(500)
    HINTPOPUP("НЕ ЗАГРУЗИЛАСЬ СТРАНИЦА ВХОДА")
    GOTO(OUT) //ВЫХОД
  END_IF
//======Обработка логинов и паролей============
IF($count < TFCOUNT("LogPass_OST.txt"))
   INC($count,1)
ELSE
    // здесь можно вставить остановку по достижении полного круга аккаунтов
   $count = 1 // начинаем с начала
END_IF
 
$str = TFREAD ("LogPass_OST.txt", $count)
$log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
$pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
LOGWRITE ("Логин: ", $log, " Пароль: ", $pass)
WAITMS(500)
//=============================================
 
TOCLIP($log)
WAITMS(50)
KEYDOWN (#CTRL) // Ctrl+V
WAITMS (50)
KEYPRESS(#V)
KEYUP (#CTRL)
WAITMS(100)
KEYPRESS(#TAB)
WAITMS(100)
TOCLIP($pass)
WAITMS(50)
KEYDOWN (#CTRL) // Ctrl+V
WAITMS (50)
KEYPRESS(#V)
KEYUP (#CTRL)
WAITMS(500)
KEYPRESS(#ENTER)
//--------
                           JH: //МЕТКА
$time = $_time_t + 20
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "jh.bmp", -1, 100)   
      $time = 0
      LCLICK($_return1+30, $_return2+20)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
 IF($time ! 0)
    BEEP(1000,1000)
    WAITMS(500)
    HINTPOPUP("НЕ НАШЛИ JH")
    GOTO(OUT) //ВЫХОД   
END_IF
WAITMS(2000)
                                       KSH: // МЕТКА   
WAITMS(5000)
$time = $_time_t + 90
WHILE($time > $_time_t)
   GETSCREEN
   COLORMODE(7)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ksh.bmp", -1, 80)
      $time = 0
      WAITMS(1000)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0) 
 GETSCREEN
 IF_PICTURE_IN (0,0, $_xmax,$_ymax, "krestik.bmp", -1, 100)
     WAITMS(1000)
     LCLICK($_return1, $_return2)
     WAITMS(3000)
     GOTO(KSH)
  ELSE
     WAITMS(2000)
     GOTO(OUT) //ВЫХОД
  END_IF
END_IF
//--------------------------------
                            ARSENAL:
$time = $_time_t + 25
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "arsenal.bmp", -1, 100)
      $time = 0
      WAITMS(1000)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
  IF($time ! 0)
       WAIT(1)
       GOTO(out) //ВЫХОД
       WAIT(1)
  ELSE
       WAITMS(50)
END_IF
//--------------------------------
$time = $_time_t + 25
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "da.bmp", -1, 100)
      $time = 0
      WAITMS(1000)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
  IF($time ! 0)
       WAIT(1)
       GOTO(out)  //ВЫХОД
       WAIT(1)
    ELSE
       WAITMS(50)
  END_IF
//--------------------------------
                             RAZMESTIT:
$time = $_time_t + 25
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "razmestit.bmp", -1, 90)
      $time = 0
      WAITMS(1000)
      LCLICK($_return1+200, $_return2+112)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
  END_IF
//------------тут иногда появляется окно с пушкой.
$time = $_time_t + 10
WHILE($time > $_time_t)
GETSCREEN
 IF_PICTURE_IN (0,0, $_xmax,$_ymax, "pushka.bmp", -1, 100)
     $time = 0
     WAITMS(500)
     LCLICK($_return1, $_return2)
     WAITMS(1000)
     GOTO(da)  //DA
  ELSE
     WAITMS(50)
  END_IF
 END_CYC
IF($time ! 0)
  END_IF
IF($time ! 0)
  END_IF
END_IF
                   poisk://метка
$time = $_time_t + 25
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "poisk.bmp", -1, 100)
      $time = 0
      WAITMS(1000)
      LCLICK($_return1, $_return2)
      WAITMS(800)
      LCLICK($_return1-154, $_return2+1)  // АРСЕНАЛ
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
WAITMS(1000)
GOTO(OUT)     //ВЫХОД
END_IF
         da: //метка
 $time = $_time_t + 25
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "da.bmp", -1, 100)
      $time = 0
      WAITMS(1000)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
 IF($time ! 0)
 END_IF
//--------------------------------
 $time = $_time_t + 25
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "razmestit.bmp", -1, 90)
      $time = 0
      LCLICK($_return1+200, $_return2+112)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------
                          MS:
$time = $_time_t + 25
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ms.bmp", -1, 100)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//--------------------------------чистим страницу
$time = $_time_t + 25
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "vrag.bmp", -1, 100)
      $time = 0
      MOVE($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
   beep(1000,1000)
   WAITMS(100)
   HINTPOPUP("ЛИМИТ АЛМАЗОВ ИСЧЕРПАН")
   WAITMS(100)
   GOTO(OUT)  //ВЫХОД
   WAITMS(1000)
END_IF
//--------------------------------
$time = $_time_t + 25
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "udz.bmp", -1, 100)
      $time = 0
      WAITMS(100)
      LCLICK($_return1+2, $_return2+2)
      WAITMS(500)
      LCLICK($_return1+4, $_return2+38)
      WAITMS(500)
      LCLICK($_return1+6, $_return2+74)
      WAITMS(500)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
END_IF
WAIT(1)
//-------------
                  out:    // метка
$time = $_time_t + 25
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "plag.bmp", -1, 100)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
END_IF
//-------------
$time = $_time_t + 25
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "chistka.bmp", -1, 100)
      $time = 0
      WAITMS(100)
      LCLICK($_return1, $_return2)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
END_IF
WAITMS(1000)
Пытался почитать справку но так и не понял что за цикл, и как его сделать. Был бы благодарен за более детальную подсказку. ) Про Подпрограммы я читал, но применить сначала не получилось, и использовал метки. )
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: Oraven on November 12, 2014, 11:35:25 AM
Приоритеты нужно расставлять в файле "LogPass_OST.txt"

Загнал твой скрипт в подпрограмму которая будет вызываться 100 раз, но счетчик номера строки логпас будет увеличиваться до цикла, поэтому будет 100 раз прилогинивание к одному и тому же акку потом 100 раз ко второму и тд.

Code: (clickermann) [Select]
//==Начало подпрограммы===========================================
SUB(programs)
   VHOD:
   WAITMS(1000)
   $time = $_time_t + 10
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ZKR.bmp", -1, 100)
         $time = 0
         WAIT(1)
         LCLICK($_return1+38, $_return2+4)
         WAITMS(500)
         LCLICK($_return1+2, $_return2+2)
         WAITMS(500)
         TOCLIP("http://vk.com/") // копируем в буфер
         WAITMS(50)
         KEYDOWN (#CTRL) // Ctrl+V
         WAITMS (50)
         KEYPRESS(#V)
         KEYUP (#CTRL)
         WAITMS(100)
         KEYPRESS(#ENTER) // ввод
         WAITMS (50)
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
   //=============================================
   $time = $_time_t + 10
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "tel.bmp", -1, 100)
         $time = 0
         WAIT(1)
         LCLICK($_return1-1, $_return2+30)
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   IF($time ! 0)
      BEEP(1000,1000)
      WAITMS(500)
      HINTPOPUP("НЕ ЗАГРУЗИЛАСЬ СТРАНИЦА ВХОДА")
      GOTO(OUT) //ВЫХОД
   END_IF
   
   //======Обработка логинов и паролей============
   $str = TFREAD ("LogPass_OST.txt", $count)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
   LOGWRITE ("Логин: ", $log, " Пароль: ", $pass)
   WAITMS(500)
   //=============================================
   
   TOCLIP($log)
   WAITMS(50)
   KEYDOWN (#CTRL) // Ctrl+V
   WAITMS (50)
   KEYPRESS(#V)
   KEYUP (#CTRL)
   WAITMS(100)
   KEYPRESS(#TAB)
   WAITMS(100)
   TOCLIP($pass)
   WAITMS(50)
   KEYDOWN (#CTRL) // Ctrl+V
   WAITMS (50)
   KEYPRESS(#V)
   KEYUP (#CTRL)
   WAITMS(500)
   KEYPRESS(#ENTER)
   //--------
   
   $time = $_time_t + 20
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "jh.bmp", -1, 100)
         $time = 0
         LCLICK($_return1+30, $_return2+20)
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   IF($time ! 0)
      BEEP(1000,1000)
      WAITMS(500)
      HINTPOPUP("НЕ НАШЛИ JH")
      GOTO(OUT) //ВЫХОД
   END_IF
   WAITMS(2000)
   KSH: // МЕТКА
   WAITMS(5000)
   $time = $_time_t + 90
   WHILE($time > $_time_t)
      GETSCREEN
      COLORMODE(7)
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ksh.bmp", -1, 80)
         $time = 0
         WAITMS(1000)
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   IF($time ! 0)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "krestik.bmp", -1, 100)
         WAITMS(1000)
         LCLICK($_return1, $_return2)
         WAITMS(3000)
         GOTO(KSH)
      ELSE
         WAITMS(2000)
         GOTO(OUT) //ВЫХОД
      END_IF
   END_IF
   //--------------------------------
   ARSENAL:
   $time = $_time_t + 25
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "arsenal.bmp", -1, 100)
         $time = 0
         WAITMS(1000)
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   IF($time ! 0)
      WAIT(1)
      GOTO(out) //ВЫХОД
      WAIT(1)
   ELSE
      WAITMS(50)
   END_IF
   //--------------------------------
   $time = $_time_t + 25
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "da.bmp", -1, 100)
         $time = 0
         WAITMS(1000)
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   IF($time ! 0)
      WAIT(1)
      GOTO(out)  //ВЫХОД
      WAIT(1)
   ELSE
      WAITMS(50)
   END_IF
   //--------------------------------
   RAZMESTIT:
   $time = $_time_t + 25
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "razmestit.bmp", -1, 90)
         $time = 0
         WAITMS(1000)
         LCLICK($_return1+200, $_return2+112)
         WAITMS(100)
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
   //------------тут иногда появляется окно с пушкой.
   $time = $_time_t + 10
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "pushka.bmp", -1, 100)
         $time = 0
         WAITMS(500)
         LCLICK($_return1, $_return2)
         WAITMS(1000)
         GOTO(da)  //DA
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
   
   poisk://метка
   $time = $_time_t + 25
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "poisk.bmp", -1, 100)
         $time = 0
         WAITMS(1000)
         LCLICK($_return1, $_return2)
         WAITMS(800)
         LCLICK($_return1-154, $_return2+1)  // АРСЕНАЛ
         WAITMS(100)
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   IF($time ! 0)
      WAITMS(1000)
      GOTO(OUT)     //ВЫХОД
   END_IF
   da: //метка
   $time = $_time_t + 25
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "da.bmp", -1, 100)
         $time = 0
         WAITMS(1000)
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
   //--------------------------------
   $time = $_time_t + 25
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "razmestit.bmp", -1, 90)
         $time = 0
         LCLICK($_return1+200, $_return2+112)
         WAITMS(100)
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
   //--------------------------------
   MS:
   $time = $_time_t + 25
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ms.bmp", -1, 100)
         $time = 0
         WAITMS(100)
         LCLICK($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
   //--------------------------------чистим страницу
   $time = $_time_t + 25
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "vrag.bmp", -1, 100)
         $time = 0
         MOVE($_return1, $_return2)
         WAITMS(100)
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   IF($time ! 0)
      beep(1000,1000)
      WAITMS(100)
      HINTPOPUP("ЛИМИТ АЛМАЗОВ ИСЧЕРПАН")
      WAITMS(100)
      GOTO(OUT)  //ВЫХОД
      WAITMS(1000)
   END_IF
   //--------------------------------
   $time = $_time_t + 25
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "udz.bmp", -1, 100)
         $time = 0
         WAITMS(100)
         LCLICK($_return1+2, $_return2+2)
         WAITMS(500)
         LCLICK($_return1+4, $_return2+38)
         WAITMS(500)
         LCLICK($_return1+6, $_return2+74)
         WAITMS(500)
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
   WAIT(1)
   //-------------
   out:    // метка
   $time = $_time_t + 25
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "plag.bmp", -1, 100)
         $time = 0
         WAITMS(100)
         LCLICK($_return1, $_return2)
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
   //-------------
   $time = $_time_t + 25
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "chistka.bmp", -1, 100)
         $time = 0
         WAITMS(100)
         LCLICK($_return1, $_return2)
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   IF($time ! 0)
   END_IF
   WAITMS(1000)
END_SUB
//==Конец подпрограммы===========================================

IF($count < TFCOUNT("LogPass_OST.txt"))
   INC($count,1)
ELSE
   $count = 1 // начинаем с начала
END_IF
FOR($a=0,$a<100)
   programs()
END_CYC
Title: Re: Прошу помощи в написании сценария для игры Jungle Heat!
Post by: keepsv on November 12, 2014, 11:52:52 AM
Благодарю, то что нужно!