Таймеры — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

Таймеры — различия между версиями

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
(Новая страница: «Для чего нужны таймеры? Предположим, вы хотите, чтобы Меченому после диалога пришло сообще...»)
 
Строка 5: Строка 5:
 
Необходимая функция в свежем скриптовом файле.
 
Необходимая функция в свежем скриптовом файле.
  
Для того, чтобы создать таймер, необходимо открыть файл с вашими скриптами и написать следующее (пишите сплошняком, Википедия криво обработала текст):
+
Для того, чтобы создать таймер, необходимо открыть файл с вашими скриптами и написать следующее :
  
  
  
  
local iTimer
+
<code>local iTimer
 
function function_onetimer()
 
function function_onetimer()
 
     iTimer = time_global() + 6*1000  
 
     iTimer = time_global() + 6*1000  
Строка 20: Строка 20:
 
         wolfscripts.humorist_killed_msg()  
 
         wolfscripts.humorist_killed_msg()  
 
     end
 
     end
end  
+
end </code>
  
  
  
 
Разъясню  
 
Разъясню  
 
+
<code>function function_onetimer() — название функции (это главная функция и её будем вызывать из диалога)
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() -- название скрипта.название функции</code>
 +
 
  
 
Тут, вроде бы, всё просто. Но таймер просто так не заработает. Лезем в bind_stalker.script и в
 
Тут, вроде бы, всё просто. Но таймер просто так не заработает. Лезем в bind_stalker.script и в
  
function actor_binder:update(delta)
+
<code>function actor_binder:update(delta)</code>
 +
 
  
 
пишем
 
пишем
  
название_вашего_скрипта.timer_5_minutes()
+
<code>название_вашего_скрипта.timer_5_minutes()</code>
  
 
Вуаля, теперь всё работает. Спасибо за внимание.
 
Вуаля, теперь всё работает. Спасибо за внимание.
 
Да, кстати, из диалога вызываем функцию function_onetimer.
 
Да, кстати, из диалога вызываем функцию function_onetimer.

Версия 21:35, 6 января 2013

Для чего нужны таймеры? Предположим, вы хотите, чтобы Меченому после диалога пришло сообщение на ПДА, но не сразу, а для придания большего реализма с задержкой в ~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.

Другие места
LANGUAGE