La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
FAQ
Rechercher
Liste des Membres
Groupes d'utilisateurs
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
La date/heure actuelle est 27/11/2024 18:44:08
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
Voir le sujet précédent ¤ Voir le sujet suivant | |
---|---|
Auteur | Message |
Audoucet Voyageur Messages: 3 |
bonjour. Alors voilà mon problème... je tente de créer un script qui donne un salaire dépendant du resref d'un objet, et de la date. Le voici.
NWScript :
#include "com_include" void main() { string sCampaign = GetName(GetModule()); int iActualMonth = GetCalendarMonth(); int nMonth = GetCampaignInt(sCampaign, "MONTH"); object oPc = GetPCSpeaker(); object oFeuille = GetItemPossessedBy(oPc, feuillesalaire); int nSalaire = RecupererElement(GetResRef (oFeuille),2); if (iActualMonth!=nMonth) { GiveGoldToCreature(object oPc, int nSalaire); } } La commande RecupererElement, vient du include, normalement le problème vient pas de là. Elle permet de récupérer une partie du ResRef, pour s'en servir. Mon script fonctionne pas au niveau de la commande pour donner de l'or : ERREUR : UNKNOWN STATE IN COMPILER. Alors j'ai essayé plusieurs versions, ça ne fonctionne pas, désespérément pas, j'ai toujours le même message d'erreur... je suppose que la solution est extrêmement simple, mais je suis pas très expérimenté, je fais surtout du bricolage. Dernière édition par Audoucet le 13/06/2007 18:03:10; édité 1 fois
|
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Bon je vois quelques trucs, mais on va poser les questions xD:
1) Je sais pas si tu as fait exprès, mais il faut jamais indiqué la fonction d'un "raccourci" : GiveGoldToCreature(object oPc, int nSalaire); Faut les enlever 2) Aussi, est ce que c'est normal qu'il y est pas de " " ici : GetItemPossessedBy(oPc, feuillesalaire); 3) RecupererElement, c'est bien un INT? (Donc, dans ton include il doit y avoir ça : 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. Voila j'pense que c'tout _________________ [http] |
Revenir en haut | |
Audoucet Voyageur Messages: 3 |
alors effectivement ce n'était pas un int, mais un string. Voici la version corrigée, avec un ajout pour convertir le string, en int... cela compile, maintenant reste à savoir si ça fonctionne
NWScript :
#include "com_include" void main() { string sCampaign = GetName(GetModule()); int iActualMonth = GetCalendarMonth(); int nMonth = GetCampaignInt(sCampaign, "MONTH"); object oPc = GetPCSpeaker(); object oFeuille = GetItemPossessedBy(oPc, "feuillesalaire"); int nSalaire = StringToInt(RecupererElement(GetTag (oFeuille),2)); if (iActualMonth!=nMonth) { GiveGoldToCreature(oPc, nSalaire); } } peut-être que quelqu'un voudra réutiliser ce script, donc je donne ce qui est utilisé dans l'include : NWScript :
string RecupererElement(string sChaine, int num) { int iMarker = -1; int iIndex = 0; string sLeft = ""; string sRight = ""; string sSeperator= "_"; string sString=sChaine; iMarker = FindSubString(sString, sSeperator); while (iMarker != -1) { sLeft = GetStringLeft(sString, iMarker); sString = GetStringRight(sString, GetStringLength(sString) - iMarker - 1); iIndex++; if (iIndex == num) { return sLeft; } iMarker = FindSubString(sString, sSeperator); } return sString; } Merci bien pour les corrections. |
Revenir en haut | |
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
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