Author Topic: оконным режим и запуск скрипта по расписанию  (Read 9335 times)

0 Members and 1 Guest are viewing this topic.

blackhawk2k

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Здравствуйте уважаемые гуру, я новичок, прошу сильно не ругать за очевидные для вас вещи, но скорее всего я где то допустил ошибку, хотя бы вроде бы все правильно на первый взгляд.

Проблема, есть эмулятор андроида bluestacks который работает в оконном режиме и на нем установлена игра Galaxy Legend, нужно чтобы игра запускалась 1 раз в сутки в назначенное время, перехватил процесс кликером Аlt+W выставляю время запуска в первой строке скрипта например на 3 часа 55 минут утра по мск, нажимаю запуск скрипта и через несколько секунд он начинает кликать куда то, бред в общем, собственно убираю первую строку с оператором IF и скрипт работает как надо, но без запуска по таймеру :( помогите пожалуйста.

Сам код:
Code: (clickermann) [Select]
IF(($_time_h = 03) & ($_time_m = 55))
LCLICK(168,56)
WAITMS(2500)
LCLICK(1461,816)
WAITMS(4500)
LCLICK(827,627)
WAITMS(1000)
LCLICK(1556,812)
END_IF
WAITMS(1000) // забираем ежедневную награду
LCLICK(600,500)
WAITMS(1000)
LCLICK(1575,93)
WAITMS(1000) // заходим в Alliance
LCLICK(1556,812)
WAITMS(1000)
LCLICK(1032,767)
WAITMS(1500) // заходим в Alliance - Function
LCLICK(1083,679)
WAITMS(1500) // заходим в Alliance - Donate
LCLICK(520,413)
WAITMS(1500) // донатим 100 кредитов (если хотите меньше меняйте координаты в этом блоке 1340,694 на другие)
LCLICK(1340,694)
LCLICK(1423,41)
WAITMS(1500) // заходим в Cosmic Expedition
LCLICK(1098,413)
WAITMS(1000) // join
LCLICK(794,644)
WAITMS(1000) // call ally
LCLICK(1050,644)
WAITMS(1500)
LCLICK(1547,41)
WAITMS(1000)
LCLICK(1547,41)
LCLICK(185,797) // заходим в Conservatory - область FELIX
WAIT(1)
LCLICK(185,832)
WAIT(1)
DBLCLICK(1258,126)
WAIT(1)
LCLICK(829,737)
WAIT(10)
LCLICK(1427,50) // закрываем отбор
LCLICK(185,797) // область HIGHLAND
WAIT(1)
LCLICK(200,762)
WAIT(1)
DBLCLICK(1258,126)
WAIT(1)
LCLICK(829,737)
WAIT(10)
LCLICK(1427,50) // закрываем отбор
LCLICK(185,797) // область SPIRAL ARM
WAIT(1)
LCLICK(207,732)
WAIT(1)
DBLCLICK(1258,126)
WAIT(1)
LCLICK(829,737)
WAIT(10)
LCLICK(1427,50) // закрываем отбор
LCLICK(185,797) // область GREENLAND
WAIT(1)
LCLICK(207,665)
WAIT(1)
DBLCLICK(1258,126)
WAIT(1)
LCLICK(829,737)
WAIT(10)
LCLICK(1427,50)
LCLICK(1540,50) // закрываем отбор и Conservatory, остальное отберете вручную на работе :)
WAIT(1) // идем в лабу Декстера - слот машина
inc($counter)
LCLICK(1327,43)
WAIT(1)
LCLICK(538,223)
WAIT(2)
DBLCLICK(1224,421)
WAIT(10)
LCLICK(824,645)
WAIT(1)
if ($counter = 8)
LCLICK(1532,56) // закрываем слот машину
end_if
WAIT(1) // заходим в Citadel
LCLICK(630,395)
WAIT(1)
LCLICK(982,775)
WAIT(1)
LCLICK(509,747)
WAIT(15)
LCLICK(1543,43)
HALT

aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
9 строку кода перемести в конец перед halt

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Да. И время не 03, а просто 3


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Данное условие
Code: (clickermann) [Select]
IF(($_time_h = 03) & ($_time_m = 55))
   LCLICK(168,56)
   WAITMS(2500)
   LCLICK(1461,816)
   WAITMS(4500)
   LCLICK(827,627)
   WAITMS(1000)
   LCLICK(1556,812)
END_IF

начнет срабатывать в 3 часа 55 минут. Весь остальной код будет работать сразу.
Зачем там
Code: (clickermann) [Select]
inc($counter)
if ($counter = 8)
если в конце идет остановка скрипта?
« Last Edit: July 14, 2014, 11:55:29 AM by Oraven »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Думаю тебе надо вот так написать

Code: (clickermann) [Select]
IF(($_time_h = 3) & ($_time_m = 55))
   LCLICK(168,56)
   WAITMS(2500)
   LCLICK(1461,816)
   WAITMS(4500)
   LCLICK(827,627)
   WAITMS(1000)
   LCLICK(1556,812)
   WAITMS(1000) // забираем ежедневную награду
   LCLICK(600,500)
   WAITMS(1000)
   LCLICK(1575,93)
   WAITMS(1000) // заходим в Alliance
   LCLICK(1556,812)
   WAITMS(1000)
   LCLICK(1032,767)
   WAITMS(1500) // заходим в Alliance - Function
   LCLICK(1083,679)
   WAITMS(1500) // заходим в Alliance - Donate
   LCLICK(520,413)
   WAITMS(1500) // донатим 100 кредитов (если хотите меньше меняйте координаты в этом блоке 1340,694 на другие)
   LCLICK(1340,694)
   LCLICK(1423,41)
   WAITMS(1500) // заходим в Cosmic Expedition
   LCLICK(1098,413)
   WAITMS(1000) // join
   LCLICK(794,644)
   WAITMS(1000) // call ally
   LCLICK(1050,644)
   WAITMS(1500)
   LCLICK(1547,41)
   WAITMS(1000)
   LCLICK(1547,41)
   LCLICK(185,797) // заходим в Conservatory - область FELIX
   WAIT(1)
   LCLICK(185,832)
   WAIT(1)
   DBLCLICK(1258,126)
   WAIT(1)
   LCLICK(829,737)
   WAIT(10)
   LCLICK(1427,50) // закрываем отбор
   LCLICK(185,797) // область HIGHLAND
   WAIT(1)
   LCLICK(200,762)
   WAIT(1)
   DBLCLICK(1258,126)
   WAIT(1)
   LCLICK(829,737)
   WAIT(10)
   LCLICK(1427,50) // закрываем отбор
   LCLICK(185,797) // область SPIRAL ARM
   WAIT(1)
   LCLICK(207,732)
   WAIT(1)
   DBLCLICK(1258,126)
   WAIT(1)
   LCLICK(829,737)
   WAIT(10)
   LCLICK(1427,50) // закрываем отбор
   LCLICK(185,797) // область GREENLAND
   WAIT(1)
   LCLICK(207,665)
   WAIT(1)
   DBLCLICK(1258,126)
   WAIT(1)
   LCLICK(829,737)
   WAIT(10)
   LCLICK(1427,50)
   LCLICK(1540,50) // закрываем отбор и Conservatory, остальное отберете вручную на работе :)
   WAIT(1) // идем в лабу Декстера - слот машина
   LCLICK(1327,43)
   WAIT(1)
   LCLICK(538,223)
   WAIT(2)
   DBLCLICK(1224,421)
   WAIT(10)
   LCLICK(824,645)
   WAIT(1)
   
   inc($counter)
   if ($counter = 8)
      LCLICK(1532,56) // закрываем слот машину
      WAIT(1)
   end_if
   
   // заходим в Citadel
   LCLICK(630,395)
   WAIT(1)
   LCLICK(982,775)
   WAIT(1)
   LCLICK(509,747)
   WAIT(15)
   LCLICK(1543,43)
END_IF
WAITMS(100)

blackhawk2k

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
9 строку кода перемести в конец перед halt

всем большое спасибо, все стало на свои места :) все работает

