La variable locale est emmagasinée "dans" le joueur, donc tu peux déjà la faire modifier par ton dialogue de pnj à ta guise sans avoir à la faire passer par une autre variable.
La manière que je vois pour faire du "aléatoire" est de changer ta variable locale pour un nombre compris entre "min" et "max". Exemple, ça te donnerait un chiffre entre 1 000 et 100 000. Les chances pour que deux joueurs aient le même code sont faibles...
Pour que ton code soit vraiment unique, il faut passer par les variables serveur. C'est un long procédé et surtout une longue suite de branches conditionnelles.
Il faut:
- mettre une variable serveur qui s'augmente à chaque fois que l'event déclencheur "à la première connexion" s'active;
- donner une variable locale au joueur qui vient de se connecter pour la première fois tout en augmentant de +1 la variable serveur;
- quand tu auras besoin de savoir quel chiffre est relié à quel joueur, tu pourras rappeler ta variable locale.
Ainsi, couplé avec ma première technique de variable locale aléatoire, tu pourras repérer le bon nombre sur le bon joueur.
Ex.: joueur 3 avec comme nombre 5984.
Je sais que ce n'est pas clair, car je n'ai pas mentionné que pour ce faire, ça requière une large branche de variables conditionnelles. Mais au moins, tu as des pistes de départ.