SA-MP Forums Archive
[Problema] Con barra de experiencia - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [Problema] Con barra de experiencia (/showthread.php?tid=215877)



[Problema] Con barra de experiencia - XGamer - 24.01.2011

Hola, bueno el problema es que cuando pongo la barra de experiencia funciona pero cuando pongo para que aсada +1 al textdraw de nivel cuando se llega a X score, desaparece la barra. Alguien sabe porque puede ser??

Saludos!


Respuesta: [Problema] Con barra de experiencia - [M]xFire - 24.01.2011

Pon el codigo... Porque casi siempre el error esta en el codigo...


Respuesta: [Problema] Con barra de experiencia - XGamer - 25.01.2011

Bueno he conseguido que me salga la barra de exp pero ahora tengo un problema y es que por ejemplo e puesto que el score sea el dinero y si tiene 12$ suba un nivel, el problema es que si el dinero permanece en 12$ no para de subir niveles en vez de sumar solo 1 nivel, alguien sabe como puedo hacer para que solo se sume 1 nivel aunque permanezca con 12$??

Saludos!


Re: [Problema] Con barra de experiencia - The_Moddler - 25.01.2011

Adivino no soy, sino ya serнa millonario, asi que postea el codigo.


Respuesta: [Problema] Con barra de experiencia - XGamer - 25.01.2011

pawn Код:
//Arriba
forward EXPTimer(playerid);

//En OnGameModeInit
SetTimer("EXPTimer",500,1);

//Abajo del todo del GM
public EXPTimer(playerid)
{
    new score = GetPlayerMoney(playerid);
    if(score >= 1 || score == 10)
    {
        SetProgressBarValue(exp[playerid],score*10);
        UpdateProgressBar(exp[playerid],playerid);
    }
    if(score == 12)
    {
        SetProgressBarValue(exp[playerid],0);
        UpdateProgressBar(exp[playerid],playerid);
        NumNivelVar[playerid] ++;
        format(string1, sizeof (string1), "Nivel: %i", NumNivelVar[playerid]);
        TextDrawDestroy(NumNivel);
        TextDrawSetString(Nivel, string1);
        TextDrawShowForPlayer(playerid, Nivel);
        return 1;
    }
    return 1;
}



Respuesta: [Problema] Con barra de experiencia - [M]xFire - 25.01.2011

pawn Код:
forward EXPTimer(playerid);
new advertised;

//En OnGameModeInit
SetTimer("EXPTimer",500,1);

//Abajo del todo del GM
public EXPTimer(playerid)
{
    new score = GetPlayerMoney(playerid);
    if(score >= 1 || score == 10)
    {
        SetProgressBarValue(exp[playerid],score*10);
        UpdateProgressBar(exp[playerid],playerid);
    }
    if(score == 12 && advertised == 0)
    {
        SetProgressBarValue(exp[playerid],0);
        UpdateProgressBar(exp[playerid],playerid);
        NumNivelVar[playerid] ++;
        format(string1, sizeof (string1), "Nivel: %i", NumNivelVar[playerid]);
        TextDrawDestroy(NumNivel);
        TextDrawSetString(Nivel, string1);
        TextDrawShowForPlayer(playerid, Nivel);
        advertised = 1;
        return 1;
    }
    return 1;
}



Respuesta: [Problema] Con barra de experiencia - XGamer - 25.01.2011

He probado el codigo pero sigue igual, no se para :S

Saludos!


Re: [Problema] Con barra de experiencia - Miguel - 25.01.2011

El cуdigo que te diу deberнa funcionar...
pawn Код:
new
    bool:comprobante;

if((cierta == condiciуn) && (comprobante == false))
{
    hacer_cierta_cosa_una();
    comprobante = true;
}
Asн es como funciona, si quieres que una cosa se ejecute una sola vez, usa una variable lуgica o un nъmero entero para comprobar y definir cuando esa cosa se tiene que ejecutar y cuando no. En tu caso, comprobante es false al comienzo, luego de que se ejecuta el cуdigo de subir nivel comprobante cambia a true, y cuando es true la condiciуn "if((cierta == condiciуn) && (comrpobante == false))", no se da, por lo que el nivel no sube. Si el cуdigo que te dieron no funciona, haz que funcione.