Подскажите, замучился честно слово с этим делом. Тут такое дело: У меня после использования предмета выполняется функция, а функция воспроизводит анимацию. Вот как мне сделать чтобы анимация играла конкретно, скажем, 3 минуты? Не один раз и не бесконечность, а 3 минуты. Можно такое сделать? Если да то как?
Истинный путь MOD ver. 1.3.0 (ТЧ) готов! Истинный путь v2.0 (ТЧ) готов!
Vova-VIP, для этого же есть функция таймера точнее таймер прописывается на которое время она должна проигрываться а чтоб бесконечно не повторялась можно другие анимки прописать в добавок ну или просто не завязывать на бесконечность эту анимку
Все кому я нужен могут найти меня по этому адресу : #EGGO_TM в общем буду рад пообщаться )
function effector(obj) local obj_sect = obj:section() if obj_sect == 'energy_drink' then
news_manager.send_tip(db.actor, "%c[255,255,128,128]воду:\n%c[default]принял", nil, nil, 3000) level.add_pp_effector("fire_hit.ppe",3, true) end Start_Timer_5_minutes() end
local iTimer function Start_Timer_5_minutes() --/ (пере)запуск таймера (из диалога) iTimer = time_global() + 5*1000 --/ взводим таймер на 5cek end
function Timer_N_minutes() --/ вызывается из ':update' сталкер-биндера if iTimer and iTimer < time_global() then --/ проверка текущего значения iTimer = nil --/ выключаем таймер del_effector() --/ выполняем действие end end
function del_effector() level.remove_pp_effector(3) end end
просто таймер
Code
Таймер - 1 вариант без вывода на худ: local iTimer function Start_Timer_5_minutes() --/ (пере)запуск таймера (из диалога) iTimer = time_global() + 5*1000 --/ взводим таймер на 5cek end
function Timer_N_minutes() --/ вызывается из ':update' сталкер-биндера if iTimer and iTimer < time_global() then --/ проверка текущего значения iTimer = nil --/ выключаем таймер скрипт.функция() --/ выполняем действие end end ---------
Ёрик, ты куда эту функцию ставишь то? У меня вылетает с ошибкой, которая жалуется на строчку в bind_stalker (на ту, в которой я путь к твоей функции прописал).
Истинный путь MOD ver. 1.3.0 (ТЧ) готов! Истинный путь v2.0 (ТЧ) готов!
Запуск таймера через биндер function actor_binder:update(delta) название.Timer_N_minutes() –- запускаем таймер
сама функция через actor_binder:update(delta) не запускается Надо делать как на Inside Wiki звук при использовании предмета Создавать колбеки и регистрировать. Зачем в твоей функции проверка local stype=nil Это можно убрать.
Code
function use_narkota (obj) local section = obj:section() if section=="narkota" then level.add_pp_effector("proba_test.ppe", 10, true) end Start_Timer_5_minutes() end
local iTimer function Start_Timer_5_minutes() --/ (пере)запуск таймера (из диалога) iTimer = time_global() + 5*1000 --/ взводим таймер на 5cek end
function Timer_N_minutes() --/ вызывается из ':update' сталкер-биндера if iTimer and iTimer < time_global() then --/ проверка текущего значения iTimer = nil --/ выключаем таймер del_effector() --/ выполняем действие end end
function del_effector() level.remove_pp_effector(10) -- eljkztv 'atrn end end
Если всё сделать правильно должно работать.100%
Добавлено (19.11.2011, 21:10:30) --------------------------------------------- Prosecutor, Здесь config\misc\monster_items.ltx
Ёрик, вот смотри. Я по Wiki уже давненько сделал "Звуки по использованию предмета". Всё работает. Вот у меня в bind_stalker.script есть такая функция:
Code
function actor_binder:use_object(obj) ip_sounds.use_snd(obj) -- вылетает, жалуясь на эту строчку ip_sounds.use_item_ip(obj) ip_sounds.use_narkota(obj) -- этого я добиваюсь end
Функцию прописывал ту, что ты мне показал. Пробовал и в отдельный файл, вылетает, но уже жалуясь на строчку "этого я и добиваюсь". Что я пропустил? (Кстати сам вылет происходит тогда, когда я использую любой предмет)
Истинный путь MOD ver. 1.3.0 (ТЧ) готов! Истинный путь v2.0 (ТЧ) готов!
Я тестил на чистой игре и с одним предметом . Чисто теоретически думаю проблема в использовании предмета Там три функции почти одинаковые их надо обеденить Чтобы была одна функция если это можно а так конфликт. Завтра посмотрю может что и получится
Добавлено (19.11.2011, 22:51:33) --------------------------------------------- Проверил всё работает и эффект и музыка. Проверил таким образом
Проверил всё работает и эффект и музыка. Проверил таким образом
Code
function actor_binder:use_object(obj) --предмет xr_yu.use_snd(obj) xr_yu.use_snd1(obj) end /////////////////////////////// Скрипт //////////////////////////////
function use_snd(obj)
local obj_sect = obj:section()
local snd
if obj_sect == 'medkit' then snd = [[car\apc_run]]
elseif obj_sect == 'kolbasa' then snd = [[car\apc_run]]
elseif obj_sect == 'energy_drink' then snd = [[car\apc_run]]
elseif obj_sect == 'bandage' then snd = [[car\apc_run]]
end
if snd then
local snd_obj = xr_sound.get_safe_sound_object(snd)
function use_snd1(obj) local obj_sect = obj:section() if obj_sect == 'energy_drink' then news_manager.send_tip(db.actor, "%c[255,255,128,128]воду:\n%c[default]принял", nil, nil, 3000) level.add_pp_effector("fire_hit.ppe",3, true) end Start_Timer_5_minutes() end
local iTimer function Start_Timer_5_minutes() --/ (пере)запуск таймера (из диалога) iTimer = time_global() + 5*1000 --/ взводим таймер на 5cek end
function Timer_N_minutes() --/ вызывается из ':update' сталкер-биндера if iTimer and iTimer < time_global() then --/ проверка текущего значения iTimer = nil --/ выключаем таймер del_effector() --/ выполняем действие end
function del_effector() level.remove_pp_effector(3) end end
[error]Expression : false [error]Function : CXml::Init [error]File : E:\stalker\patch_1_0004\xrXMLParser\xrXMLParser.cpp [error]Line : 87 [error]Description : XML file:text\rus\string_table_includes.xml value: errDescr:Error reading end tag. Что за ошибка??????? Стало вылазить когда свой НПС добавил