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 28/12/2024 10:26:35
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 |
Cassin Papa-poule(t) & poissard intemporel Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
Bon, j'avais déjà posé cette question dans un autre topic mais elle est semble-t-il passée inaperçue...
Je rappelle d'abord le principe du BBMOD pour ceux qui ne seraient pas au courant de l'affaire : le but est de trouver au travers de 6 modules les 6 Clefs de la Porte de la Bibliothèque de Neverwinter Nights (les Clefs d'ici quoi ). Ces clefs se mettent chacune dans un réceptacle, qui, une fois la clef à la bonne place, iniatialise une variable à 1. Sur le OnHeartBeat des Portes de la Bibliothèques, je vérifie si les 6 variables sont à 1, et si oui, elles s'ouvrent. Le problème c'est que ça doit enchaîner sur une petite animation, que j'ai scripté dans un autre script. L'animation en question fonctionne lorsqu'on la lance par le OnUsed d'un Placeable, mais si je lance le script par la commande ExcuteScript dans le OHB de la porte, le jeu plante, je suis renvoyé sur le Bureau sans autres formalités... Voilà le script sur les portes Code : void main()
{ // On vérifie que les variables sont toutes à 1 if (GetLocalInt(OBJECT_SELF, "key_ak") == 1 && GetLocalInt(OBJECT_SELF, "key_cassin") == 1 && GetLocalInt(OBJECT_SELF, "key_kag") == 1 && GetLocalInt(OBJECT_SELF, "key_konrad") == 1 && GetLocalInt(OBJECT_SELF, "key_pp") == 1 && GetLocalInt (OBJECT_SELF, "key_thorgal") == 1) { // Ce if sert à n'exécuter l'action qu'une seule fois if (GetLocalInt(OBJECT_SELF, "effect") != 1) { // Ouverture des Portes DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectVisualEffect(VFX_IMP_DEATH), GetObjectByTag("RecepAk"))); DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectVisualEffect(VFX_IMP_DEATH), GetObjectByTag("RecepKonrad"))); DelayCommand(2.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectVisualEffect(VFX_IMP_DEATH), GetObjectByTag("RecepPP"))); DelayCommand(2.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectVisualEffect(VFX_IMP_DEATH), GetObjectByTag("RecepKaG"))); DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectVisualEffect(VFX_IMP_DEATH), GetObjectByTag("RecepThorgal"))); DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectVisualEffect(VFX_IMP_DEATH), GetObjectByTag("RecepCassin"))); DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectVisualEffect(VFX_FNF_SUNBEAM), OBJECT_SELF)); DelayCommand(5.0, ActionOpenDoor(OBJECT_SELF)); SetLocalInt(GetObjectByTag("Ashareth"), "porte_ouverte", 1); SetLocalInt(OBJECT_SELF, "effect", 1); // Là on initialise la variable qui fera que le if n'exécutera ce script qu'une seule fois ExecuteScript("anim_portes", GetFirstPC()); // Là je veux lancer l'autre script, mais ça plante... } } } Quelqu'un peu me dire pourquoi ? Ca fait 2 semaines que je cherche, mais je commence à être à court d'idées là... _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | |
Serguai Grand Chevalier Messages: 104 |
Tes 6 portes lancent le même script, et donc elles le lancent toute au même moment dès que toutes tes variables sont a un. Même si elle ne le font qu'une fois chacune, ca suffit peut être a faire planter le jeu... Je te recommande de mettre ce script dans le onclose des réceptacles. Ca marchera peut être, et même si ca ne marche pas ca te libérer des ressources.
Sinon c'est quoi ce script anim_porte? Peut être que le problème vient de là? |
Revenir en haut | |
Cassin Papa-poule(t) & poissard intemporel Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
Non, il n'y a qu'une seule porte !
(si je mettais "les" portes, c'est parce que c'est une porte double ) En fait elle ne s'ouvre que lorsque toutes les variables sont à 1. J'avais déjà pensé que le script se répétait plusieurs fois donc que ça faisait planter le jeu, mais en faisant plusieurs essais, je me suis rendu compte que ça plantait de la même façon lorsque sur le OnUsed d'un Placeable je mettais une simple ligne "Execute Script", donc ça ne vient pas du OnHeartBeat... Idem, le script qui est lancé marche d'un bout à l'autre, je le teste à partir d'un Placeable... _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | |
Serguai Grand Chevalier Messages: 104 |
Oki et juste un truc comme ca, pquoi tu met GetFirstPC comme argument dans ton execute script. Y'a aucune raison que ca fasse bugger le script mais c pour savoir ...
|
Revenir en haut | |
Cassin Papa-poule(t) & poissard intemporel Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
Oui c'est vrai...
Moi aussi je vois pas pourquoi ça ferait planter le jeu, mais j'essaierais en mettant autre chose... _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
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