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







La date/heure actuelle est 01/05/2025 07:11:34
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 |
Eldorane Héros Messages: 298 Localisation: Moselle |
![]() 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 () */ le "Tag d'un endroit sur ou personne ne trouvera le NPC" correspond à quoi ? ![]() Un objet ? ![]() 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 | ![]() ![]() ![]() |
Don Vincenzo Asocial @nwnights-fr ![]() Messages: 591 Localisation: Le Havre |
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 | ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
lendraste Grand Maître Chanteur du Conseil ![]() Messages: 1403 Localisation: Quelque part ailleurs |
![]() Eldorane a écrit : Après maintes recherches sur le forum, j'ai trouvé ceci :
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() { 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 () */ le "Tag d'un endroit sur ou personne ne trouvera le NPC" correspond à quoi ? ![]() Un objet ? ![]() 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) 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. 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 :
void main() { oNPC = GetObjectByTag("Tag du NPC"); AssignCommand(oNPC, ClearAllActions()); AssignCommand(oNPC, ActionMoveToLocation(GetLocation(GetObjectByTag("TAG du waypoint")))); AssignCommand(oNPC, ActionDoCommand(DestroyObject(oNPC))); } 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 | ![]() ![]() ![]() ![]() ![]() |
Eldorane Héros Messages: 298 Localisation: Moselle |
Marche pas ...
![]() 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 | ![]() ![]() ![]() |
Eldorane Héros Messages: 298 Localisation: Moselle |
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 | ![]() ![]() ![]() |
lendraste Grand Maître Chanteur du Conseil ![]() Messages: 1403 Localisation: Quelque part ailleurs |
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 | ![]() ![]() ![]() ![]() ![]() |
Eldorane Héros Messages: 298 Localisation: Moselle |
Désolé, je n'avais pas vue cette possibilité de réédition
![]() 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 :
void main() { object oNPC = GetObjectByTag("Maya"); AssignCommand(oNPC, ClearAllActions()); AssignCommand(oNPC, ActionMoveToLocation(GetLocation(GetObjectByTag("Maya_point")))); AssignCommand(oNPC, ActionDoCommand(DestroyObject(oNPC))); } et là ça fonctionne !!! ![]() Merci encore !!!! |
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