GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: yogame le 19 Juin 2013, 19:47:53

Titre: Nombre aléatoire en rapport avec l'id du jouer
Posté par: yogame le 19 Juin 2013, 19:47:53
Bonsoir/Bonjour

je voudrais savoir comment faire un numero aléatoire qui est en rapport avec l'id du joueur c'est-a-dire que quand le jouer est en nomoff il y a une numero aléatoire comme par exemple 2039 qui est en rapport avec l'id du joueur, par exemple que quand un policier taper ce numero aléatoire /policier arreter 2039 c'est comme si il entrer l'id du joueur ( l'id du joueur = 1 ).

J’espère que vous aurais compris se que je voulais :) Merci d'avance

Titre: Re : Nombre aléatoire en rapport avec l'id du jouer
Posté par: Ssk le 19 Juin 2013, 20:32:59
Je n'ai absolument rien compris, essaye de mieux expliquer.
Titre: Re : Nombre aléatoire en rapport avec l'id du jouer
Posté par: Gzsume le 19 Juin 2013, 20:38:57
En gros, tu veux un id secondaire aléatoire mais propre à chaque joueur ?
Titre: Re : Nombre aléatoire en rapport avec l'id du jouer
Posté par: spiirou le 19 Juin 2013, 20:41:18
une variable genre auxId[MAX_PLAYERS];
un random à la connexion

et après c'est toi qui dois penser aux petites subtilités à la deconnexion par exemple

 :wink:
Titre: Re : Nombre aléatoire en rapport avec l'id du jouer
Posté par: Gzsume le 19 Juin 2013, 21:03:30
Et lors de l'affectation d'une valeur, penses à une boucle qui vérifie qu'elle n'est pas déjà attribuée à un autre joueur (c'est aléatoire donc on sait jamais).
Titre: Re : Re : Nombre aléatoire en rapport avec l'id du jouer
Posté par: yogame le 20 Juin 2013, 10:54:30
En gros, tu veux un id secondaire aléatoire mais propre à chaque joueur ?

Oui voila mais seulement quand le joueur met une cagoule
Titre: Re : Nombre aléatoire en rapport avec l'id du jouer
Posté par: Aegoss le 20 Juin 2013, 10:58:30
Tu trouves un commande pour ajouter un nombre aléatoire qui se déclenche quand il met la cagoule. Et une commande pour le retirer se nombre quand il la retire.
Titre: Re : Nombre aléatoire en rapport avec l'id du jouer
Posté par: Xartrick le 21 Juin 2013, 16:36:47
À ce que je comprends, tu veux un indice alternatif permettant d'identifier le joueur.
Sympa comme méthode pour éviter que les gens regarde le tableau des scores pour arrêter tel ou tel joueur.

Alors, je vois ça comme un tableau de la taille du nombre de joueur maximum.
Les joueurs commencent à l'indice 0 (Starting IDs - SA-MP Wiki (http://wiki.sa-mp.com/wiki/Starting_IDs)).
Si dans le tableau, la valeur est -1, le joueur n'est pas caché, sinon, il est caché avec la valeur contenu.


new playersHide[MAX_PLAYERS] = {-1, ...};
Après, si un joueur utilise la commande pour se cacher, s'il n'est pas caché, tu génère ton nombre et tu le met dans le tableau à la bonne place:

playersHide[playerid] = randomNumber;
S'il est déjà caché, tu met dans ce cas -1.

Après, à toi de faire ce que tu veux de ces valeurs.
Titre: Re : Nombre aléatoire en rapport avec l'id du jouer
Posté par: yogame le 21 Juin 2013, 17:17:34
Bonjour,
 Sa donne donc ceci ?

if(strcmp(cmd, "/cagoule", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pLevel] < 5)
    {
        SendClientMessage(playerid, COLOR_USAGE, "  Vous devez être niveau 5 pour pouvoir être nomoff.");
        return 1;
    }
    new playersHide[MAX_PLAYERS] = {1, ...};
    new randomNumber = random(2000);
    playersHide[playerid] = randomNumber;
    CagouleUse[playerid]=1;
    ShowPlayerNameTagForPlayer(playerid, i, 1);
SendClientMessage(playerid, COLOR_OOC, "Vous êtes avez mis une cagoule.");
}
Titre: Re : Nombre aléatoire en rapport avec l'id du jouer
Posté par: Xartrick le 22 Juin 2013, 13:54:02
La variable doit être globale pour commencer.
Titre: Re : Nombre aléatoire en rapport avec l'id du jouer
Posté par: S!m le 23 Juin 2013, 14:50:00
Salut,

n'oublie pas de décaler les valeurs vers le haut si tu veux éviter qu'un ID alternatif soit le même que celui d'un joueur...

new nombre_hasard= random(TA_PLAGE) + LIMITE_INFÉRIEURE;

sans oublier de modifier à nouveau la valeur de la variable lorsque le joueur retire sa cagoule...

Bonne chance

++Sim++
Titre: Re : Nombre aléatoire en rapport avec l'id du jouer
Posté par: yogame le 23 Juin 2013, 16:16:54
Merci tout le monde ! :D