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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

PNJ amical qui devient agressif

Par Morethil le 24/10/2002 à 3:17:51 (#2394488)

Une petite question avant de me coucher :)
J'ai un PNJ-A amical avec les PJ (Faction 50 avec eux) qui est a cote de PNJ-H hostile au PJ, mais pas au premier PNJ-A.

Dans mes tests, quand je rentre dans le champ de vision des PNJ-H avec un PJ (en partie normale, solo, pour tester) ceux-ci m'agresent, je me defend, et le PNJ-A commence lui aussi a lancer des sorts.
Il lance des sorts de défense, des invocation, et il me semble aussi des soins sur les PNJ-H.
Donc le programme semble indiquer a mon PJ que ce PNJ-A est agressif, du coup avec des armes a distance par exemple (ou encore avec le don enchainement) il arrive une fois sur 2 que le PJ se mette a attaquer le PNJ-A, le rendant cette fois totalement agressif.
Vu qu'il est censé converser après avec les PJ, sauriez vous résoudre ce problème autrement qu'en touchant aux factions ? Ce qui voudrait dire que ce PNJ a une faction pour lui seul.

PS : J'ai deja 4 factions qui se rencontrent, PJ inclus, j'avoue que ca m'ennuierait de devoir en inclure une 5eme :)

PSS : Au passage --> Si un PJ attaque un membre d'une faction non-hostile (donc devient hostile avec ce membre) passera-t-il automatiquement hostile avec tous les autres membre de la faction ? (dans le champ de vision ? dans la zone ? dans le module ? la campagne ?! (oO) Non, pas tous nwn quand même ?!)
Blague a part, entre vision et zone je ne sait pas, je me pose aussi la question pour le module.

Sur ce, bonne nuit :cool:

Par eMRaistlin le 24/10/2002 à 10:01:45 (#2395248)

Dans ce cas, tu agis sur la personnal reputation du NPC, au lieu d'agir sur la faction entiere...

Par Morethil le 24/10/2002 à 12:53:06 (#2396434)

Je sait pas faire ça... Bien, je crois que je vais devoir créer une faction pour ce PNJ, en esperant que ça marche :)

Par coolstar le 24/10/2002 à 13:17:07 (#2396599)

Hi!


Je constate que je croise souvent le terme Réputation... qu'en est-il exactement ? cela est-il un mécanisme pour gérer la "renomée" et donc les interractions extra-Factions ? où ça se trouve et comment ça se gère ? un exemple serait même le bien venu (avec commentaire si possible)... :D

Merci... :merci:


...

Par eMRaistlin le 24/10/2002 à 14:33:16 (#2397220)

Bizarre, j'avais posté une reponse, mais ca a pas marché...(sigh!)


Bon, colle ca dans le script OnPhysicalAtk et dans le script OnSpellCastAt de ton NPC :


//...reste du script...
object oAtk = GetLastHostileActor();
object oVictime = OBJECT_SELF;
int nRepVoulue = 50 //ou ce que tu veux dans onglet avancé des factions
int nRep = GetFactionAverageReputation(oVictime,oAtk);

if (GetIsPC(oAtk))
{
AssignCommand(oAtk,ClearAllActions));
AdjustFactionReputation(oAtk,oVictime,nRepVoulue -nRep);
ClearPersonalReputation(oAtk,oVictime);
}


CoolStar, j'essairai de te repondre plus tard, en fonction de ce que j'en sais (mais la, j'ai grave pas le temps :mdr: :mdr: :mdr: )

Par coolstar le 24/10/2002 à 16:11:44 (#2397970)

k! ;)

Par Morethil le 24/10/2002 à 18:08:58 (#2398769)

Oki, merci pour le script :) Je te dis si ça marche après les tests.

JOL Archives 1.0.1
@ JOL / JeuxOnLine