Usage
Everything you need to understand how to use the script.
Manual Export Function
exports["petris-lootbags"]:DropPlayerLootBag(playerId, bypass)
The bypass parameter should be a boolean value. If true, it bypasses the whitelisted/blacklisted areas & IsPlayerLootable open function restrictions.
Blacklisted Items Configuration
BlacklistedItems = {
["Items"] = {
"id_card",
"driver_license",
},
["Money"] = {
"bank",
},
["Weapons"] = {
"WEAPON_STUNGUN",
}
},
You can put any items/money types and weapons in your blacklisted inventory items list.
Whitelisted/Blacklisted Areas Configuration
Locations = {
["System"] = "blacklisted", -- Possible Values: whitelisted | blacklisted (Define if you want to blacklisted areas and whitelist the other map locations or whitelist areas and block the other map locations)
["WhitelistedLocations"] = { -- The only locations where loot bags can be dropped
{ AreaName = "Test1", AreaCoordinates = vector3(0.0, 0.0, 0.0), AreaRange = 10.0 }, -- Area Name is not used, but it is recommended to fill so you know which areas are whitelisted.
{ AreaName = "Test2", AreaCoordinates = vector3(0.0, 0.0, 0.0), AreaRange = 5.0 } -- Area Name is not used, but it is recommended to fill so you know which areas are whitelisted.
},
["BlacklistedLocations"] = { -- Location that loot bags won't be dropped even if the function is triggered.
{ AreaName = "Test1", AreaCoordinates = vector3(0.0, 0.0, 0.0), AreaRange = 10.0 }, -- Area Name is not used, but it is recommended to fill so you know which areas are blacklisted.
{ AreaName = "Test2", AreaCoordinates = vector3(0.0, 0.0, 0.0), AreaRange = 5.0 } -- Area Name is not used, but it is recommended to fill so you know which areas are blacklisted.
},
},
Firstly, you must select how the location restriction system will work. In ["System"] value, change between whitelisted and blacklisted values. Then, you will add your own blacklisted/whitelisted locations just like the examples above.
Define Lootable Players
IsPlayerLootable = function(playerId)
--[[if Config["Framework"] == "ESX" then -- ESX Example: if player is not a simple user and has a permission group then don't drop his loot bag
local xPlayer = ESX.GetPlayerFromId(playerId)
if xPlayer.getGroup() ~= 'user' then
return false
end
elseif Config["Framework"] == "QBCore" then -- QBCore Example: if player's permission is admin then don't drop his loot bag
if QBCore.Functions.HasPermission(playerId, 'admin') then
return false
end
end--]]
return true
end,
There is already a built-in check which checks if the player is staff. So, when the player is a server's staff the loot bag will not spawn upon his death. You can add your own restrictions there, freely.
Allow/Block Players From Collecting
CanPlayerCollectBag = function()
if Config["Framework"] == "ESX" then -- ESX Example: if player is working for ambulance, he can't pick-up the bag.
if ESX.PlayerLoaded then
if ESX.PlayerData.job and ESX.PlayerData.job.name == "ambulance" then
return false
end
end
elseif Config["Framework"] == "QBCore" then -- QBCore Example: if player is working for ambulance, he can't pick-up the bag.
local PlayerData = QBCore.Functions.GetPlayerData()
local jobName = PlayerData.job.name
if jobName == 'ambulance' then
return false
end
end
return true
en
There is already a built-in check which checks if the player is working for the ambulance. You can freely remove or change this restriction as was added as an example.
Last updated