[PEDIDO] SetTimer
#1

Olб ! Nгo queria reviver meu antigo post , do comando /procurar | /localizar .
Entгo , venho aqui pedir um SetTimer para esse comando .
Para que seria esse SetTimer ? R. Para Fazer o CheckPoint Sumir Apуs 15s .

P.S : Se Alguem estiver Disposto , Se puder colocar Para Atualizar de 5 em 5s , Para " Seguir " o Player, Agradeзo!
Reply
#2

Veja esse tуpico, ele pode te ajudar:

[AJUDA] alguem me ajuda a melhorar o procurar
Reply
#3

Certo , porem , o Dele tem a Profissгo " Detetive " , o que me confunde muito .
Eu nгo vi nenhum DisablePlayerCheckPoint , as vezes sou meio cego O.o .
Se Alguem puder postar aqui , o Comando Com o SetTimer ou SetTimerEx , Agradeзo !
Reply
#4

Posta o comando /localizar tia '-'
Reply
#5

Tente dessa maneira:

Topo do GameMode
pawn Код:
new timer[500];
forward Procurar(playerid,give);
public Procurar(playerid,give)
{
    if(!IsPlayerConnected(give)) {
        KillTimer(timer[playerid]);
        return SendClientMessage(playerid, COR_BRANCO, "O Player Desconecto");
    }
    static Float:X,Float:Y,Float:Z;
    GetPlayerPos(give,X,Y,Z);
    SetPlayerCheckpoint(playerid, X,Y,Z, 6);
    return true;

}
Na public OnPlayerCommandText()
pawn Код:
new cmd[128], idx;
cmd = strtok(cmdtext, idx);

if(strcmp(cmd,"/procurar",true) == 0)
{
    new tmp[128];
    new giveplayerid;
    tmp = strtok(cmdtext, idx);
    giveplayerid = strval(tmp);
    if(!strlen(tmp)) return SendClientMessage(playerid,COR_BRANCO,"USO: /procurar [id]");
    if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COR_BRANCO, "id invalido.");
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(giveplayerid, X,Y,Z);
    SetPlayerCheckpoint(playerid, X,Y,Z, 6);
    timer[playerid] = SetTimerEx("Procurar",4000,true,"ii",playerid,giveplayerid);
    return 1;
}
Crйditos: [FeK]DraKiNs



Ou Tente dessa outra maneira

Topo do GameMode
pawn Код:
forward Checar(giveplayerid);
Na public OnPlayerCommandText()
pawn Код:
if(strcmp(cmd, "/procurar", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COR_CTP, "/procurar [Nick/ID]");
                return 1;
            }
            giveplayerid = ReturnUser(tmp);
            if(IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Vocк nгo pode se procurar!"); return 1; }
                    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                    new Float:X,Float:Y,Float:Z;
                    GetPlayerPos(giveplayerid, X,Y,Z);
                    SetPlayerCheckpoint(playerid, X,Y,Z, 6);
                    SetTimer("Checar", 100, true);
                    ProcurarChecka[playerid] = 1;
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_CTP, "Nome ou ID invalido");
            }
        }
        return 1;
    }

public Checar(giveplayerid)
{
    static Float:X,Float:Y,Float:Z;
    GetPlayerPos(giveplayerid, X,Y,Z);
    SetPlayerCheckpoint(playerid, X,Y,Z, 6);
    return true;
}
Crйditos: [Full]Garfield[XDB]
Reply
#6

Meu Comando :
pawn Код:
if(strcmp(cmd,"/localizar",true) == 0)
{
    new tmp[256];
    new giveplayerid;
    tmp = strtok(cmdtext, idx);
    giveplayerid = strval(tmp);
    if(!strlen(tmp)) return SendClientMessage(playerid,-1,"USE: /localizar [ID]");
    if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, -1, "(x) ID Invalido.");
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(giveplayerid, X,Y,Z);
    SetPlayerCheckpoint(playerid, X,Y,Z, 6);
   

    return 1;
}
Irei Tentar Pelo Modo do HARD, Se Funcionar , Dou um EDIT Aqui ! E um Rep + , й Claro .
@EDIT
Funcionou PERFEITAMENTE. Porem , Nгo Hб Como Remover Apуs um Certo Tempo Hard ?
Notei que , quando o player disconnecta , depois de 5s , ele remove . Gostaria de fazer isso IN-GAME mesmo ,
Em 20s ...
Rep + Pela Ajuda !
Reply
#7

Й sу criar uma Timer, pra destruir o checkpoint.
Reply
#8

Topo do GM:
pawn Код:
new ProcuraTempo = 0;
Na public de checar:
pawn Код:
ProcuraTempo += 1;
dps la em baixo na public de checar poe:
pawn Код:
if(ProcuraTempo == 20)
{
    DisablePlayerCheckpoint(playerid);
    SendClientMessage(playerid,-1,"Checkpoint desativado.");
    KillTimer(Checar);
    return 1;
}
Assim quando a public for chamada 20 vezes vai remover o checkpoint e a public pararб de rodar (ficar chamando) '-'
porque colocaram no code SetTimer/SetTimerEx true
E o true faz ficar repetindo.
Se quiser que seja 20 segundos, o tempo no SetTimer/SetTimerEx troque por 1000 se tiver 100 ou outro numero.
Reply
#9

Hard seu ladrao '-'
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)