[AJUDA] Comando Simples
#1

Bem eu criei o seguinte comando:

pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)

    if ((newkeys==KEY_JUMP))
    {
        OnPlayerCommandText(playerid,"/apc");
        OnPlayerCommandText(playerid,"/fpc");
    }
Mas eu gostaria de colocar tipo um SetTime entre o comando /apc e /fpc de 5 segundos, porque ambos os comandos (/apc e /fpc) sгo de abrir / fechar um portгo que fiz, mas quando aperto a tecla JUMP abre e fecha no mesmo momento '--'

Alguem ajuda ae? Please...

@EDIT Tive uma ideia, tipo, teria esse SetTimer no comando /apc excluindo o /fpc, vejam os dois comandos:
pawn Код:
if (strcmp("/apc", cmdtext, true, 10) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,7.0, 836.20922852,-2464.37084961,14.58148384))
        {
            MoveObject(Portao, 836.20898438,-2464.37011719,9.00647736, 3.0);
            SendClientMessage(playerid, COR_ROXO, "Portгo do Condominio Aberto.");
            return 1;
        }
    }
    if (strcmp("/fpc", cmdtext, true, 10) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,7.0, 836.20922852,-2464.37084961,14.58148384))
        {
            MoveObject(Portao, 836.20922852,-2464.37084961,14.58148384, 3.0);
            SendClientMessage(playerid, COR_ROXO, "Portгo do Condominio Fechado.");
            return 1;
        }
 }
Assim eu tiraria o /fpc e quando apertasse a tecla JUMP iria executar o comando /apc que fecharia automaticamente apуs 5 segundos '--'
Reply
#2

Crie uma variбvel booleana e sete ela no comando para true assim crie um timer que seta ela para false.
Reply
#3

pawn Код:
if ((newkeys==KEY_JUMP))
    {
        OnPlayerCommandText(playerid,"/apc");
        SetTimerEx("Fechar",5000,false,"d",playerid);
    }
...
forward Fechar(playerid);
public Fechar(playerid)
{
     OnPlayerCommandText(playerid,"/fpc");
     return 1;
}
Reply
#4

LOL, eu entendi errado, pensei que ele queria que checasse se o portгo jб estava aberto. Assim setava a variбvel para true. Mais ele quer fechar automaticamente. Faзa oque o gustavo falou.
Reply
#5

Ja consegui do meu Jeito, fiz com que o comando /apc abra o portгo, da o SetTimer e inicia-se o forward CloseGate3(gateid); ai neste public tem o MoveObject para fecha-lу, ai basta colocar o /apc nos comandos que sгo executados pela tecla JUMP ;P

Entendeu?
Reply
#6

Bastava botar a callback para executar o comando "/fpc" como o Gustavo falou.
Reply
#7

Mas galera, testei do meu jeito e quando chego perto do portгo ele se abre automaticamente, vejam o code:

pawn Код:
if ((newkeys==KEY_JUMP))
    {
        OnPlayerCommandText(playerid,"/apc");
    }
}
pawn Код:
if (strcmp("/apc", cmdtext, true, 10) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,15.0, 836.20922852,-2464.37084961,14.58148384))
        {
            MoveObject(Portao, 836.20898438,-2464.37011719,9.00647736, 3.0);
            SetTimerEx("CloseGate3", 8000, false, "i", Portao);
            SendClientMessage(playerid, COR_ROXO, "Portгo do Condominio Aberto, fecha-rб Automaticamente apуs 8 Segundos.");
            return 1;
        }
    }

            return 1;
        }
pawn Код:
public CloseGate3(gateid)
{
    if(gateid == Portao)
    {
            MoveObject(Portao, 836.20922852,-2464.37084961,14.58148384, 3.0);
    }
return 1;
}
Reply
#8

Troque isso:

pawn Код:
SetTimerEx("CloseGate3", 8000, false, "i", Portao);
E isso:

pawn Код:
public CloseGate3(gateid)
{
    if(gateid == Portao)
    {
            MoveObject(Portao, 836.20922852,-2464.37084961,14.58148384, 3.0);
    }
return 1;
}
Por isso:

pawn Код:
SetTimer("CloseGate3", 8000, false);
E isso:

pawn Код:
public CloseGate3()
{
    MoveObject(Portao, 836.20922852,-2464.37084961,14.58148384, 3.0);
    return 1;
}
Vocк nгo estб utilizando o parametro, ele tб ali atoa.
Reply
#9

Quote:
Originally Posted by Los
Посмотреть сообщение
Troque isso:

pawn Код:
SetTimerEx("CloseGate3", 8000, false, "i", Portao);
E isso:

pawn Код:
public CloseGate3(gateid)
{
    if(gateid == Portao)
    {
            MoveObject(Portao, 836.20922852,-2464.37084961,14.58148384, 3.0);
    }
return 1;
}
Por isso:

pawn Код:
SetTimer("CloseGate3", 8000, false);
E isso:

pawn Код:
public CloseGate3()
{
    MoveObject(Portao, 836.20922852,-2464.37084961,14.58148384, 3.0);
    return 1;
}
Vocк nгo estб utilizando o parametro, ele tб ali atoa.
Valeu mano, hб algo que eu posso faezer para agradecer?
Reply
#10

Quote:
Originally Posted by Gustavo_Araujo
Посмотреть сообщение
pawn Код:
if ((newkeys==KEY_JUMP))
    {
        OnPlayerCommandText(playerid,"/apc");
        SetTimerEx("Fechar",5000,false,"d",playerid);
    }
...
forward Fechar(playerid);
public Fechar(playerid)
{
     OnPlayerCommandText(playerid,"/fpc");
     return 1;
}
Fiz exatamente de sua forma mas quando chego na frente do portгo e aperto a tecla JUMP, o portгo nem se meche, ele ta abrindo apenas com comando :/ e deu 1 Waring tambйm:

pawn Код:
C:\Users\Cliente\Desktop\Games\Server\gamemodes\lvdm.pwn(303) : warning 209: function "OnPlayerCommandText" should return a value
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


1 Warning.
Linha 303 = }

OBS: QUERO O COMANDO "H" AO INVЙS DE "JUMP" serб que dar?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)