forked from Simnation/Main
100 lines
3.1 KiB
Lua
100 lines
3.1 KiB
Lua
![]() |
if GetResourceState('es_extended') ~= 'started' then return end
|
||
|
|
||
|
Core.Info.Framework = 'ESX'
|
||
|
local ESX = exports["es_extended"]:getSharedObject()
|
||
|
|
||
|
Core.Framework = {}
|
||
|
|
||
|
function Core.Framework.Notify(src, message, type)
|
||
|
local src = src or source
|
||
|
local resource = Cfg.Notification
|
||
|
if resource == 'default' then
|
||
|
TriggerClientEvent('esx:showNotification', src, message, type)
|
||
|
elseif resource == 'ox' then
|
||
|
TriggerClientEvent('ox_lib:notify', src, { description = message, type = type, position = 'top' })
|
||
|
elseif resource == 'custom' then
|
||
|
-- insert your notification export here
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function Core.Framework.GetPlayerIdentifier(src)
|
||
|
local src = src or source
|
||
|
local xPlayer = ESX.GetPlayerFromId(src)
|
||
|
if not xPlayer then return end
|
||
|
return xPlayer.getIdentifier()
|
||
|
end
|
||
|
|
||
|
function Core.Framework.GetPlayerName(src)
|
||
|
local src = src or source
|
||
|
local xPlayer = ESX.GetPlayerFromId(src)
|
||
|
if not xPlayer then return end
|
||
|
return xPlayer.variables.firstName, xPlayer.variables.lastName
|
||
|
end
|
||
|
|
||
|
function Core.Framework.GetPlayerJob(src)
|
||
|
local src = src or source
|
||
|
local xPlayer = ESX.GetPlayerFromId(src)
|
||
|
if not xPlayer then return end
|
||
|
return xPlayer.getJob().name, xPlayer.getJob().label
|
||
|
end
|
||
|
|
||
|
function Core.Framework.GetPlayerJobGrade(src)
|
||
|
local src = src or source
|
||
|
local xPlayer = ESX.GetPlayerFromId(src)
|
||
|
if not xPlayer then return end
|
||
|
return xPlayer.getJob().grade, xPlayer.getJob().grade_label
|
||
|
end
|
||
|
|
||
|
function Core.Framework.GetAccountBalance(src, account)
|
||
|
local src = src or source
|
||
|
local xPlayer = ESX.GetPlayerFromId(src)
|
||
|
if not xPlayer then return end
|
||
|
return xPlayer.getAccount(account).money
|
||
|
end
|
||
|
|
||
|
function Core.Framework.AddAccountBalance(src, account, amount)
|
||
|
local src = src or source
|
||
|
local xPlayer = ESX.GetPlayerFromId(src)
|
||
|
if not xPlayer then return end
|
||
|
xPlayer.addAccountMoney(account, amount)
|
||
|
end
|
||
|
|
||
|
function Core.Framework.RemoveAccountBalance(src, account, amount)
|
||
|
local src = src or source
|
||
|
local xPlayer = ESX.GetPlayerFromId(src)
|
||
|
if not xPlayer then return end
|
||
|
xPlayer.removeAccountMoney(account, amount)
|
||
|
end
|
||
|
|
||
|
function Core.Framework.SetPlayerMetadata(src, meta, value)
|
||
|
local xPlayer = ESX.GetPlayerFromId(src)
|
||
|
if not xPlayer then return end
|
||
|
xPlayer.setMeta(meta, value)
|
||
|
end
|
||
|
|
||
|
function Core.Framework.GetPlayerMetadata(src, meta)
|
||
|
local xPlayer = ESX.GetPlayerFromId(src)
|
||
|
if not xPlayer then return end
|
||
|
return xPlayer.getMeta(meta) or nil
|
||
|
end
|
||
|
|
||
|
function Core.Framework.AddSocietyBalance(job, amount)
|
||
|
local society = exports['esx_society']:GetSociety(job)
|
||
|
if not society then return end
|
||
|
TriggerEvent('esx_addonaccount:getSharedAccount', society.account, function(account)
|
||
|
account.addMoney(amount)
|
||
|
end)
|
||
|
end
|
||
|
|
||
|
function Core.Framework.RemoveSocietyBalance(job, amount)
|
||
|
local society = exports['esx_society']:GetSociety(job)
|
||
|
if not society then return end
|
||
|
TriggerEvent('esx_addonaccount:getSharedAccount', society.account, function(account)
|
||
|
account.removeMoney(amount)
|
||
|
end)
|
||
|
end
|
||
|
|
||
|
function Core.Framework.RegisterUsableItem(item, cb)
|
||
|
ESX.RegisterUsableItem(item, cb)
|
||
|
end
|