View Full Version : party flaged after kill
Slingshot
11-06-2008, 01:48 PM
I searched the forums and couldn't find an answer to this.
How would I flag a party after killing an NPC?
For instance I'm writing the pit fiend quest in tutorialb. I want it to flag the entire party for killing krenshin for when a party members hail guard maddoc.
I was going to use the quest::flagclient command but I wasn't sure if that affects all the clients in the group.
trevius
11-06-2008, 09:38 PM
You can use sub EVENT_KILLED_MERIT and then use quest globals to define the flags. Quest globals are much better IMO, as I think flags may have some issues.
You will need to make sure to enable the NPC for quest globals as well as any NPC who is supposed to see that flag. You do that by changing the qglobal field in the npc_types table from 0 to 1.
Then, you should be able to use something like this on your flagging NPC when it dies:
sub EVENT_KILLED_MERIT {
quest::setglobal("myflag",1,5,"F");
}
Then, to check for the flag, you would just use:
if($qglobals{myflag} == 1);
Slingshot
11-06-2008, 11:08 PM
Thanks, That looks like exactly what I need. Do I have to delete the global at some point or does it really matter?
I guess if I left it in I could use it to make the quest non repeatable. Which is something else I was trying to figure out how to do. Just change the value to 2 after the turn in then if the client hails the quest giver again I can have him check the value and if it's 2 I can have him say something like "great job on killing that thing for me, thanks again.".
Slingshot
11-07-2008, 11:34 AM
Hey! This actually worked:
sub EVENT_DEATH{
quest::emote("'s corpse stops moving");
quest::say("Cave Rats killed so far = $qglobals{caveratskilled}");
}
sub EVENT_KILLED_MERIT {
quest::setglobal("caveratskilled",($qglobals{caveratskilled}+1),5,"F");
}
Now I can do quests that involve killing multiple monsters, like 10 cave rats or something.
joligario
11-07-2008, 04:16 PM
Have you seen the task system yet?
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.