[Ajuda] Mesma Tecla 2 Funзхes.
#1

Entгo galera, estou diante de um problema.
Seguinte, quero que o carro Ligue / Desligue o Motor com a mesma Tecla ( CTRL )
E, que Ligue / Desligue o Farol coma mesma tecla ( Q )

Em Fim, Eu Fiz Assim :

pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if ((newkeys == 256)) // Q para ligar o carro.
    {
        if (IsPlayerInAnyVehicle(playerid))
        {
            new mot, lu, alar, por, cap, porma, ob;
            new carro = GetPlayerVehicleID(playerid);
            if (carro != INVALID_VEHICLE_ID)

            GetVehicleParamsEx(carro, mot, lu, alar, por, cap, porma, ob);
            SetVehicleParamsEx(carro, VEHICLE_PARAMS_ON, lu, alar, por, cap, porma, ob);
            motor[playerid] = 1;
            SendClientMessage(playerid, Branco, "Veiculo {2F991A}Ligado!");
        }
    }

    if ((newkeys == 256)) // Q para desligar o carro.
    {
        if (IsPlayerInAnyVehicle(playerid))
        {
            new mot, lu, alar, por, cap, porma, ob;
            new carro = GetPlayerVehicleID(playerid);
            if (carro != INVALID_VEHICLE_ID)

            GetVehicleParamsEx(carro, mot, lu, alar, por, cap, porma, ob);
            SetVehicleParamsEx(carro, VEHICLE_PARAMS_OFF, lu, alar, por, cap, porma, ob);
            motor[playerid] = 0;
            SendClientMessage(playerid, Branco, "Veiculo {E31919}Desligado!");
        }
    }

    if ((newkeys == 132)) // Ctrl para Ligar o Farol.
    {
        if (IsPlayerInAnyVehicle(playerid))
        {
            new mot, lu, alar, por, cap, porma, ob;
            new carro = GetPlayerVehicleID(playerid);
            if (carro != INVALID_VEHICLE_ID)

            GetVehicleParamsEx(carro, mot, lu, alar, por, cap, porma, ob);
            SetVehicleParamsEx(carro, mot, VEHICLE_PARAMS_ON, alar, por, cap, porma, ob);
            luz[playerid] = 1;
            SendClientMessage(playerid, Branco, "Farol {2F991A}Ligado!");
        }
    }

    if ((newkeys == 132)) // Ctrl para Desligar o Farol.
    {
        if (IsPlayerInAnyVehicle(playerid))
        {
            new mot, lu, alar, por, cap, porma, ob;
            new carro = GetPlayerVehicleID(playerid);
            if (carro != INVALID_VEHICLE_ID)

            GetVehicleParamsEx(carro, mot, lu, alar, por, cap, porma, ob);
            SetVehicleParamsEx(carro, mot, VEHICLE_PARAMS_OFF, alar, por, cap, porma, ob);
            luz[playerid] = 0;
            SendClientMessage(playerid, Branco, "Farol {E31919}Desligado!");
        }
    }
    return 1;
}
Acontece, que quando fui testar, ao tentar ligar o carro, ele Ligava e desligava '-'

Tipo, aparecia:

Veнculo Ligado !
Veнculo Desligado !

Entendeu ?

Como eu posso tipo, ligar o carro, com o CTRL, dai depois se eu apertar de novo CTRL o carro desligar ?
E a mesma coisa com os farуis, com a tecla Q ?
Reply
#2

Й sу usar Uma variavel

Exemplo
PHP код:

      
if ((newkeys == 256 )) // Q para ligar o carro.
    
{
        if (
IsPlayerInAnyVehicle(playerid) & motor[playerid] == 0)
        {
            new 
motlualarporcappormaob;
            new 
carro GetPlayerVehicleID(playerid);
            if (
carro != INVALID_VEHICLE_ID)
            
GetVehicleParamsEx(carromotlualarporcappormaob);
            
SetVehicleParamsEx(carro1lualarporcappormaob);
            
motor[playerid] = 1;
            
SendClientMessage(playerid, -1"Veiculo {2F991A}Ligado!");
            return 
true;
        }
    }
      if ((
newkeys == 256 )) // Q para ligar o carro.
    
