V škole sme mali nejaký name generator a bol riešený celkom zaujímavo, teda tu dávam takú jednoduchú verziu v Pawn. To "zaujímavé" je práca so samohláskami a spoluhláskami jednotlivo pomocou arrayov.
Skript môžete tiež použiť len-tak vo svojom móde.
Tvar
stock getRandomName(minimalLength, maximalLength);
Chybné vstupy nie sú ošetrené a server pri nich môže, ale aj nemusí padnúť.
Skript funguje pre hodnoty
minimalLength >= 3
maximalLength <= MAX_PLAYER_NAME
Použitie
print(getRandomName(4, 9)); // dlzka >= 4 a <= 9
print(getRandomName(3, 8));
->
Lurelo
Raqu
Skript
// Returns a random name of minimalLength and maximalLength
// incorrect values are not handled, so server might or might not crash.
// for example getRandomName(-4, 9) wouldnt crash the server
stock getRandomName(minimalLength = 3, maximalLength = MAX_PLAYER_NAME) {
new vowels[] = "aeiou"; // optionally add "y"
new consonants[] = "bcdfghjklmnpqrstvwxz";
new name[MAX_PLAYER_NAME];
new length = minimalLength + random(maximalLength - minimalLength);
for (new i = 0; i < length; i += 2)
name[i] = consonants[random(sizeof(consonants) - 1)];
for (new i = 1; i < length; i += 2)
name[i] = vowels[random(sizeof(vowels) - 1)];
name[0] = name[0] - 32; // first letter is mayuscule
return name;
}