just some advise to script this....
make use of the Quest Log system to make you script this easier...
=========================
|8.- Quest Log commands.|
=========================
---------------------------------------
*setquest <ID>;
Place quest of <ID> in the users quest log, the state of which is "active".
---------------------------------------
*completequest <ID>;
Change the state for the given quest <ID> to "complete" and remove from the users quest log.
---------------------------------------
*erasequest <ID>;
Remove the quest of the given <ID> from the user's quest log.
---------------------------------------
*changequest <ID>,<ID2>;
Remove quest of the given <ID> from the user's quest log.
Add quest of the <ID2> to the the quest log, and the state is "active".
---------------------------------------
*checkquest(<ID>{,PLAYTIME|HUNTING})
If no additional argument supplied, return the state of the quest:
-1 = Quest not started (not in quest log)
0 = Quest has been given, but the state is "inactive"
1 = Quest has been given, and the state is "active"
2 = Quest completed
If parameter "PLAYTIME" is supplied:
-1 = Quest not started (not in quest log)
0 = the time limit has not yet been reached
1 = the time limit has not been reached but the quest is marked as complete
2 = the time limit has been reached
If parameter "HUNTING" is supplied:
-1 = Quest not started (not in quest log)
0 = you haven't killed all of the target monsters and the time limit has not been reached.
1 = you haven't killed all of the target monsters but the time limit has been reached.
2 = you've killed all of the target monsters
---------------------------------------
*showevent <state>, <colo;
Show a colored mark in the mini-map like "viewpoint" and an emotion on top of a NPC.
This is used to indicate that a NPC has a quest or an event to certain player/s.
state can be:
0 = disable ( Used to disable and remove the mark and the emotion from the NPC. )
1 = exclamation emotion ( Used to show an important quest event to certain player. )
2 = interrogation emotion ( Used to show an non-important quest event to certain player. )
Other value may cause client crashes.
color can be:
0 = yellow
1 = orange
2 = green
3 = blue
other values show a transparent mark in the mini-map.
----------------------------------------
erm....you can script it in this way..
For Example :
first npc..give the quest to Player..
setquest <ID>;
second npc...check at the 1st quest...
checkquest(<ID>{,PLAYTIME|HUNTING})
the quest state is listed at above...and must specify "HUNTING"
if player completed the quest...erase it / set it completed.
then assign the 2nd quest...
and this process keep the same going on 3rd , 4th, 5th NPC.