forked from Simnation/Main
123 lines
3.8 KiB
Lua
123 lines
3.8 KiB
Lua
![]() |
Framework:Core()
|
||
|
|
||
|
local qbox = GetResourceState('qbx_core') == 'started' and true or false
|
||
|
|
||
|
local function defaultQBMetaData(player, item)
|
||
|
local data = {}
|
||
|
if item == "id_card" then
|
||
|
data = {
|
||
|
firstname = player.charinfo.firstname,
|
||
|
lastname = player.charinfo.lastname,
|
||
|
birthdate = player.charinfo.birthdate,
|
||
|
gender = player.charinfo.gender,
|
||
|
nationality = player.charinfo.nationality,
|
||
|
}
|
||
|
elseif item == "driver_license" then
|
||
|
data = {
|
||
|
firstname = player.charinfo.firstname,
|
||
|
lastname = player.charinfo.lastname,
|
||
|
birthdate = player.charinfo.birthdate,
|
||
|
type = "Class C Driver License",
|
||
|
}
|
||
|
end
|
||
|
return data
|
||
|
end
|
||
|
|
||
|
local function customIDCard(src, item)
|
||
|
if GetResourceState 'um-idcard' == 'started' then
|
||
|
exports['um-idcard']:CreateMetaLicense(src, item)
|
||
|
elseif GetResourceState 'bl_idcard' == 'started' then
|
||
|
exports.bl_idcard:createLicense(src, item)
|
||
|
elseif GetResourceState 'qbx_idcard' == 'started' then
|
||
|
exports['qbx_idcard']:CreateMetaLicense(src, item)
|
||
|
else
|
||
|
warn('You need to start one of the idcard resources to use custom ID Card')
|
||
|
end
|
||
|
end
|
||
|
|
||
|
|
||
|
local function addItemToInventory(src, item, amount, metadata, pFunction)
|
||
|
if qbox then
|
||
|
exports.ox_inventory:AddItem(src, item, amount, metadata)
|
||
|
return
|
||
|
end
|
||
|
|
||
|
pFunction.AddItem(item, amount, false, metadata)
|
||
|
-- exports['qb-inventory']:AddItem(src, item, amount, false, metadata)
|
||
|
end
|
||
|
|
||
|
function GiveStarterItems(src)
|
||
|
local Player = Framework:GetPlayer(src)
|
||
|
if not Player then return end
|
||
|
|
||
|
local starterItems = Config.StarterItems
|
||
|
|
||
|
for i = 1, #starterItems do
|
||
|
local data = starterItems[i]
|
||
|
local metadata = {}
|
||
|
|
||
|
if data.item == 'id_card' or data.item == 'driver_license' then
|
||
|
if data.customExport then
|
||
|
customIDCard(src, data.item)
|
||
|
else
|
||
|
metadata = defaultQBMetaData(Player.PlayerData, data.item)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
if not data.customExport then
|
||
|
addItemToInventory(src, data.item, data.amount, metadata, not qbox and Player.Functions or nil)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function loadHouseData(src)
|
||
|
if GetResourceState('ps-housing') == 'started' then return end
|
||
|
|
||
|
local HouseGarages = {}
|
||
|
local Houses = {}
|
||
|
local status, result = pcall(function()
|
||
|
return MySQL.query.await('SELECT * FROM houselocations', {})
|
||
|
end)
|
||
|
|
||
|
if not status then return end
|
||
|
|
||
|
if result[1] ~= nil then
|
||
|
for _, v in pairs(result) do
|
||
|
local owned = false
|
||
|
if tonumber(v.owned) == 1 then
|
||
|
owned = true
|
||
|
end
|
||
|
local garage = v.garage ~= nil and json.decode(v.garage) or {}
|
||
|
Houses[v.name] = {
|
||
|
coords = json.decode(v.coords),
|
||
|
owned = owned,
|
||
|
price = v.price,
|
||
|
locked = true,
|
||
|
adress = v.label,
|
||
|
tier = v.tier,
|
||
|
garage = garage,
|
||
|
decorations = {},
|
||
|
}
|
||
|
HouseGarages[v.name] = {
|
||
|
label = v.label,
|
||
|
takeVehicle = garage,
|
||
|
}
|
||
|
end
|
||
|
end
|
||
|
|
||
|
TriggerClientEvent("qb-garages:client:houseGarageConfig", src, HouseGarages)
|
||
|
TriggerClientEvent("qb-houses:client:setHouseConfig", src, Houses)
|
||
|
end
|
||
|
|
||
|
-- Stop resources that are not needed
|
||
|
local stopThis = { 'basic-gamemode', 'fivem-map-skater', 'fivem-map-hipster' }
|
||
|
|
||
|
for _, stopResources in pairs(stopThis) do
|
||
|
if GetResourceState(stopResources) == "started" or GetResourceState(stopResources) == "starting" then
|
||
|
StopResource(stopResources)
|
||
|
print((
|
||
|
"^1[IMPORTANT!] %s is running on your server, stopped ^7")
|
||
|
:format(stopResources))
|
||
|
end
|
||
|
end
|