Таймеры — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
FantomICW (обсуждение | вклад) (Оформление, категория #ficw) |
|||
Строка 1: | Строка 1: | ||
Для чего нужны таймеры? | Для чего нужны таймеры? | ||
− | Предположим, вы хотите, чтобы Меченому после диалога пришло сообщение на ПДА, но не сразу, а для придания большего реализма с задержкой в ~7-8 секунд. В таком случае, если вы читаете эту статью, то у вас есть | + | Предположим, вы хотите, чтобы Меченому после диалога пришло сообщение на ПДА, но не сразу, а для придания большего реализма с задержкой в ~7-8 секунд. В таком случае, если вы читаете эту статью, то у вас есть: |
− | + | <br> | |
− | Готовый диалог | + | - Готовый диалог<br> |
− | Необходимая функция в свежем скриптовом файле. | + | - Необходимая функция в свежем скриптовом файле. |
− | + | <br> | |
Для того, чтобы создать таймер, необходимо открыть файл с вашими скриптами и написать следующее : | Для того, чтобы создать таймер, необходимо открыть файл с вашими скриптами и написать следующее : | ||
− | + | <lua>local iTimer | |
− | + | ||
− | + | ||
− | < | + | |
function function_onetimer() | function function_onetimer() | ||
iTimer = time_global() + 6*1000 | iTimer = time_global() + 6*1000 | ||
Строка 20: | Строка 17: | ||
wolfscripts.humorist_killed_msg() | wolfscripts.humorist_killed_msg() | ||
end | end | ||
− | end </ | + | end </lua> |
− | Разъясню | + | Разъясню: |
− | < | + | <lua>function function_onetimer() — название функции (это главная функция и её будем вызывать из диалога) |
iTimer = time_global() + 6*1000 -- задержка по времени (6 секунд) | iTimer = time_global() + 6*1000 -- задержка по времени (6 секунд) | ||
function timer_5_minutes() — собственно, настройки таймера | function timer_5_minutes() — собственно, настройки таймера | ||
iTimer = nil -- отключаем таймер | iTimer = nil -- отключаем таймер | ||
− | wolfscripts.humorist_killed_msg() -- название скрипта.название функции</ | + | wolfscripts.humorist_killed_msg() -- название скрипта.название функции</lua> |
− | Тут, вроде бы, всё просто. Но таймер просто так не заработает. Лезем в bind_stalker.script и в | + | Тут, вроде бы, всё просто. Но таймер просто так не заработает. Лезем в '''bind_stalker.script''' и в |
<code>function actor_binder:update(delta)</code> | <code>function actor_binder:update(delta)</code> | ||
− | пишем | + | пишем: |
<code>название_вашего_скрипта.timer_5_minutes()</code> | <code>название_вашего_скрипта.timer_5_minutes()</code> | ||
Вуаля, теперь всё работает. Спасибо за внимание. | Вуаля, теперь всё работает. Спасибо за внимание. | ||
− | Да, кстати, из диалога вызываем функцию function_onetimer. | + | Да, кстати, из диалога вызываем функцию ''function_onetimer''. |
+ | |||
+ | [[Категория:Скрипты]] |
Версия 14:56, 19 июня 2014
Для чего нужны таймеры?
Предположим, вы хотите, чтобы Меченому после диалога пришло сообщение на ПДА, но не сразу, а для придания большего реализма с задержкой в ~7-8 секунд. В таком случае, если вы читаете эту статью, то у вас есть:
- Готовый диалог
- Необходимая функция в свежем скриптовом файле.
Для того, чтобы создать таймер, необходимо открыть файл с вашими скриптами и написать следующее :
local iTimer function function_onetimer() iTimer = time_global() + 6*1000 end function timer_5_minutes() if iTimer and iTimer < time_global() then iTimer = nil wolfscripts.humorist_killed_msg() end end
Разъясню:
function function_onetimer() — название функции (это главная функция и её будем вызывать из диалога) iTimer = time_global() + 6*1000 -- задержка по времени (6 секунд) function timer_5_minutes() — собственно, настройки таймера iTimer = nil -- отключаем таймер wolfscripts.humorist_killed_msg() -- название скрипта.название функции
Тут, вроде бы, всё просто. Но таймер просто так не заработает. Лезем в bind_stalker.script и в
function actor_binder:update(delta)
пишем:
название_вашего_скрипта.timer_5_minutes()
Вуаля, теперь всё работает. Спасибо за внимание. Да, кстати, из диалога вызываем функцию function_onetimer.