Доброго времени суток господа. У меня сразу просьба - помогите решить проблемы со скриптами. Есть скрипты которые работают - но работают не совсем так как нужно мне - ниже приведу примеры - и постараюсь описать всё как можно подробнее (прошу строго не судить - у меня совсем нет опыта в модестроении - поэтому и изъясняться я буду топорно)
1) Скрипт который рандомно включает (Enable) один из объектов когда ГГ (главный герой-Довакин-актёр) входит в область триггера и выключает (Disable) этот объект когда ГГ покидает область триггера. Суть в том что я уже три дня пытаюсь сделать так чтобы скрипт срабатывал не тольно на ГГ но так же на NPC - подскажите в чём моя проблема что нужно прописать в скрипте что бы он так же срабатывал на NPC (когда те входят в триггер и покидают его)
Scriptname _0000_HMD_Trigger_RandomObject_Enable extends ObjectReference
;-- Properties --------------------------------------
ObjectReference property RandomObjectEnable_1 auto
ObjectReference property RandomObjectEnable_2 auto
ObjectReference property RandomObjectEnable_3 auto
ObjectReference property RandomObjectEnable_4 auto
ObjectReference property RandomObjectEnable_5 auto
ObjectReference property RandomObjectEnable_6 auto
ObjectReference property RandomObjectEnable_7 auto
;-- Variables ---------------------------------------
;-- Functions ---------------------------------------
function OnTriggerLeave(ObjectReference akActionRef)
if akActionRef == game.GetPlayer() as ObjectReference
RandomObjectEnable_1.DisableNoWait(true)
RandomObjectEnable_2.DisableNoWait(true)
RandomObjectEnable_3.DisableNoWait(true)
RandomObjectEnable_4.DisableNoWait(true)
RandomObjectEnable_5.DisableNoWait(true)
RandomObjectEnable_6.DisableNoWait(true)
RandomObjectEnable_7.DisableNoWait(true)
else
return
endIf
endFunction
; Skipped compiler generated GetState
function OnTriggerEnter(ObjectReference akActionRef)
if akActionRef == game.GetPlayer() as ObjectReference
Int random = utility.RandomInt(1, 75)
if random >= 1 && random < 10
RandomObjectEnable_1.EnableNoWait(true)
elseIf random >= 10 && random < 20
RandomObjectEnable_2.EnableNoWait(true)
elseIf random >= 20 && random < 30
RandomObjectEnable_3.EnableNoWait(true)
elseIf random >= 30 && random < 40
RandomObjectEnable_4.EnableNoWait(true)
elseIf random >= 40 && random < 50
RandomObjectEnable_5.EnableNoWait(true)
elseIf random >= 50 && random < 60
RandomObjectEnable_6.EnableNoWait(true)
elseIf random >= 60
RandomObjectEnable_7.EnableNoWait(true)
endIf
else
return
endIf
endFunction
; Skipped compiler generated GotoState
2) Есть скрипт который при активации триггера рандомно дает ГГ один из предметов ingredient - мне нужно что бы этот предмет + активный эффект (хороший отдых) ГГ получал спустя час - то есть при активации триггера должен проходить час (ну как со сном - только без возможности выбора временного интервала) и появлялось всплывающее окошко (Message box) в котором будет написано что прошел час и ГГ хорошо отдохнул. Важно что бы хороший отдых ГГ получал в независимости от рандомной составляющей
Scriptname _0000_HMD_Crafting_Resources extends ObjectReference
ingredient property Eff1 auto
ingredient property Eff2 auto
ingredient property Eff3 auto
ingredient property Eff4 auto
ingredient property Eff5 auto
ingredient property Eff6 auto
ingredient property Eff7 auto
function OnActivate (ObjectReference akActionRef)
if akActionRef == game.GetPlayer() as ObjectReference
Int random = utility.RandomInt(1, 75)
if random >= 1 && random < 10
game.getplayer().additem(Eff1, 1)
elseIf random >= 10 && random < 20
game.getplayer().additem(Eff2, 1)
elseIf random >= 20 && random < 30
game.getplayer().additem(Eff3, 1)
elseIf random >= 30 && random < 40
game.getplayer().additem(Eff4, 1)
elseIf random >= 40 && random < 50
game.getplayer().additem(Eff5, 1)
elseIf random >= 50 && random < 60
game.getplayer().additem(Eff6, 1)
elseIf random >= 60
game.getplayer().additem(Eff7, 1)
endIf
else
return
endIf
endFunction
Заранее спасибо.