File tree 2 files changed +32
-0
lines changed
2 files changed +32
-0
lines changed Original file line number Diff line number Diff line change @@ -63,3 +63,14 @@ CreateThread(function()
63
63
end
64
64
end
65
65
end )
66
+
67
+ lib .callback .register (' qbx_core:client:getVehicleClasses' , function ()
68
+ local models = GetAllVehicleModels ()
69
+ local classes = {}
70
+ for i = 1 , # models do
71
+ local model = models [i ]
72
+ local class = GetVehicleClassFromName (model )
73
+ classes [model ] = class
74
+ end
75
+ return classes
76
+ end )
Original file line number Diff line number Diff line change @@ -35,6 +35,27 @@ QBX.Player_Buckets = {}
35
35
QBX .Entity_Buckets = {}
36
36
QBX .UsableItems = {}
37
37
38
+ --- @alias Model number
39
+ --- @alias VehicleClass integer see https : //docs.fivem.net /natives /? _0x29439776AAA00A62
40
+ --- @type table<Model , VehicleClass>
41
+ local vehicleClasses = {}
42
+
43
+ --- Caches the vehicle classes the first time this is called by getting the data from a random client.
44
+ --- Returns nil if there is no cache and no client is connected to get the data from.
45
+ --- @param model number
46
+ --- @return VehicleClass ?
47
+ function GetVehicleClass (model )
48
+ if # vehicleClasses == 0 then
49
+ local players = GetPlayers ()
50
+ if # players == 0 then return end
51
+ local playerId = players [math.random (# players )]
52
+ vehicleClasses = lib .callback .await (' qbx_core:client:getVehicleClasses' , playerId )
53
+ end
54
+ return vehicleClasses [model ]
55
+ end
56
+
57
+ exports (' GetVehicleClass' , GetVehicleClass )
58
+
38
59
--- @return table<string , Vehicle>
39
60
function GetVehiclesByName ()
40
61
return QBX .Shared .Vehicles
You can’t perform that action at this time.
0 commit comments