Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > Problème Waypoints
Problème Waypoints
Par kaliyouga le 16/2/2003 Ă 16:34:26 (#3248919)
J'ai quelques petits problèmes de waypoints.
J'ai fait des recherches avec les mots waypoint ou waypoints, mais je n'ai rien trouvé qui corresponde a mon problème, qui est basique de chez basique.
Voila le schéma: Une ville, deux gardes, deux chiens de gardes.
Pour une facilité de compréhension je vais en parler par groupe : groupe 1 (1 chien+ 1 garde) et groupe 2 (les 2 autres)
Les gardes doivent faire leur chemin de ronde a travers la ville, suivis de près par leur chien.
J'ai donc placé des waypoints tout simplèment pour chaque chien et chaque garde. J'ai réglé leur vitesse de déplacèment à tous à normal.
1 er problème
Le groupe 1 part un peu avant le groupe 2. Cela fait un effet très étrange et pas du tout naturel. Comment faire pour que:
-soit les 2 groupes partent en mĂŞme temps
-soit le groupe 1 parte bien avant que le groupe 2
2 eme problème
Dans chaque groupe, le chien et le garde sont loins l'un de l'autre. y a t'il un script qui dirait au chien de suivre son maître? (le chien n'aurait alors pas de wp).
3 eme problème
Si j'essaye de parler au garde (ou au chien, même si c'est une drôle d'idée) il s'arrête et ne reprendra pas son chemin de ronde. Comment remédier a cela?
voila, il me semble avoir énuméré tous mes problèmes ^^
je vous remercie d'avance de bien vouloir m'aider :merci:
@+
Par JedaĂŻ le 16/2/2003 Ă 17:18:41 (#3249126)
2 ) ActionForceFollowObject( object oFollow, float fDistance = 0.0f );
3 ) Lui mettre un dialogue à une ligne du genre "Wooof" pour le chien et "Je dois continuer ma ronde" pour le garde (ou l'inverse...), normalement, les scripts de fin de conversation par défaut relanceront un WalkWayPoints().:D
Par kaliyouga le 16/2/2003 Ă 17:47:55 (#3249274)
je test ca :D
Par Archamedes_Fr le 16/2/2003 Ă 18:00:30 (#3249338)
Pour les chiens, Prophétia a posté récemment... si je retrouve j'édite.
J'ai retrouvé. c'est ici
Par kaliyouga le 16/2/2003 Ă 19:15:33 (#3249702)
il reste un problème. Juste les gardes bougent.
Pourtant, les scripts sont bien compilés.
voici mes scripts:
dans le onspawn du chien:
void main()
{
//les chiens suivent le pnj
object oCreature = GetObjectByTag("garde1");
AssignCommand(OBJECT_SELF, ActionForceFollowObject(oCreature,5.0));
}
dans celui du pnj:
void main()
{
//creation des chiens
int i;
for(i = 0; i < 1; i++){
int iObjectType = OBJECT_TYPE_CREATURE;
//atention, ici on utilise le ResRef et non pas le Tag
string sCreature = "chien004";
location lLoc = GetLocation(OBJECT_SELF);
int bUseAppearAnimation = TRUE;
CreateObject(iObjectType, sCreature, lLoc, bUseAppearAnimation);
}
}
Le garde s'appelle tadoss le garde et son tag est garde1
Le chien s'appelle chien3 et son tag est chien3
je pense que le problème vient du resref du chien... en effet, je ne sait pas ce que c'est!
voila ;)
Par Reyan le 16/2/2003 Ă 21:34:18 (#3250514)
c'est TJRS ce qu'on utilise pour créer un truc :) après grace aux nouvelle fonction, on peut changer TAg et nom, mais le resref, non, même ds le toolset c galère à changer ....
pour l'avoir, tu fais "éditer" et il est dans "avancé" :)
Par RAT le 16/2/2003 Ă 23:11:45 (#3250968)
Par kaliyouga le 16/2/2003 Ă 23:14:49 (#3250986)
je test ca ce soir
Par kaliyouga le 16/2/2003 Ă 23:45:34 (#3251202)
mais bon, on avance! ^^
en fait, mon pnj ne se décide a suivre ses petits waypoints seulement lorsque je lui parle... ce qui est plutot embetant. Sinon le chien apparait bien, suis bien son maitre. seul problème, pour qu'il n y est pas d'effet de saccade (car le chient cours derrière son maitre) j'ai du regler se vitesse de déplacement a lent. Ce qui fait qu'il cours sans saccade, mais qu'on la l'impression qu'il court comme si il etait sur la lune!
voili vouilu
Par Jaha Effect le 17/2/2003 Ă 0:26:06 (#3251415)
Jaha Effect :D
Par kaliyouga le 17/2/2003 Ă 0:43:17 (#3251475)
et sinon, t'as une idée de pourquoi les gardes ne veulent pas avancer à leurs waypoints tout seuls? et partent seulement quand je leur parle?
Par kaliyouga le 17/2/2003 Ă 0:47:26 (#3251500)
ca donne ca:
void main()
{
//les chiens suivent le pnj
object oCreature = GetObjectByTag("garde1");
AssignCommand(OBJECT_SELF, ActionForceMoveToObject(oCreature,1.0));
}
je sait pas pourquoi mais je sens que c'est encore une erreur toute simple ^^
Par RAT le 17/2/2003 Ă 4:11:41 (#3251961)
Provient du message de kaliyouga
tu veux dire un ActionForceMoveToObject sur le garde? ou sur les waypoints?
et sinon, t'as une idée de pourquoi les gardes ne veulent pas avancer à leurs waypoints tout seuls? et partent seulement quand je leur parle?
tu as vérifié si dans leurs onspawn , ils ont la fonction WalkWaypoint();?
car s'ils ne l'ont pas, ils n'avanceront pas quand ils seront spawnés mais par contre tu peux relancer la fonction avec l'action de lui parler :).
Donc vérifie si tu possède bien cette fonction dans son Onspawn.
:)
Par Jaha Effect le 17/2/2003 Ă 10:04:59 (#3252520)
Void ActionForceMoveToObject (object oMoveTo, int bRun=FALSE, float fRange=1.0f, float fTimeout=30.0f)
Si tu veux que ça compile faut écrire ta fonction comme çavoid main()
{
//les chiens suivent le pnj
object oCreature = GetObjectByTag("garde1");
AssignCommand(OBJECT_SELF, ActionForceMoveToObject(oCreature, FALSE, 1.0f));
}
Jaha Effect :D
Par kaliyouga le 17/2/2003 Ă 14:50:07 (#3254529)
Par RAT le 17/2/2003 Ă 15:27:25 (#3254795)
JOL Archives 1.0.1
@ JOL / JeuxOnLine