La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 30/09/2024 03:30:17


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Saelis
Grand Maître Chanteur du Conseil
Inscrit le: 04 Oct 2002
Messages: 7047
Localisation: Lille
Répondre en citant
Posté le : 22/10/2003 17:12:20 Sujet du message : Divers problèmes avec l'ouverture et la fermeture des portes

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 Confused
- 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 Confused

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 Confused
_________________
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 BB1, BB3, BB5 et BB6
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Saelis
Grand Maître Chanteur du Conseil
Inscrit le: 04 Oct 2002
Messages: 7047
Localisation: Lille
Répondre en citant
Posté le : 22/10/2003 22:17:44 Sujet du message :

Autant pour moi, z'ai merdé Embarassed

Le pbm venait d'une faute de frappe dans l'écriture d'un tag... Very Happy

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 Embarassed

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 BB1, BB3, BB5 et BB6
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Baldurien
L'homme qui chutait sur le macadam
Inscrit le: 12 Sep 2002
Messages: 14065
Localisation: Quadran Alpha
Répondre en citant
Posté le : 23/10/2003 06:14:02 Sujet du message :

C'est à dire?
_________________
#nwnights-fr @ irc.darkmyst.org TitanQuest-FR
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur 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/10/2003 07:43:04 Sujet du message :

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 Very Happy
_________________
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
 
Saelis
Grand Maître Chanteur du Conseil
Inscrit le: 04 Oct 2002
Messages: 7047
Localisation: Lille
Répondre en citant
Posté le : 23/10/2003 09:32:07 Sujet du message :


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 BB1, BB3, BB5 et BB6
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
lendraste
Grand Maître Chanteur du Conseil
Inscrit le: 20 Fév 2003
Messages: 1403
Localisation: Quelque part ailleurs
Répondre en citant
Posté le : 23/10/2003 12:30:17 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Numéro ICQ Ignorer l'utilisateur
 
Saelis
Grand Maître Chanteur du Conseil
Inscrit le: 04 Oct 2002
Messages: 7047
Localisation: Lille
Répondre en citant
Posté le : 23/10/2003 16:51:46 Sujet du message :

OK merci lendraste. Effectivement si tu as ça en réserve ça m'interesse Very Happy
_________________
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 BB1, BB3, BB5 et BB6
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
lendraste
Grand Maître Chanteur du Conseil
Inscrit le: 20 Fév 2003
Messages: 1403
Localisation: Quelque part ailleurs
Répondre en citant
Posté le : 23/10/2003 17:41:58 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Numéro ICQ Ignorer l'utilisateur
 
Saelis
Grand Maître Chanteur du Conseil
Inscrit le: 04 Oct 2002
Messages: 7047
Localisation: Lille
Répondre en citant
Posté le : 23/10/2003 17:44:46 Sujet du message :

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 Wink
_________________
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 BB1, BB3, BB5 et BB6
 
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 34.552ms