La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 22/09/2024 14:20:50


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
ptolemee
Ecuyer
Inscrit le: 28 Oct 2003
Messages: 42
Répondre en citant
Posté le : 31/10/2003 12:56:11 Sujet du message : ouvrir une porte verouillée

Voilà, je veux que suite à un discours un NPC accompagne un PJ et ouvre une porte verouillée...

Voilà mon script

Code :

void main()
{
object oPorte = GetObjectByTag("PorteThord");
object oClef = GetObjectByTag("ClefThord");

ActionMoveToObject(oPorte, FALSE, 1.0);
ActionOpenDoor (oPorte);
}



il fonctionne bien si la porte n'est pas verouillée mais plus si elle l'est. Pourtant je mets dans l'inventaire du NPC l'item clef que j'ai créé. Y-a-t-il test à faire sur le possesseur de la clef.

merci pour vos conseils .
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Alenn Tax
Seigneur
Inscrit le: 20 Sep 2003
Messages: 170
Localisation: J'étais loin, mais je suis revenu.
Répondre en citant
Posté le : 31/10/2003 13:12:59 Sujet du message :

Je peut me tromper, mais les PNJ n'ont pas besion de clef pour ouvrir les portes.
Remplace ton script par ça :

Code :
void main()
{
object oPorte = GetObjectByTag("PorteThord");

ActionMoveToObject(oPorte, FALSE, 1.0);
ActionUnlockObject(oPorte);
ActionOpenDoor (oPorte);
}


Les clef servent uniquement si un PJ doit ouvrir une porte verrouillée.
_________________
"La libertée d'expression n'a jamais existé en Russie. Alors, je ne vois pas comment elle pourrait étre bafouée."
- Vladimir Poutine
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Lavok
Légende vivante
Inscrit le: 22 Oct 2002
Messages: 434
Localisation: Sphère planaire
Répondre en citant
Posté le : 31/10/2003 13:13:36 Sujet du message :

Code :
 
void main()
{
object oPorte = GetObjectByTag("PorteThord");
object oClef = GetObjectByTag("ClefThord");

ActionMoveToObject(oPorte, FALSE, 1.0);
ActionUnlockObject(oPorte);
ActionOpenDoor (oPorte);
}


C'est pas la même chose qu'avec un pj.

EDIT : pris de cours Confused !
_________________
ToB : Une seule chose semble certaine : tant que le trône de sang de Bhaal restera vide, le chaos règnera.

Moi : Une seule chose semble certaine : tant que la tête de singe de Bush restera vide, le chaos règnera.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
ptolemee
Ecuyer
Inscrit le: 28 Oct 2003
Messages: 42
Répondre en citant
Posté le : 31/10/2003 14:49:44 Sujet du message :

Merci pour vos réponses mais cela ne marche pas....si la porte n'est pas verouillée il n'y a pas de problème mais là le NPC s'arrête devant la porte et puis c'est tout ??
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Lavok
Légende vivante
Inscrit le: 22 Oct 2002
Messages: 434
Localisation: Sphère planaire
Répondre en citant
Posté le : 31/10/2003 14:58:01 Sujet du message :

? Bizarre, ça Surprised. Quoique je me souviens avoir vu des drôles de choses avec des portes. Essaie ceci, normalement, ça ne peut pas rater :

A la fin de la conversation :
Code :

void main()
{
object oPorte = GetObjectByTag("PorteThord");
ActionMoveToObject(oPorte, FALSE, 1.0);
}
 


Dans le OnEnter d'un trigger placé juste devant la porte :
Code :

void main()
{
if(GetTag(GetEnteringObject())=="TagDeTonPnj")
{
object oPorte = GetNearestObjectByTag("PorteThord");
AssignCommand(oPorte, ActionUnlockObject(oPorte));
AssignCommand(oPorte, ActionOpenDoor(oPorte));
}
}


Comme ça, la porte se dévérouille et s'ouvre toute seule, même si on a l'impression que c'est le pnj qui le fait.


EDIT : j'avais (une fois de plus) écrit n'importe quoi ! Il n'y a pas de OnUsed (à ne pas confondre avec OnUserDefined) sur une porte. Maintenant, ça marche enfin (j'ai vérifié). j'ai honte d'avoir fait tellement de fautes de script aujourd'hui... Va falloir que je pense avant de poster !
_________________
ToB : Une seule chose semble certaine : tant que le trône de sang de Bhaal restera vide, le chaos règnera.

