| Prendre plusieurs item et donner récompense | |
|
|
Auteur | Message |
---|
Gimli Oakenshield L'ignorant en Hardware
Nombre de messages : 783 Localisation : Près de mon ordi ! Date d'inscription : 15/12/2005
| Sujet: Prendre plusieurs item et donner récompense Jeu 22 Déc - 15:57 | |
| Voila, quand on a une quête où il faut rapporter plein d'item, ce script compte le nobre d'item, les détruit et donne la récompense en fonction ... - Code:
-
void main() { int iXp =** ;// remplacer par les xp que vous voulez donner par item int iPo =** ;// remplacer par les po que vous voulez donner par item
// Enlever les objets de l’inventaire du joueur object oItemToTake; oItemToTake = GetItemPossessedBy(GetPCSpeaker(), "***"); // Remplacer les *** par le tag de l'item a prendre int iNb = GetItemStackSize(oItemToTake); if(GetIsObjectValid(oItemToTake) != 0) { SetItemStackSize(oItemToTake,1); DestroyObject(oItemToTake); }
// Donner de l'or à la personne qui parle en fonction du nombre d'objets pris GiveGoldToCreature(GetPCSpeaker(), iPo*iNb);
// Donner des PX à la personne qui parle, idem GiveXPToCreature(GetPCSpeaker(), iXp*iNb);
} | |
|
| |
Ba'elzaden Maitre d'Aelor
Nombre de messages : 909 Date d'inscription : 15/12/2005
| Sujet: Re: Prendre plusieurs item et donner récompense Jeu 22 Déc - 19:11 | |
| J'ai modifié la valeur d'or et d'xp ainsi que le tag de l'objet. Tout est bon vu que je gagne bien ça d'or et ça d'xp et qu'il me prend l'objet mais il n'en prend qu'un à chaque fois. | |
|
| |
Gimli Oakenshield L'ignorant en Hardware
Nombre de messages : 783 Localisation : Près de mon ordi ! Date d'inscription : 15/12/2005
| Sujet: Re: Prendre plusieurs item et donner récompense Jeu 22 Déc - 20:09 | |
| Voila là si ça marche pas, je comprend pas ! - Code:
-
void main() { string sTag = "Minerai";// remplacer par le tag de l'objet int iPo = 25;//remplacer par le nombre de Po a donner par item int iXp = 10;//remplacer par le nombre d'XP a donner par item
object oPC = GetPCSpeaker(); object oNPC = OBJECT_SELF; object oMinerais = GetItemPossessedBy(oPC,sTag); int iNb = GetItemStackSize(oMinerais); SetLocalInt(oNPC,"cb",iNb);
SetItemStackSize(oMinerais,1); DestroyObject(oMinerais,0.1); while(GetIsObjectValid(oMinerais)) { DestroyObject(oMinerais,0.1); } GiveGoldToCreature(oPC,iNb*iPo); GiveXPToCreature(oPC, iNb*iXp);
} | |
|
| |
Ba'elzaden Maitre d'Aelor
Nombre de messages : 909 Date d'inscription : 15/12/2005
| Sujet: Re: Prendre plusieurs item et donner récompense Mer 4 Jan - 22:26 | |
| Ca bloque et après ça marque "Script recompensemin, OID: 80000098, Tag: MarchanddAelor, ERREUR: TOO MANY INSTRUCTIONS" et puis il enlève un minerai sans donner de récompense. | |
|
| |
Gimli Oakenshield L'ignorant en Hardware
Nombre de messages : 783 Localisation : Près de mon ordi ! Date d'inscription : 15/12/2005
| Sujet: Re: Prendre plusieurs item et donner récompense Jeu 5 Jan - 15:33 | |
| Je vois, c'est a cause de la boucle ... Essaie ça : - Code:
-
void main() { string sTag = "Minerai";// remplacer par le tag de l'objet int iPo = 25;//remplacer par le nombre de Po a donner par item int iXp = 10;//remplacer par le nombre d'XP a donner par item
object oPC = GetPCSpeaker(); object oNPC = OBJECT_SELF; object oMinerais = GetItemPossessedBy(oPC,sTag); int iNb = GetItemStackSize(oMinerais); SetLocalInt(oNPC,"cb",iNb);
SetItemStackSize(oMinerais,1); DestroyObject(oMinerais,0.1); GiveGoldToCreature(oPC,iNb*iPo); GiveXPToCreature(oPC, iNb*iXp);
} | |
|
| |
Ba'elzaden Maitre d'Aelor
Nombre de messages : 909 Date d'inscription : 15/12/2005
| Sujet: Re: Prendre plusieurs item et donner récompense Jeu 5 Jan - 21:39 | |
| Retour à la case départ: il prend les objets un par un. | |
|
| |
Gimli Oakenshield L'ignorant en Hardware
Nombre de messages : 783 Localisation : Près de mon ordi ! Date d'inscription : 15/12/2005
| Sujet: Re: Prendre plusieurs item et donner récompense Jeu 5 Jan - 22:04 | |
| Merde !!!! Bon, euh, je vais rééssayer ... | |
|
| |
Gimli Oakenshield L'ignorant en Hardware
Nombre de messages : 783 Localisation : Près de mon ordi ! Date d'inscription : 15/12/2005
| Sujet: Re: Prendre plusieurs item et donner récompense Ven 6 Jan - 19:18 | |
| Je crois avoir compris d'où vient le problème, essaie ça : - Code:
-
void main() { string sTag = "Minerai";// remplacer par le tag de l'objet int iPo = 25;//remplacer par le nombre de Po a donner par item int iXp = 10;//remplacer par le nombre d'XP a donner par item
object oPC = GetPCSpeaker(); object oNPC = OBJECT_SELF; object oMinerais = GetItemPossessedBy(oPC,sTag); int iNb = GetItemStackSize(oMinerais); SetLocalInt(oNPC,"cb",iNb);
while(GetIsObjectValid(oMinerais)) DestroyObject(oMinerais,0.1);
GiveGoldToCreature(oPC,iNb*iPo); GiveXPToCreature(oPC, iNb*iXp);
} | |
|
| |
Gimli Oakenshield L'ignorant en Hardware
Nombre de messages : 783 Localisation : Près de mon ordi ! Date d'inscription : 15/12/2005
| Sujet: Re: Prendre plusieurs item et donner récompense Mer 11 Jan - 0:30 | |
| Mais qu'est ce que je suis con !!!! J'avais oublié comment on faisait une boucle ! Voila voila et désolé pour les désagréments ... - Code:
-
void main() { string sTag = "Minerai";// remplacer par le tag de l'objet int iPo = 25;//remplacer par le nombre de Po a donner par item int iXp = 10;//remplacer par le nombre d'XP a donner par item
object oPC = GetPCSpeaker(); object oNPC = OBJECT_SELF; object oMinerais = GetItemPossessedBy(oPC,sTag); object oObject = GetFirstItemInInventory(oPC); int iNb = GetItemStackSize(oMinerais); SetLocalInt(oNPC,"cb",iNb);
while(GetTag(oObject)==sTag) { DestroyObject(oObject,0.1); oObject = GetNextItemInInventory(oPC); }
GiveGoldToCreature(oPC,iNb*iPo); GiveXPToCreature(oPC, iNb*iXp);
} | |
|
| |
Ba'elzaden Maitre d'Aelor
Nombre de messages : 909 Date d'inscription : 15/12/2005
| Sujet: Re: Prendre plusieurs item et donner récompense Lun 23 Jan - 20:53 | |
| On s'en approche: le script ne fait plus planter et prends plusieurs minerai cependant il ne donne que une seule fois la récompense (donc tu donne 20 pour prendre 1^^) | |
|
| |
Gimli Oakenshield L'ignorant en Hardware
Nombre de messages : 783 Localisation : Près de mon ordi ! Date d'inscription : 15/12/2005
| Sujet: Re: Prendre plusieurs item et donner récompense Lun 23 Jan - 22:48 | |
| PFFFF, bon voila une nouvelle version ... - Code:
-
void main() { string sTag = "Minerai";// remplacer par le tag de l'objet int iPo = 25;//remplacer par le nombre de Po a donner par item int iXp = 10;//remplacer par le nombre d'XP a donner par item
object oPC = GetPCSpeaker(); object oNPC = OBJECT_SELF; object oMinerais = GetItemPossessedBy(oPC,sTag); object oObject = GetFirstItemInInventory(oPC); int iNb = GetItemStackSize(oMinerais); SetLocalInt(oNPC,"cb",iNb); int iNB == GetLocalInt(oNPC,"cb");
while(GetTag(oObject)==sTag) { DestroyObject(oObject,0.1); oObject = GetNextItemInInventory(oPC); }
GiveGoldToCreature(oPC,iNB*iPo); GiveXPToCreature(oPC, iNB*iXp);
} | |
|
| |
Ba'elzaden Maitre d'Aelor
Nombre de messages : 909 Date d'inscription : 15/12/2005
| Sujet: Re: Prendre plusieurs item et donner récompense Mar 24 Jan - 20:59 | |
| - Code:
-
int iNB == GetLocalInt(oNPC,"cb"); - Code:
-
ERREUR : PARSING VARIABLE LIST | |
|
| |
Gimli Oakenshield L'ignorant en Hardware
Nombre de messages : 783 Localisation : Près de mon ordi ! Date d'inscription : 15/12/2005
| Sujet: Re: Prendre plusieurs item et donner récompense Mar 24 Jan - 22:21 | |
| Aha ... J'vais voir ça, tu m'intrigues là ... | |
|
| |
Gimli Oakenshield L'ignorant en Hardware
Nombre de messages : 783 Localisation : Près de mon ordi ! Date d'inscription : 15/12/2005
| Sujet: Re: Prendre plusieurs item et donner récompense Mer 25 Jan - 16:23 | |
| Quel con !!! J'ai mis == au lieu de = Voila désolé ^^ - Code:
-
void main() { string sTag = "Minerai";// remplacer par le tag de l'objet int iPo = 25;//remplacer par le nombre de Po a donner par item int iXp = 10;//remplacer par le nombre d'XP a donner par item
object oPC = GetPCSpeaker(); object oNPC = OBJECT_SELF; object oMinerais = GetItemPossessedBy(oPC,sTag); object oObject = GetFirstItemInInventory(oPC); int iNb = GetItemStackSize(oMinerais); SetLocalInt(oNPC,"cb",iNb); int iNB = GetLocalInt(oNPC,"cb");
while(GetTag(oObject)==sTag) { DestroyObject(oObject,0.1); oObject = GetNextItemInInventory(oPC); }
GiveGoldToCreature(oPC,iNB*iPo); GiveXPToCreature(oPC, iNB*iXp);
} | |
|
| |
Ba'elzaden Maitre d'Aelor
Nombre de messages : 909 Date d'inscription : 15/12/2005
| Sujet: Re: Prendre plusieurs item et donner récompense Mer 25 Jan - 21:26 | |
| Meme chose... il prend beaucoup mais donne la récompense que une fois. | |
|
| |
Gimli Oakenshield L'ignorant en Hardware
Nombre de messages : 783 Localisation : Près de mon ordi ! Date d'inscription : 15/12/2005
| Sujet: Re: Prendre plusieurs item et donner récompense Jeu 26 Jan - 19:39 | |
| Normal; c'est pas ItemStackSize qui marche ici ... | |
|
| |
Gimli Oakenshield L'ignorant en Hardware
Nombre de messages : 783 Localisation : Près de mon ordi ! Date d'inscription : 15/12/2005
| Sujet: Re: Prendre plusieurs item et donner récompense Jeu 26 Jan - 20:01 | |
| Bon, voila, je suis archi, archi désolé, mais j'le promet maintenant je teste mes scripts avant de les filer ... Celui_ci fonstionne a merveille maintenant. - Code:
-
void main() { string sTag = "Minerai";// remplacer par le tag de l'objet int iPo = 25;//remplacer par le nombre de Po a donner par item int iXp = 10;//remplacer par le nombre d'XP a donner par item
object oPC = GetPCSpeaker(); object oNPC = OBJECT_SELF; object oMinerais = GetItemPossessedBy(oPC,sTag); object oObject = GetFirstItemInInventory(oPC); int iNB = 0;
while(GetTag(oObject)==sTag) { DestroyObject(oObject,0.1); iNB ++; oObject = GetNextItemInInventory(oPC); }
GiveGoldToCreature(oPC,iNB*iPo); GiveXPToCreature(oPC, iNB*iXp);
} | |
|
| |
Ba'elzaden Maitre d'Aelor
Nombre de messages : 909 Date d'inscription : 15/12/2005
| Sujet: Re: Prendre plusieurs item et donner récompense Jeu 26 Jan - 22:17 | |
| Dis plutot que tu voulais flooder légalement^^
Script ok. | |
|
| |
Contenu sponsorisé
| Sujet: Re: Prendre plusieurs item et donner récompense | |
| |
|
| |
| Prendre plusieurs item et donner récompense | |
|