The best way I have found to do this is using Signals. I know you could set timers with entity_id checks but i find them cumbersome.
An example of a signal system would be:
NPC 1:
If NPC Dies (for example)
Code:
sub EVENT_DEATH {
quest::signalwith(NPCIDTOSIGNAL,#of signal,Time(i leave this at zero 99% of the time);
}
then on NPC2:
Code:
sub EVENT_SIGNAL{
if ($signal == X) {
do whatever you want him to do here;
}
}
and so forth.
Alot of stuff can be done using this method and its what i prefer to use. often times i will set up invisble NPCs to track events and have mobs send signals back and forth b/w the tracker and the ones actively engaged.
I used signals extensively in my Temple of Veeshan Ring of Vulak Event which i think are somewhere on these forums ill dig up a link for ya so u can look @ the trackers and how its all working.
Edit: heres the thread,
http://www.eqemulator.org/forums/showthread.php?t=35922
I believe theres a zip at the end of it too for referencing.