Donc je ne peux que te conseiller de prendre celui que tu comprends le mieux)
C'est pas faux, tu fais comme tu veux MadCat.
Ceci dit, quand tu cliques sur un PNJ, la valeur de GetListenPatternNumber est -1.
Ton script est à peu près equivalent à mettre:
SetLocalInt(OBJECT_SELF,"int",1);
dans tous les scripts affectés à un PNJ, alors que tu veux juste que ce "int" soit initialisé On Spawn.
Bien sûr ça va marcher, mais c'est pas vraiment utile, et ça peut avoir des effets secondaires. Le jour ou tu décides de faire passer la valeur de "int" à 2 au cours d'une conversation avec un PJ tu as un bug parce que le OnHeartbeat te la fait repasser à 1.
Le code que tu écris ne devrais jamais faire ni plus ni moins que ce qu'il est sensé faire, pour une raison au moins: sans cela, il n'est pas réutilisable. Ce genre de raisonnement "C'est pas grave, je le laisse, dans ce contexte ça marche." c'est le meilleur moyen de se retrouver un jour avec un bug absolument incompréhensible.
Tu veux que je te donne un exemple?
décommente:
//SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET);
dans le OnSpawn des prêtresses (bon tu as foutu en l'air une partie de L'IA de combat en supprimant le script Bio de toute façon) , maintenant attaque un de ses alliés , le message va apparaître au dessus de sa tête.
Enfin ce que j'en dis hein...