Papyrus (Bethesda RPG Scripting)
Created on 2023-08-22T14:20:14-05:00
It's a form of BASIC, extended to handle a subset of game objects that appear in those engines.
State machines
There is also state machine syntax sugar.
Auto State AtRest
Event OnActivate(ObjectReference akActionRef)
GoToState("Busy")
;DO STUFF HERE
;play animations, etc. - left vague for illustrative purposes
;Done doing stuff
GoToState("AtRest")
EndEvent
EndState
State Busy
Event OnActivate(ObjectReference akActionRef)
debug.trace("I'm busy, so not doing anything.")
EndEvent
EndState