Delaying or Waiting Before Checking a Local Variable

Thanks verilazic for your response and suggestion. I may try the area heartbeat and see how that goes.

I think all you need to do is fix the quotes in the version you had.

Quick update; all solutions work and the script fires correctly. Just wanted to thank everyone
for their help. @verilazic, the script works great on area heartbeat as well. Thanks to you all again!

Newest update… Why when I own a henchman will this script not fire ?? It fires great for a PC-less hencher.
void Jump(object owaypoint)
{
ClearAllActions();
JumpToObject(owaypoint);
}

void StopCannons(object oPC, object owaypoint)
{
if(GetLocalInt(oPC, “stop_cannons”) == 0)
AssignCommand(oPC, Jump(owaypoint));
}

void main()
{

// Get the creature who triggered this event.

object oPC = GetEnteringObject();
object owaypoint = GetObjectByTag("NW_DEATH_TEMPLE");

// Only fire for (real) PCs.

 if(GetIsPC(oPC) && !GetIsDMPossessed(oPC)|| (GetMaster(GetObjectByTag("botu_tomi")) == GetEnteringObject()))
 {

    // Only fire once.

    if(!GetLocalInt(GetModule(), "DO_ONCE__" + GetTag(OBJECT_SELF)))
    {
        SetLocalInt(GetModule(), "DO_ONCE__" + GetTag(OBJECT_SELF), TRUE);

        // Set a local integer.

      SetLocalInt(oPC,"stop_cannons",0);

        // Have the PC perform a sequence of actions.

        DelayCommand(30.0, StopCannons(oPC, owaypoint));

    }


}

}
{
ClearAllActions();
JumpToObject(owaypoint);
}

void SaveKitty(object oPC, object owaypoint)
{
if(GetLocalInt(oPC, “save_kitty”) == 0)
AssignCommand(oPC, Jump(owaypoint));
}

I repeat you must put your [code][/code] before the first line of code for your code block to work properly. See this (from your code outside the code block you defined)

if(GetLocalInt(oPC, “stop_cannons”) == 0)

look at the double quotes. That will not compile. Inside the code block it would look like -

if(GetLocalInt(oPC, "stop_cannons") == 0)

which will compile.

TR