74 lines
2.7 KiB
Lua
74 lines
2.7 KiB
Lua
|
|
-- ─────────────────────────────────────────────────────────────────────────────
|
|||
|
|
-- Bridge – QBCore
|
|||
|
|
-- Only activates when Config.Framework == "qbcore"
|
|||
|
|
-- ─────────────────────────────────────────────────────────────────────────────
|
|||
|
|
|
|||
|
|
-- Declare Bridge table on first load
|
|||
|
|
if not Bridge then Bridge = {} end
|
|||
|
|
|
|||
|
|
if Config.Framework ~= "qbcore" then return end
|
|||
|
|
|
|||
|
|
if IsDuplicityVersion() then
|
|||
|
|
-- SERVER SIDE
|
|||
|
|
local QBCore = exports['qb-core']:GetCoreObject()
|
|||
|
|
|
|||
|
|
function Bridge.GetIdentifier(source)
|
|||
|
|
local Player = QBCore.Functions.GetPlayer(source)
|
|||
|
|
if not Player then return tostring(source) end
|
|||
|
|
return Player.PlayerData.citizenid
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function Bridge.GetName(source)
|
|||
|
|
local Player = QBCore.Functions.GetPlayer(source)
|
|||
|
|
if not Player then return "Unknown" end
|
|||
|
|
local pd = Player.PlayerData.charinfo
|
|||
|
|
return ("%s %s"):format(pd.firstname, pd.lastname)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function Bridge.Notify(source, message, notifType)
|
|||
|
|
TriggerClientEvent('QBCore:Notify', source, message, notifType or "primary")
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function Bridge.HasPermission(source, perm)
|
|||
|
|
return QBCore.Functions.HasPermission(source, perm)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function Bridge.GetMoney(source, moneyType)
|
|||
|
|
local Player = QBCore.Functions.GetPlayer(source)
|
|||
|
|
if not Player then return 0 end
|
|||
|
|
return Player.Functions.GetMoney(moneyType)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function Bridge.RemoveMoney(source, moneyType, amount)
|
|||
|
|
local Player = QBCore.Functions.GetPlayer(source)
|
|||
|
|
if not Player then return false end
|
|||
|
|
return Player.Functions.RemoveMoney(moneyType, amount, "pc-live-purchase")
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function Bridge.AddMoney(source, moneyType, amount)
|
|||
|
|
local Player = QBCore.Functions.GetPlayer(source)
|
|||
|
|
if not Player then return false end
|
|||
|
|
return Player.Functions.AddMoney(moneyType, amount, "pc-live-refund")
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function Bridge.GetJob(source)
|
|||
|
|
local Player = QBCore.Functions.GetPlayer(source)
|
|||
|
|
if not Player then return nil end
|
|||
|
|
return Player.PlayerData.job.name
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
else
|
|||
|
|
-- CLIENT SIDE
|
|||
|
|
local QBCore = exports['qb-core']:GetCoreObject()
|
|||
|
|
|
|||
|
|
function Bridge.GetLocalIdentifier()
|
|||
|
|
return QBCore.Functions.GetPlayerData().citizenid or ""
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function Bridge.GetLocalName()
|
|||
|
|
local pd = QBCore.Functions.GetPlayerData().charinfo
|
|||
|
|
if not pd then return "Unknown" end
|
|||
|
|
return ("%s %s"):format(pd.firstname, pd.lastname)
|
|||
|
|
end
|
|||
|
|
end
|