Timer (Lua): различия между версиями
Перейти к навигации
Перейти к поиску
Tatikoma (обсуждение | вклад) (Новая страница: « == Описание == Timer на луа - бесконечный цикл, выполняющий код через определённый промежуто...») |
Tatikoma (обсуждение | вклад) |
||
Строка 5: | Строка 5: | ||
== Синтаксис == | == Синтаксис == | ||
Привязка к окну: Нет. | Привязка к окну: Нет. | ||
− | + | <br>Работа со свернутым окном: Да. | |
--lua | --lua | ||
local timer = 0 | local timer = 0 | ||
− | while timer | + | while timer < 1 do |
wait (5000) --ждём 5 секунд | wait (5000) --ждём 5 секунд | ||
--тут код который нужно выполнять каждые пять секунд | --тут код который нужно выполнять каждые пять секунд | ||
Строка 19: | Строка 19: | ||
--lua | --lua | ||
local timer = 0 | local timer = 0 | ||
− | while timer | + | 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 = | + | 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 | + | 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