Aelor
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Aelor

Forum officiel du module NeverWinter Nights et role play Aelor.
 
AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
-40%
Le deal à ne pas rater :
-40% sur le Pack Gaming Mario PDP Manette filaire + Casque filaire ...
29.99 € 49.99 €
Voir le deal

 

 Prendre plusieurs item et donner récompense

Aller en bas 
2 participants
AuteurMessage
Gimli Oakenshield
L'ignorant en Hardware
Gimli Oakenshield


Nombre de messages : 783
Localisation : Près de mon ordi !
Date d'inscription : 15/12/2005

Prendre plusieurs item et donner récompense Empty
MessageSujet: Prendre plusieurs item et donner récompense   Prendre plusieurs item et donner récompense EmptyJeu 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);



}
Revenir en haut Aller en bas
Ba'elzaden
Maitre d'Aelor
Ba'elzaden


Nombre de messages : 909
Date d'inscription : 15/12/2005

Prendre plusieurs item et donner récompense Empty
MessageSujet: Re: Prendre plusieurs item et donner récompense   Prendre plusieurs item et donner récompense EmptyJeu 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.
Revenir en haut Aller en bas
Gimli Oakenshield
L'ignorant en Hardware
Gimli Oakenshield


Nombre de messages : 783
Localisation : Près de mon ordi !
Date d'inscription : 15/12/2005

Prendre plusieurs item et donner récompense Empty
MessageSujet: Re: Prendre plusieurs item et donner récompense   Prendre plusieurs item et donner récompense EmptyJeu 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);

}
Revenir en haut Aller en bas
Ba'elzaden
Maitre d'Aelor
Ba'elzaden


Nombre de messages : 909
Date d'inscription : 15/12/2005

Prendre plusieurs item et donner récompense Empty
MessageSujet: Re: Prendre plusieurs item et donner récompense   Prendre plusieurs item et donner récompense EmptyMer 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.
Revenir en haut Aller en bas
Gimli Oakenshield
L'ignorant en Hardware
Gimli Oakenshield


Nombre de messages : 783
Localisation : Près de mon ordi !
Date d'inscription : 15/12/2005

Prendre plusieurs item et donner récompense Empty
MessageSujet: Re: Prendre plusieurs item et donner récompense   Prendre plusieurs item et donner récompense EmptyJeu 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);

}
 
Revenir en haut Aller en bas
Ba'elzaden
Maitre d'Aelor
Ba'elzaden


Nombre de messages : 909
Date d'inscription : 15/12/2005

Prendre plusieurs item et donner récompense Empty
MessageSujet: Re: Prendre plusieurs item et donner récompense   Prendre plusieurs item et donner récompense EmptyJeu 5 Jan - 21:39

Retour à la case départ: il prend les objets un par un.
Revenir en haut Aller en bas
Gimli Oakenshield
L'ignorant en Hardware
Gimli Oakenshield


Nombre de messages : 783
Localisation : Près de mon ordi !
Date d'inscription : 15/12/2005

Prendre plusieurs item et donner récompense Empty
MessageSujet: Re: Prendre plusieurs item et donner récompense   Prendre plusieurs item et donner récompense EmptyJeu 5 Jan - 22:04

Merde !!!!
Bon, euh, je vais rééssayer ...
Revenir en haut Aller en bas
Gimli Oakenshield
L'ignorant en Hardware
Gimli Oakenshield


Nombre de messages : 783
Localisation : Près de mon ordi !
Date d'inscription : 15/12/2005

Prendre plusieurs item et donner récompense Empty
MessageSujet: Re: Prendre plusieurs item et donner récompense   Prendre plusieurs item et donner récompense EmptyVen 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);

}
Revenir en haut Aller en bas
Gimli Oakenshield
L'ignorant en Hardware
Gimli Oakenshield


Nombre de messages : 783
Localisation : Près de mon ordi !
Date d'inscription : 15/12/2005

Prendre plusieurs item et donner récompense Empty
MessageSujet: Re: Prendre plusieurs item et donner récompense   Prendre plusieurs item et donner récompense EmptyMer 11 Jan - 0:30

Mais qu'est ce que je suis con !!!!
J'avais oublié comment on faisait une boucle ! Embarassed
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);

}
Revenir en haut Aller en bas
Ba'elzaden
Maitre d'Aelor
Ba'elzaden


