
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.







La date/heure actuelle est 17/04/2025 03:27:44
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 |
Djezebel Héros ![]() Messages: 252 |
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 | ![]() ![]() ![]() |
Sith Vicious Grand Sage du Conseil ![]() Messages: 693 |
Oui
![]() |
Revenir en haut | ![]() ![]() ![]() |
Djezebel Héros ![]() Messages: 252 |
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 :
void main() { object oDoor = GetObjectByTag("PorteC2"); AssignCommand(OBJECT_SELF, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); SetLocalInt(oDoor, "lev1", 1); DelayCommand(9.9, DeleteLocalInt(oDoor, "lev1")); DelayCommand(10.0, AssignCommand(OBJECT_SELF, PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE))); } Sur le OnUsed du second levier : NWScript :
void main() { object oDoor = GetObjectByTag("PorteC2"); AssignCommand(OBJECT_SELF, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); SetLocalInt(oDoor, "lev2", 1); DelayCommand(9.9, DeleteLocalInt(oDoor, "lev2")); DelayCommand(10.0, AssignCommand(OBJECT_SELF, PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE))); } 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)); } } 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 | ![]() ![]() ![]() |
Ivellios Légende vivante Messages: 447 Localisation: Poitiers |
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 | ![]() ![]() ![]() ![]() ![]() |
warpShadow Légende vivante ![]() Messages: 363 Localisation: Perpignan |
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)); } } 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 | ![]() ![]() ![]() ![]() |
Djezebel Héros ![]() Messages: 252 |
Ca marche impec sur le OnFailedToOpen !
Ca ne me réussit pas de faire les scripts à 5h du mat ^^ |
Revenir en haut | ![]() ![]() ![]() |


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