Szerző Téma: Random rendszám generálása.  (Megtekintve 1628 alkalommal)

Nem elérhető nyomo

  • 159
    • Profil megtekintése
Random rendszám generálása.
« Dátum: 2014. február 03. - 19:11:27 »
0 Show voters
Az lenne a kérdésem hogy ennél van egyszerûbb megoldás random betûk generálására? Majd számokkal is ugyan ezt tenném...
 
CMD:asd(playerid)
{
new betuk1 = random(3),betuk2 = random(3),betuk3 = random(3);
new betu1[2],betu2[2],betu3[2],rendszam[8];
switch(betuk1)
{
    case 0: betu1 = \"A\";
    case 1: betu1 = \"B\";
    case 2: betu1 = \"C\";
}
switch(betuk2)
{
    case 0: betu2 = \"A\";
case 1: betu2 = \"B\";
    case 2: betu2 = \"C\";
}
switch(betuk3)
{
    case 0: betu3 = \"A\";
case 1: betu3 = \"B\";
    case 2: betu3 = \"C\";
}
    format(rendszam,sizeof rendszam,\"%s%s%s-000\",betu1,betu2,betu3);
    SendClientMessage(playerid,-1,rendszam);
return 1;
}

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Random rendszám generálása.
« Válasz #1 Dátum: 2014. február 03. - 19:18:26 »
+1 Show voters
http://forum.sa-mp.com/showthread.php?t=308961
Ez különösen megtetszett, le is fordítom neked, vagyis inkább átfogalmazom, és elmagyarazáom, vagy jól, vagy nem, de a lényeg tuti átjön:
 
stock getRandomLetter() {
    return 65 + random(52); // Az ASCII karaktertábla 65. karaktere az A betû, mellyel visszatér a függvény, és még rádob 2 * 26-ot, melybõl random választ, így minden betûbõl, amely csak létezik az ABC-ben tud random választani a függvény.
}
format(someString, 128, \"%c, %c, %c\", getRandomLetter(), getRandomLetter(), getRandomLetter()); // itt pedig 3 db random betût generál, vagyis számot, amit fégül karakterként %c-vel irat ki, betûvé \"alakítva\" azt.

 
:D

Nem elérhető nyomo

  • 159
    • Profil megtekintése
Random rendszám generálása.
« Válasz #2 Dátum: 2014. február 03. - 20:16:42 »
0 Show voters
Na ez már elegáns megoldás, köszi.  :)

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Random rendszám generálása.
« Válasz #3 Dátum: 2014. február 03. - 20:48:00 »
0 Show voters
Egyébként mûködik is? Csak mert nem teszteltem :D

Nem elérhető nyomo

  • 159
    • Profil megtekintése
Random rendszám generálása.
« Válasz #4 Dátum: 2014. február 03. - 21:12:35 »
0 Show voters
Igen, mûködik! Nekem a nagybetûkre volt szükségem ezért elég random 26, a táblába a számok meg 48 tol kezdõdnek + 10.  Egyszerû, de nagyszerû. :D
 
stock getRandomLetter() {
    return 65 + random(26);
}
stock getRandomSzam() {
return 48 + random(10);
}

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Random rendszám generálása.
« Válasz #5 Dátum: 2014. február 03. - 22:13:54 »
0 Show voters
Na, akkor megérte ezt kiválasztanom a sok megoldás közül, és \'elmagyaráznom\' neked :D Viszont akkor zárhatnál is :whistle:

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal