Okay, I've narrowed down the problem to the watcher script. I sandwiched the "setglobal" in the slayer script between two shouts, like this:
Code:
quest::delglobal("king");
quest::shout("global deleted, resetting global");
quest::setglobal("king", 4, 7, "F");
quest::spawn2(999247,0,0,$x+5,$y+5,$z,$h);
quest::shout("king spawned, handing off to watcher");
I can see both shouts in the chat box as I zone due to death, so that tells me the global is setting. Plus, the fact that the king actually npc spawns in the spawn2 function tells me it's making it through.
I also added some shouts to the watcher script, like this:
Code:
sub EVENT_WAYPOINT
{
quest::shout("start WAY POINT");
if (defined($qglobals{king}))
{
if ($qglobals{king} == 4)
{
quest::shout("start signal");
quest::signal(999247);
quest::shout("signal completed");
}
}
}
The first watcher shout ("start WAY POINT") repeats every five seconds, but never proceeds to the second or third shouts. That tells me something is amiss in one of the two $qglobals lines. Any thoughts?