enderalse/source/scripts/_00e_complexfollowtrigscript.psc

62 lines
2.3 KiB
Plaintext

Scriptname _00E_ComplexFollowTrigScript extends ObjectReference
{Use this script if you have an NPC following the player. If the player leaves this box, the NPC will make a remark and stay put.
If the player returns into the triggerbox, the NPC will follow him again.}
;=====================================================================================
; EVENTS
;=====================================================================================
Event OnTriggerEnter(ObjectReference akActionRef)
if (akActionRef == PlayerREF)
myActor = FollowingNPC.GetActorReference()
if (myActor.GetCurrentPackage() == FollowingPackage) || (myActor.GetCurrentPackage() == WaitPackage)
If (Counter.GetValueInt() == 0)
myActor.Say(NPCPlayerReturnsDialogue)
EndIf
Counter.SetValueInt(Counter.GetValueInt() + 1)
Debug.MessageBox(akActionRef + " just entered us!" + Counter.GetValue())
myActor.EvaluatePackage()
EndIf
EndIf
EndEvent
Event OnTriggerLeave(ObjectReference akActionRef)
if (akActionRef == PlayerREF)
if (myActor.GetCurrentPackage() == FollowingPackage) || (myActor.GetCurrentPackage() == WaitPackage)
Counter.SetValueInt((Counter.GetValueInt() - 1))
Debug.MessageBox(akActionRef + " just left us!" + Counter.GetValue())
myActor.EvaluatePackage()
if (Counter.GetValueInt() == 0)
myActor.Say(NPCPlayerLeavesDialogue)
EndIf
endif
endif
EndEvent
;=====================================================================================
; PROPERTIES
;=====================================================================================
Actor myActor
Topic Property NPCPlayerLeavesDialogue Auto
{The topic the NPC says when the player leaves the triggerbox, such as "I'll wait for you here"}
Topic Property NPCPlayerReturnsDialogue Auto
{The topic the NPC says when the player returns, such as "Glad you're back"!}
ReferenceAlias Property FollowingNPC Auto
{The Alias of the NPC who is following the player}
Package Property FollowingPackage Auto
{The follow package that is usually running}
Package Property WaitPackage Auto
{The wait package that will run if the player leaves}
Actor Property PlayerREF Auto
GlobalVariable Property Counter Auto
{Set this to a custom global variable}