On Player Enter Vehicle Not Working?
#1

Hey guys i have text draws that show if the engine is on or off and the for the trunk to. When ever if leave the engine on in another car and hop in a different one it still shows the engine as on? Here is my code.

OnPlayerEnterVehicle
pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    new engine,lights,alarm,doors,bonnet,boot,objective;
    new veh = GetPlayerVehicleID(playerid);
    if(EngineStatus[playerid] == 1) {
        SendClientMessage(playerid,COLOR_HOTORANGE," ------------------------------------------------------------");
        SendClientMessage(playerid, 0xFFFFFFAA, "Vehicle is on, use [/v engine] to turn it {E31919}off!");
        SendClientMessage(playerid, 0xFFFFFFAA, "You can also use [/v] to view your other options.");
        SendClientMessage(playerid,COLOR_HOTORANGE," ------------------------------------------------------------");
    }
    else if(EngineStatus[playerid] == 0) {
        SendClientMessage(playerid,COLOR_HOTORANGE," ------------------------------------------------------------");
        SendClientMessage(playerid, 0xFFFFFFAA, "Vehicle is off, use [/v engine] to turn it {2F991A}on!");
        SendClientMessage(playerid, 0xFFFFFFAA, "You can also use [/v] to view your other options.");
        SendClientMessage(playerid,COLOR_HOTORANGE," ------------------------------------------------------------");
    }
                if(LightsStatus[playerid] == 0)
                {
                    GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
                    SetVehicleParamsEx(veh,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);

                }
                if(LightsStatus[playerid] == 1)
                {
                    GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
                    SetVehicleParamsEx(veh,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
                }

    return 1;
}
And the command
pawn Код:
CMD:v(playerid, params[])
{
    new engine,lights,alarm,doors,bonnet,boot,objective;
    new veh = GetPlayerVehicleID(playerid);
    if(strcmp(params, "Engine", true) == 0)
    {
        if(IsPlayerInAnyVehicle(playerid))
        {
            if(veh != INVALID_VEHICLE_ID)
            {
                if(EngineStatus[playerid] == 0)
                {
                    GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
                    SetVehicleParamsEx(veh,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
                    EngineStatus[playerid] = 1;
                    TextDrawShowForPlayer(playerid, VEngineOn);
                    TextDrawHideForPlayer(playerid, VEngineOff);
                    SendClientMessage(playerid, 0xFFFFFFAA, "You've turned the vehicle's engine {2F991A}on!");
                }
                else if(EngineStatus[playerid] == 1)
                {
                    GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
                    SetVehicleParamsEx(veh,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
                    EngineStatus[playerid] = 0;
                    TextDrawShowForPlayer(playerid, VEngineOff);
                    TextDrawHideForPlayer(playerid, VEngineOn);
                    SendClientMessage(playerid, 0xFFFFFFAA, "You've turned the vehicle's engine {E31919}off!");
                }
            }
        }
        else {
        SendClientMessage(playerid, 0x00FF00FF, "{E31919}You are not in a vehicle!");
        }
    }
    else if(strcmp(params, "Lights", true) == 0)
    {
        if(IsPlayerInAnyVehicle(playerid))
        {
            if(veh != INVALID_VEHICLE_ID)
            {
                if(LightsStatus[playerid] == 0)
                {
                    GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
                    SetVehicleParamsEx(veh,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
                    LightsStatus[playerid] = 1;
                    TextDrawShowForPlayer(playerid, VLightsOn);
                    TextDrawHideForPlayer(playerid, VLightsOff);
                    SendClientMessage(playerid, 0xFFFFFFAA, "You've turned the vehicle's lights {2F991A}on!");
                }
                else if(LightsStatus[playerid] == 1)
                {
                    GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
                    SetVehicleParamsEx(veh,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
                    LightsStatus[playerid] = 0;
                    TextDrawShowForPlayer(playerid, VLightsOff);
                    TextDrawHideForPlayer(playerid, VLightsOn);
                    SendClientMessage(playerid, 0xFFFFFFAA, "You've turned the vehicle's lights {E31919}off!");
                }
            }
        }
        else {
        SendClientMessage(playerid, 0x00FF00FF, "{E31919}You are not in a vehicle!");
        }
    }
    else if(strcmp(params, "Doors", true) == 0)
    {
        if(IsPlayerInAnyVehicle(playerid))
        {
            if(veh != INVALID_VEHICLE_ID)
            {
                if(DoorsStatus[playerid] == 0)
                {
                    GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
                    SetVehicleParamsEx(veh,engine,lights,alarm,VEHICLE_PARAMS_ON,bonnet,boot,objective);
                    DoorsStatus[playerid] = 1;
                    SendClientMessage(playerid, 0xFFFFFFAA, "The vehicle's doors are now {2F991A}open!");
                }
                else if(DoorsStatus[playerid] == 1)
                {
                    GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
                    SetVehicleParamsEx(veh,engine,lights,alarm,VEHICLE_PARAMS_OFF,bonnet,boot,objective);
                    DoorsStatus[playerid] = 0;
                    SendClientMessage(playerid, 0xFFFFFFAA, "The vehicle's doors are now {E31919}closed!");
                }
            }
        }
        else {
        SendClientMessage(playerid, 0x00FF00FF, "{E31919}You are not in a vehicle!");
        }
    }
    else if(strcmp(params, "Hood", true) == 0)
    {
        if(IsPlayerInAnyVehicle(playerid))
        {
            if(veh != INVALID_VEHICLE_ID)
            {
                if(BonnetStatus[playerid] == 0)
                {
                    GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
                    SetVehicleParamsEx(veh,engine,lights,alarm,doors,VEHICLE_PARAMS_ON,boot,objective);
                    BonnetStatus[playerid] = 1;
                    SendClientMessage(playerid, 0xFFFFFFAA, "The vehicle's hood is now {2F991A}open!");
                }
                else if(BonnetStatus[playerid] == 1)
                {
                    GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
                    SetVehicleParamsEx(veh,engine,lights,alarm,doors,VEHICLE_PARAMS_OFF,boot,objective);
                    BonnetStatus[playerid] = 0;
                    SendClientMessage(playerid, 0xFFFFFFAA, "The vehicle's hood is now {E31919}closed!");
                }
            }
        }
        else {
        SendClientMessage(playerid, 0x00FF00FF, "{E31919}You are not in a vehicle!");
        }
    }
    else if(strcmp(params, "Trunk", true) == 0)
    {
        if(IsPlayerInAnyVehicle(playerid))
        {
            if(veh != INVALID_VEHICLE_ID)
            {
                if(BootStatus[playerid] == 0)
                {
                    GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
                    SetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,VEHICLE_PARAMS_ON,objective);
                    BootStatus[playerid] = 1;
                    SendClientMessage(playerid, 0xFFFFFFAA, "The vehicle's trunk is now {2F991A}open!");
                    TextDrawShowForPlayer(playerid, VTrunkOpen);
                    TextDrawHideForPlayer(playerid, VTrunkClosed);
                }
                else if(BootStatus[playerid] == 1)
                {
                    GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
                    SetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,VEHICLE_PARAMS_OFF,objective);
                    BootStatus[playerid] = 0;
                    TextDrawShowForPlayer(playerid, VTrunkClosed);
                    TextDrawHideForPlayer(playerid, VTrunkOpen);
                    SendClientMessage(playerid, 0xFFFFFFAA, "The vehicle's trunk is now {E31919}closed!");
                }
            }
        }
        else {
        SendClientMessage(playerid, 0x00FF00FF, "{E31919}You are not in a vehicle!");
        }
    }
    else SendClientMessage(playerid, 0xFFFFFFAA, "SYNTAX: /v[function]"),
    SendClientMessage(playerid, 0xFFFFFFAA, "Functions: Engine, Lights, Doors, Hood, Trunk");
    return 1;
}
Reply
#2

use this callback:

pawn Код:
public OnPlayerExitVehicle(playerid, vehicleid)
{
    return 1;
}
under it, hide the textdraw for the player. it's self explanatory - if the player exits the vehicle.
Reply
#3

Well i already have
pawn Код:
if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
    {
        TextDrawShowForPlayer(playerid, VBlackBox1);
        TextDrawShowForPlayer(playerid, VBlackBox2);
        TextDrawShowForPlayer(playerid, VBlackBox3);
        TextDrawShowForPlayer(playerid, VEngine);
        if(EngineStatus[playerid] == 1) {
            TextDrawShowForPlayer(playerid, VEngineOn);
        }
        if(EngineStatus[playerid] == 0) {
            TextDrawShowForPlayer(playerid, VEngineOff);
        }
        TextDrawShowForPlayer(playerid, VSpeedMPH);
        TextDrawShowForPlayer(playerid, VTrunk);
        if(BootStatus[playerid] == 1) {
            TextDrawShowForPlayer(playerid, VTrunkOpen);
        }
        if(BootStatus[playerid] == 0) {
            TextDrawShowForPlayer(playerid, VTrunkClosed);
        }
        TextDrawShowForPlayer(playerid, VLights);
        if(LightsStatus[playerid] == 1) {
            TextDrawShowForPlayer(playerid, VLightsOn);
        }
        if(LightsStatus[playerid] == 0) {
            TextDrawShowForPlayer(playerid, VLightsOff);
        }
    }


    else if(oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER)
    {
        TextDrawHideForPlayer(playerid, VBlackBox1);
        TextDrawHideForPlayer(playerid, VBlackBox2);
        TextDrawHideForPlayer(playerid, VBlackBox3);
        TextDrawHideForPlayer(playerid, VEngine);
        TextDrawHideForPlayer(playerid, VEngineOn);
        TextDrawHideForPlayer(playerid, VEngineOff);
        TextDrawHideForPlayer(playerid, VSpeedMPH);
        TextDrawHideForPlayer(playerid, VTrunk);
        TextDrawHideForPlayer(playerid, VTrunkOpen);
        TextDrawHideForPlayer(playerid, VTrunkClosed);
        TextDrawHideForPlayer(playerid, VLights);
        TextDrawHideForPlayer(playerid, VLightsOn);
        TextDrawHideForPlayer(playerid, VLightsOff);
    }
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)