Nombre de messages : 909
Date d'inscription : 15/12/2005

Prendre plusieurs item et donner récompense Empty
MessageSujet: Re: Prendre plusieurs item et donner récompense   Prendre plusieurs item et donner récompense EmptyLun 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^^)
Revenir en haut Aller en bas
Gimli Oakenshield
L'ignorant en Hardware
Gimli Oakenshield


Nombre de messages : 783
Localisation : Près de mon ordi !
Date d'inscription : 15/12/2005

Prendre plusieurs item et donner récompense Empty
MessageSujet: Re: Prendre plusieurs item et donner récompense   Prendre plusieurs item et donner récompense EmptyLun 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);

}
Revenir en haut Aller en bas
Ba'elzaden
Maitre d'Aelor
Ba'elzaden


Nombre de messages : 909
Date d'inscription : 15/12/2005

Prendre plusieurs item et donner récompense Empty
MessageSujet: Re: Prendre plusieurs item et donner récompense   Prendre plusieurs item et donner récompense EmptyMar 24 Jan - 20:59

Code:
int iNB == GetLocalInt(oNPC,"cb");

Code:
ERREUR : PARSING VARIABLE LIST
Revenir en haut Aller en bas
Gimli Oakenshield
L'ignorant en Hardware
Gimli Oakenshield


Nombre de messages : 783
Localisation : Près de mon ordi !
Date d'inscription : 15/12/2005

Prendre plusieurs item et donner récompense Empty
MessageSujet: Re: Prendre plusieurs item et donner récompense   Prendre plusieurs item et donner récompense EmptyMar 24 Jan - 22:21

Aha ...
J'vais voir ça, tu m'intrigues là ...
Revenir en haut Aller en bas
Gimli Oakenshield
L'ignorant en Hardware
Gimli Oakenshield


Nombre de messages : 783
Localisation : Près de mon ordi !
Date d'inscription : 15/12/2005

Prendre plusieurs item et donner récompense Empty
MessageSujet: Re: Prendre plusieurs item et donner récompense   Prendre plusieurs item et donner récompense EmptyMer 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);

}
Revenir en haut Aller en bas
Ba'elzaden
Maitre d'Aelor
Ba'elzaden


Nombre de messages : 909
Date d'inscription : 15/12/2005

Prendre plusieurs item et donner récompense Empty
MessageSujet: Re: Prendre plusieurs item et donner récompense   Prendre plusieurs item et donner récompense EmptyMer 25 Jan - 21:26

Meme chose... il prend beaucoup mais donne la récompense que une fois.
Revenir en haut Aller en bas
Gimli Oakenshield
L'ignorant en Hardware
Gimli Oakenshield


Nombre de messages : 783
Localisation : Près de mon ordi !
Date d'inscription : 15/12/2005

Prendre plusieurs item et donner récompense Empty
MessageSujet: Re: Prendre plusieurs item et donner récompense   Prendre plusieurs item et donner récompense EmptyJeu 26 Jan - 19:39

Normal; c'est pas ItemStackSize qui marche ici ... Evil or Very Mad
Revenir en haut Aller en bas
Gimli Oakenshield
L'ignorant en Hardware
Gimli Oakenshield


Nombre de messages : 783
Localisation : Près de mon ordi !
Date d'inscription : 15/12/2005

Prendre plusieurs item et donner récompense Empty
MessageSujet: Re: Prendre plusieurs item et donner récompense   Prendre plusieurs item et donner récompense EmptyJeu 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);

}
Revenir en haut Aller en bas
Ba'elzaden
Maitre d'Aelor
Ba'elzaden


Nombre de messages : 909
Date d'inscription : 15/12/2005

Prendre plusieurs item et donner récompense Empty
MessageSujet: Re: Prendre plusieurs item et donner récompense   Prendre plusieurs item et donner récompense EmptyJeu 26 Jan - 22:17

Dis plutot que tu voulais flooder légalement^^

Script ok.
Revenir en haut Aller en bas
Contenu sponsorisé





Prendre plusieurs item et donner récompense Empty
MessageSujet: Re: Prendre plusieurs item et donner récompense   Prendre plusieurs item et donner récompense Empty

Revenir en haut Aller en bas
 
Prendre plusieurs item et donner récompense
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Idées pour améliorer le module
» Récompense du RP.
» Système de récompense.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Aelor :: Archives :: Editeur :: Script-
Sauter vers: