05.04.2011, 00:37
pawn Код:
// ARRIBA DE TODO
enum
e_NivelesInfo
{
e_NI_Name[32],
e_NI_Score
};
new
g_aNivelesInfo[][e_NivelesInfo] =
{
// NombreDelRango, Score necesario
"Novato", 0,
"Amateur", 150,
"Semi-Profesional", 300,
"Profesional", 500,
"Semi-Master", 750,
"Master", 1000
};
// FUNCION
stock
CheckForLevel(playerid)
{
new
iScore = GetPlayerScore(playerid),
iPos;
for (iPos = sizeof (g_iNivelesInfo); iPos > 0; iPos --)
if (iScore >= g_iNivelesInfo[iPos][e_NI_Score])
return 1;
return 0;
}
stock
GetPlayerLevelName(playerid, name[], size = 32)
{
new
iPos,
iLevel;
for (new iPos = sizeof (g_iNivelesInfo); iPos > 0; iPos --)
if (iScore >= g_iNivelesInfo[iPos][e_NI_Score])
{
iLevel = iPos;
break;
}
strins(name, g_iNivelesInfo[iLevel][e_NI_Name], 0, size);
return 1;
}
En la variable g_iNivelesInfo agregбs los niveles con los score como estб en el comentario.
La funciуn CheckForLevel retorna 1 si el jugador tiene score suficiente para algun rango.
La funciуn GetPlayerLevelName funciona como GetPlayerName y retorna el nivel del jugador.
Es un sistema simple que acabo de hacerte XD