Originally Posted by tk102
Man I'm rusty the scripting mechanics. Have you tried putting the ActionResumeConversation in an obviously long DelayCommand call or calling a SendMessageToPC function to see whether your script is even firing?
Like tk said you'll need to either delay ActionResumeConversation or assign an ActionWait() action to the queue of OBJECT_SELF for it to make any difference in this script, since you are manipulating the action queue of different objects. The action queue of the conversation owner in your script just looks like (in scripting terms)...
...while the action queue of taris_guy
...and the action queue of taris_sol1
So, since you aren't placing the equip actions in the same action queue as the Pause/Resume actions the resume action will not wait until the Equip actions are complete before running. It will run directly after the Pause action, since there is nothing assigned to the action queue of the dialog owner in between.
Think of the Action Queue as a sequential list of things that an object should perform in the listed order, where the next item in the list is not started until the previous one has finished. Script functions that place an action in the action queue of an object usually have names starting with Action
. Each NPC and placeable in the game have their own action queue.
This differs from non-action scripting functions which are run immediately as the script executes, whereas Action
functions just tell the object "do this when you get around to it
" and then move on in the script. So if the object already has actions in their queue it may take a few seconds for an assigned action to be performed (unless you clear their action queue), whereas a script usually don't execute longer than a few milliseconds.