La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 17/04/2025 03:27:44


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Djezebel
Héros
Inscrit le: 29 Sep 2005
Messages: 252
Répondre en citant
Posté le : 08/01/2006 20:15:53 Sujet du message : Question de leviers

Bonsoir,

J'aimerai faire un script avec deux leviers qui ouvrent, une fois qu'ils ont été activés tous les deux, une porte dans un temps limité.

C'est à dire que si on active un seul levier : la porte ne s'ouvre pas.
Si on active le second et que le temps du premier levier est écoulé : la porte ne s'ouvre pas...
Si les deux leviers sont activés "en même temps", ça ouvre la porte.

Est-ce possible ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 08/01/2006 20:25:33 Sujet du message :

Oui Razz
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Djezebel
Héros
Inscrit le: 29 Sep 2005
Messages: 252
Répondre en citant
Posté le : 09/01/2006 06:06:45 Sujet du message :

Bien, comme c'est possible, je suppose que c'est moi qui ait un problème alors !

Voici la scène :
- deux leviers
- une porte

Sur le "onUsed" du premier levier :

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.



Sur le OnUsed du second levier :

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.


Et sur le onOpen de la porte (qui est de base verrouillée)

NWScript :
void main()
{
int nP1 = GetLocalInt(OBJECT_SELF, "lev1");
int nP2 = GetLocalInt(OBJECT_SELF, "lev2");


if ((nP1 + nP2) == 2)
    {
    ActionUnlockObject(OBJECT_SELF);
    ActionOpenDoor(OBJECT_SELF);
    DelayCommand(10.0, ActionCloseDoor(OBJECT_SELF));
    DelayCommand(10.1, ActionLockObject(OBJECT_SELF));
    }
}
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.


Alors voilà... qu'est-ce qui cloche ?
Quand je tente d'ouvrir la porte, ça me marque toujours "verouillé"...
Des idées ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 09/01/2006 10:14:29 Sujet du message :

Il faut placer ton dernier script sur le OnFailToOpen de la porte, en faite comme elle est vérouillée quand tu vas essayer de l'ouvrir elle ne le fera pas, donc elle n'enclenchera pas l'event OnOpen mais OnFailToOpen.
Tu peux aussi effectuer les tests d'ouverture sur les leviers si tu préfère, comme ça quand les deux sont activés la porte s'ouvre toute seule.
_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
warpShadow
Légende vivante
Inscrit le: 01 Fév 2005
Messages: 363
Localisation: Perpignan
Répondre en citant
Posté le : 09/01/2006 12:37:17 Sujet du message :

par contre, j'ai peur que le ActionLockObject et le ActionUnlockObject ne fonctionnent pas comme tu le souhaite.

utilise plutôt ça :

NWScript :
void main()
{
  int nP1 = GetLocalInt(OBJECT_SELF, "lev1");
  int nP2 = GetLocalInt(OBJECT_SELF, "lev2");

if ((nP1 + nP2) == 2)
  {
    SetLocked(OBJECT_SELF, FALSE);
    ActionOpenDoor(OBJECT_SELF);
    // AssignCommand(oPorte, ActionUnlockObject(oPorte));
     

    DelayCommand(10.0, AssignCommand(OBJECT_SELF, ActionLockObject(oPorte)));
    DelayCommand(10.1, SetLocked(OBJECT_SELF, 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.


je pense que ça marchera mieux.

sinon, je ne vois pas quoi faire pour ton problème, je ne m'y connais pas assez en scripts.
_________________
Asphia
Module RP Médiéval Fantastique pour Neverwiner Nights
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Djezebel
Héros
Inscrit le: 29 Sep 2005
Messages: 252
Répondre en citant
Posté le : 09/01/2006 18:13:16 Sujet du message :

Ca marche impec sur le OnFailedToOpen !

Ca ne me réussit pas de faire les scripts à 5h du mat ^^
 
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 50.052ms