SA-MP Forums Archive
[DUV] Bloquear Settimer para um player sу. - 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: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [DUV] Bloquear Settimer para um player sу. (/showthread.php?tid=170955)



[DUV] Bloquear Settimer para um player sу. - [NWD]Tweener_ - 24.08.2010

E ae emada

Queria saber se hб a possibilidade de bloquear um Settimer global somente para 1 player, e depois retomar esse settimer atravez de um cmd. Tem como isso?


Re: [DUV] Bloquear Settimer para um player sу. - BiieL - 24.08.2010

KillTimer ?


Re: [DUV] Bloquear Settimer para um player sу. - [NWD]Tweener_ - 24.08.2010

Mais ai nгo seria para todos?


Re: [DUV] Bloquear Settimer para um player sу. - CyNiC - 24.08.2010

Dб.
Suponhamos que seja um loop e funзхes como as abaixo:

pawn Код:
for(new i=0; i<MAX_PLAYERS; i++)
if(i == playerexcluido) goto saltarfuncoes;
SetPlayerHealth(i,1.0);
GivePlayerWeapon(i,24,1000);
saltarfuncoes:
Para o playerexluido isso nгo irб acontecer.


Re: [DUV] Bloquear Settimer para um player sу. - [NWD]Tweener_ - 24.08.2010

Й um Settimer normal =)

Essa й a funзгo toda:

pawn Код:
forward AumentarLevel(playerid);

//OnGameModInit
    SetTimer("AumentarLevel", 600000, true);

public AumentarLevel(playerid)
{
    for(new i=0; i <= MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            Experiencia[i] ++;
                        GameTextForPlayer(playerid, "~w~UP", 2000, 6);
                        if(Experiencia[playerid] == 6)
               {
                        Level[i]++;
                        new str[256];
                        format(str,sizeof(str),"Level UP! Vocк ganhou 1 level. Somando um total de %d Level's.",Level[playerid]);
                SendClientMessage(i,0xFF0000AA,str);
                         Experiencia[playerid] = pap_SalvarInt(playerid, "Experiencia", 0);
               }
               }
         }
     return 1;
}



Re: [DUV] Bloquear Settimer para um player sу. - CyNiC - 24.08.2010

Quem vocк quer que nгo receba experiкncia?

Faзa como eu fiz ali, crie uma variбvel global pra armazenar o id do excluido.


Re: [DUV] Bloquear Settimer para um player sу. - [NWD]Tweener_ - 24.08.2010

Se eu fizer assim serб que funciona?

pawn Код:
public AumentarLevel(playerid)
{
    for(new i=0; i <= MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
        if(afk[playerid]==1){
        SendClientMessage(playerid,COLOR_RED, "[ERRO] Vocк nгo upo pois estava afk.");
        return 1;
        }
            if(afk[playerid]==0)
            {            
Experiencia[i] ++;
                        GameTextForPlayer(playerid, "~w~UP", 2000, 6);
                        if(Experiencia[playerid] == 6)
               {
                        Level[i]++;
                        new str[256];
                        format(str,sizeof(str),"Level UP! Vocк ganhou 1 level. Somando um total de %d Level's.",Level[playerid]);
                SendClientMessage(i,0xFF0000AA,str);
                         Experiencia[playerid] = pap_SalvarInt(playerid, "Experiencia", 0);
               }
               }
         }
}
     return 1;
}



Re: [DUV] Bloquear Settimer para um player sу. - CyNiC - 24.08.2010

Como AumentarLevel й uma funзгo que irб chamar um loop nгo precisa de playerid, e do jeito que fez nгo funcionaria porque playerid vai ser sempre 0.
pawn Код:
public AumentarLevel(playerid)
{
    for(new i=0; i <= MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
        if(afk[i]==1){
        SendClientMessage(playerid,COLOR_RED, "[ERRO] Vocк nгo upo pois estava afk.");
        return 1;
        }
            if(afk[i]==0)
            {            
Experiencia[i] ++;
                        GameTextForPlayer(i, "~w~UP", 2000, 6);
                        if(Experiencia[i] == 6)
               {
                        Level[i]++;
                        new str[256];
                        format(str,sizeof(str),"Level UP! Vocк ganhou 1 level. Somando um total de %d Level's.",Level[i]);
                SendClientMessage(i,0xFF0000AA,str);
                         Experiencia[i] = pap_SalvarInt(i, "Experiencia", 0);
               }
               }
         }
}
     return 1;
}



Re: [DUV] Bloquear Settimer para um player sу. - [NWD]Tweener_ - 24.08.2010

Sim, dei um exemplo mais vlw. Vou testar aqui. . .


Re: [DUV] Bloquear Settimer para um player sу. - LeLeTe - 24.08.2010

Eu sugiro usar SetTimerEx pra essa funзгo.