@@ -36,6 +36,7 @@ void CLuaVehicleDefs::LoadFunctions()
3636 {" getVehicleDoorState" , GetVehicleDoorState},
3737 {" getVehicleLightState" , GetVehicleLightState},
3838 {" getVehiclePanelState" , GetVehiclePanelState},
39+ {" areVehicleLightsOn" , AreVehicleLightsOn},
3940 {" getVehicleOverrideLights" , GetVehicleOverrideLights},
4041 {" getVehicleTowedByVehicle" , GetVehicleTowedByVehicle},
4142 {" getVehicleTowingVehicle" , GetVehicleTowingVehicle},
@@ -200,6 +201,7 @@ void CLuaVehicleDefs::AddClass(lua_State* luaVM)
200201 lua_classfunction (luaVM, " getEngineState" , " getVehicleEngineState" );
201202 lua_classfunction (luaVM, " getLightState" , " getVehicleLightState" );
202203 lua_classfunction (luaVM, " getAdjustableProperty" , " getVehicleAdjustableProperty" );
204+ lua_classfunction (luaVM, " areLightsOn" , " areVehicleLightsOn" );
203205 lua_classfunction (luaVM, " getOverrideLights" , " getVehicleOverrideLights" );
204206 lua_classfunction (luaVM, " getPanelState" , " getVehiclePanelState" );
205207 lua_classfunction (luaVM, " getTurnVelocity" , OOP_GetVehicleTurnVelocity);
@@ -298,6 +300,7 @@ void CLuaVehicleDefs::AddClass(lua_State* luaVM)
298300 lua_classvariable (luaVM, " fuelTankExplodable" , " setVehicleFuelTankExplodable" , " isVehicleFuelTankExplodable" );
299301 lua_classvariable (luaVM, " engineState" , " setVehicleEngineState" , " getVehicleEngineState" );
300302 lua_classvariable (luaVM, " landingGearDown" , " setVehicleLandingGearDown" , " getVehicleLandingGearDown" );
303+ lua_classvariable (luaVM, " lightsOn" , NULL , " areVehicleLightsOn" );
301304 lua_classvariable (luaVM, " overrideLights" , " setVehicleOverrideLights" , " getVehicleOverrideLights" );
302305 lua_classvariable (luaVM, " undamageableDoors" , " setVehicleDoorsUndamageable" , NULL );
303306 lua_classvariable (luaVM, " taxiLight" , " setVehicleTaxiLightOn" , " isVehicleTaxiLightOn" );
@@ -1008,6 +1011,20 @@ int CLuaVehicleDefs::GetVehiclePanelState(lua_State* luaVM)
10081011 return 1 ;
10091012}
10101013
1014+ int CLuaVehicleDefs::AreVehicleLightsOn (lua_State* luaVM)
1015+ {
1016+ CClientVehicle* pVehicle;
1017+ CScriptArgReader argStream (luaVM);
1018+ argStream.ReadUserData (pVehicle);
1019+
1020+ if (argStream.HasErrors ())
1021+ return luaL_error (luaVM, argStream.GetFullErrorMessage ());
1022+
1023+ bool bLightsOn = (pVehicle->AreLightsOn () || pVehicle->GetOverrideLights () == 2 );
1024+ lua_pushboolean (luaVM, bLightsOn);
1025+ return 1 ;
1026+ }
1027+
10111028int CLuaVehicleDefs::GetVehicleOverrideLights (lua_State* luaVM)
10121029{
10131030 CClientVehicle* pVehicle = NULL ;
0 commit comments