99 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			99 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
 |