Open up the images folder and add the images to your inventory addon. For most people this will be called qb-inventory.
Drag and drop the images into the html/images folder.
Step 4 - Adding Vehicles
The vehicles used for the boosting system are configured by you. Each tier has a different set of vehicles, this means that you need to configure this in your qb-core vehicles.lua. This is so you have more control over what vehicles players will be boosting.
An example of a default vehicle is shown below
Here is the modified vehicle, at the end you can see we added the tier part
Then, add the bottom of your vehicles.lua file you should see something like this:
Change to:
The line tier = Vehicles[i].tier, must be added.
Step 5 - Database
Execute the following code in your database
Step 6 - dpemotes Setup
You need to make a slight modification to the dpemotes resource to make the player animations work correctly.
In the resource, open up the file Client/Emote.lua , and look for the function called EmoteCommandStart
Right below the function, after the end , add in the following:
It should now look like the following:
Next, you need to open up the fxmanifest.lua file for dpemotes. At the bottom of the file, add in the following line:
Step 7 - Configuration
The configuration file is setup with some locations already. Feel free to add more and tweak the rest to your likings.
{ model = 'blista', name = 'Blista', brand = 'Dinka', price = 13000, category = 'compacts', type = 'automobile', shop = 'pdm' },
{ model = 'blista', name = 'Blista', brand = 'Dinka', price = 13000, category = 'compacts', type = 'automobile', shop = 'pdm', tier = 'D' },
for i=1, #Vehicles do
QBShared.Vehicles[Vehicles[i].model] = {
spawncode = Vehicles[i].model,
name = Vehicles[i].name,
brand = Vehicles[i].brand,
model = Vehicles[i].model,
price = Vehicles[i].price,
category = Vehicles[i].categoryLabel:gsub("%s+", ""):lower(),
categoryLabel = Vehicles[i].categoryLabel,
hash = joaat(Vehicles[i].model),
shop = Vehicles[i].shop,
}
end
for i=1, #Vehicles do
QBShared.Vehicles[Vehicles[i].model] = {
spawncode = Vehicles[i].model,
name = Vehicles[i].name,
brand = Vehicles[i].brand,
model = Vehicles[i].model,
price = Vehicles[i].price,
category = Vehicles[i].categoryLabel:gsub("%s+", ""):lower(),
categoryLabel = Vehicles[i].categoryLabel,
hash = joaat(Vehicles[i].model),
shop = Vehicles[i].shop,
tier = Vehicles[i].tier,
}
end
CREATE TABLE `car_boosting` (
`id` int(11) NOT NULL,
`citizenid` varchar(255) NOT NULL,
`type` varchar(255) NOT NULL,
`vehicle` varchar(255) NOT NULL,
`value` double NOT NULL,
`success` int(11) NOT NULL,
`enemy_killed` int(11) NOT NULL,
`timestamp` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
ALTER TABLE `car_boosting`
ADD PRIMARY KEY (`id`);
ALTER TABLE `car_boosting`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
CREATE TABLE `car_boosting_messages` (
`id` int(11) NOT NULL,
`citizenid` varchar(255) NOT NULL,
`message` varchar(255) NOT NULL,
`timestamp` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
ALTER TABLE `car_boosting_messages`
ADD PRIMARY KEY (`id`);
ALTER TABLE `car_boosting_messages`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
ALTER TABLE player_vehicles
ADD COLUMN vinnumber VARCHAR(50) DEFAULT NULL,
ADD COLUMN vinscratch INT(2) DEFAULT 0;
exports('EmoteCommandStart', EmoteCommandStart)
function EmoteCommandStart(source, args, raw)
if #args > 0 then
local name = string.lower(args[1])
if name == "c" then
if IsInAnimation then
EmoteCancel()
else
EmoteChatMessage(Config.Languages[lang]['nocancel'])
end
return
elseif name == "help" then
EmotesOnCommand()
return end
if DP.Emotes[name] ~= nil then
if OnEmotePlay(DP.Emotes[name]) then end return
elseif DP.Dances[name] ~= nil then
if OnEmotePlay(DP.Dances[name]) then end return
elseif DP.PropEmotes[name] ~= nil then
if OnEmotePlay(DP.PropEmotes[name]) then end return
else
EmoteChatMessage("'"..name.."' "..Config.Languages[lang]['notvalidemote'].."")
end
end
end
exports('EmoteCommandStart', EmoteCommandStart)