Just a minor note that might help a bit;
When exporting the client (or anything for that matter) to a timer, you always want to check for a NULL pointer before doing anything with it. Otherwise, if your client has died or left the zone, the zone will probably crash when you try to use the pointer later. Here is an example of what I mean from part of the script posted above:
Code:
if ($theclient && $theclienteid) {
$theclient->CastSpell(26,$theclienteid); }