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







La date/heure actuelle est 02/05/2025 04:47:45
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 |
Saelis Grand Maître Chanteur du Conseil ![]() Messages: 7047 Localisation: Lille |
![]() Voila ce que je voudrais faire:
Une herse initialement ouverte pour accèder à une pièce. Dans cette pièce, le fait de toucher à l'objet touchepasàcamalheureux provoque la fermeture de la herse. Il faut activer un mécanisme pour réouvrir la herse. Les choses que je n'arrive pas à faire: - Une herse lockée en mode "ouvert". La situation actuelle est qu'on peut fermer la porte mais ensuite plus l'ouvrir. - Tout simplement forcer la fermeture de la porte à distance. J'ai essayé toutes sortes de scripts mais rien n'y fait ![]() - Idem pour la réouvrir. Le reste du code du mécanisme d'ouverture est OK mais la ligne d'ouverture de la porte ne fait rien ![]() Pour info, j'utilise une syntaxe du style: AssignCommand(oHerse, ActionOpenDoor(oHerse)); L'ouverture et la fermeture sont précédés de unlock et suivies de Lock avec les commandes suivantes: AssignCommand(oHerse, ActionUnlockObject(oHerse)); et AssignCommand(oHerse, ActionLockObject(oHerse)); Mais j'ai aussi essayé des DoDoorAction etc... bref, tout ce qui se rapportait à "Door" sans réussite ![]() _________________ Now that we've fattened the cow and set out to plow unknown enemies - "Wow!" Shouts the startled crowd "Oh no did you see what I did see?" - The ravaged cabbage drifts on dark red skies - And it looks so nice Vainqueur ![]() ![]() ![]() ![]() |
Revenir en haut | ![]() ![]() ![]() |
Saelis Grand Maître Chanteur du Conseil ![]() Messages: 7047 Localisation: Lille |
Autant pour moi, z'ai merdé
![]() Le pbm venait d'une faute de frappe dans l'écriture d'un tag... ![]() Quand on est sûr de son code, on détecte tout de suite ce genre de bourdes mais qd on tatonne... Arf, c'est comme ça qu'on apprend... Désolé pour le topic pour rien ![]() EDIT: Ah non, ma premiere question reste valable: comment empêcher la FERMETURE d'une porte? _________________ Now that we've fattened the cow and set out to plow unknown enemies - "Wow!" Shouts the startled crowd "Oh no did you see what I did see?" - The ravaged cabbage drifts on dark red skies - And it looks so nice Vainqueur ![]() ![]() ![]() ![]() |
Revenir en haut | ![]() ![]() ![]() |
Baldurien L'homme qui chutait sur le macadam ![]() Messages: 14070 Localisation: Quadran Alpha |
|
Revenir en haut | ![]() ![]() ![]() ![]() |
Cassin Papa-poule(t) & poissard intemporel ![]() Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
Tu veux dire empêcher au joueur de fermer la herse en cliquant dessus ? Je ne pense pas que ça soit possible ça...
Sinon, pour éviter les erreurs de tag, fait comme moi : le Bloc-note ouvert à côté et tu fais du copier-coller ![]() _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | ![]() ![]() ![]() ![]() |
Saelis Grand Maître Chanteur du Conseil ![]() Messages: 7047 Localisation: Lille |
Cassin a écrit : Tu veux dire empêcher au joueur de fermer la herse en cliquant dessus ? Je ne pense pas que ça soit possible ça...
Ah ok, je ferai autrement alors
(parce que si on ferme une porte ouverte et verrouillée, il nous laisse la fermer mais plus l'ouvrir. C'est un truc à rester bloqué du mauvais côté) _________________ Now that we've fattened the cow and set out to plow unknown enemies - "Wow!" Shouts the startled crowd "Oh no did you see what I did see?" - The ravaged cabbage drifts on dark red skies - And it looks so nice Vainqueur ![]() ![]() ![]() ![]() |
Revenir en haut | ![]() ![]() ![]() |
lendraste Grand Maître Chanteur du Conseil ![]() Messages: 1403 Localisation: Quelque part ailleurs |
Il me semble que j'ai déjà bloqué une porte en position ouverte. J'ai ça sur un module poussiéreux, je tâcherai de te le retrouver car j'ai un peu oublié.
_________________ Lendraste de Loreval Qui cherche la Vérité cherche celui qui la détient, car elle n'existe pas à l'état naturel. La cité des mensonges - 1 |
Revenir en haut | ![]() ![]() ![]() ![]() ![]() |
Saelis Grand Maître Chanteur du Conseil ![]() Messages: 7047 Localisation: Lille |
OK merci lendraste. Effectivement si tu as ça en réserve ça m'interesse
![]() _________________ Now that we've fattened the cow and set out to plow unknown enemies - "Wow!" Shouts the startled crowd "Oh no did you see what I did see?" - The ravaged cabbage drifts on dark red skies - And it looks so nice Vainqueur ![]() ![]() ![]() ![]() |
Revenir en haut | ![]() ![]() ![]() |
lendraste Grand Maître Chanteur du Conseil ![]() Messages: 1403 Localisation: Quelque part ailleurs |
Voici ce qu'il faut faire. Sur le OnClose de la porte tu utilises le script suivant :
Code : void main() { AssignCommand(OBJECT_SELF, ActionOpenDoor(OBJECT_SELF)); } De cette manière, c'est inconditionnel. La porte restera ouverte et aucune animation ne se jouera quelle que soit la manière dont la fermeture est déclenchée (y compris par script). Il faut donc mettre une condition pour pouvoir fermer la porte dans certaines circonstances, notamment par script. L'une des solutions pourrait être (toujours sur le OnClose) : Code : void main() { if (GetLocalInt(OBJECT_SELF, "CAN_CLOSE")) { SetLocalInt(OBJECT_SELF, "CAN_CLOSE", FALSE); } else { AssignCommand(OBJECT_SELF, ActionOpenDoor(OBJECT_SELF)); } } De cette façon, tout script qui fermera la porte doit initialiser CAN_CLOSE à TRUE, sans quoi rien ne se passe. Code : void main() { object oDoor=GetObjectByTag("MAHERSE"); //récupération d'une réfrence à la porte par son tag SetLocalInt(oDoor, "CAN_CLOSE", TRUE); AssignCommand(oDoor, ActionCloseDoor(oDoor)); } Le ActionCloseDoor déclenchera l'évènement de fermeture qui, cette fois, laissera la porte se fermer. _________________ Lendraste de Loreval Qui cherche la Vérité cherche celui qui la détient, car elle n'existe pas à l'état naturel. La cité des mensonges - 1 |
Revenir en haut | ![]() ![]() ![]() ![]() ![]() |
Saelis Grand Maître Chanteur du Conseil ![]() Messages: 7047 Localisation: Lille |
Génial, merci beaucoup! je teste ça tout de suite!
EDIT: Nickel ca marche. Et ça m'a permis de comprendre comment fonctionnent les SetLocalXXX et GetLocalXXX, ce qui me semble indispensable pour la suite ![]() _________________ Now that we've fattened the cow and set out to plow unknown enemies - "Wow!" Shouts the startled crowd "Oh no did you see what I did see?" - The ravaged cabbage drifts on dark red skies - And it looks so nice Vainqueur ![]() ![]() ![]() ![]() |
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