NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
/*By Kiky le magnifique*/
//OnPlayerDeath du module
void main()
{
int iKillTroph = 20;
string sResTroph = "";
object oMort = GetLastPlayerDied();
// celui qu'est mort
object oPC = GetLastAttacker(oMort);
// son meurtrier
int iFacm = GetAlignmentGoodEvil(oMort);
// l'alignement du mort
int iFacp = GetAlignmentGoodEvil(oPC);
// l'alignement du meurtrier
object oSceptreB = GetItemPossessedBy(oPC, "Tag du sceptre du bien");
//le sceptre du bien
int iKillB = GetLocalInt(oSceptreB, "kill");
string sMesB = "Votre score est de " + IntToString(iKillB) + " purifications!";
// message indiquant le nombre de kill
object oSceptreM = GetItemPossessedBy(oPC, "Tag du sceptre du mal");
int iKillM = GetLocalInt(oSceptreM, "kill");
string sMesM = "Votre score est de " + IntToString(iKillM) + " destructions d'ame!";
// idem mais pour le mal
if (iFacp!=iFacm)
// si le mort et son meurtrier sont d'alignement different
{
GiveXPToCreature(oPC, 1000);
GiveGoldToCreature(oPC, 1000);
//donne 1000 XP et 1000 PO
if (GetIsObjectValid(oSceptreB)==TRUE)
// si il a le sceptre du bien
{SetLocalInt(oSceptreB, "kill", iKillB+1);
//rajoute 1 au compteur de kill sur le sceptre du bien
SendMessageToPC(oPC, sMesB);
// envoie message
if (iKillB == iKillTroph) CreateItemOnObject(sResTroph, oPC);}
else if (GetIsObjectValid(oSceptreM)==TRUE)
{SetLocalInt(oSceptreM, "kill", iKillM+1);
SendMessageToPC(oPC, sMesM);
if (iKillM == iKillTroph) CreateItemOnObject(sResTroph, oPC);}
// idem pour le mal
}
if (iFacp==iFacm)
{AssignCommand(oPC, SpeakString("On attaque pas les amis!"));
SetXP(oPC, (GetXP(oPC)-1000));}
// on lui prend 1000XP! Niarf!
DelayCommand(3.5, PopUpGUIPanel(oMort,GUI_PANEL_PLAYER_DEATH));
}
//OnPlayerDeath du module
void main()
{
int iKillTroph = 20;
string sResTroph = "";
object oMort = GetLastPlayerDied();
// celui qu'est mort
object oPC = GetLastAttacker(oMort);
// son meurtrier
int iFacm = GetAlignmentGoodEvil(oMort);
// l'alignement du mort
int iFacp = GetAlignmentGoodEvil(oPC);
// l'alignement du meurtrier
object oSceptreB = GetItemPossessedBy(oPC, "Tag du sceptre du bien");
//le sceptre du bien
int iKillB = GetLocalInt(oSceptreB, "kill");
string sMesB = "Votre score est de " + IntToString(iKillB) + " purifications!";
// message indiquant le nombre de kill
object oSceptreM = GetItemPossessedBy(oPC, "Tag du sceptre du mal");
int iKillM = GetLocalInt(oSceptreM, "kill");
string sMesM = "Votre score est de " + IntToString(iKillM) + " destructions d'ame!";
// idem mais pour le mal
if (iFacp!=iFacm)
// si le mort et son meurtrier sont d'alignement different
{
GiveXPToCreature(oPC, 1000);
GiveGoldToCreature(oPC, 1000);
//donne 1000 XP et 1000 PO
if (GetIsObjectValid(oSceptreB)==TRUE)
// si il a le sceptre du bien
{SetLocalInt(oSceptreB, "kill", iKillB+1);
//rajoute 1 au compteur de kill sur le sceptre du bien
SendMessageToPC(oPC, sMesB);
// envoie message
if (iKillB == iKillTroph) CreateItemOnObject(sResTroph, oPC);}
else if (GetIsObjectValid(oSceptreM)==TRUE)
{SetLocalInt(oSceptreM, "kill", iKillM+1);
SendMessageToPC(oPC, sMesM);
if (iKillM == iKillTroph) CreateItemOnObject(sResTroph, oPC);}
// idem pour le mal
}
if (iFacp==iFacm)
{AssignCommand(oPC, SpeakString("On attaque pas les amis!"));
SetXP(oPC, (GetXP(oPC)-1000));}
// on lui prend 1000XP! Niarf!
DelayCommand(3.5, PopUpGUIPanel(oMort,GUI_PANEL_PLAYER_DEATH));
}