[Ajuda] Sistema de MOTOR
#1

Olб galera, eu estou ultilizando esse sistema:
http://forum.sa-mp.com/showthread.ph...ar+ligar+carro

Para ligar e desligar o motor dos carros, mais tem um problema, eu nгo sei como faзo para que ao player entrar no veiculo, ele ja estar DESLIGADO, ou seja.. sendo necessбrio ele ligar para poder sair andando no veiculo,alguйm pode me ajudar?
Reply
#2

pawn Код:
public OnGameModeInit()
{
    for(new v = 0; v < MAX_VEHICLES; v ++)
    {
        //Coloque aqui a variavel do motor desligado
    }
    return 1;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    if(/*Troque pela variavel do seu motor*/ && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
        SendClientMessage(playerid,-1,"{AF7E7E}[Veнculo]: {D9D9D9}Use {AF7E7E}Ctrl ESQ {D9D9D9}Para ligar o veiculo!");
        return 1;
    }
    return 1;
}
Reply
#3

Aqui sйria assim?
pawn Код:
public OnGameModeInit()
{
    for(new v = 0; v < MAX_VEHICLES; v ++)
    {
        SetVehicleParamsEx(carro, VEHICLE_PARAMS_OFF, lu, alar, por, cap, porma, ob);
    }
    return 1;
}
Aqui nгo entendi muito bem...
pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    if(/*Troque pela variavel do seu motor*/ && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
        SendClientMessage(playerid,-1,"{AF7E7E}[Veнculo]: {D9D9D9}Use {AF7E7E}Ctrl ESQ {D9D9D9}Para ligar o veiculo!");
        return 1;
    }
    return 1;
}
Reply
#4

Nгo intendo a dificuldade de usar bool e usar MAX_VEHICLES para o motor ON
pawn Код:
#include a_samp
enum Dvei
{
    bool:vMotor,
    bool:vFarol//pode ser adicionado mais
}
new VeiculoInfo[MAX_VEHICLES][Dvei];
new motor, farol, alarme, portas, capo, portamalas, objetivo;
public OnFilterScriptInit()
{
    for(new i; i < MAX_VEHICLES; i ++)
    {
         VeiculoInfo[i][vMotor] = false;
         VeiculoInfo[i][vFarol] = false;
         GetVehicleParamsEx(i, motor, farol, alarme, portas, capo, portamalas, objetivo);
         SetVehicleParamsEx(i, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, alarme, portas, capo, portamalas,objetivo);
    }
    return 1;
}
public OnFilterScriptExit()
{
    return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{

    if(VeiculoInfo[vehicleid][vMotor] == false)
         SendClientMessage(playerid, 0xFFFFFFFF, "Veiculo desligado [2] para liga-lo.");
         else
         SendClientMessage(playerid, 0xFFFFFFFF, "Veiculo ligado [2] para desliga-lo.");
         
    if(VeiculoInfo[vehicleid][vFarol] == false)
         SendClientMessage(playerid, 0xFFFFFFFF, "Farol desligado [H] para liga-lo.");
         else
         SendClientMessage(playerid, 0xFFFFFFFF, "Farol ligado [H] para desliga-lo.");
         
    return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys == KEY_SUBMISSION  && oldkeys == KEY_SUBMISSION)
    {
         new vehicleid = GetPlayerVehicleID (playerid);
         if(VeiculoInfo[vehicleid][vMotor] == false)
         {
               VeiculoInfo[vehicleid][vMotor] = true;
               SendClientMessage(playerid, 0xFFFFFFFF, "Veiculo ligado [2] para desliga-lo.");
               GetVehicleParamsEx(vehicleid, motor, farol, alarme, portas, capo, portamalas, objetivo);
               SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_ON, farol, alarme, portas, capo, portamalas,objetivo);
         }
         else
         {
               VeiculoInfo[vehicleid][vMotor] = false;
               SendClientMessage(playerid, 0xFFFFFFFF, "Veiculo desligado [2] para liga-lo.");
               GetVehicleParamsEx(vehicleid, motor, farol, alarme, portas, capo, portamalas, objetivo);
               SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_OFF, farol, alarme, portas, capo, portamalas,objetivo);
         }
    }
    if(newkeys == KEY_CTRL_BACK  && oldkeys == KEY_CTRL_BACK)
    {
         new vehicleid = GetPlayerVehicleID (playerid);
         if(VeiculoInfo[vehicleid][vFarol] == false)
         {
                VeiculoInfo[vehicleid][vFarol] = true;
                SendClientMessage(playerid, 0xFFFFFFFF, "Farol ligado [H] para desliga-lo.");
                GetVehicleParamsEx(vehicleid, motor, farol, alarme, portas, capo, portamalas, objetivo);
                SetVehicleParamsEx(vehicleid, motor, VEHICLE_PARAMS_ON, alarme, portas, capo, portamalas,objetivo);
         }
         else
         {
                VeiculoInfo[vehicleid][vFarol] = false;
                SendClientMessage(playerid, 0xFFFFFFFF, "Farol desligado [H] para liga-lo.");
                GetVehicleParamsEx(vehicleid, motor, farol, alarme, portas, capo, portamalas, objetivo);
                SetVehicleParamsEx(vehicleid, motor, VEHICLE_PARAMS_OFF, alarme, portas, capo, portamalas,objetivo);
          }
    }
    return 1;
}
Testado e aprovado!
Reply
#5

