[AJUDA] O que ah de errado nesse setimer?
#1

Esse й o comando usando pra

/prender
pawn Код:
TimeReduceOne[id] = tempo * 60;
        TimeReduceTwo[id] = SetTimerEx("DimiTempPrisao", 1000, true, "i", id);
Essa й a public pra diminuir o tempo da prisao:

pawn Код:
public DimiTempPrisao()
forward DimiTempPrisao(id);
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(TimeReduceOne[i] > 0)
    {
        TimeReduceOne[i] --;
        if(TimeReduceOne[i] == 1)
        {
            TimeReduceOne[i] = 0;
            KillTimer(TimeReduceTwo[id]);
            mCrime[id] = "Ficha Limpa";
            SetPlayerPos(id, 246.52,70.65,1003.64);
            EstaPreso[id] = 0;
            GameTextForPlayer(id,"~y~Libertado... ~b~Nao cometa mais crimes.",2000,1);
            }
        }
    }
    return true;
}
O problema й o seguinte:
Quando a 1 player preso, a contagem vai indo corretamente, mais quando a 2 player preso, a contagem diminui em uns 3 a 7 segundos para os dois players, devia diminuir em 1 a 1 segundos, mais isso sу acontece com 2 players preso, nгo testei com mais de duas pessoas ainda.

alguem sabe onde ta o problema? +rep
Reply
#2

Tenta Assim
pawn Код:
for(new i = 0; i < MAX_PLAYERS; i++)
    {
        TimeReduceOne[i] = tempo * 60;
        TimeReduceTwo[i] = SetTimer("DimiTempPrisao", 1000, true);
    }

public DimiTempPrisao()
forward DimiTempPrisao();
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(TimeReduceOne[i] > 0)
    {
        TimeReduceOne[i] --;
        if(TimeReduceOne[i] == 1)
        {
            TimeReduceOne[i] = 0;
            KillTimer(TimeReduceTwo[id]);
            mCrime[i] = "Ficha Limpa";
            SetPlayerPos(i, 246.52,70.65,1003.64);
            EstaPreso[i] = 0;
            GameTextForPlayer(i,"~y~Libertado... ~b~Nao cometa mais crimes.",2000,1);
        }
    }
    return true;
}
Reply
#3

Tб usando loop pra q?
pawn Код:
public DimiTempPrisao(id)
forward DimiTempPrisao(id);
{
    if(TimeReduceOne[id] > 0)
    {
        TimeReduceOne[id] --;
        if(TimeReduceOne[id] == 1)
        {
            TimeReduceOne[id] = 0;
            KillTimer(TimeReduceTwo[id]);
            mCrime[id] = "Ficha Limpa";
            SetPlayerPos(id, 246.52,70.65,1003.64);
            EstaPreso[id] = 0;
            GameTextForPlayer(id,"~y~Libertado... ~b~Nao cometa mais crimes.",2000,1);
        }
    }
    return true;
}
Reply
#4

Eu tinha colocado sу pra dar uma testada e esqueci de tirar mesmo sem ele dava esse problema, nesse que voce posto agora da esse erro

(1277) : warning 219: local variable "id" shadows a variable at a preceding level
linha public DimiTempPrisao(id)
Reply
#5

Coloca new id; Resolvera
Reply
#6

Jб tem isso.

symbol already defined
Reply
#7

Quote:
Originally Posted by Don_Speed
Посмотреть сообщение
Tenta Assim
pawn Код:
for(new i = 0; i < MAX_PLAYERS; i++)
    {
        TimeReduceOne[i] = tempo * 60;
        TimeReduceTwo[i] = SetTimer("DimiTempPrisao", 1000, true);
    }

