Drag and Drop .esd or .esd.py files onto the py_esd_for_des.exe
The state machine always starts in State_0.
The state machine is always in one State, on entering the state it will execute the State's EntryEvents. It will then check the Transitions every Tick until one is True. Once a Transition is True the State Machine will execute the State's ExitEvents, the Transitions PassEvents and jump to the target state of the Transition.
def State_3():
#EntryEvents:
TalkToPlayer(31060, -1, -1)
DisplayOneLineHelp(-1)
#ExitEvents:
ClearTalkListData()
#Transitions:
if HasTalkEnded() == 1:
State_116()
if IsAttackedBySomeone() == 1:
State_37()
#PassEvents:
InvokeEvent(113)Once the State Machine enters the state it will execute the Events:
TalkToPlayer(31060, -1, -1)
DisplayOneLineHelp(-1)It will then check the these Conditions every Tick:
if HasTalkEnded() == 1
if IsAttackedBySomeone() == 1Once one of them is True it will execute the ExitEvents, in this case
ClearTalkListData()And the PassEvents of the Transition that is True, in this case if HasTalkEnded() == 1 has no PassEvents, if IsAttackedBySomeone() == 1 has one PassEvent which is InvokeEvent(113)
After that the state machine will jump to the target state of that transition
if HasTalkEnded() == 1 -> State 116
if IsAttackedBySomeone() == 1 -> State 37
TKGP - for his binary templates for this binary format
ESDLang - for the great documentation of this binary format