Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrĂ´le

Recherche | Retour aux forums

JOL Archives

un problème de position des NPC's (toolset)

Par Linaewen TMP le 27/8/2002 Ă  18:20:54 (#2039377)

Bonjour Ă  vous,

Un problème n'arrivant jamais seul, je cherche le moyen de pouvoir faire pivoter les NPC's que j'introduit dans mes modules... Non pas que le fait de les voir regarder vers le Nord comme une bande de zombis hydrocéphales me rebute mais..ils ont vraiment l'air idiot ...
Connaissez-vous le moyen de les rendre un peu plus vivant ? bougez, rire, travailler, parler entre eux ?

Merci pour eux ;)
Ljd Linaewen

Par Cahetel le 27/8/2002 Ă  18:30:32 (#2039442)

Direction Maskado

Par Azharial del'Amrhyn le 27/8/2002 Ă  18:37:40 (#2039481)

Pour faire pivoter les NPCs tu peux utiliser SetFacing(float fDirection).

Pour animer des NPCs, tu peux jeter un oeil sur NwN Vault, il existe de nombreux scripts prévus à cet effet et en particulier quelques uns permettant d'obtenir des auberges très animées ;).

Et effectivement, le Forum Maskado est plus approprié pour ces questions :).

merci

Par Linaewen TMP le 27/8/2002 Ă  20:13:37 (#2040106)

oui effectivement, je suis tombé sur un lien m'amenant directement sur ce forum ... Mais j'irai quémander sur Maskado ;)

Merci Ă  toi Azharial del'Amrhyn.

Par Darkmore le 27/8/2002 Ă  20:13:37 (#2040107)

D'après la description le problème est que les PNJ sont tous dans la direction par défaut ... don pas besoin deSetFacing ... la solution est plus simple : il suffit d'utiliser les deux flèches rouges incurvé en bas au milieux du toolset ... ;)

Sinon un waypoint de type POST peut ĂŞtre sympa ... pour les diverse animations de base l'Ă©diteur de script est largement suffisant, il sufit de fouiller un peu et on arrive Ă  faire "dormir" le pnj par exemple.
Pour les trajets des personnages c'est encore les waypoints le plus simple.

Par mobidique le 28/8/2002 Ă  10:48:42 (#2043914)

Toujours plus simple ...

Dans le script OnSpawn tu as deux variables (constantes?) qui ne sont pas initialisées et qui respectivement contiennent les chaines de caractères
*PlayAmbientAnimation;*PlayMobileAnimation.
ou kkchose d'approchant. Le premier permet de faire jouer aux NPCs des animations par défaut en étant immobiles, ainsi si tu mets 3 NPCs les uns à cotés des autres ils vont dicuter ensemble (animation seulement évidemment, pas de textes :rolleyes: ) et l'autre les fait bouger un petit peu à droite et à gauche et comme précédemment s'ils rencontrent un autre NPC un animation de discussion peut commencer. Je dis un petit peu ... mais en fait c'est un mouvement aléatoire plus communément applé chez les torturé du bulbe, mouvement Brownien et je dis ça uniquement pour me faire mousser évidemment :mdr: . Or donc, toutes les 6 secondes le NPCs va prendre une direction aléatoire et parcourir une distance aléatoire. On pourrait croire que celà revient à un équilibre et que le perso tourne autour d'un point ou ne s'enéloigne pas trop. Mais dans ce que je décris il n'ya aucune contrainte imposée au mouvement et donc on peut retrouver son NPC un peu éloigné du spawn point au bout d'un certain temps. Celà n'a pas forcément d'importante aussi longtemps que la position du NPC n'est pas cruciale ... Bon ... un exemple vaut mieux qu'un long discours ... Expérience vécue : je place des mobs animés en un point, je test mon affaire en me pointant en incarnant un perso, no pb les mob sont en pack et me sautent tous dessus ensembles. Je fais jouer le scénar. Les mobs s'étaient éloignés les uns des autres et ont sautés sur les joueurs un par un ... erreur de jeunesse ... ;)

Ce que je conseillerai de faire c'est de modifier un script pour avoir les animations immobiles et de le sauvegarder sous un nom explicite comme bougepas par exemple et de modifier à nouveau le script de base pour avoir les mobiles et les immobiles et de le sauvegarder sous un autre nom bougedela par exemple. Aprés quand tu fais un NPC tu colle le OnSpawn que tu veux.

Attention toutefois au phénomène suivant ... Une animation est lancé toute les 6 secondes, sur le OnHeartBeat. De ce fait si une action demandée au NPC met plus de 6 secondes, comme par exemple un movetoobject, le NPC commencera l'action mais lorsque l'ordre d'une nouvelle animation arrivera l'action en cours (le déplacement vers un objet dans mon exemple) s'intérompra définitivement ... J'ai évoqué ce pb dans un post par le passé car en effet ...

... les créatures et NPCs générées par encounter sont dotées par défaut d'animations mobiles et immobiles. Et mon PB était alors d'imposer conditionnellement à une action des PJ un déplacement à une bestioles générée par encounter. j'ai donc du faire une modification ce coup-ci du OnHeartbeat pour cette bestioles pour que l'association encounter-animation soit rompue.

On pourrait alors imaginer de générer TOUT les NPCs par encouter ce qui les doteraient tous d'une petite animations et comme pour mon pb de bestioles, ne modifier QUE le Onheartbeat des NPCs necessitant une ou des actions spéciales, comme pour des gardes en faction par exemple. Mais bon celà pose un petit pb pratique c'est que les encouter ne générent des bestioles qu'en un point et que lorsque l'on veut peupler une ville ben ça en fait quand même un paquet à placer hein quand même ...

Mob'.

JOL Archives 1.0.1
@ JOL / JeuxOnLine