GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: LePtitClown le 24 Avril 2009, 20:36:50
-
Slt
Je cherche à réaliser un petit script qui me permettrait de choisir un joueur connecté au hasard grâce à son id
Mais je ne sais pas comment faire
J'ai entendu parler de "random" mais je ne sais pas à quoi cela peut me servir ni à quoi elle sert
Si quelqu'un peut m'aider, merci de répondre
A++ :)
-
j'avais trouver sa une fois je cherche et te dit sa
voila dans ta commande et ou timer met ceci
new id = GetRandomID();
voici le code en question
stock GetRandomID()
{
new bool:connected[MAX_PLAYERS] = false, amount = 0;
for(new i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i))
{
connected = true;
amount++;
}
if(amount == 0) return -1;
new rand = random(amount), done = 0;
for(new i = 0; i < MAX_PLAYERS; i++)
if(connected)
{
if(done == rand) return i;
done++;
}
return -1;
}
credit boylett
-
un random(GetMaxPlayers())
dans une boucle do while qui verifie que l'id choisi au hasard est connecter
Vla une ebauche que j'ai fait en vitesse pas sur que sa marche
RandomPlayer()
{
new playerid,nbconnect;
for(new i=0;i<GetMaxPlayers();i++)
{
if(IsPlayerConnected(i)) nbconnect++; // On compte le nombre de personne connecter
}
if(nbconnect > 0) // Si ya des personne connecter
{
do
{
playerid = random(GetMaxPlayers()); // On choisi un id au hasard entre 0 et le nombre maximum de joueur defini dans le CFG
}
while(!IsPlayerConnected(playerid)); // Si l'id choisi au hasard n'est pas connecter on recomence la boucle
return playerid; // une fois un id de joueur connecter trouver on le renvoi
}
return INVALID_PLAYER_ID; // Si aucun joueur de connecter on renvoi INVALID_PLAYER_ID qui equivaut a la valeur 255
}
Tu doit appeler la fonction de cette maniere:
new randomid = RandomPlayer();
-
Merci pour vos réponses
Désolé mais je ne comprend strictement rien ???
Pourriez vous précisez vos réponses, car je sais pas du tout où je dois mettre ça, j'ai essayé de le mettre dans oneplayercmdtext mais ça ne compile pas que dois je faire exactement?
PS: ne vous inquiétez pas les crédits seront respectés
A++ :D
-
Je vient d'editer mon post pour mettre quelque commentaire
-
Merci à toi mais je dsoi mettre ça dans quel "public"??
A++
-
C'est une fonction donc tu la met tout en bas de ton script, et ensuite tu l'apel de la facon qui est expliquer dans le post
new randomid = RandomPlayer();
Tu met se bout de code la ou t'en a besoin
-
Désolé mais je ne comprend vraiment pas :(