{
        if (
IsPlayerInAnyVehicle(playerid) & motor[playerid] == 1)
        {
            new 
motlualarporcappormaob;
            new 
carro GetPlayerVehicleID(playerid);
            if (
carro != INVALID_VEHICLE_ID)
            
GetVehicleParamsEx(carromotlualarporcappormaob);
            
SetVehicleParamsEx(carro0lualarporcappormaob);
            
motor[playerid] = 0;
            
SendClientMessage(playerid, -1"Veiculo {E31919}Desligado!");
            return 
true;
        }
    }
      if ((
newkeys == 132 )) // Ctrl para Ligar o Farol.
    
{
        if (
IsPlayerInAnyVehicle(playerid) & luz[playerid] == 0)
        {
            new 
motlualarporcappormaob;
            new 
carro GetPlayerVehicleID(playerid);
            if (
carro != INVALID_VEHICLE_ID)
            
GetVehicleParamsEx(carromotlualarporcappormaob);
            
SetVehicleParamsEx(carromot1alarporcappormaob);
            
luz[playerid] = 1;
            
SendClientMessage(playerid, -1"Farol {2F991A}Ligado!");
            return 
true;
        }
    }
      if ((
newkeys == 132 )) // Ctrl para Ligar o Farol.
    
{
        if (
IsPlayerInAnyVehicle(playerid) & luz[playerid] == 1)
        {
            new 
motlualarporcappormaob;
            new 
carro GetPlayerVehicleID(playerid);
            if (
carro != INVALID_VEHICLE_ID)
            
GetVehicleParamsEx(carromotlualarporcappormaob);
            
SetVehicleParamsEx(carromot0alarporcappormaob);
            
luz[playerid] = 0;
            
SendClientMessage(playerid, -1"Farol {E31919}Desligado!");
            return 
true;
        }
    } 
Reply
#3

Nгo entendi Schocc.
Reply
#4

pawn Код:
if ((newkeys == 256)) // Q para ligar o carro.
    {
        if (IsPlayerInAnyVehicle(playerid) && motor[playerid] == 0)
        {
            new mot, lu, alar, por, cap, porma, ob;
            new carro = GetPlayerVehicleID(playerid);
            if (carro != INVALID_VEHICLE_ID)

            GetVehicleParamsEx(carro, mot, lu, alar, por, cap, porma, ob);
            SetVehicleParamsEx(carro, VEHICLE_PARAMS_ON, lu, alar, por, cap, porma, ob);
            motor[playerid] = 1;
            SendClientMessage(playerid, Branco, "Veiculo {2F991A}Ligado!");
            return 1;
        }
        if (IsPlayerInAnyVehicle(playerid) && motor[playerid] == 1)
        {
            new mot, lu, alar, por, cap, porma, ob;
            new carro = GetPlayerVehicleID(playerid);
            if (carro != INVALID_VEHICLE_ID)

            GetVehicleParamsEx(carro, mot, lu, alar, por, cap, porma, ob);
            SetVehicleParamsEx(carro, VEHICLE_PARAMS_OFF, lu, alar, por, cap, porma, ob);
            motor[playerid] = 0;
            SendClientMessage(playerid, Branco, "Veiculo {E31919}Desligado!");
            return 1;  
        }
   }
Reply
#5

editei o topico acima

Sу foi usado o Operador &

e as variaveis do seu gm
luz[playerid] e motor[playerid]

qual parte vc nгo entendeu?
Reply
#6

Quote:
Originally Posted by Schocc
Посмотреть сообщение
editei o topico acima

Sу foi usado o Operador &

e as variaveis do seu gm
luz[playerid] e motor[playerid]

qual parte vc nгo entendeu?
A Parte que em seu cуdigo, o veiculo irб ligar e desligar , devido a vocк nгo ter retornado nada , olhe bem meu cуdigo e saberб porque isto irб acontecer...
Reply
#7

Entendi galera .
Reply
#8

@gustavo verdade esqueзi por que tava mechendo no sistema que te falei no msn ai de tando eu pensar em return false acabei fazendo errado ali tbm
kkkk

editei la agora deve estar correto
Reply
#9

Qual o ID da tecla CTRL para Veнculos ?
Reply
#10

Acho que KEY_ACTION ( 1 )
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)