GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Blackdown le 15 Février 2012, 17:29:02

Titre: Récupérer l'ID d'un joueur
Posté par: Blackdown le 15 Février 2012, 17:29:02
Salut à tous !

 J'ai besoin d'aide pour un tout petit système de rien du tout

 J'aimerai pouvoir trouver l'ID d'un joueur à partir d'un variable, c'est à dire, que dans les informations des joueurs j'ai un chiffre variable qui se sauvegarde mais qui change à chaque connection, j'aimerai faire en sorte que quand je tape
 /getid 57 par éxemple, la commande me renvoie: Inconnu 57, ID: 6 mais là je coince, je ne sais pas comment faire en sorte que le 57 ce soit mon chiffre aléatoire et surtout qu'il puisse me renvoyer au joueur qui porte ce nombre aléatoire...

Explication avec un scène:

Par exemple, je traine dans la rue et je Dm quelqu'un, cette personne voit au dessus de ma tête:

 Inconnu (84)

 J'aimerai qu'un admin puisse faire /getid 84 pour avoir son ID samp ^^
Titre: Re : Récupérer l'ID d'un joueur
Posté par: Xartrick le 15 Février 2012, 17:41:56
Ton système n'est pas très précis, mais cela devrait donner ceci (si j'ai bien compris):

public OnPlayerDeath(playerid, killerid, reason)
{
    new sString[128]           = "",
        sName[MAX_PLAYER_NAME] = "";
   
    GetPlayerName(killerid, sName, sizeof(sName));
    format(sString, sizeof(sString), "%s (%i)", sName, killerid);
    SendClientMessage(playerid, 0xFFFFFF, sString);
}
Titre: Re : Récupérer l'ID d'un joueur
Posté par: Blackdown le 15 Février 2012, 17:43:39
Non ce n'est pas du tout ça ;)

Je m'explique mieux:

Sur le serveur je m'appelle Jayceon McKinley, mon ID est 6, mais sur le serveur, les gens me voient sous le nom de Inconnu et sous l'ID 84, je veux faire en sorte que quand je fais /getid 84, la commande me dise:

 Jayceon McKinley ID: 6
Titre: Re : Récupérer l'ID d'un joueur
Posté par: Xartrick le 15 Février 2012, 17:50:21
Pour cela, tu fais un tableau bidimensionnel qui donne sur l'indice réel et le second, sur l'indice factice.
Titre: Re : Récupérer l'ID d'un joueur
Posté par: Blackdown le 15 Février 2012, 18:06:17
Oula, j'ai pas compris, tu as un exemple de script pour ceci ?
Titre: Re : Récupérer l'ID d'un joueur
Posté par: Xartrick le 15 Février 2012, 18:11:05
Oublie l'idée d'un tableau bidimensionnel, un tableau simple peut suffir.

new iIndex[MAX_PLAYERS];
À partir de là, à la connexion, tu attribue un indice à ce joueur et le tour est joué (n'oublie pas de vérifier si l'indice que tu met n'existe pas déjà).

iIndex[playerid] = 1337;
Titre: Re : Récupérer l'ID d'un joueur
Posté par: Blackdown le 15 Février 2012, 18:46:34
Le chiffre aléatoire est déjà donné au joueur, moi je veut que quand on tape /getid lechiffrealéatoired'unjoueur on tombe sur son vrai ID (celui inscrit quand on appuie sur tabulation)
Titre: Re : Récupérer l'ID d'un joueur
Posté par: Xartrick le 16 Février 2012, 07:14:08
Et bien, tu stock le nombre dans ce tableau, et ensuite, tu le parcourt !

new i   = 0,
    iID = 1337; // L'indice factice à trouver

for (i = 0; i < MAX_PLAYERS; i++)
{
    if (iArray[i] == iID)
    {
        return i; // On a l'indice du joueur.
    }
   
    return -1; // Pour dire que l'on ne l'a pas.
}
Titre: Re : Récupérer l'ID d'un joueur
Posté par: Blackdown le 16 Février 2012, 11:49:30
Problème reglé, j'ai eu une autre réponse.

Merci quand même ;)
Titre: Re : Récupérer l'ID d'un joueur
Posté par: cristab le 16 Février 2012, 12:18:17
est comme le but d'un forum d'entre aide et de poser une question afin d'avoir une reponse il aurait etait sympas de ta part de partager la solution que tu as eu pour que les personnes qui ont tenter de t'aider ai une reponse et ne reste pas sur un "echec"