насчет:

inc($counter)
if ($counter = 8)

подумаю тоже спасибо :)

blackhawk2k

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Вопрос к Oraven сделал как вы сказали, все работает, но при выставлении HALT в конце скрипта, чтобы прекратить работу сценария скрипт вообще потом не стартует :(

....
   // заходим в Citadel
   LCLICK(630,395)
   WAIT(1)
   LCLICK(982,775)
   WAIT(1)
   LCLICK(509,747)
   WAIT(15)
   LCLICK(1543,43)
END_IF
WAITMS(100)
HALT

нашел временное решение, это в программе выбрать фиксированное значение = 1
« Last Edit: July 14, 2014, 08:16:56 PM by blackhawk2k »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Вот такой вариант:
Code: (clickermann) [Select]
WHILE(($_time_h ! 3) & ($_time_m ! 55))
   WAITMS(500)
END_CYC

WHILE($counter < 8)
   LCLICK(168,56)
   WAITMS(2500)
   LCLICK(1461,816)
   WAITMS(4500)
   LCLICK(827,627)
   WAITMS(1000)
   LCLICK(1556,812)
   WAITMS(1000) // забираем ежедневную награду
   LCLICK(600,500)
   WAITMS(1000)
   LCLICK(1575,93)
   WAITMS(1000) // заходим в Alliance
   LCLICK(1556,812)
   WAITMS(1000)
   LCLICK(1032,767)
   WAITMS(1500) // заходим в Alliance - Function
   LCLICK(1083,679)
   WAITMS(1500) // заходим в Alliance - Donate
   LCLICK(520,413)
   WAITMS(1500) // донатим 100 кредитов (если хотите меньше меняйте координаты в этом блоке 1340,694 на другие)
   LCLICK(1340,694)
   LCLICK(1423,41)
   WAITMS(1500) // заходим в Cosmic Expedition
   LCLICK(1098,413)
   WAITMS(1000) // join
   LCLICK(794,644)
   WAITMS(1000) // call ally
   LCLICK(1050,644)
   WAITMS(1500)
   LCLICK(1547,41)
   WAITMS(1000)
   LCLICK(1547,41)
   LCLICK(185,797) // заходим в Conservatory - область FELIX
   WAIT(1)
   LCLICK(185,832)
   WAIT(1)
   DBLCLICK(1258,126)
   WAIT(1)
   LCLICK(829,737)
   WAIT(10)
   LCLICK(1427,50) // закрываем отбор
   LCLICK(185,797) // область HIGHLAND
   WAIT(1)
   LCLICK(200,762)
   WAIT(1)
   DBLCLICK(1258,126)
   WAIT(1)
   LCLICK(829,737)
   WAIT(10)
   LCLICK(1427,50) // закрываем отбор
   LCLICK(185,797) // область SPIRAL ARM
   WAIT(1)
   LCLICK(207,732)
   WAIT(1)
   DBLCLICK(1258,126)
   WAIT(1)
   LCLICK(829,737)
   WAIT(10)
   LCLICK(1427,50) // закрываем отбор
   LCLICK(185,797) // область GREENLAND
   WAIT(1)
   LCLICK(207,665)
   WAIT(1)
   DBLCLICK(1258,126)
   WAIT(1)
   LCLICK(829,737)
   WAIT(10)
   LCLICK(1427,50)
   LCLICK(1540,50) // закрываем отбор и Conservatory, остальное отберете вручную на работе :)
   WAIT(1) // идем в лабу Декстера - слот машина
   LCLICK(1327,43)
   WAIT(1)
   LCLICK(538,223)
   WAIT(2)
   DBLCLICK(1224,421)
   WAIT(10)
   LCLICK(824,645)
   WAIT(1)
   
   inc($counter)
   if ($counter = 8)
      LCLICK(1532,56) // закрываем слот машину
      WAIT(1)
   end_if
   
   // заходим в Citadel
   LCLICK(630,395)
   WAIT(1)
   LCLICK(982,775)
   WAIT(1)
   LCLICK(509,747)
   WAIT(15)
   LCLICK(1543,43)
   WAITMS(100)
END_CYC

HALT

Скрипт после запуска сразу застрянет на цикле WHILE(($_time_h ! 3) & ($_time_m ! 55)) пока не подойдет заданное тобой время. Далее выполнение продолжится ниже, выполнит твой скрипт 8 раз и остановится. Надеюсь так ты хочешь?
 

blackhawk2k

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Скрипт после запуска сразу застрянет на цикле WHILE(($_time_h ! 3) & ($_time_m ! 55)) пока не подойдет заданное тобой время. Далее выполнение продолжится ниже, выполнит твой скрипт 8 раз и остановится. Надеюсь так ты хочешь?

Немного не так, мне нужно было 8 раз (там даются 8 монеток которые нужно слить) выполнить вот этот блок только, а не весь скрипт :)

