14.04.2019, 21:49
Boa noite, estou desenvolvendo um sistema de XP atravйs de progressbar, esta tudo funcionando perfeitamente exeto uma coisa onde esta dando erro e to quebrando a cabeзa e nгo to conseguindo ver o erro ...
Aqui й em OnPlayerConnect, assim que o player entra no servidor, й chamado um Timer que de 30 em 30 segundos aumenta a barra de XP dele, e se ele jб tiver uma barra criada na conta dele, й para carregar ela de onde parou exemplo se parou em 60% vai continuar de 60%, porem nгo carrega ! Toda vez que o player sai, a barra й salva, mais na hora que ele vai voltar, a barra comeзa do 0
E aqui й a funзгo que salva a barra quando o player desconecta, mais irei melhorar esse cуdigo ai em baixo ainda ...
Aqui й em OnPlayerConnect, assim que o player entra no servidor, й chamado um Timer que de 30 em 30 segundos aumenta a barra de XP dele, e se ele jб tiver uma barra criada na conta dele, й para carregar ela de onde parou exemplo se parou em 60% vai continuar de 60%, porem nгo carrega ! Toda vez que o player sai, a barra й salva, mais na hora que ele vai voltar, a barra comeзa do 0
PHP Code:
hook OnPlayerConnect(playerid)
{
CorrerXP[playerid] = SetTimerEx("XpBarra", 30000, true, "i", playerid);
format(file1, sizeof(file1),ArquivoUsuarios, NomePlayer(playerid));
if(DOF2_FileExists(file1))
{
SetPVarInt(playerid,"BarraLevel", DOF2_GetInt(ArquivoUsuarios, "BarraLevel"));
SetProgressBarValue(BarraLevel[playerid], DOF2_GetInt(ArquivoUsuarios, "BarraLevel"));
UpdateProgressBar(BarraLevel[playerid], playerid);
}
return 1;
}
PHP Code:
forward SaveXPbarra(playerid);
public SaveXPbarra(playerid)
{
new file1[80];
format(file1, sizeof(file1),ArquivoUsuarios, NomePlayer(playerid));
if(DOF2_FileExists(file1))
{
DOF2_SetInt(ContaPlayer(playerid),"BarraLevel", GetPVarInt(playerid,"BarraLevel"));
DOF2_SaveFile();
}
else
{
DOF2_CreateFile(ArquivoUsuarios);
DOF2_SetInt(ArquivoUsuarios, "BarraLevel", 0);
SetPVarInt(playerid,"BarraLevel", DOF2_GetInt(ArquivoUsuarios, "BarraLevel"));
SetProgressBarValue(BarraLevel[playerid], DOF2_GetInt(ArquivoUsuarios, "BarraLevel"));
UpdateProgressBar(BarraLevel[playerid], playerid);
return 1;
}
return 1;
}