La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/09/2024 16:31:47


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Eldorane
Héros
Inscrit le: 18 Oct 2003
Messages: 298
Localisation: Moselle
Répondre en citant
Posté le : 04/11/2003 02:25:44 Sujet du message : Faire quitter la carte à un PNJ après un dialogue [reglé]

Après maintes recherches sur le forum, j'ai trouvé ceci :


NWScript :

void()
{
  object oNPC=GetObjectByTag("Tag du NPC ");
  Assigncommand(oNPC,jumpToLocation(GetLocation(GetObjectByTag("Tag d'un endroit sur ou personne ne trouvera le NPC ")));
}

/* warning: 1 unclosed parenthesis () */
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.



le "Tag d'un endroit sur ou personne ne trouvera le NPC" correspond à quoi ? Shocked
Un objet ? Confused
N'y a t'il pas plus simple ?
Je voudrais que le PNJ quitte la carte où il se trouve et diparaisse (ça existe, on le voit dans certains modules, même dans la campagne solo)

[edit de Lendraste : merci d'utiliser les balises pour présenter du code, en respectant les règles idoines il va de soi]
Dernière édition par Eldorane le 16/04/2005 02:19:08; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Don Vincenzo
Asocial @nwnights-fr
Inscrit le: 25 Sep 2002
Messages: 591
Localisation: Le Havre
Répondre en citant
Posté le : 04/11/2003 03:31:12 Sujet du message :

En gros un endroit inaccessible au joueur, puisque la fonction téléporte le npc là-bas (genre une pèce inaccessible).

Voilà ce que j'ai trouvé en fouillant un peu dans le chapitre 2, ça devrait te permettre de faire disparaître purement et simplement ton npc (livré sans garanties).

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.

_________________
Fuck me I'm famous
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Adresse AIM MSN Messenger Numéro ICQ 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 : 04/11/2003 09:11:05 Sujet du message : Re: Faire quitter la carte à un PNJ après un dialogue


Eldorane a écrit :
Après maintes recherches sur le forum, j'ai trouvé ceci :


NWScript :

void()
{
  object oNPC=GetObjectByTag("Tag du NPC ");
  Assigncommand(oNPC,jumpToLocation(GetLocation(GetObjectByTag("Tag d'un endroit sur ou personne ne trouvera le NPC ")));
}

/* warning: 1 unclosed parenthesis () */
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.



le "Tag d'un endroit sur ou personne ne trouvera le NPC" correspond à quoi ? Shocked
Un objet ? Confused
N'y a t'il pas plus simple ?
Je voudrais que le PNJ quitte la carte où il se trouve et diparaisse (ça existe, on le voit dans certains modules, même dans la campagne solo)
Le plus souvent, le "Tag d'un endroit sur ou personne ne trouvera le NPC" sera celui d'un Waypoint ou Point de passage que tu auras placé sur la carte d'une zone innaccessible au PJ. Tu as aussi la possibilité de détruire le PNJ, si ce dernier ne te fait aucun autre usage, de la façon suivante :
NWScript :

void main()
{
  oNPC = GetObjectByTag("Tag du NPC");
  DestroyObject(oNPC);
}
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.

Attention au void main() de ta déclaration. "void()" est une erreur.

Si tu veux que le PNJ marche vers un point de la zone où il se trouve, avant de disparaître c'est un peu plus complexe. La technique reste à peu prêt la même, il faut qu'il y ait un objet pour lui désigner sa destination. Le Waypoint est l'idéal surtout si l'endroit où il se rend ne comporte aucun autre objet particulier comme un porte ou un placable auquel faire référence. Et l'action ne sera pas JumpToLocation mais ActionMoveToLocation. Lorsqu'il aura atteint ce Waypoint, il faudra faire disparaître le PNJ (le DestroyObject est le plus simple). Le script suivant devrait faire l'affaire :
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.

Ici je transmet à la queue d'action du PNJ deux actions (après avoir vidé la dite queue d'action), l'une est le déplacement, l'autre sa propre destruction (mais sous forme d'action). Je précise que je n'ai pas testé ce script, donc je ne garantie pas son fonctionnement. S'il y a des problèmes, remonte les ici et j'essaierai de les corriger.
Il faut aussi préciser que si le moindre obstacle dérange le PNJ lorsqu'il se rendra au point désigné, sa disparition sera annulée.
_________________
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
Dernière édition par lendraste le 04/11/2003 09:49:55; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Numéro ICQ Ignorer l'utilisateur
 
Eldorane
Héros
Inscrit le: 18 Oct 2003
Messages: 298
Localisation: Moselle
Répondre en citant
Posté le : 04/11/2003 09:41:40 Sujet du message :

Marche pas ... Confused Le PNJ ne fait rien après un dialogue.

Je ne suis pas experte en scriptage, étant nouvelle dans le domaine, mais il est possible que je me trompe. Le "waypoint", c'est bien un point de passage et non une des autres possibilitées genre "poste de garde"...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Eldorane
Héros
Inscrit le: 18 Oct 2003
Messages: 298
Localisation: Moselle
Répondre en citant
Posté le : 04/11/2003 09:45:58 Sujet du message :

NOTA : les deux exemples ne fontionnent pas, ni celui de Don Vincenzo, ni le second de Lendraste qui fait partir puis disparaître le PNJ. Ul faut bien les mettre dans l'action consequente du dernier noeud du dialogue ?
 
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 : 04/11/2003 09:52:13 Sujet du message :

J'ai corrigé une erreur de syntaxe sur mon script (regarde le à nouveau), je n'avais pas fermé le guillemet du tag.
Sinon "ça ne marche pas" n'est pas suffisamment éloquent pour te dépanner. Si tu ne décris pas mieux que cela ton problème on ne pourra strictement rien y faire.

[EDIT] Evite de poster plusieurs fois pour rectifier ou compléter ce que tu dis dans un post qui n'a pas de réponse. Tu as un bouton pour éditer tes propres messages à ta disposition.
_________________
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
 
Eldorane
Héros
Inscrit le: 18 Oct 2003
Messages: 298
Localisation: Moselle
Répondre en citant
Posté le : 04/11/2003 10:16:17 Sujet du message :

Désolé, je n'avais pas vue cette possibilité de réédition Confused , je suis nouvelle sur ce type de forum. Par contre j'avais déjà ajouté le guillemet du tag, mais malgré cela le PNJ restait immobile après le dialogue.

Quoi qu'il en soit, j'avais entre temps refait quelques test et j'ai découvert par hasard un détail sur ton script et j'ai donc rajouté un "object" (sans savoir à quoi ça sert), et ça donne ceci ;
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 là ça fonctionne !!! Very Happy

Merci encore !!!!
 
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 52.058ms