Author Topic: Запуск куска сценария в заданный интервал времени  (Read 2055 times)

0 Members and 1 Guest are viewing this topic.

Hooligan

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
Ребята помогите. Есть бот для эмулятора. В самом теле бота куча разных действий.
Но некоторые действия достаточно выполнять 1 раз в сутки. Некоторые в определенное время к примеру в первые 3-4  часа с начала игровых суток а потом уже не нужно. Ну и с интервалом времени к примеру со старта скрипта каждые 10 часов.

Внутри основного тела все записано в SUB

В общем нужно:

1. Выполнить действие 1 раз в сутки
2. Повторить действие спустя 10 часов
3. Запускать действие с 9:00 до 14:00 далее не выполнять

ПРИМЕР: Этот кусок из тела нужно запустить всего 1 раз в сутки

Code: (clickermann) [Select]
//=============================================
//=============================================

SUB(ЕЖЕДНЕВНАЯ АКТИВНОСТЬ)
   сброс()
   
   $time = $_time_t + 10
   WHILE($time > $_time_t)
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (350,90, 405,405, "daily activity.bmp", -1, 60)
         $time = 0
         LCLICK($_return1+5, $_return2+10)
         WAITMS(2500)
      ELSE
         print("Не нашел картинку")
         сброс()
         WAITMS(500)
      END_IF
   END_CYC
END_SUB

SUB(МЕСЯЧНАЯ ПОДПИСКА)
   print("МЕСЯЧНАЯ ПОДПИСКА")
   ЕЖЕДНЕВНАЯ АКТИВНОСТЬ()
   
   $time = $_time_t + 10
   WHILE($time > $_time_t)
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (10,59, 281,152, "меню подписки.bmp", -1, 60)
         $time = 0
         WAITMS(1500)
         LCLICK(206,658)
         WAITMS(500)
      ELSE
         print("Не нашел картинку")
         сброс()
         WAITMS(500)
      END_IF
   END_CYC
END_SUB

Хел ми ))) Спасибо заранее!
« Last Edit: December 11, 2018, 05:09:37 PM by Hooligan »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Code: (clickermann) [Select]
// действие раз в 10 часов с сохранением времени в файл
$time = INT(INIREAD("config.ini", "time_1", "TIME"))
IF($time < $_time_t)
   ЕЖЕДНЕВНАЯ АКТИВНОСТЬ()
   МЕСЯЧНАЯ ПОДПИСКА()
   $time = $_time_t + 36000 // таймер на 10 часов
   INIWRITE("config.ini", "time_1", $time, "TIME")
END_IF

Code: (clickermann) [Select]
IF(($_time_h >= 9)&($_time_h < 14))
  // действия с 9 до 14
END_IF

Hooligan

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
А если у меня несколько ферм и мне нужно что бы время ожидания сохранялось для каждой фермы отдельно. Такое реализовать возможно?
Пример имею 4 фермы, внутри замка растут ресурсы, полное накопление происходит в течении 10 часов. Мне нужно, что бы БОТ у меня прошел круг по всем замкам и собрал ресурсы запомнив время ожидания сбора для каждого замка в отдельности

Code: (clickermann) [Select]
time = INT(INIREAD("config.ini", "time_1", "TIME"))
IF($time < $_time_t)
РЕСУРСЫ В ЗАМКЕ()
   $time = $_time_t + 36000 // таймер на 10 часов
   INIWRITE("config.ini", "time_1", $time, "TIME")
END_IF

Hooligan

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
Я только учусь) так что помогите)

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Я только учусь) так что помогите)

Code: (clickermann) [Select]
$time1 = INT(INIREAD("config.ini", "time_1", "TIME"))
IF($time1 < $_time_t)
   РЕСУРСЫ В ЗАМКЕ()
   $time1 = $_time_t + 36000 // таймер на 10 часов
   INIWRITE("config.ini", "time_1", $time1, "TIME")
END_IF

$time2 = INT(INIREAD("config.ini", "time_2", "TIME"))
IF($time2 < $_time_t)
   ЕЖЕДНЕВНАЯ АКТИВНОСТЬ()
   $time2 = $_time_t + 3600 // таймер на 1 час
   INIWRITE("config.ini", "time_2", $time2, "TIME")
END_IF

Hooligan

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
так не выйдет, как вы предлагаете сделать. Т.е цель не совсем такова. Цель что бы один и тот же скрипт создавал новый файл с памятью времени. У меня 4  аккаунта и лействия на них повтоярются из одного тела программы. В общем сценарии не хочу выставлять условия для каждого действия

Hooligan

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
Смена аккаунтов имеется.