[Ajuda] [Duvida] SetTimer's podem lagar o servidor?
#4

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;
}
Reply


Messages In This Thread
[Duvida] SetTimer's podem lagar o servidor? - by hard_dalzot - 30.04.2014, 22:17
Re: [Duvida] SetTimer's podem lagar o servidor? - by Caio_Freeze - 30.04.2014, 22:45
Re: [Duvida] SetTimer's podem lagar o servidor? - by ProKillerpa - 30.04.2014, 22:48
Re: [Duvida] SetTimer's podem lagar o servidor? - by hard_dalzot - 30.04.2014, 23:13
Re: [Duvida] SetTimer's podem lagar o servidor? - by PT - 01.05.2014, 00:30
Re: [Duvida] SetTimer's podem lagar o servidor? - by DrTHE - 01.05.2014, 00:52
Re: [Duvida] SetTimer's podem lagar o servidor? - by hard_dalzot - 01.05.2014, 01:07

Forum Jump:


Users browsing this thread: 1 Guest(s)