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
-
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 ^^
-
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);
}
-
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
-
Pour cela, tu fais un tableau bidimensionnel qui donne sur l'indice réel et le second, sur l'indice factice.
-
Oula, j'ai pas compris, tu as un exemple de script pour ceci ?
-
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;
-
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)
-
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.
}
-
Problème reglé, j'ai eu une autre réponse.
Merci quand même ;)
-
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"