Quote:
Originally Posted by Don_Speed
Посмотреть сообщение
Nгo intendo a dificuldade de usar bool e usar MAX_VEHICLES para o motor ON
pawn Код:
#include a_samp
enum Dvei
{
    bool:vMotor,
    bool:vFarol//pode ser adicionado mais
}
new VeiculoInfo[MAX_VEHICLES][Dvei];
new motor, farol, alarme, portas, capo, portamalas, objetivo;
public OnFilterScriptInit()
{
    for(new i; i < MAX_VEHICLES; i ++)
    {
         VeiculoInfo[i][vMotor] = false;
         VeiculoInfo[i][vFarol] = false;
         GetVehicleParamsEx(i, motor, farol, alarme, portas, capo, portamalas, objetivo);
         SetVehicleParamsEx(i, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, alarme, portas, capo, portamalas,objetivo);
    }
    return 1;
}
public OnFilterScriptExit()
{
    return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{

    if(VeiculoInfo[vehicleid][vMotor] == false)
         SendClientMessage(playerid, 0xFFFFFFFF, "Veiculo desligado [2] para liga-lo.");
         else
         SendClientMessage(playerid, 0xFFFFFFFF, "Veiculo ligado [2] para desliga-lo.");
         
    if(VeiculoInfo[vehicleid][vFarol] == false)
         SendClientMessage(playerid, 0xFFFFFFFF, "Farol desligado [H] para liga-lo.");
         else
         SendClientMessage(playerid, 0xFFFFFFFF, "Farol ligado [H] para desliga-lo.");
         
    return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys == KEY_SUBMISSION  && oldkeys == KEY_SUBMISSION)
    {
         new vehicleid = GetPlayerVehicleID (playerid);
         if(VeiculoInfo[vehicleid][vMotor] == false)
         {
               VeiculoInfo[vehicleid][vMotor] = true;
               SendClientMessage(playerid, 0xFFFFFFFF, "Veiculo ligado [2] para desliga-lo.");
               GetVehicleParamsEx(vehicleid, motor, farol, alarme, portas, capo, portamalas, objetivo);
               SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_ON, farol, alarme, portas, capo, portamalas,objetivo);
         }
         else
         {
               VeiculoInfo[vehicleid][vMotor] = false;
               SendClientMessage(playerid, 0xFFFFFFFF, "Veiculo desligado [2] para liga-lo.");
               GetVehicleParamsEx(vehicleid, motor, farol, alarme, portas, capo, portamalas, objetivo);
               SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_OFF, farol, alarme, portas, capo, portamalas,objetivo);
         }
    }
    if(newkeys == KEY_CTRL_BACK  && oldkeys == KEY_CTRL_BACK)
    {
         new vehicleid = GetPlayerVehicleID (playerid);
         if(VeiculoInfo[vehicleid][vFarol] == false)
         {
                VeiculoInfo[vehicleid][vFarol] = true;
                SendClientMessage(playerid, 0xFFFFFFFF, "Farol ligado [H] para desliga-lo.");
                GetVehicleParamsEx(vehicleid, motor, farol, alarme, portas, capo, portamalas, objetivo);
                SetVehicleParamsEx(vehicleid, motor, VEHICLE_PARAMS_ON, alarme, portas, capo, portamalas,objetivo);
         }
         else
         {
                VeiculoInfo[vehicleid][vFarol] = false;
                SendClientMessage(playerid, 0xFFFFFFFF, "Farol desligado [H] para liga-lo.");
                GetVehicleParamsEx(vehicleid, motor, farol, alarme, portas, capo, portamalas, objetivo);
                SetVehicleParamsEx(vehicleid, motor, VEHICLE_PARAMS_OFF, alarme, portas, capo, portamalas,objetivo);
          }
    }
    return 1;
}
Testado e aprovado!
Amigo, sу a mensagem aparece, mais se eu entro no veiculo, eu posso andar normalmente sem ter que ligar o motor, e apertando o botao [2] o motor nem liga, nem desliga!
Reply
#6

Quote:
Originally Posted by Pedro_BPP
Посмотреть сообщение
Amigo, sу a mensagem aparece, mais se eu entro no veiculo, eu posso andar normalmente sem ter que ligar o motor, e apertando o botao [2] o motor nem liga, nem desliga!
pawn Код:
ManualVehicleEngineAndLights();

Sem isto nгo funfa !
Isto vai em GameModeInit
Reply
#7

Sу +uma coisa amigo.
E para que o "carona" nгo receba essas mensagens e nem possa ligar/desligar o veiculo... Oque devo fazer?
Eu deveria ultilizar "ispassenger"?? Como?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)