Lasplagas 0 Опубликовано 12 Мая 2018 (изменено) Всем привет! Начну с того что маюсь поиском давно, и вариантов по одним и тем же функциям перепробовал множество, не знаю что и делать. Neeed help! Нужно: Через диалог активировать таймер, по истечению которого выдаётся поршень+сообщение. (доп условие - тайм фактор Не должен ломаться после перезагрузки) Поделка_1 (таймфактор ломается после перезагрузки) function start_timer() local iTimer = time_global() + 10000 local function check_timer() return time_global() > iTimer end level.add_call(check_timer, action_timer) end function action_timer() db.actor:give_info_portion("test_portion") end Поделка_2 (пропуск таймера и мгновенный переход к выполнению test_333) не довёл до ума но увидел что с этой функцией невозможно побороть сейфлоад, так же пропадает после перезагрузки. function start_timer_medpreparat(first_speaker,second_speaker) local function test_333() give_info("vikarii_quest_medpreparat_time") db.actor:give_game_news("vikarii_medpreparat_message", 0, "default", 10000) end CreateTimeEvent("test_222",zaebalsa, 5,test_333()) end Изменено 12 Мая 2018 пользователем Lasplagas Поделиться этим сообщением Ссылка на сообщение
Lasplagas 0 Опубликовано 12 Мая 2018 1 минуту назад, Overfirst сказал: Всю жизнь не понимал, нафига вы заводите скриптовые таймеры и плодите функции, когда можно в рестрикторе всё это красивенько сделать, причём всё сохраняется. Я, может, что-то упустил? Нет возможности работы в рестрикторе, нужна конкретно функция на таймер с запоминанием в сейвлоаде. Поделиться этим сообщением Ссылка на сообщение
Lasplagas 0 Опубликовано 12 Мая 2018 1 час назад, Lasplagas сказал: Всем привет! Начну с того что маюсь поиском давно, и вариантов по одним и тем же функциям перепробовал множество, не знаю что и делать. Neeed help! Нужно: Через диалог активировать таймер, по истечению которого выдаётся поршень+сообщение. (доп условие - тайм фактор Не должен ломаться после перезагрузки) Поделка_1 (таймфактор ломается после перезагрузки) Показать function start_timer() local iTimer = time_global() + 10000 local function check_timer() return time_global() > iTimer end level.add_call(check_timer, action_timer) end function action_timer() db.actor:give_info_portion("test_portion") end Поделка_2 (пропуск таймера и мгновенный переход к выполнению test_333) не довёл до ума но увидел что с этой функцией невозможно побороть сейфлоад, так же пропадает после перезагрузки. Показать function start_timer_medpreparat(first_speaker,second_speaker) local function test_333() give_info("vikarii_quest_medpreparat_time") db.actor:give_game_news("vikarii_medpreparat_message", 0, "default", 10000) end CreateTimeEvent("test_222",zaebalsa, 5,test_333()) end пример_3 ( так же ломается при сейвлоаде) local iTimer function function_onetimer() iTimer = time_global() + 12*1000 end function timer_5_minutes() if iTimer and iTimer < time_global() then iTimer = nil db.actor:give_info_portion("vikarii_quest_medpreparat_time") end end регистрация в bind_stalker.scripts dialogs_deadcity.timer_5_minutes() Поделиться этим сообщением Ссылка на сообщение
Lasplagas 0 Опубликовано 12 Мая 2018 @dsh, Спасибо за подсказку. К сожалению вчера уже нашёл но я слишком деревянный что бы понять как собрать из их кусков что либо работающее. https://github.com/KRodinn/OGSE_0693_Optimized/blob/be4597706496ba810682b3f4f4754c6879b4b932/gamedata/scripts/ogse_st_mgr.script#L353 вот инструкция. Поделиться этим сообщением Ссылка на сообщение