mirror of
https://github.com/qbcore-fivem/qb-core.git
synced 2026-08-29 01:08:57 +00:00
Add Remove and Update export functions
Added remove and update functions to dynamically remove or update jobs/items/gangs without having to restart the server.
This commit is contained in:
@@ -9,6 +9,7 @@ local function AddJob(jobName, job)
|
||||
end
|
||||
|
||||
QBCore.Shared.Jobs[jobName] = job
|
||||
|
||||
TriggerClientEvent('QBCore:Client:OnSharedUpdate', -1,'Jobs', jobName, job)
|
||||
TriggerEvent('QBCore:Server:UpdateObject')
|
||||
return true, "success"
|
||||
@@ -21,6 +22,7 @@ local function AddJobs(jobs)
|
||||
local shouldContinue = true
|
||||
local message = "success"
|
||||
local errorItem = nil
|
||||
|
||||
for key, value in pairs(jobs) do
|
||||
if type(key) ~= "string" then
|
||||
message = 'invalid_job_name'
|
||||
@@ -47,6 +49,44 @@ end
|
||||
QBCore.Functions.AddJobs = AddJobs
|
||||
exports('AddJobs', AddJobs)
|
||||
|
||||
-- Single Remove Job
|
||||
local function RemoveJob(jobName)
|
||||
if type(jobName) ~= "string" then
|
||||
return false, "invalid_job_name"
|
||||
end
|
||||
|
||||
if not QBCore.Shared.Jobs[jobName] then
|
||||
return false, "job_not_exists"
|
||||
end
|
||||
|
||||
QBCore.Shared.Jobs[jobName] = nil
|
||||
|
||||
TriggerClientEvent('QBCore:Client:OnSharedUpdate', -1, 'Jobs', jobName, nil)
|
||||
TriggerEvent('QBCore:Server:UpdateObject')
|
||||
return true, "success"
|
||||
end
|
||||
QBCore.Functions.RemoveJob = RemoveJob
|
||||
exports('RemoveJob', RemoveJob)
|
||||
|
||||
-- Single Update Job
|
||||
local function UpdateJob(jobName, job)
|
||||
if type(jobName) ~= "string" then
|
||||
return false, "invalid_job_name"
|
||||
end
|
||||
|
||||
if not QBCore.Shared.Jobs[jobName] then
|
||||
return false, "job_not_exists"
|
||||
end
|
||||
|
||||
QBCore.Shared.Jobs[jobName] = job
|
||||
|
||||
TriggerClientEvent('QBCore:Client:OnSharedUpdate', -1, 'Jobs', jobName, job)
|
||||
TriggerEvent('QBCore:Server:UpdateObject')
|
||||
return true, "success"
|
||||
end
|
||||
QBCore.Functions.UpdateJob = UpdateJob
|
||||
exports('UpdateJob', UpdateJob)
|
||||
|
||||
-- Single add item
|
||||
local function AddItem(itemName, item)
|
||||
if type(itemName) ~= "string" then
|
||||
@@ -58,6 +98,7 @@ local function AddItem(itemName, item)
|
||||
end
|
||||
|
||||
QBCore.Shared.Items[itemName] = item
|
||||
|
||||
TriggerClientEvent('QBCore:Client:OnSharedUpdate', -1, 'Items', itemName, item)
|
||||
TriggerEvent('QBCore:Server:UpdateObject')
|
||||
return true, "success"
|
||||
@@ -70,6 +111,7 @@ local function AddItems(items)
|
||||
local shouldContinue = true
|
||||
local message = "success"
|
||||
local errorItem = nil
|
||||
|
||||
for key, value in pairs(items) do
|
||||
if type(key) ~= "string" then
|
||||
message = "invalid_item_name"
|
||||
@@ -96,16 +138,56 @@ end
|
||||
QBCore.Functions.AddItems = AddItems
|
||||
exports('AddItems', AddItems)
|
||||
|
||||
-- Single Remove Item
|
||||
local function RemoveItem(itemName)
|
||||
if type(itemName) ~= "string" then
|
||||
return false, "invalid_item_name"
|
||||
end
|
||||
|
||||
if not QBCore.Shared.Items[itemName] then
|
||||
return false, "item_not_exists"
|
||||
end
|
||||
|
||||
QBCore.Shared.Items[itemName] = nil
|
||||
|
||||
TriggerClientEvent('QBCore:Client:OnSharedUpdate', -1, 'Items', itemName, nil)
|
||||
TriggerEvent('QBCore:Server:UpdateObject')
|
||||
return true, "success"
|
||||
end
|
||||
QBCore.Functions.RemoveItem = RemoveItem
|
||||
exports('RemoveItem', RemoveItem)
|
||||
|
||||
-- Single Update Item
|
||||
local function UpdateItem(itemName, item)
|
||||
if type(itemName) ~= "string" then
|
||||
return false, "invalid_item_name"
|
||||
end
|
||||
|
||||
if not QBCore.Shared.Items[itemName] then
|
||||
return false, "item_not_exists"
|
||||
end
|
||||
|
||||
QBCore.Shared.Items[itemName] = item
|
||||
|
||||
TriggerClientEvent('QBCore:Client:OnSharedUpdate', -1, 'Items', itemName, item)
|
||||
TriggerEvent('QBCore:Server:UpdateObject')
|
||||
return true, "success"
|
||||
end
|
||||
QBCore.Functions.UpdateItem = UpdateItem
|
||||
exports('UpdateItem', UpdateItem)
|
||||
|
||||
-- Single Add Gang
|
||||
local function AddGang(gangName, gang)
|
||||
if type(gangName) ~= "string" then
|
||||
return false, "invalid_gang_name"
|
||||
end
|
||||
|
||||
if QBCore.Shared.Gangs[gangName] then
|
||||
return false, "gang_exists"
|
||||
end
|
||||
|
||||
QBCore.Shared.Gangs[gangName] = gang
|
||||
|
||||
TriggerClientEvent('QBCore:Client:OnSharedUpdate', -1, 'Gangs', gangName, gang)
|
||||
TriggerEvent('QBCore:Server:UpdateObject')
|
||||
return true, "success"
|
||||
@@ -118,6 +200,7 @@ local function AddGangs(gangs)
|
||||
local shouldContinue = true
|
||||
local message = "success"
|
||||
local errorItem = nil
|
||||
|
||||
for key, value in pairs(gangs) do
|
||||
if type(key) ~= "string" then
|
||||
message = "invalid_gang_name"
|
||||
@@ -132,6 +215,7 @@ local function AddGangs(gangs)
|
||||
errorItem = gangs[key]
|
||||
break
|
||||
end
|
||||
|
||||
QBCore.Shared.Gangs[key] = value
|
||||
end
|
||||
|
||||
@@ -143,6 +227,44 @@ end
|
||||
QBCore.Functions.AddGangs = AddGangs
|
||||
exports('AddGangs', AddGangs)
|
||||
|
||||
-- Single Remove Gang
|
||||
local function RemoveGang(gangName, gang)
|
||||
if type(gangName) ~= "string" then
|
||||
return false, "invalid_gang_name"
|
||||
end
|
||||
|
||||
if not QBCore.Shared.Gangs[gangName] then
|
||||
return false, "gang_not_exists"
|
||||
end
|
||||
|
||||
QBCore.Shared.Gangs[gangName] = nil
|
||||
|
||||
TriggerClientEvent('QBCore:Client:OnSharedUpdate', -1, 'Gangs', gangName, nil)
|
||||
TriggerEvent('QBCore:Server:UpdateObject')
|
||||
return true, "success"
|
||||
end
|
||||
QBCore.Functions.RemoveGang = RemoveGang
|
||||
exports('RemoveGang', RemoveGang)
|
||||
|
||||
-- Single Update Gang
|
||||
local function UpdateGang(gangName, gang)
|
||||
if type(gangName) ~= "string" then
|
||||
return false, "invalid_gang_name"
|
||||
end
|
||||
|
||||
if not QBCore.Shared.Gangs[gangName] then
|
||||
return false, "gang_not_exists"
|
||||
end
|
||||
|
||||
QBCore.Shared.Gangs[gangName] = gang
|
||||
|
||||
TriggerClientEvent('QBCore:Client:OnSharedUpdate', -1, 'Gangs', gangName, gang)
|
||||
TriggerEvent('QBCore:Server:UpdateObject')
|
||||
return true, "success"
|
||||
end
|
||||
QBCore.Functions.UpdateGang = UpdateGang
|
||||
exports('UpdateGang', UpdateGang)
|
||||
|
||||
local function GetCoreVersion(InvokingResource)
|
||||
local resourceVersion = GetResourceMetadata(GetCurrentResourceName(), 'version')
|
||||
if InvokingResource and InvokingResource ~= '' then
|
||||
|
||||
Reference in New Issue
Block a user