@@ -92,6 +92,7 @@ void CLuaVehicleDefs::LoadFunctions()
92
92
{" getVehicleModelWheelSize" , ArgumentParser<GetVehicleModelWheelSize>},
93
93
{" getVehicleWheelFrictionState" , ArgumentParser<GetVehicleWheelFrictionState>},
94
94
{" getVehicleEntryPoints" , ArgumentParser<GetVehicleEntryPoints>},
95
+ {" isVehicleSmokeTrailEnabled" , ArgumentParser<IsSmokeTrailEnabled>},
95
96
96
97
// Vehicle set funcs
97
98
{" createVehicle" , CreateVehicle},
@@ -156,6 +157,7 @@ void CLuaVehicleDefs::LoadFunctions()
156
157
{" setVehicleWheelScale" , ArgumentParser<SetVehicleWheelScale>},
157
158
{" setVehicleModelWheelSize" , ArgumentParser<SetVehicleModelWheelSize>},
158
159
{" spawnVehicleFlyingComponent" , ArgumentParser<SpawnVehicleFlyingComponent>},
160
+ {" setVehicleSmokeTrailEnabled" , ArgumentParser<SetSmokeTrailEnabled>},
159
161
};
160
162
161
163
// Add functions
@@ -244,6 +246,7 @@ void CLuaVehicleDefs::AddClass(lua_State* luaVM)
244
246
lua_classfunction (luaVM, " getModelWheelSize" , " getVehicleModelWheelSize" );
245
247
lua_classfunction (luaVM, " getWheelFrictionState" , " getVehicleWheelFrictionState" );
246
248
lua_classfunction (luaVM, " getEntryPoints" , ArgumentParser<OOP_GetVehicleEntryPoints>);
249
+ lua_classfunction (luaVM, " isSmokeTrailEnabled" , " isVehicleSmokeTrailEnabled" );
247
250
248
251
lua_classfunction (luaVM, " setComponentVisible" , " setVehicleComponentVisible" );
249
252
lua_classfunction (luaVM, " setSirensOn" , " setVehicleSirensOn" );
@@ -292,6 +295,7 @@ void CLuaVehicleDefs::AddClass(lua_State* luaVM)
292
295
lua_classfunction (luaVM, " setVariant" , " setVehicleVariant" );
293
296
lua_classfunction (luaVM, " setWheelScale" , " setVehicleWheelScale" );
294
297
lua_classfunction (luaVM, " setModelWheelSize" , " setVehicleModelWheelSize" );
298
+ lua_classfunction (luaVM, " setSmokeTrailEnabled" , " setVehicleSmokeTrailEnabled" );
295
299
296
300
lua_classfunction (luaVM, " resetComponentPosition" , " resetVehicleComponentPosition" );
297
301
lua_classfunction (luaVM, " resetComponentRotation" , " resetVehicleComponentRotation" );
@@ -4340,3 +4344,19 @@ bool CLuaVehicleDefs::SpawnVehicleFlyingComponent(CClientVehicle* const vehicle,
4340
4344
4341
4345
return vehicle->SpawnFlyingComponent (partNodeIndex, collisionType, removalTime.value_or (-1 ));
4342
4346
}
4347
+
4348
+ bool CLuaVehicleDefs::SetSmokeTrailEnabled (CClientVehicle* vehicle, bool state)
4349
+ {
4350
+ std::uint16_t model = vehicle->GetModel ();
4351
+ if (model != 512 && model != 513 )
4352
+ throw LuaFunctionError (" Invaild model ID" );
4353
+
4354
+ vehicle->SetSmokeTrailEnabled (state);
4355
+ return true ;
4356
+ }
4357
+
4358
+ bool CLuaVehicleDefs::IsSmokeTrailEnabled (CClientVehicle* vehicle) noexcept
4359
+ {
4360
+ return vehicle->IsSmokeTrailEnabled ();
4361
+ }
4362
+
0 commit comments