GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Robi222 - 2014. szeptember 23. - 09:57:35

Cím: Random 10 számjegy generálás
Írta: Robi222 - 2014. szeptember 23. - 09:57:35
Hali!
Van egy random szám generátorom csak nem jól megy. Úgy akarom hogy az elsõ 3 számjegy mindig 555 legyen,a maradék 7 szám meg random legyen,azt kéne belerakni, hogy véletlenül ne generáljon olyant amilyen már van.
Illetve,ezt mentette le a MySQL táblába: \"1260695375\"
Tehát nem 555-el kezdõdik ahogy én azt szeretném.
Mi lehet a gond ?
Itt a parancs ami kigenerál egy számot:
 

CMD:telefonvesz(playerid, params[])
{
new telSzam[128];
if(pInfo[playerid][pTelefon] == 0)
{
pInfo[playerid][pTelefon] = 1;
SendClientMessage(playerid,COLOR_WHITE,\"(( Sikeresen vettél egy telefont! ))\");
format(telSzam, sizeof(telSzam),\"555%d\",randomEx(100,9999999));
pInfo[playerid][pTelefonSzam] = strval(telSzam);
}
else
{
SendClientMessage(playerid,COLOR_ULTRARED,\"(( Neked már van telefonod! ))\");
}
return 1;
}

 
Itt pedig a stock rész:
 

stock randomEx(min, max)
{   
    //Credits to y_less   
    new rand = random(max-min)+min;   
    return rand;
}

 
Elõre is köszi.
Cím: Random 10 számjegy generálás
Írta: Kovacs_Richard - 2014. szeptember 23. - 13:24:13
[samp]new telSzam[128];[/samp]
nem kell 128 cella...
555+7 szám+szöveg végi \\0 = 11 karakter
legnagyobb int:   2147483647
általad generált:   5551234567
(pontosabban te 100 és 9999999 között generálsz számot szóval lehet 555100 is a szám...)
6 számjeggyel még kijön, de ha leveszed az 555-öt akkor kijön a 7...
ha mindenáron 7 számjegyet akarsz akkor így:
[samp]randomEx(1000000,8999999)[/samp]
lehetõségek:
- vagy külön tárolod a 7 számjegyet és tárcsázásnál kezeled az 555-öt
- kevesebb mint 7 számjegyet használsz
- nem 555-öt hanem mondjuk 111-et használsz (214 a legnagyobb alkalmazható \'prefix\' ebben az esetben)
Cím: Random 10 számjegy generálás
Írta: Robi222 - 2014. szeptember 23. - 15:31:05
Idézetet írta: Kovacs_Richard date=1411471453\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50708\" data-ipsquote-contentclass=\"forums_Topic
[samp]new telSzam[128];[/samp]
nem kell 128 cella...
555+7 szám+szöveg végi \\0 = 11 karakter
legnagyobb int:   2147483647
általad generált:   5551234567
(pontosabban te 100 és 9999999 között generálsz számot szóval lehet 555100 is a szám...)
6 számjeggyel még kijön, de ha leveszed az 555-öt akkor kijön a 7...
ha mindenáron 7 számjegyet akarsz akkor így:
[samp]randomEx(1000000,8999999)[/samp]
lehetõségek:
- vagy külön tárolod a 7 számjegyet és tárcsázásnál kezeled az 555-öt
- kevesebb mint 7 számjegyet használsz
- nem 555-öt hanem mondjuk 111-et használsz (214 a legnagyobb alkalmazható \'prefix\' ebben az esetben)
 
Köszi,sikerült megoldani! :)