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