Now as far as multiple head concerned...
This was quite issue at The Three Towns server, in past you get only one head for party (in loot), so if whole party want to fulfill the quest they must have wait in area for respawn of the boss - this was pardon me, but very stupid. Now they giving into loot multiple heads.
But giving head to each player might not be very logical and "rp". I can suggest you, not to require the head in your quest in order to finish it, but rather the quest variable - so if the quest variable will be 1000 (finish) or any other number you desire, allow PC to finish the quest, then if he got head, destroy it, if not, nevermind. If you would go this way, then it would look like this:
#include "pqj_inc"
//Put this script OnDeath
void main()
{
CreateItemOnObject("geo_cleagehead",OBJECT_SELF); // only one head will appear in loot remains
object oPC = GetLastKiller();
object oArea = GetArea(oPC);
object oPartyMember = GetFirstFactionMember(oPC,TRUE);
while(oPartyMember != OBJECT_INVALID)
{
if(GetArea(oPartyMember) == oArea && GetDistanceBetween(oPC,oPartyMember) < 35.0)
{
if(RetrieveQuestState("CLEAGE",oPartyMember) == 1) // quest started
{
AddPersistentJournalQuestEntry("CLEAGE",2, oPartyMember,FALSE);
}
else
{
// player has not started the quest yet, return item to chest
// CreateItemOnObject(GetResRef(oItem));
// DestroyObject(oItem);
SendMessageToPC(oPartyMember,"You haven't started this quest yet...");
}
}
oPartyMember = GetNextFactionMember(oPC,TRUE);
}
}
EDIT: also, just giving the quest variable does not tell the player whats going on. You need to add journal update, and best some message to!
Modifié par ShaDoOoW, 06 septembre 2010 - 03:35 .