24.08.2013, 22:22
No entiendo, creo que te refieres a esto:
Edit:
Encontrй esta funciуn, quizб te valga
EDIT 2:
Ah lo de detectar si ya existe, es fбcil, pero ya te aseguro que debe ser difнcil de que se repita al ser una Float.
Retorna 1 si se repite, 0 si no se repite.
Esa es, pero ya te digo que es casi imposible de que se repita, un ejemplo serнa:
pawn Код:
new Float:NumerosRandom[MAX_PLAYERS];
//
//este random, darб desde un numero float al azar desde 0.0 hasta 10.0.
NumerosRandom[playerid] = float(random(100000)/10000);
//y luego no se a que te refieres si ya existe...
if(NumerosRandom[playerid] == ???)
Edit:
Encontrй esta funciуn, quizб te valga
pawn Код:
// by ******
frandom(Float:max, Float:min = 0.0, dp = 4)
{
new
// Get the multiplication for storing fractional parts.
Float:mul = floatpower(10.0, dp),
// Get the max and min as integers, with extra dp.
imin = floatround(min * mul),
imax = floatround(max * mul);
// Get a random int between two bounds and convert it to a float.
return float(random(imax - imin) + imin) / mul;
}
//Ejemplos:
new Float:rand = Float:frandom(5.5);
EDIT 2:
Ah lo de detectar si ya existe, es fбcil, pero ya te aseguro que debe ser difнcil de que se repita al ser una Float.
pawn Код:
stock SeRepite(Float:var)
{
for(new i = 0; i != GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(NumerosRandom[playerid] == var)
{
return true;
break;
}
}
}
return false;
}
Esa es, pero ya te digo que es casi imposible de que se repita, un ejemplo serнa:
pawn Код:
volver:
new Float:rand = Float:frandom(5.5);
if(SeRepite(rand))
{
goto volver;
}