J'explique mon but :
Je veux faire un jeu de Loterie, un peu comme le loto, ou le PJ entrerai ses chiffres lors d'une conversation avec un PNJ. Ensuite je veux que le PNJ lui réponde Lesquels il vient de jouer, pour confirmer, et il pourrai les lui redonner à nimporte quel moment.
Dans le OnSpawn du PNJ j'ai mis :
SetListenPattern(OBJECT_SELF, "*n,*n,*n,*n,*n", 2003);
Cela implique qu'on doive entrer les numéros séparés par des virgules, sans espaces (plus simple pour gerer les substring apres.)
Dans le OnConversation de ce PNJ :
if (GetListenPatternNumber() == 2003)
{
string s01 = GetMatchedSubstring(0); // 1er nombre
string s02 = GetMatchedSubstring(2); // 2eme nombre
string s03 = GetMatchedSubstring(4); // 3eme nombre
string s04 = GetMatchedSubstring(6); // 4eme nombre
string s05 = GetMatchedSubstring(8); // 5eme nombre
// les cinq nombres joues
string s10 = s01 + ", " + s02 + ", " + s03 + ", " + s04 + " et " + s05;
object oModule = GetModule();
object oPC = GetPCSpeaker();
SetLocalInt(oPC, "jeu_loto", 10); // Le PJ verifie s'il a joue
// Variable Locale contenant les numeros joues
SetLocalString(oModule, "nums", s10);
// Custom Token pour la conversation
AddCustomToken(202, "{modstring(nums:}");
}
La variable "loto joue" est juste la pour permettre au PNJ de verifié si on a effectivement joué, et donc pour nous repeter les nombres.
La phrase suivante du dialogue est "Vous avez joué <CUSTOM202>" ou quelque chose d'approchant. cependant comme je disais mon problèeme est qu'il ne l'affiche pas la premiere fois que l'on joue, et à chaque fois il retourne les nombres que l'on a joué lors de la derniere conversation (pas ceux que l'on vient d'écrire).
J'éspère avoir été assez claire. Azrael, je vais jeter un coup d'oeil, ça m'a l'air pas mal ton truc.