30.04.2014, 23:13
um timer assim por exemplo causaria lag nos players?
pawn Код:
//onplayerspawn
timerAtualizarFS = SetTimerEx("AtualizarFomeSede", 100, true, "i", playerid);
timerDiminuirFS = SetTimerEx("DiminuirFomeSede", 120000, true, "i", playerid);
timerAtualizarBH = SetTimerEx("AtualizarNecessidades", 100, true, "i", playerid);
timerDiminuirBH = SetTimerEx("DiminuirBanheiroHigiene", 240000, true, "i", playerid);
//onplayerdeath
KillTimer(timerAtualizarFS);
KillTimer(timerDiminuirFS);
KillTimer(timerAtualizarBH);
KillTimer(timerDiminuirBH);
//o que eles irгo executar
forward AtualizarFomeSede(playerid);
public AtualizarFomeSede(playerid)
{
if(fsBarFome[playerid] != INVALID_BAR_ID)
{
SetProgressBarValue(fsBarFome[playerid], InfoJogador[playerid][iFome]);
UpdateProgressBar(fsBarFome[playerid], playerid);
if(InfoJogador[playerid][iFome] < 70 && InfoJogador[playerid][iFome] > 20)
{
SetProgressBarColor(fsBarFome[playerid], 0xFFC801C8);
}
if(InfoJogador[playerid][iFome] < 20)
{
SetProgressBarColor(fsBarFome[playerid], vermelho);
}
else if(InfoJogador[playerid][iFome] > 70)
{
SetProgressBarColor(fsBarFome[playerid], groove);
}
}
if(fsBarSede[playerid] != INVALID_BAR_ID)
{
SetProgressBarValue(fsBarSede[playerid], InfoJogador[playerid][iSede]);
UpdateProgressBar(fsBarSede[playerid], playerid);
if(InfoJogador[playerid][iSede] < 70 && InfoJogador[playerid][iSede] > 20)
{
SetProgressBarColor(fsBarSede[playerid], 0xFFC801C8);
}
if(InfoJogador[playerid][iSede] < 20)
{
SetProgressBarColor(fsBarSede[playerid], vermelho);
}
else if(InfoJogador[playerid][iSede] > 70)
{
SetProgressBarColor(fsBarSede[playerid], groove);
}
}
new Float:Vida;
GetPlayerHealth(playerid, Vida);
if(devecomer[playerid] == 5)
{
devecomer[playerid] = 0;
if(InfoJogador[playerid][iFome] <= 0)
{
SetPlayerHealth(playerid, Vida-1);
}
if(InfoJogador[playerid][iSede] <= 0)
{
SetPlayerHealth(playerid, Vida-1);
}
}
else if(devecomer[playerid] < 5)
{
devecomer[playerid]++;
}
return 1;
}
forward DiminuirFomeSede(playerid);
public DiminuirFomeSede(playerid)
{
if(InfoJogador[playerid][iSede] > 0)
{
InfoJogador[playerid][iSede]--;
}
if(InfoJogador[playerid][iFome] > 0)
{
InfoJogador[playerid][iFome]--;
}
if(InfoJogador[playerid][iFome] < 20)
{
MP(playerid, grad3, "Vб comer algo, vocк estб faminto!");
}
else if(InfoJogador[playerid][iFome] < 60 && InfoJogador[playerid][iFome] > 20)
{
MP(playerid, grad3, "Vocк estб ficando com fome, melhor procurar algo para comer! Ou vocк comeзarб perder vida!");
}
if(InfoJogador[playerid][iSede] < 20)
{
MP(playerid, grad3, "Vб beber algo, vocк estб com muita sede!");
}
else if(InfoJogador[playerid][iSede] < 60 && InfoJogador[playerid][iSede] > 20)
{
MP(playerid, grad3, "Vocк estб ficando com sede, melhor procurar algo para beber! Ou vocк comeзarб perder vida!");
}
return 1;
}
forward AtualizarNecessidades(playerid);
public AtualizarNecessidades(playerid)
{
if(fsBarBanheiro[playerid] != INVALID_BAR_ID)
{
SetProgressBarValue(fsBarBanheiro[playerid], InfoJogador[playerid][iBanheiro]);
UpdateProgressBar(fsBarBanheiro[playerid], playerid);
if(InfoJogador[playerid][iBanheiro] < 70 && InfoJogador[playerid][iBanheiro] > 20)
{
SetProgressBarColor(fsBarBanheiro[playerid], 0xFFC801C8);
}
if(InfoJogador[playerid][iBanheiro] < 20)
{
SetProgressBarColor(fsBarBanheiro[playerid], vermelho);
}
else if(InfoJogador[playerid][iBanheiro] > 70)
{
SetProgressBarColor(fsBarBanheiro[playerid], groove);
}
}
if(fsBarHigiene[playerid] != INVALID_BAR_ID)
{
SetProgressBarValue(fsBarHigiene[playerid], InfoJogador[playerid][iHigiene]);
UpdateProgressBar(fsBarHigiene[playerid], playerid);
if(InfoJogador[playerid][iHigiene] < 70 && InfoJogador[playerid][iHigiene] > 20)
{
SetProgressBarColor(fsBarHigiene[playerid], 0xFFC801C8);
}
if(InfoJogador[playerid][iHigiene] < 20)
{
SetProgressBarColor(fsBarHigiene[playerid], vermelho);
}
else if(InfoJogador[playerid][iHigiene] > 70)
{
SetProgressBarColor(fsBarHigiene[playerid], groove);
}
}
return 1;
}