Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > Au sujet des poste de garde...
Au sujet des postes de garde...
Par Zariel le 27/10/2002 à 20:58:56 (#2419534)
Par Morethil le 28/10/2002 à 6:34:47 (#2421550)
Si tu veux tu peux aussi bouger ton personnage, et recréer un autre waypoint, etc.
Cela définit un parcourt qu'il va faire et refaire inlassablement (une ronde quoi) sauf que le personnage va faire 1-2-3-4-3-2-1-2, etc. au lieux de 1-2-3-4-1 etc.
Cela dit, j'aimerai bine une explication plus approfondie sur les waypoints, surtout lorsqu'un PNJ traverse plusieurs zones :)
Par Zariel le 28/10/2002 à 8:28:22 (#2421695)
Par eMRaistlin le 28/10/2002 à 9:38:33 (#2421951)
tu met un Waypoint nommé "POST_"+"TAG" et tu decommente la partie idoine du OnSpawn de ton guard... Et hop ^^
Par Zariel le 28/10/2002 à 10:13:12 (#2422157)
Merci à toi Emraislin ;)
Par mobidique le 28/10/2002 à 11:23:47 (#2422705)
Provient du message de Morethil
Cela dit, j'aimerai bine une explication plus approfondie sur les waypoints, surtout lorsqu'un PNJ traverse plusieurs zones :)
Y eu un tutorial sur les waypoints ... je sais pas s'il a été traduit ici mais en tout cas il était sur les forums bioware sans doute dans le forum builder, c'était un permanent. Lors de l'archivage récent des forums bioware je saurais pas dire si ce permament est parti dans les archives où s'il est resté dans le forum courant.
pour ce qui est des PNJ qui traverse plusieurs zones en fait on a affaire là à un gros pb ... En effet tu voudrais bien par exemple que tes ouvrier paysans garde administratif, le soir venu aillent dans la taverne par exemple et par souci de pas faire compliquer on va oublier une activité du genre, aller dans la taverne jusqu à minuit puis rentrer chez soit se mettre au lit et le matin retourner au boulot ... On va oublier ... juste ils ont un poste de travail et un poste à la taverne. Bien ... ben le pb c'est que les PNJs ne bougent que dans la zone où se trouvent les PJs. Donc si tes pj sont dans le village, à la nuit tombée les PNJ qui se trouvent sur la zone village (donc aucun de ceux qui sont dans les batiments) vont aller, vont se diriger vers l'auberge ouvrir la porte et rentrer. Mais si tes PJs ne vont pas dans l'auberge ces cons de PNJ sont en fait coincé entre la zone village et la zone auberge. Tes PJs rentrent dans l'auberge. Tous les PNJs que tu as balancé dans l'auberge rejoignent précipitemment avec un air coupable de chien battu sous ton regard courrouçé leur poste de beuverie. Pendant ce temps madame l'aubergiste fait un tour d'auberge et ensuite benoitement tu lui a mis un WP dans la cave. Elle va donc à la cave ... mais elle n'en ressortira jamais a moins qu'un PJ aille dans l'auberge ... Capice ? Encore un petit ... Le jour arrive ... Les PNJs se dirige vers la porte de l'auberge l'ouvre et ... etc etc etc ...
C'est un pb qui a été débattu assez rapidemment aprés la sortie US de NwN. A l'époque ça me passait complétement au dessus de la tête mais l'esprit acéré de Tonton le grognon était déjà sur l'affaire et l'a expliqué z'ici. Bon ... le walkwaypoint qui fait parcourir les waypoint est dans le script de spawn, c'est un ordre permanent mais parce qu'il n'est pas dans le Onheartbeat il n'est pas rafraichi toute les 6 secondes ... Si tu voulais que ton PNJ continue son trajet dans un batiment en l'absence de PJ alors il faudrait avoir une action du coté du Onheartbeat (laquelle ?) mais dansle même temps, le Onheartbeat étant lancé toute les 6 secondes c'est une opération qui deveient vite trés consomatrice de CPU :( ... on n'en sort pas ...
Aujourd'hui y a des scripts trés évolués qui sont sortis en particulier tu peux aller vois sur lyoness pour faire la journée d'un PNJ, heure de lever coucher taverne changement de vetement en fonction du moment de la journée, manger se reproduire tout ça ... mais là encore à mon avis on se trompe de logiciel ... c'est passionnant de faire ça, mais dans ce cas là autant prendre un logiciel de simulation numérique ou kkchose comme ça ... Perso j'ai abandonné, je préfére me concentrer sur la naration d'histoire que sur les mickeys. En revanche me vient l'idée suivante depuis quelques jours ... puisqu'il est difficile de faire bouger les perso vers des lieux pourquoi ne pas faire bouger les lieux ... Plutôt que d'envoyer les PNJs vers l'auberge, pourquoi ne pas faire une version alternative de l'auberge dans la quelle il y ait DEJA tous les PNJ ... Faire 2 versions de la zone village, une de jour une de nuit et à la nuit tombé envoyer les PJs dans la version de nuit ... Et au lever ... envoyer les PJs dans la version de jour ... Pour ce qui est des batiments , on distinguerais les batiments changeant entre le jour et la nuit et ceux ne changeant pas, les portes de ces dernier devant alors rediriger vers des destination différente en fonction de l'heure. Enfin c'est un idée comme ça ...
Par coolstar le 28/10/2002 à 11:52:26 (#2422974)
D'autant que c pas sensé être un Sim's ! :D
Cependant, bien que ton alternative me semble très intéressante (d'autant que c'est quand même bien - façon RPG - de ne pas trouver toujours les même gars postés 24h/24 à nous attendre mystérieusement comme de nocs...), je pense que l'on pourrait tenter aussi une autre option... :p
Genre... tu Deletes/Removes tout simplement les PNJs Extérieurs lorsque c la Nuit... et tu les Réinplantes (par le biais du BLuePrint, avec les Scripts pré-enregistrés/pré-sélectionnés... traités en fait au niveau PC tout simplement comme si c'était de nouvelles données, donc rafaichies...) dans l'Auberge, par exemple... et inversement lorsque vient le Jour... non ?? :confus:
Voilà, voilà...
...
Par mobidique le 28/10/2002 à 12:25:08 (#2423258)
Par Stritis le 28/10/2002 à 12:37:16 (#2423368)
C'est la meme chose que coolstar sauf qu'on fait venir les PNjs pres de la porte pour que ça soit plus relaistes enfin d'apres ce que j'ai compris , bon c'est une suggestion et je sais pas si c'est dur ou facile.
Par Stritis le 28/10/2002 à 12:54:59 (#2423508)
Provient du message de mobidique
Y eu un tutorial sur les waypoints ... je sais pas s'il a été traduit ici mais en tout cas il était sur les forums bioware sans doute dans le forum builder, c'était un permanent. Lors de l'archivage récent des forums bioware je saurais pas dire si ce permament est parti dans les archives où s'il est resté dans le forum courant.
Heureusement je cherche , je crois que c'est sur ce site là qu'on peut le trouver
Par coolstar le 28/10/2002 à 13:07:08 (#2423594)
C en effet la même chose Stritis, mais je n'ai pas voulu entrer dans les détails... je voulais juste exposer à mobidique une possibilité techinique que j'entrevoyais (et que je voulais vérifier auprès de connaisseurs...) ! :D
Donc, oui c d'autant plus mieux si tu simules leur départ en les dirigeant préalablement vers les portes concernant l'Effet d'Illusion, comme pour la Taverne Animée... et je suis même à fond pour la Vraissemblance des Détails! ;)
...
Par sounéva le 28/10/2002 à 13:12:18 (#2423629)
en restant toujour en extérieur je vois le garde rentrer le soir dans sa maison et resortir au matin. tous ca en ayant mis des waypoint de ronde et un de garde pour la nuit.
je voi pas ou est le prob!!!!
Par eMRaistlin le 28/10/2002 à 13:18:28 (#2423685)
Par mobidique le 28/10/2002 à 13:25:10 (#2423752)
Provient du message de sounéva
Ben ... je sais pas ... Une nouvelle fois je suis pas un techno ... perso je sais que j'ai fait une taverne et en journée la patronne montait à l'étage pour faire les chambres ... et elle redescendait jamais .. je l'attendais en mode DM dans la taverne au RDC et elle redescendait jamais ... Enfin moi j'ai trouvé que c'était la zone ... Si d'autres lecteurs peuvent s'exprimer sur leurx expériencex ...
je voi pas ou est le prob!!!!
Par Stritis le 28/10/2002 à 13:25:12 (#2423753)
Moi mon garde il faisait son tour de garde normalement et la premiere fois lorsqu'il a attaque une creature il s'est arrete et il ne l'a pas repris , j'ai reessaye une deuxieme fois et la il a attaque une creature et il a recommence son tour normalement mais quand je l'ai soigne (en etant MJ) il s'est bloquer?:confus:
Par sounéva le 28/10/2002 à 13:34:32 (#2423833)
a la fin du script qu'il y a dans onconversation.
j'ai juste rajouter ca a la fin du script par défaut.
Par mobidique le 28/10/2002 à 13:44:49 (#2423913)
Provient du message de Stritis
il a attaque une creature il s'est arrete
Rajouter un walkwaypoint dans une conversation :doute: parce qu'il s'est arrété aprés un combat ? y a un truc que j'ai pas du suivre ...
Par Stritis le 28/10/2002 à 14:07:22 (#2424091)
Bon j'ai encore un autre probleme j'ai trouve un script pour que le PNJ dise qu'une fois cette phrase
ex: La phrase de presentation "Bonjour , ...."
et ensuite une phrase qui revient:"Comment allez vous?"
Mais le probleme c'est que j'arrive pas l'utiliser :rolleyes:
Bon et si vous vous pourriez me mettre le script que je dois mettre dans "conditon d'execution" ça m'aiderai.
Sinon tu pourrai me mettre ton script souneva s'il te plait, car je comprend ce qu'il faut faire mais je sais pas comment le faire
:)
Par mobidique le 28/10/2002 à 14:32:00 (#2424318)
Par sounéva le 28/10/2002 à 15:09:29 (#2424608)
mon exemple est bon si tu intéromp le garde avec une conversation. par défaut le garde na pas de conversation défini et si tu click sur le garde il te regarde et interomp sa marche.
donc pour cela et a chaque fois que tu veut que ton garde reprenne une marche il faut que tu te serve de la fonction:
"walkwaypoint()"
en faite pour aprés un combat je sait pas mais il me semble qui doit reprendre sa marche par defaut ?????
le principe reste le même de toutes facon.
pis je n'ai pas fait de script Stritis j'ai juste rajouter cette fonction a la fin d'un script du garde.....
Par Stritis le 28/10/2002 à 17:06:00 (#2425559)
Par coolstar le 30/10/2002 à 4:16:00 (#2437444)
Je suis tout de même d'accord avec mobi, Stritis, dans le sens où ceux qui voudraient profiter des Réponses données ne pourront du coup, pour se faire, même pas savoir quelles auront été TOUTES les Questions abordées... ;)
Ne soyons pas personnel... :merci:
Par Amaranthe le 30/10/2002 à 9:14:26 (#2437910)
A la base, l'rreur vient de moi, j'ai un NPC qui se nomme Kompa... et je lui ai mit un waypoint de type POST_KOMPA.
De plus, voulant que ce NPC puisse fuir, mais revenir, je lui ai décommenter les lignes appropriés dans son OnSpawn.
Eh bien... mon Kompa fuyait au moindre monstre, c'est a dire qu'en plein milieu du combat, il disparaissait... et la... les hallucinations commencaient... soit il ne réapparaissait jamais, soit il réapparaissait bien... soit, il réapparaissait accompagné de un, deux, trois ou plus clones de lui même...
Le bordel total et quelques heures a m'arracher les cheveux.
Bon, quand on met le tag de ses pnj en majuscule comme je le préconise dans mes tutoriaux... tout redevient a peu pres normal...
Tout ca pour dire, faites bien attention a la casse. Quand on ne la respecte pas, ca marche a peu pres...
Si tu pouvais vérifier mobidique, c'est peut être tout simplement ca...
Par Zariel le 30/10/2002 à 9:29:42 (#2437992)
Par eMRaistlin le 30/10/2002 à 9:43:25 (#2438074)
Ya une incidence sur le minuscule/majuscule ???
Oui !Les scripts répèrent mieux les TAG majuscules
Euh... non !C'est nouveaux ça, car je rencontre les même probnèmes que toi quelques fois...
Ca vient surtout de la non-unicité des tag en general, du fait que le PC aura surement quitté la zone sur la fuite, et donc, il y a un createobject dans le process...
Ca peut aussi etre un bug local :mdr: :mdr: :maboule: :mdr: :mdr:
Par mobidique le 30/10/2002 à 10:56:58 (#2438528)
Provient du message de Amaranthe
Et bien heu .... d'un point de vue purement rationnel le tag sert à identifier le PNJ de manière unique. Alors ce que l'on sait c'est qu'aurora hérite du C sa sensibilité à la casse ... Maintenant à partir du moment ou t'as fait des WP des WN ou des POST avec le bon tag y a pas de raison que ça marche pas ... Mais l'informatique n'est pas complémtement rationnel mais un art (et je dis bien art parce qu'à l'instar de la médecine, c'est pas une science mais un art) alors c'est vrai que dans la tripouille des programmes derrières un walkwaypoints et l'identification et le repérage des points de passaege il peut y avoir une merdouille pondu par un obscur qui entraine un pb si le tag du PNJ n'est pas une majuscule.
Si tu pouvais vérifier mobidique, c'est peut être tout simplement ca...
Ce que je propose pour mettre les choses au clair c'est de faire un module pour voir s'il y a une différence entre tag de PNJ en majuscule ou en minuscule et de voir quel est le comportement de ces PNJ à l'entrée ou à la sortie d'un batiment. Ca viendra quand ca viendra ;)
Par eMRaistlin le 30/10/2002 à 11:27:42 (#2438761)
PNJ de manière unique.
je ne suis pas d'accord : le tag n'est pas unique. au contraire, il permet d'affecter des propriete a un groupe. C4est le resref qui est unique.
toutefois, il vaut mieux eviter d'avoir des tag similaires a tout bout de champs... Mais ce n'est pas une necessité.
Par Amaranthe le 30/10/2002 à 11:59:50 (#2439089)
Provient du message de mobidique
( ... ) alors c'est vrai que dans la tripouille des programmes derrières un walkwaypoints et l'identification et le repérage des points de passaege il peut y avoir une merdouille pondu par un obscur qui entraine un pb si le tag du PNJ n'est pas une majuscule. ( ... )
Genre ca ?
//::///////////////////////////////////////////////
//:: Generic Scripting Include v1.0
//:: NW_I0_GENERIC
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
********************************************
WARNING THIS SCRIPT IS CHANGED AT YOUR PERIL
********************************************
( ... snip ... )
//::///////////////////////////////////////////////
//:: Walk Way Point Path
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Allows specified person walk a waypoint path
*/
//:://////////////////////////////////////////////
//:: Created By: Aidan Scanlan
//:: Created On: July 10, 2001
//:://////////////////////////////////////////////
void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) //Run first circuit
{
ClearAllActions();
string DayWayString;
string NightWayString;
string DayPostString;
string NightPostString;
string sWay;
string sPost;
//The block of code below deals with night and day cycle for postings and walkway points.
if(GetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING))
{
DayWayString = "WP_";
NightWayString = "WN_";
DayPostString = "POST_";
NightPostString = "NIGHT_";
}
else
{
DayWayString = "WP_";
NightWayString = "WP_";
DayPostString = "POST_";
NightPostString = "POST_";
}
if(GetIsDay() || GetIsDawn())
{
SetLocalString(OBJECT_SELF, "NW_GENERIC_WALKWAYS_PREFIX", DayWayString);
SetLocalString(OBJECT_SELF, "NW_GENERIC_POSTING_PREFIX", DayPostString);
}
else
{
SetLocalString(OBJECT_SELF, "NW_GENERIC_WALKWAYS_PREFIX", NightWayString);
SetLocalString(OBJECT_SELF, "NW_GENERIC_POSTING_PREFIX", NightPostString);
}
sWay = GetLocalString(OBJECT_SELF, "NW_GENERIC_WALKWAYS_PREFIX");
sPost = GetLocalString(OBJECT_SELF, "NW_GENERIC_POSTING_PREFIX");
//I have now determined what the prefixs for the current walkways and postings are and will use them instead
// of POST_ and WP_
( ... snip ... )
J'ai a ce jour toujours pas compris pourquoi le mec passait par des variables locales assignées a des pnjs et pourquoi ils utilisait tout simplement pas des variables internes au code... d'autant que j'ai vérifié... il ne les réutilise nulle part !
Tu m'étonnes que ca plante apres...
Ou alors j'ai raté une subtilité.
Par mobidique le 30/10/2002 à 12:32:05 (#2439428)
Amaranthe> ouaip un truc comme ça. Mais on va pas réecrire aurora ...
multiplication des petits pains
Par LeProctophantasmiste le 30/10/2002 à 12:48:10 (#2439600)
Eh bien... mon Kompa fuyait au moindre monstre, c'est a dire qu'en plein milieu du combat, il disparaissait... et la... les hallucinations commencaient... soit il ne réapparaissait jamais, soit il réapparaissait bien... soit, il réapparaissait accompagné de un, deux, trois ou plus clones de lui même...
:mdr:
Dis, tu ne l'aurais pas gardé ce code?
Pour WalkWayPoints, il y a quelques cadavres cachés dans le code de Bio, ceci doit en être un.
Par Amaranthe le 30/10/2002 à 15:18:39 (#2441059)
Ok je l'expurge et je vous en fait un tit zip ;)
A l'occasion... promis !
Par mobidique le 1/11/2002 à 22:11:36 (#2458601)
Provient du message de mobidique
Ce que je propose pour mettre les choses au clair c'est de faire un module pour voir s'il y a une différence entre tag de PNJ en majuscule ou en minuscule et de voir quel est le comportement de ces PNJs à l'entrée ou à la sortie d'un batiment. Ca viendra quand ca viendra ;)
Compromis, chose due ...
http://www.arpenteurs-univers.com/dl_nwn/modules_base/waypoints.zip
Bienvenue à Bouse City! Son unique habitant, un bouseux, vous fera faire un tour de Bouse puis rentrera dans l'auberge de Bouse ... et n'en sortira jamais ... :(
Tag en majuscule ... Dans mes modules Trashcity mes NPCs ont un tag en un melange de majuscules et minuscules et c'est le même comportement ... suivez le bouseux et effectivement vous le verrez rentrer et sortir .. ne le suivez pas ... laissez le entrer dans l'auberge, attendez dehors et vous verrez qu'il ne sort jamais ...
Par Amaranthe le 1/11/2002 à 23:17:36 (#2458941)
Par mobidique le 1/11/2002 à 23:47:57 (#2459152)
Par Amaranthe le 2/11/2002 à 11:21:18 (#2460808)
Chez moi ca marche, y'a pas d'raizon !
Par LeProctophantasmiste le 2/11/2002 à 13:20:23 (#2461523)
Par eMRaistlin le 2/11/2002 à 14:29:04 (#2462027)
Par mobidique le 2/11/2002 à 15:21:59 (#2462388)
Par mobidique le 2/11/2002 à 15:35:57 (#2462487)
EDIT ... ben même avec un bouseux dans l'auberge ça marche pas ... Amaranthe, le module tu le fais en 2 minutes ... tu prends une zone rural standard tu met une auberge dessus tu colles 2 portes tu les tasg RuralToAubergeEst et RuralToAubergeOuest puis tu fais une zone de city intérior de 2 par 4, tu colle dedans 2 Inn exit avec leur porte AubergeToRuralEst et AubergeToRuralOuest tu fais tes liens de porte à porte tu colle des waypoint de bouseux à l'exterieur tu continue à l'intérieur tu colles un NPC à l'exterireur et aprés tu charges ça en jeu et banzaï ... dis nous si en faisant ça ET EN NE SUIVANT JAMAIS TON NPC DANS L'AUBERGE ton NPC ressort ou pas ... ET si tu le fais mets ton module en DL qu'on voit ça ...
Par sounéva le 2/11/2002 à 17:14:48 (#2463091)
en tout cas la nuit aprés sa ronde il rentre bien et ressort au matin pour recomencer sa ronde.
ca doit venir du fait que les événement nuit/jour sont appliquer sur toutes les zones d'un mod....
LeProctophantasmiste est sur la bonne voie......
Par LeProctophantasmiste le 2/11/2002 à 17:29:20 (#2463186)
Je suis désolé mais je vais me citer moi même :D.
modifié nw_io_generic pour qu'il me prévienne à chaque fois qu'un waypoint est atteint et me donne l'itinéraire prévu (on pouvait s'en douter mais ce dernier est parfaitement normal , le PNJ s'arrête simplement alors que sa queue d'action est pleine
Rebuild ou pas ceci est un bug je m'explique:
Dans ma version modifiée je fais un SendMessage à chaque fois qu'un ActionMoveTo... est mis dans la queue et un autre à chaque fois qu'un waypoint est atteint. Tous les mouvements pour un cycle sont correctement entrés dans la queue, mais leur exécution s'arrête tout d'un coup, sans raison, si un joueur rejoint le NPC dans la zone où il s'est arrêté, ce dernier reprend sa route, sans que WalkWaypoints ne soit rappelé, donc sa queue était pleine, mais en attente pour une raison mystérieuse.
A mon avis c'est lié au très vieux bug, toujours présent, du PNJ qui va faire une excursion à la limite de la zone quand on lui fait franchir une area transition avec walkwaypoints, et alors qu'on ne lui a rien demandé.
Par sounéva le 2/11/2002 à 18:13:31 (#2463477)
une zon campagne 4*4 avec une auberge
une zone intérieur de ville 2*2
1er teste:
je veut que mon pnj rentre dans l'auberge d'un coté pour resortir de l'autre
résultat :
il empreinte toujours la même porte:doute: engros y contourne l'auberge aprés etre passer aux waypoint 1 et 2 rentre par la porte principale de l'auberge et ressort par la même porte aprés erte passer au waypointe 3 et 4 qui sont a l'intérieur puis va en bordure de zone ????? et au waypointe 5, rerentre dans l'auberge et ne ressort plus ???
aprés vérification en rentrant dans l'auberge il était coincé par une table....
2em teste :
je refait mon intérieur de ville en me servant uniquement de couloir afin d'éviter qu'il soit bloquer par un quelconque objet. et je déplace mais waypoints afin qu'il rentre et ressort par cette même porte qu'il aime tant.(ne voulant a priorie pas empreinter la porte de dérrière l'auberge)
résultat :
mon pnj va au point 1, 2 rentre dans l'auberge et va au point 3,4 ressort et reva en bordure de zone ???????puis au point 5, rerentre point 4,3 ressort ->bordure de zone ????? ,point 2,1 puis
2 rrentre dans l'auberge ......ect......
tout sans que je le suive donc CA MARCHE par contre le faite qu'il va en bordure de zone a chaque qu'il ressort de l'auberge me laisse perplexe !!!!!!!!
Par mobidique le 2/11/2002 à 19:47:56 (#2464183)
il empreinte toujours la même porte
[...]
je refait mon intérieur de ville en me servant uniquement de couloir afin d'éviter qu'il soit bloquer par un quelconque objet. et je déplace mais waypoints afin qu'il rentre et ressort par cette même porte qu'il aime tantJ'avais aussi remarqué qu'ils empruntaient toujours la même porte :rolleyes: Je vais essayer de faire comme toi pour voir ...
Par mobidique le 2/11/2002 à 23:17:53 (#2465762)
Par sounéva le 3/11/2002 à 0:22:10 (#2466112)
et a tu remarquer si ton pnj aller en bordure de zone ?
y doit s'imaginer une direction qui l'améne a son waypoint en ressortant puis arriver en bordure il "rebondit" et va a sont waypoint...........affaire a suivre en tout cas.
Par mobidique le 3/11/2002 à 0:56:06 (#2466271)
Par mobidique le 22/11/2002 à 12:54:32 (#2618294)
JOL Archives 1.0.1
@ JOL / JeuxOnLine