La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 28/12/2024 10:22:06


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Cassin
Papa-poule(t) & poissard intemporel
Inscrit le: 16 Sep 2002
Messages: 7471
Localisation: 6 bis rue de la Couveuse, Poulailler 39b
Répondre en citant
Posté le : 23/01/2003 18:31:54 Sujet du message : [BBMOD] Problème evec Excute Script...

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 Very Happy). 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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Serguai
Grand Chevalier
Inscrit le: 07 Déc 2002
Messages: 104
Répondre en citant
Posté le : 23/01/2003 19:26:35 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Numéro ICQ Ignorer l'utilisateur
 
Cassin
Papa-poule(t) & poissard intemporel
Inscrit le: 16 Sep 2002
Messages: 7471
Localisation: 6 bis rue de la Couveuse, Poulailler 39b
Répondre en citant
Posté le : 23/01/2003 21:18:59 Sujet du message :

Non, il n'y a qu'une seule porte ! Wink
(si je mettais "les" portes, c'est parce que c'est une porte double Very Happy)

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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Serguai
Grand Chevalier
Inscrit le: 07 Déc 2002
Messages: 104
Répondre en citant
Posté le : 23/01/2003 21:25:18 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Numéro ICQ Ignorer l'utilisateur
 
Cassin
Papa-poule(t) & poissard intemporel
Inscrit le: 16 Sep 2002
Messages: 7471
Localisation: 6 bis rue de la Couveuse, Poulailler 39b
Répondre en citant
Posté le : 24/01/2003 08:24:26 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur 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 53.507ms