Code: (clickermann) [Select]
   WAIT(1) // идем в лабу Декстера - слот машина
   LCLICK(1327,43)
   WAIT(1)
   LCLICK(538,223)
   WAIT(2)
   DBLCLICK(1224,421)
   WAIT(10)
   LCLICK(824,645)
   WAIT(1)
 
   inc($counter)
   if ($counter = 8)
      LCLICK(1532,56) // закрываем слот машину
      WAIT(1)
   end_if

но я поправил ваш вариант, и сейчас все работает как часы :)

Code: (clickermann) [Select]
WHILE(($_time_h ! 3) & ($_time_m ! 55))
   WAITMS(500)
END_CYC
WHILE($counter < 1)
.
.
.
.
.
END_CYC
 
HALT

вообще в первые столкнулся в этой программой, навыков программирования вообще нет, голова гудит от поступающей инфы %)
спасибо разработчику и всем кто участвовал в разработке этой замечательной софтины :)

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Теперь все ясно.
Вот подходящий вариант

Code: (clickermann) [Select]
WHILE(($_time_h ! 3) & ($_time_m ! 55))
   WAITMS(500)
END_CYC

LCLICK(168,56)
WAITMS(2500)
LCLICK(1461,816)
WAITMS(4500)
LCLICK(827,627)
WAITMS(1000)
LCLICK(1556,812)
WAITMS(1000) // забираем ежедневную награду
LCLICK(600,500)
WAITMS(1000)
LCLICK(1575,93)
WAITMS(1000) // заходим в Alliance
LCLICK(1556,812)
WAITMS(1000)
LCLICK(1032,767)
WAITMS(1500) // заходим в Alliance - Function
LCLICK(1083,679)
WAITMS(1500) // заходим в Alliance - Donate
LCLICK(520,413)
WAITMS(1500) // донатим 100 кредитов (если хотите меньше меняйте координаты в этом блоке 1340,694 на другие)
LCLICK(1340,694)
LCLICK(1423,41)
WAITMS(1500) // заходим в Cosmic Expedition
LCLICK(1098,413)
WAITMS(1000) // join
LCLICK(794,644)
WAITMS(1000) // call ally
LCLICK(1050,644)
WAITMS(1500)
LCLICK(1547,41)
WAITMS(1000)
LCLICK(1547,41)
LCLICK(185,797) // заходим в Conservatory - область FELIX
WAIT(1)
LCLICK(185,832)
WAIT(1)
DBLCLICK(1258,126)
WAIT(1)
LCLICK(829,737)
WAIT(10)
LCLICK(1427,50) // закрываем отбор
LCLICK(185,797) // область HIGHLAND
WAIT(1)
LCLICK(200,762)
WAIT(1)
DBLCLICK(1258,126)
WAIT(1)
LCLICK(829,737)
WAIT(10)
LCLICK(1427,50) // закрываем отбор
LCLICK(185,797) // область SPIRAL ARM
WAIT(1)
LCLICK(207,732)
WAIT(1)
DBLCLICK(1258,126)
WAIT(1)
LCLICK(829,737)
WAIT(10)
LCLICK(1427,50) // закрываем отбор
LCLICK(185,797) // область GREENLAND
WAIT(1)
LCLICK(207,665)
WAIT(1)
DBLCLICK(1258,126)
WAIT(1)
LCLICK(829,737)
WAIT(10)
LCLICK(1427,50)
LCLICK(1540,50) // закрываем отбор и Conservatory, остальное отберете вручную на работе :)
WAIT(1) // идем в лабу Декстера - слот машина

