@@ -237,6 +237,116 @@ AddEventHandler('msk_enginetoggle:hotwire', function()
237
237
end
238
238
end )
239
239
240
+ if Config .NeonToggle then
241
+ local neonoff = false
242
+
243
+ CreateThread (function ()
244
+ while true do
245
+ Wait (10 )
246
+ local playerPed = PlayerPedId ()
247
+ local vehicle = GetVehiclePedIsIn (playerPed , false )
248
+ local driver = GetPedInVehicleSeat (vehicle , - 1 )
249
+ local neonon = IsVehicleNeonLightEnabled (vehicle , 1 )
250
+
251
+ if IsPedInVehicle (playerPed , vehicle , true ) and driver == playerPed then
252
+ if IsControlPressed (1 , Config .NeonToggleHolding ) and IsControlJustPressed (1 , Config .NeonToggleJustPressed ) then
253
+ if neonon then
254
+ if neonoff == false then
255
+ neonoff = true
256
+ DisableVehicleNeonLights (vehicle , true )
257
+ Config .Notification (nil , ' client' , nil , Translation [Config .Locale ][' neonlights_on' ])
258
+ Wait (2000 )
259
+ elseif neonoff == true then
260
+ neonoff = false
261
+ DisableVehicleNeonLights (vehicle , false )
262
+ Config .Notification (nil , ' client' , nil , Translation [Config .Locale ][' neonlights_off' ])
263
+ Wait (2000 )
264
+ end
265
+ else
266
+ Config .Notification (nil , ' client' , nil , Translation [Config .Locale ][' neonlights_not_installed' ])
267
+ Wait (2000 )
268
+ end
269
+ end
270
+ else
271
+ Wait (1000 )
272
+ end
273
+ end
274
+ end )
275
+ end
276
+
277
+ if Config .SaveSteeringAngle then
278
+ local pressed = 1 * 1000
279
+ local steeringAngle
280
+
281
+ function PedDriving ()
282
+ local playerPed = PlayerPedId ()
283
+
284
+ if IsPedSittingInAnyVehicle (playerPed ) then
285
+ local vehicle = GetVehiclePedIsIn (playerPed , false )
286
+
287
+ if GetPedInVehicleSeat (vehicle , - 1 ) == playerPed then
288
+ return true
289
+ end
290
+ end
291
+
292
+ return false
293
+ end
294
+
295
+ CreateThread (function ()
296
+ while true do
297
+ Wait (0 )
298
+
299
+ if PedDriving () and IsControlJustPressed (1 , Config .SaveAngleOnExit ) then
300
+ steeringAngle = GetVehicleSteeringAngle (vehicle )
301
+ pressed = 500
302
+
303
+ while not IsControlJustReleased (1 , Config .SaveAngleOnExit ) do
304
+ Wait (10 )
305
+
306
+ if Config .PerformanceVersion then
307
+ SetVehicleSteeringAngle (vehicle , steeringAngle )
308
+ else
309
+ TriggerServerEvent (' msk_enginetoggle:async' , NetworkGetNetworkIdFromEntity (vehicle ), steeringAngle )
310
+ end
311
+
312
+ break
313
+ end
314
+ end
315
+ end
316
+ end )
317
+
318
+ RegisterNetEvent (" msk_enginetoggle:syncanglesave" )
319
+ AddEventHandler (" msk_enginetoggle:syncanglesave" , function (vehicleNetID , steeringAngle )
320
+ local vehicle = NetworkGetEntityFromNetworkId (vehicleNetID )
321
+
322
+ if DoesEntityExist (vehicle ) then
323
+ SetVehicleSteeringAngle (vehicle , steeringAngle )
324
+ end
325
+ end )
326
+
327
+ CreateThread (function ()
328
+ if not Config .PerformanceVersion then
329
+ local playerPed = PlayerPedId ()
330
+ local justDeleted
331
+
332
+ while true do
333
+ Wait (500 )
334
+
335
+ if IsPedInAnyVehicle (playerPed , false ) then
336
+ local vehicle = GetVehiclePedIsIn (playerPed , false )
337
+
338
+ if GetPedInVehicleSeat (vehicle , - 1 ) == playerPed and not justDeleted and GetIsVehicleEngineRunning (vehicle ) then
339
+ TriggerServerEvent (" msk_enginetoggle:angledelete" , NetworkGetNetworkIdFromEntity (vehicle ))
340
+ justDeleted = true
341
+ end
342
+ else
343
+ justDeleted = false
344
+ end
345
+ end
346
+ end
347
+ end )
348
+ end
349
+
240
350
function table .contains (table , element )
241
351
for _ , value in pairs (table ) do
242
352
if value [1 ] == element then
0 commit comments