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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Comment lancer un script externe

Par YoupiMan le 2/7/2002 à 10:37:21 (#1743585)

Bonjour à tous

une question sur les scripts :

Comment faire pour executer un script depuis un autre script.

Exemple :
Je suis dans le script onenter() d'un trigger. Je veux qu'un NPC dise une phrase puis bouge à une position donnée.
Avec la commande AssignCommand, on peut donner des ordres d'action à un object externe. Mais cette commande semble avoir des problèmes (conflits avec l'ai du jeu) et mes ordres ne sont pas executé jusqu'au bout.

Je voudrais donc pouvoir executer depuis le onenter du trigger, un script pour mon NPC.

Quelqu'un connais une possibilitée ?

merci
YoupiMan

Par ZeDuckMaster le 2/7/2002 à 11:07:37 (#1743722)

penses a utiliser un ClearAllActions avant ton assigncommand

de plus il fait quoi d'autre ton pnj avant de finir l'action que tu lui as commandé ?

remarque : un pnj ou un pj ne peux faire qu'une action a la fois ...

Par YoupiMan le 2/7/2002 à 14:54:54 (#1744834)

Salut ,

En fait voici mon problème complet :

Mon NPC est tout seul dans une pièce.
Lorsqu'un PC arrive dans la piece, il déclenche un trigger positionné juste à l'entrée de la piece.

Sur le déclenchement de ce trigger, je veux que le NPC fasse les actions suivantes :

- il crie : "Comment osez vous me dérangez"
- 3 squelettes apparaissent pour attaquer le PC
- il bouge vers une porte
- il sort de l'area par la porte vers un autre niveau


Le NPC est en faction hostile dés le départ.
Et c'est là que j'ai des problèmes.

Avec la commande AssignCommand, je réussi à lui faire dire la phrase, à faire apparaitre les squellettes, et il commence à se déplacer vers la porte.

Mais à un moment il sr'arrete et commence à lancer des sorts sur le PC (x'est normal , c'est un mago )
Pour essayer j'ai mis un Setcommandable(FALSE) sur le NPC apres la série de AssignCommand .
Mais dans ce cas il s'arrete et ne fait plus rien du tout. Il ne commence même pas le dialogue.


j'ai l'impression que c'est du à la façon dont est interprété les scripts.
Tout ce script est placé dans le onenter() du trigger. Je pense que le script est lu en bloc par le programme et que les actions sont envoyées ensuite vers la queue d'action du NPC. et ça merde avec le setcommandable.

C'est pourquoi je voudrais que dans le onenter(), je puisse lancer un script appartenant au NPC. Eneffet si j'uilise le script modifié d'un développeur de Bioware pour simuler la fuite des NPC, alors ça marche. Et lui il utilise des userdefined.

voila
un peu touffu comme explication , mais j'ai le temps je suis au boulot et mon PC il veut pas lancer nwn :D

Par ZeDuckMaster le 2/7/2002 à 15:03:15 (#1744881)

ce que tu pourrais faire c'est poser ton script sur le OnPerceive du pnj (ce qui serait plus logique d'un certain point ;) ) au lieu d'utiliser un trigger, et ensuite a la fin du dialogue et des invocs tu lui fait suivre des waypoints predefinis (ca sera plus simple je pense et tu pourras le faire aller ou tu veux) en utilisant WalkWayPoints() ....

Par YoupiMan le 2/7/2002 à 15:09:06 (#1744918)

J'ai essayé au début mais à chaque round , le NPC perçoit le PC et lance le script.
à la fin je me retrouve avec 40 squelette dans la salle , c'est le bords et je suis obligé de killer nwn

Par ZeDuckMaster le 2/7/2002 à 15:30:46 (#1745045)

utilises une variable locale afin de ne declencher le script qu'une seule fois.

Par YoupiMan le 2/7/2002 à 16:22:17 (#1745272)

c'est ce que j'ai fait , mais ça ne marchais pas ,
mais depuis j'ai lu quelque trucs sur les variables , je vais donc regarder ce soir mon script .
Eventuellement je le posterais ce soir , comme ça tu pourras me dire ce qui ne vas pas

merci en tout cas de tes indications

JOL Archives 1.0.1
@ JOL / JeuxOnLine