Installation
Welcome to the Pluto Development's Drug Lab installation guide! This guide will walk you through the complete installation process to ensure a smooth and problem-free setup. By carefully following each step and completing the documentation, you’ll achieve a clean and seamless installation.
In case of the use of FileZilla, we re requesting using WinSCP instead for compatibility issues. WinSCP offers greater stability and better integration with our work environment, ensuring a more efficient handling of assets and minimizing issues related to file transfers. We appreciate your cooperation in ensuring a better experience for everyone.
Asset download
Once the purchase is made on our official website, you will receive your asset directly in your Keymaster, in your own panel you can download the asset and install it following the following documentation.
If you have more problems regarding Fivem Escrow, accounts or asset startup errors you can go here and see if any of them match your case, since Escrow requires some basic things for its operation, such as your keymaster account, your licensekey , etc.
FiveM Asset Escrow SystemAsset dependecies
This asset has some dependencies that are completely mandatory and important for the operation of the asset. If you do not have these dependencies, your asset will probably start and have some error or message in its command console.
progressbar
Included in the asset folder (you can use your own one)
pd_lib
Included in the asset folder
pd_bridge
Included in the asset folder
pd_interaction
Included in the asset folder
Starting order
If you fail to follow this step correctly, you may encounter errors when starting the script. Please follow this step carefully as it is quite important.
You need to start pd_lib
before everything or you're going to experience errors!
-- first we need to start our framework cores (qb, esx, qbox...)
ensure qbcore or es_extended
start pd_lib
start pd_bridge
start pd_interaction
start pd_props
start pd_labs
Bridge configuration
In order for our script to adapt with your current scripts, you need specify which scripts you are using in the server.cfg
# pd_bridge settings
setr pd_bridge:language "en"
setr pd_bridge:framework ""
setr pd_bridge:inventory ""
setr pd_bridge:keys ""
setr pd_bridge:notification ""
setr pd_bridge:progressbar ""
To fill this settings with the correct names, check the following page.
CompatibilityExample:
# pd_bridge settings
setr pd_bridge:language "en"
setr pd_bridge:framework "qb-core"
setr pd_bridge:inventory "qs-inventory"
setr pd_bridge:keys "qb-vehiclekeys"
setr pd_bridge:notification "qb-core"
setr pd_bridge:progressbar "ox_lib"
Database
Your script data is automatically saved in pd_labs/files/data.json
. SQL is not needed for saving the Labs data because we're using the JSON file. So, you don't need to do anything for this step.
Items
Not having your items may result in random errors such as not adding/removing items...
Ox inventory
Ignoring this step while using ox_inventory will break your fire hose system, so please follow carefully.
If you are using ox_inventory, go to init.lua
file. Then go to line 108
and add the following line:
ignoreweapons[`WEAPON_FIREHOSE`] = true
Example:
...
else
PlayerData = {}
client = {
autoreload = GetConvarInt('inventory:autoreload', 0) == 1,
screenblur = GetConvarInt('inventory:screenblur', 1) == 1,
keys = json.decode(GetConvar('inventory:keys', '')) or { 'F2', 'K', 'TAB' },
enablekeys = json.decode(GetConvar('inventory:enablekeys', '[249]')),
aimedfiring = GetConvarInt('inventory:aimedfiring', 0) == 1,
giveplayerlist = GetConvarInt('inventory:giveplayerlist', 0) == 1,
weaponanims = GetConvarInt('inventory:weaponanims', 1) == 1,
itemnotify = GetConvarInt('inventory:itemnotify', 1) == 1,
weaponnotify = GetConvarInt('inventory:weaponnotify', 1) == 1,
imagepath = GetConvar('inventory:imagepath', 'nui://ox_inventory/web/images'),
dropprops = GetConvarInt('inventory:dropprops', 0) == 1,
dropmodel = joaat(GetConvar('inventory:dropmodel', 'prop_med_bag_01b')),
weaponmismatch = GetConvarInt('inventory:weaponmismatch', 1) == 1,
ignoreweapons = json.decode(GetConvar('inventory:ignoreweapons', '[]')),
suppresspickups = GetConvarInt('inventory:suppresspickups', 1) == 1,
disableweapons = GetConvarInt('inventory:disableweapons', 0) == 1,
}
local ignoreweapons = table.create(0, (client.ignoreweapons and #client.ignoreweapons or 0) + 3)
for i = 1, #client.ignoreweapons do
local weapon = client.ignoreweapons[i]
ignoreweapons[tonumber(weapon) or joaat(weapon)] = true
end
ignoreweapons[`WEAPON_UNARMED`] = true
ignoreweapons[`WEAPON_HANDCUFFS`] = true
ignoreweapons[`WEAPON_GARBAGEBAG`] = true
ignoreweapons[`OBJECT`] = true
ignoreweapons[`WEAPON_HOSE`] = true
ignoreweapons[`WEAPON_FIREHOSE`] = true -- ADDED LINE
client.ignoreweapons = ignoreweapons
end
...
Last updated