16.11.2014, 01:34
pawn Код:
connectedGetRandomID()
{
new RandomID = random(GetMaxPlayers()), total_players_count;
for(new i; i < GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
total_players_count ++;
if(IsPlayerConnected(RandomID))
{
return RandomID;
}
}
}
if(total_players_count > 1) // si hay mбs de un conectado, y el ID del random estб offline, se repite
{
return connectedGetRandomID(); // se repetirб hasta encontrar un random que estй conectado
}
else // caso contrario (hay solo un user, retorna con la ID del ъnico user online)
{
for(new i; i < GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
return i;
}
}
}
return -1;
}
pawn Код:
public OnGameModeInit()
{
SetTimer("FUNCION_RANDOM_EJEMPLAR", 10000, true); // cada 10 seg. se sortea el random
return 1;
}
forward FUNCION_RANDOM_EJEMPLAR();
public FUNCION_RANDOM_EJEMPLAR()
{
new msg_char[150], rand_id = connectedGetRandomID();
if(rand_id != -1) // si no hay error al realizar el random
{
format(msg_char, sizeof(msg_char), "ID: %i (conectado) ha ganado el random", rand_id);
}
return SendClientMessageToAll(-1, msg_char);
}