FOR($a,$a<8)
   LCLICK(1327,43)
   WAIT(1)
   LCLICK(538,223)
   WAIT(2)
   DBLCLICK(1224,421)
   WAIT(10)
   LCLICK(824,645)
   WAIT(1)
   if($a = 7)
      LCLICK(1532,56) // закрываем слот машину
      WAIT(1)
   end_if
END_CYC

// заходим в Citadel
LCLICK(630,395)
WAIT(1)
LCLICK(982,775)
WAIT(1)
LCLICK(509,747)
WAIT(15)
LCLICK(1543,43)

HALT

blackhawk2k

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Oraven
Большое человеческое спасибо, все работает :)
Буду дальше учиться.

Andrey_13

  • Освоившийся
  • **
  • Posts: 28
    • View Profile
Доброй ночи.
У меня похожая задача, но мне надо чтоб так же очки действия я истратил до 23-59 (к примеру должен начать в 23-50), а потом в 00-05 опять чуток поработать и остановиться. Внутри все переключения и задержки все получается, только не знаю как сделать, чтоб 2 задачи по времени выполнить?? Подскажите пожалуйста!

blackhawk2k

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Доброй ночи.
У меня похожая задача, но мне надо чтоб так же очки действия я истратил до 23-59 (к примеру должен начать в 23-50), а потом в 00-05 опять чуток поработать и остановиться. Внутри все переключения и задержки все получается, только не знаю как сделать, чтоб 2 задачи по времени выполнить?? Подскажите пожалуйста!

я например решил эту задачу так, у меня тоже до 4.00 утра в 3.57 запускается скрипт, все очки сливает до сброса кд в 4.00, в 3.59 закрывает игру и запускает в 4.01 снова скрипт

между 3.59 и 4.01 я выставил простую задержку и все - WAIT(120) // ждем 2 минуты

Andrey_13

  • Освоившийся
  • **
  • Posts: 28
    • View Profile
А если будет три, четыре цикла?
К примеру с 9 до 12 один. С 13 до 22 второй. ну и так далее? Знатоки подскажите!!

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
А если будет три, четыре цикла?
К примеру с 9 до 12 один. С 13 до 22 второй. ну и так далее? Знатоки подскажите!!

Code: (clickermann) [Select]
IF(($_time_h > 8) & ($_time_h < 13))
  // с 9 до 12
END_IF

IF(($_time_h > 12) & ($_time_h < 23))
  // с 13 до 22
END_IF