La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 22/09/2024 21:21:47


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
zakaael
Acolyte
Inscrit le: 09 Mar 2004
Messages: 27
Répondre en citant
Posté le : 13/04/2004 22:37:25 Sujet du message : fonctions pour les henchmen

bon ce coup la j'ai besoin de sauvegarder si le PC a des henchmen, paske je dois les lui enlever, mais lui remettre apres un passage.

donc voila ce que j'ai ecrit pour lui enlever et sauvergarder en meme temps :

NWScript :

int GetNumHenchmen(object oPC)
{
    if (!GetIsPC(oPC)) return -1;

    int nLoop;int nCount=0;
    for (nLoop=1; nLoop<=GetMaxHenchmen(); nLoop++)
    {
        if (GetIsObjectValid(GetHenchman(oPC, nLoop)))
        nCount++;
    }
    return nCount;
}

void SaveHenchmen(object oPC)
{
    if(GetIsPC(oPC))
    {
        object oHench;
        int nHench = GetNumHenchmen(oPC);
        int nLoop;
        for (nLoop=1; nLoop<=nHench; nLoop++)
        {
            oHench = GetHenchman(oPC,1);
            RemoveHenchman(oPC,oHench);
            SetLocalObject(GetModule(),"hench" + IntToString(nLoop),oHench);
        }
        SetLocalInt(GetModule(),"nbHench",nHench);
    }

}


void main()
{
  object oPC = GetFirstPC();
  SaveHenchmen(oPC);
}
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.


et ca c'est pour les remettre apres :

NWScript :

void main()
{
    object oPC = GetFirstPC();
    if(GetIsPC(oPC))
    {
        object oHench;
        int nHench = GetLocalInt(GetModule(),"nbHench");
        int nLoop;
        for (nLoop=1; nLoop<=nHench; ++nLoop)
        {
            oHench = GetLocalObject(GetModule(),"hench" + IntToString(nLoop));
            AddHenchman(oPC,oHench);
        }
    }
    SetLocalInt(GetModule(),"kekette_ckp1",0);
}
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.


bon ca marche, ca fait bien ce que je veux, excepté le fait que lorsque je les enleve, il ne sont plus en tant que henchmen, je les controle plus, mais il me suivent quand meme.
La je dois avouer que je comprend pas du tout...

si quelqu'un voit d'ou peut venir le pbm... Surprised
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
k0rvet
Ecuyer
Inscrit le: 24 Nov 2003
Messages: 67
Répondre en citant
Posté le : 14/04/2004 08:57:39 Sujet du message :

Bon.. réfléchissons... Embarassed
Bien qu'il ne soit plus le Henchman, il continue à te suivre. Cela vient peut etre du fait qu'il y a des actions qui lui ont été assignées auparavant, et plus précisément un ForceFollow ou FollowQuelquechose. Dans ce cas, j'essaierais de placer un AssignCommand(oHench, ClearAllActions()); en dernière ligne de ta boucle "for" dans ta fonction SaveHenchmen().
Enfin c'est juste une idée comme ca en passant. Very Happy
_________________
Moi j'dis ca, mais bon j'dis rien hein?
..:: Les Chroniques de la Terre du Milieu ::..
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
zakaael
Acolyte
Inscrit le: 09 Mar 2004
Messages: 27
Répondre en citant
Posté le : 14/04/2004 12:44:27 Sujet du message :

c'etait bien ca, je viens de tester et ca marche impeccable maintenant. Cool
merci k0rvet ^^
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 1 ¤


Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 35.723ms