public DimiTempPrisao()
forward DimiTempPrisao();
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(TimeReduceOne[i] > 0)
    {
        TimeReduceOne[i] --;
        if(TimeReduceOne[i] == 1)
        {
            TimeReduceOne[i] = 0;
            KillTimer(TimeReduceTwo[id]);
            mCrime[i] = "Ficha Limpa";
            SetPlayerPos(i, 246.52,70.65,1003.64);
            EstaPreso[i] = 0;
            GameTextForPlayer(i,"~y~Libertado... ~b~Nao cometa mais crimes.",2000,1);
        }
    }
    return true;
}
Quote:
Originally Posted by zbt
Посмотреть сообщение
Tб usando loop pra q?
pawn Код:
public DimiTempPrisao(id)
forward DimiTempPrisao(id);
{
    if(TimeReduceOne[id] > 0)
    {
        TimeReduceOne[id] --;
        if(TimeReduceOne[id] == 1)
        {
            TimeReduceOne[id] = 0;
            KillTimer(TimeReduceTwo[id]);
            mCrime[id] = "Ficha Limpa";
            SetPlayerPos(id, 246.52,70.65,1003.64);
            EstaPreso[id] = 0;
            GameTextForPlayer(id,"~y~Libertado... ~b~Nao cometa mais crimes.",2000,1);
        }
    }
    return true;
}
pawn Код:
public DimiTempPrisao(id)
forward DimiTempPrisao(id);
PQP(Merece facepalm). Querem corrigir mas deixam isso passar ? sem coments...

Ta ae
pawn Код:
forward DimiTempPrisao(PTiD);
public DimiTempPrisao(PTiD)
{
    if(TimeReduceOne[PTiD] > 0)
    {
        TimeReduceOne[PTiD] --;
        if(TimeReduceOne[PTiD] == 1)
        {
            TimeReduceOne[PTiD] = 0;
            KillTimer(TimeReduceTwo[PTiD]);
            mCrime[PTiD] = "Ficha Limpa";
            SetPlayerPos(PTiD, 246.52,70.65,1003.64);
            EstaPreso[PTiD] = 0;
            GameTextForPlayer(PTiD,"~y~Libertado... ~b~Nao cometa mais crimes.",2000,1);
        }
    }
    return true;
}
Reply
#8

Quote:
Originally Posted by paulor
Посмотреть сообщение
pawn Код:
public DimiTempPrisao(id)
forward DimiTempPrisao(id);
PQP(Merece facepalm). Querem corrigir mas deixam isso passar ? sem coments...

Ta ae
pawn Код:
forward DimiTempPrisao(PTiD);
public DimiTempPrisao(PTiD)
{
    if(TimeReduceOne[PTiD] > 0)
    {
        TimeReduceOne[PTiD] --;
        if(TimeReduceOne[PTiD] == 1)
        {
            TimeReduceOne[PTiD] = 0;
            KillTimer(TimeReduceTwo[PTiD]);
            mCrime[PTiD] = "Ficha Limpa";
            SetPlayerPos(PTiD, 246.52,70.65,1003.64);
            EstaPreso[PTiD] = 0;
            GameTextForPlayer(PTiD,"~y~Libertado... ~b~Nao cometa mais crimes.",2000,1);
        }
    }
    return true;
}
Nossa amigo que legal, quer um pirulito?
Reply
#9

Quote:
Originally Posted by zbt
Посмотреть сообщение
Nossa amigo que legal, quer um pirulito?
Nгo, obrigado!
Reply
#10

Resumindo: http://oi47.tinypic.com/2cygpd3.jpg

Eu achando que era porque tinha dois players, mais eu sozinho olha a imagem acima /\
Se nгo me engano ja tentei todos os codigo postado aqui.

pawn Код:
forward DimiTempPrisao(pid);
public DimiTempPrisao(pid)
{
    if(TimeReduceOne[id] > 0)
    {
        TimeReduceOne[id] --;
        if(TimeReduceOne[id] == 1)
        {
            TimeReduceOne[id] = 0;
            KillTimer(TimeReduceTwo[id]);
            mCrime[id] = "Ficha Limpa";
            SetPlayerPos(id, 246.52,70.65,1003.64);
            EstaPreso[id] = 0;
            GameTextForPlayer(id,"~y~Libertado... ~b~Nao cometa mais crimes.",2000,1);
        }
    }
    return true;
}
/deter
pawn Код:
TimeReduceOne[id] = tempo * 60;
        TimeReduceTwo[id] = SetTimerEx("DimiTempPrisao", 1000, true, "i", id);
Й meio louco a contagem, em 30 segundos por aew ja conta 1 minuto
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)