SA-MP Forums Archive
Ayuda Variable Random.... - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Ayuda Variable Random.... (/showthread.php?tid=459838)



Ayuda Variable Random.... - OTACON - 24.08.2013

Buenas a todos, necesito ayuda con esto , estoy medio confuso :S XD.

kiero darle una variable a los p layers con un numero random pero kiero ke sea unico , y kiero ke el numero se guarde con . (puntos) entre medio.

si me pueden ayudar se los agradezco.
Desde ya muchas Gracias.

pawn Код:
new NumerosRandom[MAX_PLAYERS];
COMMAND:ejemplo(playerid, params[]) {
    NumerosRandom[playerid]=random(999.999.999);
    return true;
}



Respuesta: Ayuda Variable Random.... - adri1 - 24.08.2013

Lo estбs declarando como un nъmero entero, debe de ser una variable Float.

Saludos.


Respuesta: Ayuda Variable Random.... - OTACON - 24.08.2013

Quote:
Originally Posted by adri1
Посмотреть сообщение
Lo estбs declarando como un nъmero entero, debe de ser una variable Float.

Saludos.
si, eso fue un descuido mio lo tengo asi.

en lo ke estoy confuso es como detectar si ya existe :S



Respuesta: Ayuda Variable Random.... - adri1 - 24.08.2013

No entiendo, creo que te refieres a esto:
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;
}
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 Код:
volver:
new Float:rand = Float:frandom(5.5);

if(SeRepite(rand))
{
goto volver;
}



Respuesta: Ayuda Variable Random.... - OTACON - 24.08.2013

ya esta, era con un bucle y un if XDD, por eso dije ke estaba mediio confundio. jeje.

Gracias por la ayudar, gracias por la funcion .
Solucionado .


PD: tengo ke dejar el porro :P xDD


Respuesta: Ayuda Variable Random.... - adri1 - 24.08.2013

Bueno ahн te deje la funciуn en el Edit 2, por si acaso.

Saludos, me alegro por haberte ayudado.