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







La date/heure actuelle est 01/05/2025 18:53:22
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 |
Finarfin Voyageur Messages: 3 |
Bonjour a toi cher lecteur ! Bon , jai besoin de ton aide , car jai un probleme (persistant bien sur, eh ) .
![]() Suite a la mort dun premier PNJ , un second est cree , celui ci se dirige ver le PC des quil lapercoit , lui sort son dialogue et sechappe vers la porte (dou sort le PC) et disparait des quil latteint . Cest chouette et ca marche jusquau moment ou il doit disparaitre , et la , c la cata : il disparait , reapparait , disparait , va voir a nouveau mon PC . Bon, voila le script de fin de conversation : Code : void main()
object oLastDoor = GetObjectByTag("Portelouche"); { ActionMoveToObject(oLastDoor,FALSE);} {if((GetDistanceBetween(GetObjectByTag("Perso"),GetObjectByTag("Portelouche"))==0) DestroyObject(OBJECT_SELF);} Pourquoi la destruction n'est elle pas permanente svp? ![]() [edit de Lendraste :] merci de mettre le code entre balise [ code] [ /code] (sans les espaces après le premier crochet), c'est plus lisible. |
Revenir en haut | ![]() ![]() ![]() |
kiky.le.magnifique Homme très gay ![]() Messages: 907 Localisation: Camping de la nation martienne... |
[MODE GROSSE_CONNERIE = ON]
Peut être que la distance que tu impose (==0) est trop strict et que le NPJ n'y arrive pas? T'as essayé avec une autre distance? [MODE GROSSE_CONNERIE = OFF] ![]() _________________ http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin! |
Revenir en haut | ![]() ![]() ![]() ![]() |
Finarfin Voyageur Messages: 3 |
Ben , si je lui dis == 0.05 , ca marche pas mieux . Reflexion faite , je crois que le probleme vient du script on Perception ... donc , comment dire au type que s'il lui a parle une fois , c'est bon , et qu'il arrete de lui parler tout le temps parcequ'il est lourd ? Jai bien essaye en incluant une variable , mais ca marche pas mieux ... il lui court toujours apres ... beuh c po juste .
|
Revenir en haut | ![]() ![]() ![]() |
lendraste Grand Maître Chanteur du Conseil ![]() Messages: 1403 Localisation: Quelque part ailleurs |
Ce que voulais dire Kiky (à mon avis) est que l'égalité stricte est trop restrictive. La chance pour que la distance soit précisément égale à 0 ou à 0.05 au moment du déclenchement du OnPerception est proche de 0. Il vaux mieux utiliser un opérateur de comparaison comme < ou <= en considérant donc que la distance doit être inférieure à une certaine valeur pour déclencher la destruction.
De toute façon, la solution que tu proposes sur la fin du dialogue me paraît très hautement improbable. Tu lui donnes l'ordre de se déplacer "ActionMove", donc tant qu'il n'a pas atteind la porte, la condition de destruction que tu testes immédiatement après ne sera pas remplie. Ceci vient du fait que ActionMoveToObject est une fonction asynchrone (voir explication ici). Le script qui exécute cette fonction n'attend pas que celle-ci ait produit le résultat escompté pour poursuivre et enchainer sur le test qui figure juste après. Celui-ci est donc forcément faux, d'abord car il est très restrictif et ensuite parce que le PNJ viens à peine de recevoir l'ordre se de rendre prêt de la porte. Voici une proposition. Tu demandes effectivement à ton PNJ de se rendre à la porte et juste devant elle tu places un trigger (déclencheur en français). il suffira de tester, sur le OnEnter du trigger que c'est ce PNJ qui entre dans la zone afin de le détruire. Comme ceci : Code : //A mettre sur le OnEnter du trigger void main() { object oCreature=GetEnteringObjet(); if (GetTag(oCreature)=="perso") { DestroyObject(oCreature); } } Le code original de la fin de conversation ne contient alors plus que le ActionMoveToObject qui devrait obliger le PNJ à passer sur le Trigger. Il y a d'autres solutions bien sûr. _________________ 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 | ![]() ![]() ![]() ![]() ![]() |


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