Как я понял, в этом методе, при использовании ремкомплекта он удаляется из инвентаря, и спавнится новый? Версия ТЧ не важна бинд одинаковый. Arist, Скинь 6poHR777-е, свой бинд и мне заодно.
6poHR777, я же написал, что сделал. скобка 1.С 2 вылет.В статье опечатка просто.
Добавлено (20.08.2012, 18:36) --------------------------------------------- ins33, у меня чистый бинд.Вот что я добавил.
function actor_binder:OnUseObject(obj, who) if obj then if obj:section() =="repair_kit_outfit" then my_spawn.repair_outfit() end end end ---------------------------------------------------------------------------------------------------------------------- function actor_binder:net_destroy() if(actor_stats.remove_from_ranking~=nil)then actor_stats.remove_from_ranking(self.object:id()) end -- game_stats.shutdown () db.del_actor(self.object)
if sr_psy_antenna.psy_antenna then sr_psy_antenna.psy_antenna:destroy() sr_psy_antenna.psy_antenna = false end
xr_sound.stop_all_sound_object()
object_binder.net_destroy(self) end ---------------------------------------------------------------------------------------------------------------------- function actor_binder:reinit() object_binder.reinit(self)
Допустим, если ГГ ранили и у него здоровье меньше 0.05, то всегда появляется сообщение?Если так,то опять в бинд_сталкер. Вот, на основе дин. новостей и твоих скриптов:
function zabolel_1() local act = db.actor local time = time_global() if db.actor ~= nil and db.actor:object("medkit") and act.health < 0.8 and time_news < time then time_news = time + 7000 news_manager.send_tip(db.actor, "%c[255,0,255,0]ЗДОРОВЬЕ\\n%c[default]ПАДАЕТ.", 0, "trader", 10000) end end
Активация в function actor_binder:update(delta)
-- апдейт звуковой схемы актера xr_sound.update_actor() my_spawn.zabolel_1() --' Проверка потери жизни --[[
Arist, Тут функция отнимает 0.05 здоровья, сообщение всегда использую для проверки работы скрипта. Насколько понял time_news = time + 7000 это и есть задержка, точнее интервал повтора. time_news < time then -- прокоментируй эту строчку. И где можно посмотреть как используется задержка повтора? Или как это применить к функции?
ins33, time_news = time + 7000 -- да, можешь любое ставить time_news < time then -- я так понял,что новое время меньше,чем time_global(),реального времени.
Вообще, этот скрипт динамических новостей, который Gun12,шутя накатал с месяц назад на СП.
local time_news = 0 function time_update_spam() local time = time_global() if time_news < time then time_news = time + 50000 this.monsters_news() end end
local t = { {"zombie_weak" , "зомби" }, {"chimera_weak", "химеру"}, {"burer_weak" , "бюрера"}, {"cat_weak" , "кота" } } function monsters_news() local j = math.random(0,#t) if t[j] then alife():create(t[j][1],vector():set(-230.80,-19.05,-108.77),23988,8) news_manager.send_tip(db.actor, "%c[255,160,160,160]Недавно видел "..t[j][2], 3, nil, 30000) end end
Вот он, действительно может написать скрипт любого уровня сложности. А задержка повтора, это сколько поставишь, вместо 7000.Я поставил 500,забежал в аномалию и сообщения посыпались довольно быстро.Съел аптечку прекратились.