La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 04/05/2024 08:04:35


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Elendil41
Novice
Inscrit le: 08 Oct 2004
Messages: 19
Répondre en citant
Posté le : 28/08/2006 13:22:01 Sujet du message : Journal actualisé si le PJ porte des objets

Voila, j'ai encore un problème avec le journal...J'ai crée une quête ou le PJ doit récupérer certains objets, et ce que je oudrais faire, c'est que lorsque le PJ a enfin tous les objets (3) dans son inventaire, le journal s'actualise. J'ai tenté d'utiliser le OnAcquireItem, avec un truc du style:

NWScript :
if(GetLocalInt(oPC,"queterogenlancee")==100)
{
  if(sItemTag=="BaiesdesMaraisSpciales")
  if(HasItem(GetPCSpeaker(), " Goussesdalspciales ")
  if(HasItem(GetPCSpeaker(), "BelladonneSpciale"))

{
  if(sItemTag=="Goussesdalspciales")
  if(HasItem(GetPCSpeaker(), " BelladonneSpciale ")
  if(HasItem(GetPCSpeaker(), " BaiesdesMaraisSpciales ")

{
  if(sItemTag=="BelladonneSpciale")
  if(HasItem(GetPCSpeaker(), " Goussesdalspciales ")
  if(HasItem(GetPCSpeaker(), " BaiesdesMaraisSpciales ")

    {
    AddJournalQuestEntry("desingredientsintrouvables",2,oPC,TRUE,TRUE);
    }
}
}
}

/* warning: 5 unclosed parenthesis () */
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.


Le script compile mais il n'est de toute façon pas entièrement juste (je pense qu'il ne faut pas utiliser GetPCSpeaker) ni complet, il faudrait prendre en compte tous les cas de figure, ce qui au final est trés lourd. Je requère donc votre aide...Je suis conscient que ca doit être assez simple, mais franchement...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
-MeteZ-
Seigneur
Inscrit le: 19 Mar 2006
Messages: 205
Localisation: Région Parisienne (95)
Répondre en citant
Posté le : 28/08/2006 15:16:39 Sujet du message :

J'ai survolé ton script et j'ai trouvé que les if sont pas clairs donc j'ai pas plus regardé que ca Very Happy .
Sinon, tu as raison, GetPCSpeaker() n'a rien a faire la.

Voilà j'ai pas testé mais ca devrait marcher :
NWScript :
int HasItem(object oCreature, string s)
{
    return GetIsObjectValid(GetItemPossessedBy(oCreature, s));
}

void main()
{
object oPC = GetModuleItemAcquiredBy();
string sItemTag = GetTag(GetModuleItemAcquired());

    // Si la quete de rogen est lancee
    if(GetLocalInt(oPC,"queterogenlancee")==100)
    {

    // On definie les tags sous des string pour aller plus vite et eviter les erreurs
    string sBaie = "BaiesdesMaraisSpciales";
    string sGousse = "Goussesdalspciales";
    string sBelladonne = "BelladonneSpciale";

        // Si l'objet obtenu est l'un des trois ingredients
        if(sItemTag == sBaie ||
          sItemTag == sGousse ||
          sItemTag == sBelladonne)
        {
            // Si le joueur a les 3 objets
            if(HasItem(oPC, sBaie) == TRUE &&
              HasItem(oPC, sGousse) == TRUE &&
              HasItem(oPC, sBelladonne) == TRUE)
            {
            // On ajoute le journal
            AddJournalQuestEntry("desingredientsintrouvables",2,oPC,TRUE,TRUE);
            }
        }
    }
}
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.


Attention : Il y a une condition si le joueur à bien lancé la quête. Cette condition s'arrêtera en même temps que le serveur donc si un joueur a lancé la quête, le serveur plante, si revient et il a les trois ingrédients, le journal ne s'ajoutera pas. Je te conseille d'enlever cette condition mais c'est ton choix.
p.s : si le module est en solo, alors j'ai rien dit, c'est même mieux Wink
 
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 27.052ms