Skip to content

Commit bc17dc5

Browse files
committed
Update v4.3.0
1 parent b3a747a commit bc17dc5

File tree

6 files changed

+110
-37
lines changed

6 files changed

+110
-37
lines changed

client/main.lua

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,17 @@ toggleEngine = function(bypass)
4747
end
4848

4949
if not bypass then
50-
canToggleEngine = getIsKeyOwner(vehicle)
50+
local isBlacklisted = IsVehicleBlacklisted(vehicle)
51+
52+
if isBlacklisted then
53+
return -- Just return without any info
54+
end
55+
56+
local isWhitelisted = IsVehicleWhitelisted(vehicle)
57+
58+
if not isWhitelisted then
59+
canToggleEngine = getIsKeyOwner(vehicle)
60+
end
5161
end
5262

5363
if not canToggleEngine then
@@ -64,6 +74,9 @@ toggleEngine = function(bypass)
6474
disabledDrive = false
6575
Config.Notification(nil, Translation[Config.Locale]['engine_start'], 'success')
6676
end
77+
78+
TriggerEvent('msk_enginetoggle:toggledEngine', vehicle, not isEngineOn)
79+
TriggerServerEvent('msk_enginetoggle:toggledEngine', VehToNet(vehicle), not isEngineOn)
6780
end
6881
exports('toggleEngine', toggleEngine)
6982
RegisterNetEvent('msk_enginetoggle:toggleEngine', toggleEngine)
@@ -257,19 +270,6 @@ end
257270
exports('GetVehicleDamaged', GetVehicleDamaged)
258271
exports('getVehicleDamaged', GetVehicleDamaged) -- Support for old versions
259272

260-
GetPedVehicleSeat = function(playerPed, vehicle)
261-
if not playerPed then playerPed = PlayerPedId() end
262-
if not vehicle then vehicle = currentVehicle and currentVehicle.vehicle or GetVehiclePedIsIn(playerPed) end
263-
if not vehicle or not DoesEntityExist(vehicle) then return end
264-
265-
for i = -1, 16 do
266-
if (GetPedInVehicleSeat(vehicle, i) == playerPed) then
267-
return i
268-
end
269-
end
270-
return -1
271-
end
272-
273273
disableDrive = function()
274274
if disabledDrive then return end
275275
disabledDrive = true
@@ -291,6 +291,6 @@ disableDrive = function()
291291
end
292292

293293
logging = function(code, ...)
294-
if code == 'debug' and not Config.Debug then return end
294+
if not Config.Debug then return end
295295
MSK.Logging(code, ...)
296296
end

client/utils.lua

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
GetPedVehicleSeat = function(playerPed, vehicle)
2+
if not playerPed then playerPed = PlayerPedId() end
3+
if not vehicle then vehicle = currentVehicle and currentVehicle.vehicle or GetVehiclePedIsIn(playerPed) end
4+
if not vehicle or not DoesEntityExist(vehicle) then return end
5+
6+
for i = -1, 16 do
7+
if (GetPedInVehicleSeat(vehicle, i) == playerPed) then
8+
return i
9+
end
10+
end
11+
return -1
12+
end
13+
14+
IsVehicleWhitelisted = function(vehicle)
15+
local vehicleClass = GetVehicleClass(vehicle)
16+
17+
for k, class in pairs(Config.Whitelist.classes) do
18+
if vehicleClass == class then
19+
return true
20+
end
21+
end
22+
23+
local vehicleModel = GetEntityModel(vehicle)
24+
25+
for k, model in pairs(Config.Whitelist.vehicles) do
26+
local modelHash = type(model) == 'number' and model or GetHashKey(model)
27+
28+
if vehicleModel == modelHash then
29+
return true
30+
end
31+
end
32+
33+
local vehiclePlate = GetVehicleNumberPlateText(vehicle)
34+
35+
for k, plate in pairs(Config.Whitelist.plates) do
36+
if string.find(MSK.String.Trim(vehiclePlate, true), MSK.String.Trim(plate, true)) then
37+
return true
38+
end
39+
end
40+
end
41+
42+
IsVehicleBlacklisted = function(vehicle)
43+
local vehicleClass = GetVehicleClass(vehicle)
44+
45+
for k, class in pairs(Config.Whitelist.classes) do
46+
if vehicleClass == class then
47+
return true
48+
end
49+
end
50+
51+
local vehicleModel = GetEntityModel(vehicle)
52+
53+
for k, model in pairs(Config.Whitelist.vehicles) do
54+
local modelHash = type(model) == 'number' and model or GetHashKey(model)
55+
56+
if vehicleModel == modelHash then
57+
return true
58+
end
59+
end
60+
61+
local vehiclePlate = GetVehicleNumberPlateText(vehicle)
62+
63+
for k, plate in pairs(Config.Whitelist.plates) do
64+
if string.find(MSK.String.Trim(vehiclePlate, true), MSK.String.Trim(plate, true)) then
65+
return true
66+
end
67+
end
68+
end

