Enderal SE https://mod.pub/enderal-se/38-enderal-se
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
950 B
42 lines
950 B
3 years ago
|
Scriptname _00E_GreetingTriggerScript extends ObjectReference
|
||
|
|
||
|
ActorBase Property GreeterBase Auto
|
||
|
Topic Property GreetingDialogueTopic Auto
|
||
|
Faction Property GreetingFaction Auto
|
||
|
Actor Property PlayerRef Auto
|
||
|
|
||
|
Actor akGreeter
|
||
|
Bool bGreetingCocked
|
||
|
|
||
|
Event OnTriggerEnter(ObjectReference triggerRef)
|
||
|
If triggerRef != PlayerRef || bGreetingCocked
|
||
|
Return
|
||
|
EndIf
|
||
|
|
||
|
bGreetingCocked = True
|
||
|
|
||
|
Utility.Wait(1.0)
|
||
|
|
||
|
akGreeter = Game.FindClosestReferenceOfTypeFromRef(GreeterBase, PlayerRef, 1024.0) as Actor
|
||
|
If akGreeter
|
||
|
akGreeter.AddToFaction(GreetingFaction)
|
||
|
akGreeter.Say(GreetingDialogueTopic)
|
||
|
EndIf
|
||
|
|
||
|
RegisterForSingleUpdate(5.0)
|
||
|
EndEvent
|
||
|
|
||
|
Event OnUpdate()
|
||
|
If akGreeter
|
||
|
; Force remove akGreeter from GreetingFaction, it's too late to make a sale pitch.
|
||
|
akGreeter.RemoveFromFaction(GreetingFaction)
|
||
|
akGreeter = None
|
||
|
EndIf
|
||
|
|
||
|
If PlayerRef.IsInInterior() == False
|
||
|
bGreetingCocked = False
|
||
|
Else
|
||
|
RegisterForSingleUpdate(2.0)
|
||
|
EndIf
|
||
|
EndEvent
|