[AJUDA] Contar
#1

Eu fiz um sistema para contar e aparecer no GameTextForPlayer, mas ele nгo esta contando em 1 em 1 segundo, no caso esta contando ERRADO!

Esta certo do modo que estou fazendo ?

Cуdigo:
pawn Код:
forward LiberarPZumbi();
public LiberarPZumbi()
{
    new contar[10];
    foreach(new i : Player)
    {
        if(Player[i][NoZumbi] == true)
        {
            if(tempoportao == 0)
            {
                GameTextForPlayer(i, "~g~Go Go Go", 3000, 3);
                MoveDynamicObject(PortoesZumbi, -265.77000000,2084.73000000,320.96000000, 10);
                MoveDynamicObject(PortoesZumbi1, -238.53000000,2073.49000000,320.96000000, 10);
                MoveDynamicObject(PortoesZumbi2, -259.11000000,2073.25000000,320.96000000, 10);
                AvisoEvento(COR_VERMELHOE, "** Portхes Abertos! ** ");
                tempoportao = 60;
                return false;
            }
            format(contar, sizeof(contar), "~w~%d", tempoportao);
            GameTextForPlayer(i, contar, 1000, 3);
            SetTimer("LiberarPZumbi", 1000, true);
            return tempoportao--;
        }
    }
    return true;
}
Reply
#2

Quote:
Originally Posted by EditPawn
Посмотреть сообщение
Eu fiz um sistema para contar e aparecer no GameTextForPlayer, mas ele nгo esta contando em 1 em 1 segundo, no caso esta contando ERRADO!

Esta certo do modo que estou fazendo ?

Cуdigo:
pawn Код:
forward LiberarPZumbi();
public LiberarPZumbi()
{
    new contar[10];
    foreach(new i : Player)
    {
        if(Player[i][NoZumbi] == true)
        {
            if(tempoportao == 0)
            {
                GameTextForPlayer(i, "~g~Go Go Go", 3000, 3);
                MoveDynamicObject(PortoesZumbi, -265.77000000,2084.73000000,320.96000000, 10);
                MoveDynamicObject(PortoesZumbi1, -238.53000000,2073.49000000,320.96000000, 10);
                MoveDynamicObject(PortoesZumbi2, -259.11000000,2073.25000000,320.96000000, 10);
                AvisoEvento(COR_VERMELHOE, "** Portхes Abertos! ** ");
                tempoportao = 60;
                return false;
            }
            format(contar, sizeof(contar), "~w~%d", tempoportao);
            GameTextForPlayer(i, contar, 1000, 3);
            SetTimer("LiberarPZumbi", 1000, true);
            return tempoportao--;
        }
    }
    return true;
}
Erradissimo!

Pensa comigo, vc ta executando a funзгo de 1 em 1 segundo e usando um loop para players que estгo com a var NoZumbi true, vamos supor que 10 pessoas estao com a var NoZumbi true dai ele executaria 10 vezes o timer em um segundo e dps 20 vezes o timer em 2 segundos. E tbm vc estб usando return no loop, isso funcionando somente para o 1 com a var true. O correto seria:

pawn Код:
new bool:PTTime;

forward LiberarPZumbi();
public LiberarPZumbi()
{
    new contar[10];
    foreach(new i : Player)
    {
        if(Player[i][NoZumbi] == true)
        {
            if(tempoportao == 0)
            {
                GameTextForPlayer(i, "~g~Go Go Go", 3000, 3);
                MoveDynamicObject(PortoesZumbi, -265.77000000,2084.73000000,320.96000000, 10);
                MoveDynamicObject(PortoesZumbi1, -238.53000000,2073.49000000,320.96000000, 10);
                MoveDynamicObject(PortoesZumbi2, -259.11000000,2073.25000000,320.96000000, 10);
                AvisoEvento(COR_VERMELHOE, "** Portхes Abertos! ** ");
                tempoportao = 60;
            }
            format(contar, sizeof(contar), "~w~%d", tempoportao);
            GameTextForPlayer(i, contar, 1000, 3);
        }
    }
    if(!PTTime) SetTimer("LiberarPZumbi", 1000, true);
    tempoportao--;
    return true;
}
Fiz rбpido e parece nгo ter erros!

Quando terminar isso ae, basta deixar a var PTTime true.
Reply
#3

Obrigado paulor, desatenзгo minha, eu tinha uma idйia que iria ter conflitos um timer dentro do loop..
Mas nao me passou pela cabeзa em fazer dessa forma...

Vlw, ganho meu rep.

@EDIT

Bom paulor, nao funcionou, continua da mesma forma :/
Reply
#4

edit /\
Reply
#5

LoL, disatenзгo minha!

pawn Код:
SetTimer("LiberarPZumbi", 1000, false);
Se nгo vai bugar tbm!
Reply
#6

Vlw paulor, e corriji um outro bug..

QUando a contagem chega a 0 ela teria que retornar o que esta dentro das "{}" chaves, sendo assim terminar ali! se nao iria continuar a funcao e iria continuar a contagem, sendo que a funcao ja foi executada...
Sу coloquei um return true ali ^^
Reply
#7

Quote:
Originally Posted by EditPawn
Посмотреть сообщение
Vlw paulor, e corriji um outro bug..

QUando a contagem chega a 0 ela teria que retornar o que esta dentro das "{}" chaves, sendo assim terminar ali! se nao iria continuar a funcao e iria continuar a contagem, sendo que a funcao ja foi executada...
Sу coloquei um return true ali ^^
O que tinha entendido da sua duvida estava la, pois tbm somente com a funзгo seria complicado imaginar como vc estava trabalhando com ela.
Reply
#8

Quote:
Originally Posted by paulor
Посмотреть сообщение
O que tinha entendido da sua duvida estava la, pois tbm somente com a funзгo seria complicado imaginar como vc estava trabalhando com ela.
sim sim^^
voce esclareceu minha duvida e me ajudou, sу arrumei da forma que eu queria usar

Pena q nao posso lhe dar rep, ja dei :/
Reply
#9

Quote:
Originally Posted by EditPawn
Посмотреть сообщение
sim sim^^
voce esclareceu minha duvida e me ajudou, sу arrumei da forma que eu queria usar

Pena q nao posso lhe dar rep, ja dei :/
Sem problemas!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)