client/vehiclekeys.lua

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -66,22 +66,6 @@ getIsKeyOwner = function(vehicle)
6666
isKeyOwner = getKeyFromInventory(plate)
6767
end
6868

69-
for k, v in pairs(Config.Whitelist.vehicles) do
70-
local modelHash = type(v) == 'number' and v or GetHashKey(v)
71-
72-
if GetEntityModel(vehicle) == modelHash then
73-
ignoreVehicle = true
74-
break
75-
end
76-
end
77-
78-
for k, v in pairs(Config.Whitelist.plates) do
79-
if string.find(MSK.Trim(plate), MSK.Trim(v)) then
80-
ignorePlate = true
81-
break
82-
end
83-
end
84-
85-
return (isKeyOwner or ignoreVehicle or ignorePlate)
69+
return isKeyOwner
8670
end
8771
exports('getIsKeyOwner', getIsKeyOwner)

config.lua

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ Config.VehicleKeys = {
5353

5454
-- This is for inventories with metadata like ox_inventory
5555
-- Supported Inventories: ox_inventory, qs-inventory, core_inventory
56-
-- For okokGarage you have to set this to true!
56+
-- For okokGarage you have to set this to true
57+
-- For msk_vehiclekeys you have to set this to false
5758
uniqueItems = false, -- If set to true, it will search for the item in the inventory
5859
item = 'keys', -- Item in your inventory for vehicle keys
5960
}
@@ -64,12 +65,28 @@ Config.SaveAngleOnExit = 75 -- default: F - 75 (Exit Vehicle)
6465
-- With this feature you can set vehicles and plates for which you don't need a key to start the engine
6566
-- either exact plates or just a string that should be in the vehicles plate e.g. "ESX" will ignore te plate "ESX1234" too
6667
Config.Whitelist = {
68+
classes = {
69+
70+
},
6771
vehicles = {
6872
-- Please use `` and NOT '' or ""
6973
`caddy`, `caddy2`, `caddy3`, `airtug`, `docktug`, `forklift`, `mower`, `tractor2`,
7074
},
7175
plates = {
72-
"ESX", "MSK", "Test"
76+
"ESX", "MSK", "Test",
77+
},
78+
}
79+
80+
Config.Blacklist = {
81+
classes = {
82+
13, 21,
83+
},
84+
vehicles = {
85+
-- Please use `` and NOT '' or ""
86+
`bmx`, `cruiser`, `fixter`, `scorcher`, `tribike`, `tribike2`, `tribike3`,
87+
},
88+
plates = {
89+
"ESX2", "MSK2", "Test2",
7390
},
7491
}
7592
----------------------------------------------------------------
@@ -179,4 +196,8 @@ Config.Animation = {
179196
action = 'skillbar', -- Set to 'skillbar' or 'progressbar'
180197
time = 15, -- in seconds // How long does it take to hotwire the vehicle // Only for 'progressbar'
181198
}
182-
}
199+
}
200+
----------------------------------------------------------------
201+
exports('Config', function()
202+
return Config
203+
end)

fxmanifest.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ games { 'gta5' }
44
author 'Musiker15 - MSK Scripts'
55
name 'msk_enginetoggle'
66
description 'EngineToggle for Vehicles'
7-
version '4.2.6'
7+
version '4.3.0'
88

99
lua54 'yes'
1010

server/main.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,6 @@ MSK.Register('msk_enginetoggle:getInventory', function(source, inv)
139139
end)
140140

141141
logging = function(code, ...)
142-
if code == 'debug' and not Config.Debug then return end
142+
if not Config.Debug then return end
143143
MSK.Logging(code, ...)
144144
end

0 commit comments

Comments
 (0)