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 23/11/2024 20:53:49
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 |
Yoyo Seigneur Messages: 223 |
Alors voila
j'aimerai que quand le joueur marche sur le déclencheur il crée 6 objets placable(qui ont comme ResRefBluprint: mure) sur 6 Waypoint différent(qui on comme tag(WP_mure1, WP_mure2 etc... jusqua WP_mure6) Et aussi des que le PJ remarche une nouvelle foi sur ce déclencheur alors il fait disparaitre les objets Mais comme je suis flemmare je me demande si on pouvait pas utiliser des boucles pour faire ca(surtout que je vais en faire bien plus que 6 plus tard ) J'ai essayé un peu : NWScript :
void main() { int i = 1; object oPC = GetEnteringObject(); string sMure = "mure"; location lWP_mure = GetLocation(GetWaypointByTag("WP_mure"+IntToString(i))); object oMure = GetObjectByTag("Mure"); if (GetIsPC(oPC))// verifie si c'est un joueur { if (GetLocalInt(OBJECT_SELF, "MURE")==0) { while (i<7)// tant que i est inferieur a 7 alors on cree les objets sur les diffrents waypoint (par exemple si i egale 4 alors on cree sur le waypoint WP_mure4) { CreateObject(OBJECT_TYPE_PLACEABLE, sMure, lWP_mure); i+1; if (i==6) SetLocalInt(OBJECT_SELF, "MURE", 1); //par exemple si i egale 2 alors ca cree l'objet au waypoint WP_mure2 } } else if (GetLocalInt(OBJECT_SELF, "MURE")==1)// ici c'est quand on remarche dessu une 2eme fois { while (i==6 || i>0)//Tan que i est compris entre 0 et 6(parce que ya 6 objets sur 6 waypoints) alors on detrui les objets { DestroyObject(oMure); i-1; SetLocalInt(OBJECT_SELF, "MURE", 0); } } } } Le script compile bien mais dans le jeu lorsque le joueur marche dessus ca rame et ya marqué "TOO MANY INSTRUCTION" Si quelqu'un pouvait m'aider ca serait sympa _________________ BOUH! (je vous ai fait peur ??) désolé Vive moi Pas vive Securom |
Revenir en haut | |
eldric Novice Messages: 17 |
Cette phrase : "TOO MANY INSTRUCTION", signifie qu'une de tes boucles et soit infinie soit quelle prend en charge trop de paramétre.
L'erreur provient surement du fait que tu n'enregistre pas tes opération sur ton compteur i. tu ne fait que l'opération. Le script corrigé donne ça : NWScript : void main() { int i = 1; object oPC = GetEnteringObject(); string sMure = "mure"; location lWP_mure = GetLocation(GetWaypointByTag("WP_mure"+IntToString(i))); object oMure = GetObjectByTag("Mure"); if (GetIsPC(oPC))// verifie si c'est un joueur { if (GetLocalInt(OBJECT_SELF, "MURE")==0) { while (i<7)// tant que i est inferieur a 7 alors on cree les objets sur les diffrents waypoint (par exemple si i egale 4 alors on cree sur le waypoint WP_mure4) { CreateObject(OBJECT_TYPE_PLACEABLE, sMure, lWP_mure); i++; if (i==6) SetLocalInt(OBJECT_SELF, "MURE", 1); //par exemple si i egale 2 alors ca cree l'objet au waypoint WP_mure2 } } else if (GetLocalInt(OBJECT_SELF, "MURE")==1)// ici c'est quand on remarche dessu une 2eme fois { while (i<7 && i>0)/*Egalement une erreur ici la condition sera toujours vrai, je modifie aussi Tan que i est compris entre 0 et 6(parce que ya 6 objets sur 6 waypoints) alors on detrui les objets */ { DestroyObject(oMure); i--; SetLocalInt(OBJECT_SELF, "MURE", 0); } } } } _________________ Mieux vos régner en maitre en Enfer plutôt que servir au Paradis !! |
Revenir en haut | |
Yoyo Seigneur Messages: 223 |
Alors 2 petites choses:
1 Le jeu ne bug plus (ya plus marqué "TOO MANY INSTRUCTIONS" ) 2 MAIS (eh oui ya toujours des mais (malheureusement )) quand je marche sur le déclencnheur ca crée l'objet qu'a un endroit (WP_mure1) alors que je veu que ca crée l'objet sur les 6 waypoint(WP_mure1, WP_mure2, WP_mure3, WP_mure4, WP_mure5,WP_mure6) Et aussi Quand je re-marche dessu ca recrée l'objet par dessus le 1er(pas l'effet voulue )alors que je veu que ca détruise les objets Donc c'est pas tout a fait au point _________________ BOUH! (je vous ai fait peur ??) désolé Vive moi Pas vive Securom |
Revenir en haut | |
eldric Novice Messages: 17 |
Je n'ai fait que corriger les erreurs du "TOO MANY INSTRUCTION" mais bon je modifie tout cela car ce script est totalement faux , voila une correction ça devrait marcher mieux :
NWScript : void main() { int i = 1; object oPC = GetEnteringObject(); string sMure = "mure"; location lWP_mure; object oMure = GetObjectByTag("Mure"); if (GetIsPC(oPC))// verifie si c'est un joueur { if (GetLocalObject(OBJECT_SELF, "MURE1")==OBJECT_INVALID) { while (i<7)// tant que i est inferieur a 7 alors on cree les objets sur les diffrents waypoint (par exemple si i egale 4 alors on cree sur le waypoint WP_mure4) { lWP_mure = GetLocation(GetWaypointByTag("WP_mure"+IntToString(i))); SetLocalObject(OBJECT_SELF,"MURE"+IntToString(i),CreateObject(OBJECT_TYPE_PLACEABLE, sMure, lWP_mure)); i++; } } else if (GetLocalObject(OBJECT_SELF, "MURE1")!=OBJECT_INVALID)// ici c'est quand on remarche dessu une 2eme fois { i=6; while (i<7 && i>0)/*Egalement une erreur ici la condition sera toujours vrai, je modifie aussi Tan que i est compris entre 0 et 6(parce que ya 6 objets sur 6 waypoints) alors on detrui les objets */ { if (GetLocalObject(OBJECT_SELF, "MURE"+IntToString(i))!=OBJECT_INVALID) { SetPlotFlag(GetLocalObject(OBJECT_SELF, "MURE"+IntToString(i)),FALSE); DestroyObject(GetLocalObject(OBJECT_SELF, "MURE"+IntToString(i))); DeleteLocalObject(OBJECT_SELF, "MURE"+IntToString(i)); } i--; } } } } _________________ Mieux vos régner en maitre en Enfer plutôt que servir au Paradis !! |
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