como creo un sistema de niveles por score/puntaje?
#3

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
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 2 Guest(s)