[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.