Moi : Une seule chose semble certaine : tant que la tête de singe de Bush restera vide, le chaos règnera.
Dernière édition par Lavok le 31/10/2003 15:25:26; édité 3 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
ptolemee
Ecuyer
Inscrit le: 28 Oct 2003
Messages: 42
Répondre en citant
Posté le : 31/10/2003 15:08:00 Sujet du message :

Désolé Lavok,

j'ai mis ton script dans le OnUserDefined de la porte avec le tag du NPC mais rien n'y fait. J'aimerais bien que ça marche...

Je pourrais filer la clef au PJ mais cela perdrait de son charme. Je vois pas où est le problème ?

merci
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
ptolemee
Ecuyer
Inscrit le: 28 Oct 2003
Messages: 42
Répondre en citant
Posté le : 31/10/2003 15:46:02 Sujet du message :

Merci pour tout cela fonctionne parfaitement. j'avais inversé un autre post Laughing

par contre pourquoi la premiere version ne marche pas ? j'ai trouve ça sur le lexicon "Used in the script of a creature (or assigned to a creature) it will move that creature to the door and use its Open Locks skill to attempt to unlock the door (or placeable)."

Est ce que cela a un rapport ?

merci

Very Happy
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Lavok
Légende vivante
Inscrit le: 22 Oct 2002
Messages: 434
Localisation: Sphère planaire
Répondre en citant
Posté le : 31/10/2003 16:35:19 Sujet du message :


ptolomee a écrit :
"Used in the script of a creature (or assigned to a creature) it will move that creature to the door and use its Open Locks skill to attempt to unlock the door (or placeable)."
Aaaaah, tout devient clair ! C'est même logique. Si celui qui veut déverouiller une porte est une créature, on teste sa compétence 'crochetage', si c'est la porte elle-même, pas de prob, elle s'ouvre automatiquement. Donc, tu peux reprendre ta première version en donnant à ton pnj 99 en crochetage. L'inconvénient, c'est qu'il est probable qu'il fasse aussi l'animation du crochetage, et il aura l'air d'un voleur.
_________________
ToB : Une seule chose semble certaine : tant que le trône de sang de Bhaal restera vide, le chaos règnera.

Moi : Une seule chose semble certaine : tant que la tête de singe de Bush restera vide, le chaos règnera.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
ptolemee
Ecuyer
Inscrit le: 28 Oct 2003
Messages: 42
Répondre en citant
Posté le : 31/10/2003 17:03:20 Sujet du message :

Merci lavok,

je vais tester ça et je vous tiens au courant Very Happy
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
BenGorre
Légende vivante
Inscrit le: 12 Fév 2004
Messages: 301
Répondre en citant
Posté le : 13/02/2004 19:13:41 Sujet du message :

J'ai creer un script ou un gardien("Thorval")va ouvrir une porte("Doormine2") vérouillée a la fin d'un dialogue. Ensuite il attend 10
secondes, ferme la porte et revient a son poste tiens tu peut l'utiliser.
Code :
 
//::///////////////////////////////////////////////
//:: FileName at_001
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: BenGorre
//:: Created On: 11/02/2004 15:42:59
//:://////////////////////////////////////////////
void main()
{
  object oDoor =  GetObjectByTag("Doormine2");
  object oNPC = GetObjectByTag("Thorval");
  AssignCommand(oNPC,ClearAllActions());
  AssignCommand(oNPC,ActionMoveToObject(oDoor, FALSE, 1.0));
  AssignCommand(oNPC,ActionUnlockObject(oDoor));
  AssignCommand(oNPC,ActionOpenDoor(oDoor));
  AssignCommand(oNPC,ActionWait(10.0));
  AssignCommand(oNPC,ActionCloseDoor(oDoor));
  AssignCommand(oNPC,ActionLockObject(oDoor));
  AssignCommand(oNPC,ActionMoveToObject(GetNearestObjectByTag("returnthorval")));
}


tu le met dans actions consequentes de la branche du dialogue où tu veut quil le fasse(action taken)
"return thorval" est en fait un declenchement generique que jai mis la ou le gardien est au départ.
_________________
La mort n'est rien seul le fait de mourir est terrible
Henry Fielding 1745

Le serveur Filandre a été stoppé pour le moment, je on travail à la conversion vers NWN2.
 
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 29.476ms