Why ain't /v trunk and /v hood working?
#1

Ok, so the first time you type /v hood while sitting in the car the hood opens up but when you type it again it doesn't close, but if you type /v trunk in the car it doesn't open the trunk or close it. Also if you type /v trunk and /v hood outside the car nothing happens, Can anyone help me fix?

pawn Код:
COMMAND:v(playerid, params[])
{
    new type[128];
    new newstate = GetPlayerState(playerid);
    if(sscanf(params, "s[128]", type)) SendClientMessage(playerid, COLOR_GREY, "USAGE: /accept [invite / death / shake]");
    else
    {
        if(RpPlayerInfo[playerid][pMute] == 1) return SendClientMessage(playerid,COLOR_RED,"WARNING: You are currently muted.");
        if(strcmp(type, "engine", true) == 0)
        {
            if(NcInfo[GetPlayerVehicleID(playerid)][Engine] == 0 && newstate == PLAYER_STATE_DRIVER)
            {
                new engine, lights1, alarm, doors, bonnet, boot, objective;
                GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights1, alarm, doors, bonnet, boot, objective);
                SetVehicleParamsEx(GetPlayerVehicleID(playerid), true, lights1, alarm, doors, bonnet, boot, objective);
                NcInfo[GetPlayerVehicleID(playerid)][Engine] = 1;
            }
            else if(NcInfo[GetPlayerVehicleID(playerid)][Engine] == 1 && newstate == PLAYER_STATE_DRIVER)
            {
                new engine, lights1, alarm, doors, bonnet, boot, objective;
                GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights1, alarm, doors, bonnet, boot, objective);
                SetVehicleParamsEx(GetPlayerVehicleID(playerid), false, lights1, alarm, doors, bonnet, boot, objective);
                NcInfo[GetPlayerVehicleID(playerid)][Engine] = 0;
            }
        }
        if(strcmp(type, "trunk", true) == 0)
        {
            for(new i = 0; i < MAX_VEHICLES; i++)
            {
                new Float:vehx, Float:vehy, Float:vehz;
                GetVehiclePos(i, vehx, vehy, vehz);
                if(IsPlayerInRangeOfPoint(playerid, 2.0, vehx, vehy, vehz))
                {
                    if(NcInfo[i][Boot] == 0 && newstate == PLAYER_STATE_DRIVER)
                    {
                        new engine, lights1, alarm, doors, bonnet, boot, objective;
                        GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights1, alarm, doors, bonnet, boot, objective);
                        SetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights1, alarm, doors, bonnet, true, objective);
                        NcInfo[i][Boot] = 1;
                    }
                    else if(NcInfo[i][Boot] == 1 && newstate == PLAYER_STATE_DRIVER)
                    {
                        new engine, lights1, alarm, doors, bonnet, boot, objective;
                        GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights1, alarm, doors, bonnet, boot, objective);
                        SetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights1, alarm, doors, bonnet, false, objective);
                        NcInfo[i][Boot] = 0;
                    }
                }
            }
            if(IsPlayerInAnyVehicle(playerid))
            {
                if(NcInfo[GetPlayerVehicleID(playerid)][Boot] == 0 && newstate == PLAYER_STATE_DRIVER)
                {
                    new engine, lights1, alarm, doors, bonnet, boot, objective;
                    GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights1, alarm, doors, bonnet, boot, objective);
                    SetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights1, alarm, doors, bonnet, true, objective);
                    NcInfo[GetPlayerVehicleID(playerid)][Boot] = 1;
                }
                else if(NcInfo[GetPlayerVehicleID(playerid)][Boot] == 1 && newstate == PLAYER_STATE_DRIVER)
                {
                    new engine, lights1, alarm, doors, bonnet, boot, objective;
                    GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights1, alarm, doors, bonnet, boot, objective);
                    SetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights1, alarm, doors, bonnet, false, objective);
                    NcInfo[GetPlayerVehicleID(playerid)][Boot] = 0;
                }
            }
        }
        if(strcmp(type, "hood", true) == 0)
        {
            for(new i = 0; i < MAX_VEHICLES; i++)
            {
                new Float:vehx, Float:vehy, Float:vehz;
                GetVehiclePos(i, vehx, vehy, vehz);
                if(IsPlayerInRangeOfPoint(playerid, 2.0, vehx, vehy, vehz))
                {
                    if(NcInfo[i][Hood] == 0 && newstate == PLAYER_STATE_DRIVER)
                    {
                        new engine, lights1, alarm, doors, bonnet, boot, objective;
                        GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights1, alarm, doors, bonnet, boot, objective);
                        SetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights1, alarm, doors, true, boot, objective);
                        NcInfo[i][Hood] = 1;
                    }
                    else if(NcInfo[i][Hood] == 1 && newstate == PLAYER_STATE_DRIVER)
                    {
                        new engine, lights1, alarm, doors, bonnet, boot, objective;
                        GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights1, alarm, doors, bonnet, boot, objective);
                        SetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights1, alarm, doors, false, boot, objective);
                        NcInfo[i][Hood] = 0;
                    }
                }
            }
            if(IsPlayerInAnyVehicle(playerid))
            {
                if(NcInfo[GetPlayerVehicleID(playerid)][Boot] == 0 && newstate == PLAYER_STATE_DRIVER)
                {
                    new engine, lights1, alarm, doors, bonnet, boot, objective;
                    GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights1, alarm, doors, bonnet, boot, objective);
                    SetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights1, alarm, doors, true, boot, objective);
                    NcInfo[GetPlayerVehicleID(playerid)][Hood] = 1;
                }
                else if(NcInfo[GetPlayerVehicleID(playerid)][Boot] == 1 && newstate == PLAYER_STATE_DRIVER)
                {
                    new engine, lights1, alarm, doors, bonnet, boot, objective;
                    GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights1, alarm, doors, bonnet, boot, objective);
                    SetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights1, alarm, doors, false, boot, objective);
                    NcInfo[GetPlayerVehicleID(playerid)][Hood] = 0;
                }
            }
        }
        return 1;
    }
    return 1;
}
Reply
#2

You have to use GetVehicleParams and SetVehicleParams like this:

For example this turns the lights off:
Код:
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vehicleid,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
And this turns them on:
Код:
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vehicleid,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
Reply
#3

Where are GetVehicleParams 'n' SetVehicleParams ?
Reply
#4

Check the vehicle controller script I made, you'll get the idea of it there, with the sscanf and stuff..
It's exactly what you need here, you will get the idea from my script and apply it here

https://sampforum.blast.hk/showthread.php?tid=458111
Reply
#5

you can use this:
Код:
// idx is owner's car...
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(idx, engine, lights, alarm, doors, bonnet, boot, objective);
if(!boot)
SetVehicleParamsEx(idx, engine, lights, alarm, doors, bonnet,1, objective);
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)