-
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;
}
-
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
-
Na ez már elegáns megoldás, köszi. :)
-
Egyébként mûködik is? Csak mert nem teszteltem :D
-
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);
}
-
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: