[Ajuda] KillTimer nгo funciona
#1

Primeitamente boa Noite,estou tendo problema para pausar um timer para um player.
Fiz um anti-TP,e quando o player se disconecta,ele continua apitando.
Tentei deste modo:

pawn Код:
new tempotp[MAX_PLAYERS];
Em onplayerconnect:
pawn Код:
tempotp[playerid] = SetTimerEx("antitp",1300,true,"d",playerid);

Em onplayerdisconnecT:
pawn Код:
KillTimer(tempotp[playerid]);
Por que o timer nгo estб parando ?

Serverlog:
Код:
[20:21:30] O Player [[NICKl]]  pode ter usado um teleporte/airbreak ,observe isto com cuidado !!!
[20:21:35] O Player [[NICK]]  pode ter usado um teleporte/airbreak ,observe isto com cuidado !!!
[20:21:37] ***NICK saiu do servidor por vontade propria.
[20:21:37] [part] mixed_hell has left the server (0:1)
[20:21:38] O Player [[]]  pode ter usado um teleporte/airbreak ,observe isto com cuidado !!!
[20:21:40] O Player [[]]  pode ter usado um teleporte/airbreak ,observe isto com cuidado !!!
[20:21:42] O Player [[]]  pode ter usado um teleporte/airbreak ,observe isto com cuidado !!!
[20:21:44] O Player [[]]  pode ter usado um teleporte/airbreak ,observe isto com cuidado !!!
[20:21:46] O Player [[]]  pode ter usado um teleporte/airbreak ,observe isto com cuidado !!!
Reply
#2

Passa a CallBack public antitp
Reply
#3

Conserteza й no seu antitp , manda ele para mim ver .
Reply
#4

pawn Код:
public antitp(playerid)
{
   if(GetPlayerInterior(playerid) != 0)
   {
   saiuinterior[playerid] = 1;
   }else{
    saiuinterior[playerid] = 0;
   }
    GetPlayerPos(playerid,posxantes[playerid],posyantes[playerid],poszantes[playerid]);
    tempotp2[playerid] = SetTimerEx("antitp2",1000,true,"d",playerid);
    return 1;
    }
    public antitp2(playerid)
{

   
if(!IsPlayerInRangeOfPoint(playerid, 80.0,posxantes[playerid],posyantes[playerid],poszantes[playerid] ))
{
new vehicleid = GetPlayerVehicleID(playerid);
if(GetPlayerInterior(playerid) == 0 && saiuinterior[playerid] == 0 &&  GetVehicleModel(vehicleid) != 411 ||  GetVehicleModel(vehicleid) != 451 ||  GetVehicleModel(vehicleid) != 553)
    {
    new string[200];
    if(antitpdetectado[playerid] == 0)
    {
    antitpdetectado[playerid] = 1;
    SetTimerEx("antitp3",2000,false,"d",playerid);
    format(string, sizeof(string), "O Player [[%s]]  pode ter usado um teleporte/airbreak ,observe isto com cuidado !!!",PlayerName(playerid));
                ABroadCast(0xFF8282AA2,string,1);
    return 1;
    }
    }
    }
    }
    public antitp3(playerid)
{
    antitpdetectado[playerid] = 0;
    return 1;
}
Reply
#5

Nossa cara esse cуdigo nгo faz sentido ou estб meio confuso que nem entendi. Mas vou verificar de novo e ver melhor para entender '-'

@EDIT

Tente assim:

Em OnPlayerDisconnect:

pawn Код:
KillTimer(tempotp[playerid]);
KillTimer(tempotp2[playerid]);
KillTimer(tempotp3[playerid]);
No incio do GM:

pawn Код:
new tempotp3[MAX_PLAYERS];
Neste SetTimer

pawn Код:
SetTimerEx("antitp3",2000,false,"d",playerid);

//Coloca Assim
tempotp3[playerid] = SetTimerEx("antitp3",2000,false,"d",playerid);
Reply
#6

Quote:
Originally Posted by ReyMysterio
Посмотреть сообщение
Nossa cara esse cуdigo nгo faz sentido ou estб meio confuso que nem entendi. Mas vou verificar de novo e ver melhor para entender '-'

@EDIT

Tente assim:

Em OnPlayerDisconnect:

pawn Код:
KillTimer(tempotp[playerid]);
KillTimer(tempotp2[playerid]);
KillTimer(tempotp3[playerid]);
No incio do GM:

pawn Код:
new tempotp3[MAX_PLAYERS];
Neste SetTimer

pawn Код:
SetTimerEx("antitp3",2000,false,"d",playerid);

//Coloca Assim
tempotp3[playerid] = SetTimerEx("antitp3",2000,false,"d",playerid);
Obrigado,funcionou, Rep =D
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)