Jump to content

script Jednoduchý randomName()


Tanga

Recommended Posts

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;
}
Link to comment
Share on other sites

 

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;
}

Pekné :d

Ak sa s tým budeš niekedy hrať a vylepšovať, tak oprav tie vstupy + celkom pekné by bolo keby tam boli náhodne 2 spoluhlásky/samohlásky po sebe (napr: qUIter :d )

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...