Timer (Lua): различия между версиями

Материал из UoPilot
Перейти к навигации Перейти к поиску
(Новая страница: « == Описание == Timer на луа - бесконечный цикл, выполняющий код через определённый промежуто...»)
 
 
Строка 5: Строка 5:
 
== Синтаксис ==
 
== Синтаксис ==
 
Привязка к окну: Нет.
 
Привязка к окну: Нет.
<br>Работа со свернутым окном: Да.
+
<br>Работа со свернутым окном: Да.
 
  --lua
 
  --lua
 
  local timer = 0
 
  local timer = 0
  while timer &lt; 1 do
+
  while timer < 1 do
 
   wait (5000) --ждём 5 секунд
 
   wait (5000) --ждём 5 секунд
 
   --тут код который нужно выполнять каждые пять секунд
 
   --тут код который нужно выполнять каждые пять секунд
Строка 19: Строка 19:
 
  --lua
 
  --lua
 
  local timer = 0
 
  local timer = 0
  while timer &lt; 1 do
+
  while timer < 1 do
 
   wait (5000) --ждём 5 секунд
 
   wait (5000) --ждём 5 секунд
 
   --всплывающие окна, погода, землетрясение и т.д.
 
   --всплывающие окна, погода, землетрясение и т.д.
 
   local startX, startY, endX, endY = 762, 170, 795, 200
 
   local startX, startY, endX, endY = 762, 170, 795, 200
   local patch_exit_msg = &lt;nowiki>[['C:.*exit_msg.bmp']]&lt;/nowiki>
+
   local patch_exit_msg = <nowiki>[['C:.*exit_msg.bmp']]</nowiki>
 
   local arr, a = findimage (startX, startY, endX, endY, {patch_exit_msg}, 2, 50, 20, 20)
 
   local arr, a = findimage (startX, startY, endX, endY, {patch_exit_msg}, 2, 50, 20, 20)
 
   -- поиск картинки (второе значение менять надо и четвёртое)
 
   -- поиск картинки (второе значение менять надо и четвёртое)
Строка 48: Строка 48:
 
  --таймер, внутри него названия функций
 
  --таймер, внутри него названия функций
 
  local timer = 0
 
  local timer = 0
  while timer &lt; 1 do
+
  while timer < 1 do
 
  wait (2000)
 
  wait (2000)
 
   timer_click()
 
   timer_click()

Текущая версия на 11:26, 28 августа 2019

Описание

Timer на луа - бесконечный цикл, выполняющий код через определённый промежуток времени. Если нужно закрывать всплывающие окна, время от времени, проверять потребности персонажа и так далее - то таймер не заменим. Можно в одной из вкладок пилота, написать такой код:

Синтаксис

Привязка к окну: Нет.
Работа со свернутым окном: Да.

--lua
local timer = 0
while timer < 1 do
  wait (5000) --ждём 5 секунд
  --тут код который нужно выполнять каждые пять секунд
end

это и есть таймер.

Примеры

// Пример 1, поиск картинки и клик по ней
--lua
local timer = 0
while timer < 1 do
  wait (5000) --ждём 5 секунд
  --всплывающие окна, погода, землетрясение и т.д.
  local startX, startY, endX, endY = 762, 170, 795, 200
  local patch_exit_msg = [['C:.*exit_msg.bmp']]
  local arr, a = findimage (startX, startY, endX, endY, {patch_exit_msg}, 2, 50, 20, 20)
  -- поиск картинки (второе значение менять надо и четвёртое)
  hint (a) --справа внизу отображается число
  if a > 0 then
   --если картинок 2 и более то, по массиву ищем
   --if arr > 0 then
     left (arr[1][1], arr[1][2])
  end
end--while

Если нужно несколько таймеров, то нужно использовать пользовательские функции.

// Пример 2, несколько таймеров
--первая функция
function timer_baff()
   wait (1000)
   msg ("die mfck!!!") --вызов функции, выводит сообщение
end
--вторая функция
function timer_click()
   msg ("clik!") --вызов функции, выводит сообщение
end
--таймер, внутри него названия функций
local timer = 0
while timer < 1 do
wait (2000)
  timer_click()
  timer_baff()
end

Смотрите также

if