Tu es sur la bonne piste Xelone... sauf que les PJ ne peuvent pas avoir de "faction".
Mais on peut, à sa connexion, vérifier l'alignement du PJ et selon cet alignement rendre les PNJ de la faction "bien" ou ceux de la faction "mal" agressifs envers le PJ.
Donc, il faut que tout les PNJ de type bien fassent parti d'une faction unique et idem pour les PNJ du mal avec une autre faction.
Puis mettre dans le OnClientEnter:
void main()
{
object oPJ = GetEnteringObject();
if (GetAlignmentGoodEvil(oPJ) >= ALIGNMENT_GOOD)
{
AdjustReputation(oPlayer,GetObjectByTag("PNJEvil"),-100);
AdjustReputation(oPlayer,GetObjectByTag("PNJGood"),100);
}
else if (GetAlignmentGoodEvil(oPJ) <= ALIGNMENT_EVIL)
{
AdjustReputation(oPlayer,GetObjectByTag("PNJEvil"),100);
AdjustReputation(oPlayer,GetObjectByTag("PNJGood"),-100);
}
else //faudrait peut être faire quelque chose pour les personages neutres, non?
{}
}
Ce p'tit script permettra à toute la faction des PNJ de tags "PNJGood" et "PNJEvil" (soit on adapte le script, soit on créé les PNJ, au choix
) de devenir respectivement alliée et ennemie du PJ. SetStandardFactionReputation ne fonctionnerai pas ici parce que les factions qu'on doit utiliser ici ne sont pas standards.
Mais dans un tel monde, je crois que je garderais mon alignement habituel: Chaotique Neutre (purement égoïste) pour ne pas avoir trop d'ennemis. Voir même neutre strict pour être sur de pas être embêté même si on vérifie l'alignement LoyalChaotique...
On pourrait aussi compléter avec une petite boucle qui vérifierais les autres PJ pour mettre en ennemis tout les PJ ayant un alignement opposé...
On pourrait même adapter facilement pour que ce script corresponde non plus à l'alignement mais à un objet qu'on aurait obtenu en ayant choisi un camp en parlant à un PNJ... et revoilà le script de "faction" qui fut déjà demander il y a quelques temps (et qu'on m'a même redemandé en privé par la suite
)