Un/des pnjs qui en suive un autre ?...

Répondre
Partager Rechercher
Une petite interrogation, j'ai idée de faire un pnj "chef" qui soit suivit de sa garde rapprochée personnelle. J'aimerai que lorsque l'on donne un ordre via dialogue au chef ou que celui-ci combatte, celui-ci se déplace suivit de sa garde ou qu'il aille.

Réalisable ou pas avec nwn2 ?

Réalisable sans trop de souci je pense pour la partie locomotion : il suffit d'attacher un script custom au heartbeat de tes gardes ( cf. les hooks ajoutés dans NWN1 XP2 pour tous les scripts )

Là dedans tu mets ( en pseudo code )

Code PHP:


// Est-ce que je suis près du boss ?

  // Non. Soit je me déplace, soit je me téléporte ( il peut avoir changé de zone )

// Est-ce qu'il est en combat ?

  // Oui. J'ajoute dans ma liste d'action le combat contre une cible 
Ton problème ce sera : comment déterminer la cible que combat le boss ? On a peu d'accès à la liste des actions d'un PNJ en cours et encore moins aux cibles des actions.
Va sur le NWN lexicon (trouvable par une recherche google si tu n'as pas le lien)

Ensuite tu choisis dans les menus : Tutorial/Advanced scripting/graciano lenzi:custom walkwaypoints et là tu tombes sur un exemple d'une caravane avec des gardes et un leader et avec les explications pour que les gardes suivent le leader et attaquent.
@Laban: Pour les réactions des suivants, je pense laisser faire les factions, car de toute manière les rencontres seront très simples (pas de batailles rangées lol), du genre : un couloir, un/klks monstre(s), le chef se déplace au combat et entraine ses soldats a sa suite, les soldats ne sont pas copains avec les monstres et donc baston! .

Ca sera pas trop lourd si au maxi un ou deux groupe du genre se balades sur la map pour l'heartbeat ?

@krighaur: Vais aller voir ton info de plus prêt

Ps: pourrais-tu envoyer le lien vers la page en question, parce bizarrement je ne la trouve pas ... ou alors c'est pas le même site ^^.



Sinon, j'ai commencé un truc de ce genre là dans le script récurrent des gardes, mais ca ne donne rien:

Code:
void main()
{
object oMaster=GetObjectByTag("chef");

	{
    object oMaster = GetMaster();

    ClearAllActions();
    ActionForceFollowObject(oMaster);
	}
}
Krighaur, le tutorial que tu indiques est bien mais il n'est pas dynamique : il faut ajouter des waypoints qui vont être utilisés par la locomotion.

Or je présume que le mieux pour MaJo serait un système qui fasse que -où que soit le PNJ, les gardes sont autour de lui-.

Pour le heartbeat, je ne pense pas que ce soit trop lourd. En effet si tu regardes la pile complète d'actions d'un heartbeat standard, tu verras qu'elle est affreusement chargée ( voir la function DetermineCombatRound ).

Maintenant, la question qui se pose c'est dans quelle mesure tu veux que ton script remplace partiellement ou totalement le script par défaut.
Tu as raison Laban

Pour MaJo : je pense que le problème est que dans ton script tu définis 2 fois oMaster, et la 2ème fois avec GetMaster le script cherche qui contrôle les gardes. Or le Chef n'est pas le Master des gardes, sauf si tu le contrôle en tant que DM.
Bah ne connaissant pas le fonctionnement des scripts par défaut, je ne peux pas trop te répondre Laban

J'ai juste idée que les gardes suive le pnj "chef" ou qu'il soit

@krighaur : Me semble déjà avoir testé en mode "possession mj", pour voir si ils suivaient, il ne suis qu'a un coup de décallage à chaque possession/dépossession du pnj . Le pj mj doit lui servir de référence pour savoir ou aller, la position du chef en lui-même ne semble pas l'affecter par-contre.

Même chose si le chef se déplace à un waypoint pour tester, il s'en va mais les gardes restent sur place

Code:
#include "hench_i0_ai"

void main()
{
object oMaster=GetObjectByTag("chef");

	{
    object oWho = GetMaster(oMaster);

    ClearAllActions();
//    ActionForceFollowObject(oWho);
	HenchMoveToMaster(oWho);
	}
}
Petite question, je suppose qu'il doit y avoir une variable de stocké pour qu'un henchmen se rappel qui est son chef non ? comment ca marche ? C'est une bone idée ou pas de prendre ce système ?
Je ne m'aventurerai pas dans cette direction là, les henchs étant adaptés au joueur, pas aux PNJs. Ca peut marcher, mais il y a de grande chance que ce ne soit pas le cas

Il faudrait que je me penche sur ton problème mais je préfère avancer sur mon programme de crossarea... Peut etre la semaine prochaine ?
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés