Car Lights
#1

Hello,
I don't know why the car lights are not turning on
I tried turning them on in all the "SetVahicleParamsEx" but they are not, idk why
for example in this command all of /car hood/trunk/engine work, but /car lights doesn't
pawn Код:
CMD:car(playerid, params[])
{
    new string[12];
    new vehicleid=GetPlayerVehicleID(playerid);
    new engine, lights, hood, trunk, a, d, o;
    GetVehicleParamsEx(vehicleid, engine, lights, a, d, hood, trunk, o);
    if (sscanf(params, "s[12]", string)) return SendClientMessage(playerid, 0xFFFFFFFF, "Usage: /car [engine / lights / hood / trunk]");
    else if (!strcmp(string, "engine"))
    {
            if (engine == 0)
            SetVehicleParamsEx(vehicleid, 1, lights, a, d, hood, trunk, o);
            else
            SetVehicleParamsEx(vehicleid, 0, lights, a, d, hood, trunk, o);
    }
    else if (!strcmp(string, "lights"))
    {
            if (lights == 0)
            SetVehicleParamsEx(vehicleid, engine, 1, a, d, hood, trunk, o);
            else
            SetVehicleParamsEx(vehicleid, engine, 0, a, d, hood, trunk, o);
    }
    else if (!strcmp(string, "hood"))
    {
            if (hood == 0)
            SetVehicleParamsEx(vehicleid, engine, lights, a, d, 1, trunk, o);
            else
            SetVehicleParamsEx(vehicleid, engine, lights, a, d, 0, trunk, o);
    }
    else if (!strcmp(string, "trunk"))
    {
            if (trunk == 0)
            SetVehicleParamsEx(vehicleid, engine, lights, a, d, hood, 1, o);
            else
            SetVehicleParamsEx(vehicleid, engine, lights, a, d, hood, 0, o);
    }
    return 1;
}
also after vehicle respawn
pawn Код:
public OnVehicleSpawn(vehicleid)
{
    SendClientMessageToAll(0xFFFFFFFF, "Vehicle sent to its spawn location");
    SetVehicleParamsEx(vehicleid, 0, 1, 0, 0, 0, 0, 0);
    return 1;
}
also in the /createveh command, It should be turned on, weird!!
pawn Код:
CMD:createveh(playerid, params[])
{
    new
        vehid,vehicleid,colorid1,colorid2;
    new
        Float:x,Float:y,Float:z;
    if (sscanf(params, "iii", vehid, colorid1, colorid2)) SendClientMessage(playerid, 0xFFFFFFFF, "Usage: /createveh [Vehicle ID] [Color 1 ID] [Color 2 ID]");
    else if (vehid== INVALID_VEHICLE_ID) SendClientMessage(playerid, 0xFF0000AA, "Invalid Vehicle ID");// needs Fix
    else
    {
        GetPlayerPos(playerid, x, y, z);
        vehicleid = CreateVehicle(vehid, x+3, y+3, z, 0, colorid1, colorid2, 1);
        SetVehicleParamsEx(vehicleid, 0, 1, 1, 1, 1, 1, 1);
    }
    return 1;
}
I never used SetVehicleParamsEx except in the 2 commands and in OnVehiclespawn callback
Reply
#2

really weird don't think the problem is in the script
Reply
#3

Unless you are also using ManualVehicleEngineAndLights, headlights will only turn on at night. You may also want to check if the light is 'not 1' rather than 'is 0' because it may also have the state 'unset', which is -1.
Reply
#4

Unfortunately , no , everything seems to be good
idk what's up
here is the whole code (it's too short since i'm just training myself on scripting)
pawn Код:
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print(" Blank Filterscript by your name here");
    print("--------------------------------------\n");
    return 1;
}

public OnFilterScriptExit()
{
    return 1;
}

#else

main()
{
    print("\n----------------------------------");
    print(" Aziz test working...");
    print("----------------------------------\n");
}

#endif

//new's here

new bool:Bo[MAX_PLAYERS];

// end new's
public OnGameModeInit()
{
    // Don't use these lines if it's a filterscript
    SetGameModeText("Test GM");
    UsePlayerPedAnims();
    AddPlayerClass(294, 1667.5210, -1890.7461, 13.5469, 90.0698, 0, 0, 0, 0, 0, 0);
    AddStaticVehicle(522, 1651.5237, -1881.4485, 13.1121, 358.1041, 1, 1);
    AddStaticVehicle(522, 1655.8083, -1881.3761, 13.1127, 357.8956, 0, 0);
    AddStaticVehicle(522, 1657.8685, -1881.5184, 13.1173, 359.5423, 1, 0);
    AddStaticVehicle(451, 1638.9659, -1880.7458, 13.2564, 359.5384, 0, 0);
    AddStaticVehicle(451, 1631.8439, -1880.0834, 13.2525, 0.1468, 1, 1);
    return 1;
}

public OnGameModeExit()
{
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
}

public OnPlayerConnect(playerid)
{
    Bo[playerid]=false;
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    return 1;
}

public OnPlayerSpawn(playerid)
{
    SendClientMessage(playerid, 0xFFFFFFFF, "You spawned at the spawn point");
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    return 1;
}

public OnVehicleSpawn(vehicleid)
{
    SendClientMessageToAll(0xFFFFFFFF, "Vehicle sent to its spawn location");
    SetVehicleParamsEx(vehicleid, 0, 1, 0, 0, 0, 0, 0);
    return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
    return 1;
}

public OnPlayerText(playerid, text[])
{
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    {
        // Do something here
        return 1;
    }
    return 0;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
DisablePlayerCheckpoint(playerid);
PlayerPlaySound(playerid, 1139, 0.0, 0.0, 0.0);
Bo[playerid]=false;
return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
    return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
    return 1;
}

public OnRconCommand(cmd[])
{
    return 1;
}

public OnPlayerRequestSpawn(playerid)
{
    return 1;
}

public OnObjectMoved(objectid)
{
    return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
    return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
    return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
    return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
    return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
    return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
    return 1;
}

public OnPlayerExitedMenu(playerid)
{
    return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
    return 1;
}

public OnPlayerUpdate(playerid)
{
    return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
    return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
    return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
    return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    return 1;
}
CMD:createveh(playerid, params[])
{
    new
        vehid,vehicleid,colorid1,colorid2;
    new
        Float:x,Float:y,Float:z;
    if (sscanf(params, "iii", vehid, colorid1, colorid2)) SendClientMessage(playerid, 0xFFFFFFFF, "Usage: /createveh [Vehicle ID] [Color 1 ID] [Color 2 ID]");
    else if (vehid== INVALID_VEHICLE_ID) SendClientMessage(playerid, 0xFF0000AA, "Invalid Vehicle ID");// needs Fix
    else
    {
        GetPlayerPos(playerid, x, y, z);
        vehicleid = CreateVehicle(vehid, x+3, y+3, z, 0, colorid1, colorid2, 1);
        SetVehicleParamsEx(vehicleid, 0, 1, 1, 1, 1, 1, 1);
    }
    return 1;
}
CMD:nos(playerid, params[])
{

        if (!IsPlayerInAnyVehicle(playerid) )
        {
        return SendClientMessage(playerid, 0xFF0000AA, "You are not in Any vehicle, please get in a vehicle");
        }
        else
        {
         AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
         PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
        }
        return 1;

}

CMD:fixveh(playerid, params[])
{
       if (!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFF0000AA, "You must be in a vehicle to fix it");
       else
       {
            new Float:Health;
            GetVehicleHealth(GetPlayerVehicleID(playerid), Health);
            if (Health>700) return SendClientMessage(playerid, 0xFF0000AA, "You can't fix the vehicle, if its Health is above 700");
            else
            {
            SetVehicleHealth(GetPlayerVehicleID(playerid), 1000);
            PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
            SendClientMessage(playerid, 0xFFC0C0C0, "Vehicle Fixed");
            return 1;
            }
        }

}
CMD:deletecheckpoint(playerid, params[])
{
        if (Bo[playerid] == false) return SendClientMessage(playerid, 0xFF0000AA, "There are currently no active checkpoints.");
        else
        {
            DisablePlayerCheckpoint(playerid);
            Bo[playerid]=false;
            return SendClientMessage(playerid, 0xFFC0C0C0, "Checkpoint deleted");
        }
}
CMD:givemoney(playerid, params[])
{
    new id,amount;
    new string1[128],string2[128],name1[MAX_PLAYER_NAME+1],name2[MAX_PLAYER_NAME+1];
    if (sscanf(params, "ui", id, amount)) SendClientMessage (playerid, 0xFFFFFFFF, "Usage: /givemoney [Player ID] [Amount]");
    else if (id == INVALID_PLAYER_ID ) SendClientMessage (playerid, 0xFF0000AA, "Invalid ID");
    else if (amount == 0) SendClientMessage(playerid, 0xFF0000AA, "Amount can't be 0$");
    else
    {
    GivePlayerMoney(id, amount);
    GetPlayerName(playerid, name1, sizeof(name1));
    GetPlayerName(id, name2, sizeof(name2));
    format(string2, sizeof(string2), "You have recieved %i$ from %s",amount, name1);
    format(string1, sizeof(string1), "You have given %s %i$",name2,amount);
    SendClientMessage(playerid, 0x00BFFF, string1);
    SendClientMessage(id, 0x00BFFF, string2);
    }
    return 1;

}
CMD:repair(playerid, params[])
{
        if (!IsPlayerInAnyVehicle(playerid) )
        {
        SendClientMessage(playerid, 0xFF0000AA, "You must be in a vehicle to repair it");
        return 1;
        }
        else if (!IsPlayerInRangeOfPoint(playerid, 5, 1607.2327, -1841.8683, 13.5116) )
        {
        SendClientMessage(playerid, 0xFF0000AA, "You are not at the Mechanic Place please get to there then /repair, use /whereismech to find the location");
        return 1;
        }
        else if (GetPlayerMoney(playerid)<5000) return SendClientMessage(playerid, 0xFF0000AA, "You don't have enough cash for that, you need at least 5000$");
        else
        {
         RepairVehicle(GetPlayerVehicleID(playerid));
         PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
         GivePlayerMoney (playerid, -5000);
         SendClientMessage(playerid, 0xFFC0C0C0, "You have repaired your vehicle and paid 5,000$ for it");
         return 1;
        }

}
CMD:whereismech(playerid, params[])
{
        if (Bo[playerid] == true) return SendClientMessage(playerid, 0xFF0000AA, "You already have an active Checkpoint, please use /deletecheckpoint to have another one.");
        else
        {
        if (!IsPlayerInRangeOfPoint(playerid, 5, 1607.2327, -1841.8683, 13.5116))
        {
            SetPlayerCheckpoint(playerid, 1607.2327, -1841.8683, 13.5116, 3);
            SendClientMessage (playerid, 0xFF0000AA, "Go to the checkpoint and /repair there");
            Bo[playerid]=true;
            return 1;
        }
        else
        {
        SendClientMessage(playerid, 0xFF0000AA, "You are already in the mechanic place, use /repair, this will cost you 5000$");
        return 1;
        }
        }

}
CMD:kill(playerid, params[])
{
    SetPlayerHealth(playerid, 0);
    return 1;
}
CMD:car(playerid, params[])
{
    new string[12];
    new vehicleid=GetPlayerVehicleID(playerid);
    new engine, lights, hood, trunk, a, d, o;
    GetVehicleParamsEx(vehicleid, engine, lights, a, d, hood, trunk, o);
    if (sscanf(params, "s[12]", string)) return SendClientMessage(playerid, 0xFFFFFFFF, "Usage: /car [engine / lights / hood / trunk]");
    else if (!strcmp(string, "engine"))
    {
            if (engine == 0)
            SetVehicleParamsEx(vehicleid, 1, lights, a, d, hood, trunk, o);
            else
            SetVehicleParamsEx(vehicleid, 0, lights, a, d, hood, trunk, o);
    }
    else if (!strcmp(string, "lights"))
    {
            if (lights == 0)
            SetVehicleParamsEx(vehicleid, engine, 1, a, d, hood, trunk, o);
            else
            SetVehicleParamsEx(vehicleid, engine, 0, a, d, hood, trunk, o);
    }
    else if (!strcmp(string, "hood"))
    {
            if (hood == 0)
            SetVehicleParamsEx(vehicleid, engine, lights, a, d, 1, trunk, o);
            else
            SetVehicleParamsEx(vehicleid, engine, lights, a, d, 0, trunk, o);
    }
    else if (!strcmp(string, "trunk"))
    {
            if (trunk == 0)
            SetVehicleParamsEx(vehicleid, engine, lights, a, d, hood, 1, o);
            else
            SetVehicleParamsEx(vehicleid, engine, lights, a, d, hood, 0, o);
    }
    return 1;
}
Reply
#5

Add under OnGameModeInit this:

pawn Код:
ManualVehicleEngineAndLights();
Reply
#6

I think that's it +rep for both of u, I'm so stupid -_- ,
Reply
#7

Try this one maybe its better :P
Quote:

command(lights, playerid, params[])
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
new engine,lights,alarm,doors,bonnet,boot,objective;
new vid = GetPlayerVehicleID(playerid);
new string[128];
GetVehicleParamsEx(vid,engine,lights,alarm,doors,b onnet,boot,objective);
if(vid != INVALID_VEHICLE_ID)
{
if(lights == VEHICLE_PARAMS_ON)
{
SetVehicleParamsEx(vid,engine,VEHICLE_PARAMS_OFF,a larm,doors,bonnet,boot,objective);
format(string, sizeof(string), "* %s turns off the vehicle lights.", RPName(playerid));
NearByMessage(playerid, NICESKY, string);
}
else
{
if(Vehicles[vid][Battery] >= 1)
{
SetVehicleParamsEx(vid,engine,VEHICLE_PARAMS_ON,al arm,doors,bonnet,boot,objective);
format(string, sizeof(string), "* %s turns on the vehicle lights.", RPName(playerid));
NearByMessage(playerid, NICESKY, string);
}
else
{
RemoveTextMessage(playerid);
TextDrawShowForPlayer(playerid, Text:OutOfBattery);
SetTimerEx("RemoveTextMessage", 3500, false, "d", playerid);
}
}
}
return 1;
}

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)