After taking a quick glance, I have a few comments about the script:
$npc->quest::selfcast( 278 ) won't work. You need to decide if you will use the npc object or the quest interface.
If this npc is 999303, then just depop() will work rather than signaling itself.
Updating task activities does not use the [] brackets.
Each time you depop him and spawn him somewhere else, his script will start over again.
|