Creating a New Framework
Guide for adding support for unsupported frameworks.
Step 1: Create Folder Structure
src/framework/
└── my-framework/
├── client.lua
└── server.luaStep 2: Implement server.lua
if Config.Framework ~= "my-framework" then return end
if GetResourceState("my-framework-core") ~= "started" then return end
local MyFramework = exports['my-framework-core']:GetObject()
function GetIdentifier(playerId)
local player = MyFramework:GetPlayer(playerId)
return player and player.uniqueId or false
end
function IsCharacterLoaded(playerId)
return MyFramework:GetPlayer(playerId) ~= nil
end
function GetPlayerJob(playerId)
local player = MyFramework:GetPlayer(playerId)
if player and player.job then
return player.job.name, player.job.level or 0
end
return nil, 0
end
function GetPlayerData(source)
local player = MyFramework:GetPlayer(source)
if not player then return nil end
return {
name = player.name or '',
firstname = player.firstName or '',
lastname = player.lastName or '',
citizenid = player.uniqueId or '',
job = player.job and player.job.name or '',
job_label = player.job and player.job.label or '',
gang = '',
}
end
function GetMoney(source)
local player = MyFramework:GetPlayer(source)
return player and player:GetCash() or 0
end
function GetBankMoney(source)
local player = MyFramework:GetPlayer(source)
return player and player:GetBank() or 0
end
function CanAfford(source, amount)
return (GetMoney(source) + GetBankMoney(source)) >= amount
end
function RemoveMoney(source, amount)
if amount <= 0 then return false end
local player = MyFramework:GetPlayer(source)
if not player then return false end
return player:RemoveMoney(amount)
end
function AddMoney(source, amount, accountType)
if amount <= 0 then return false end
local player = MyFramework:GetPlayer(source)
if not player then return false end
if accountType == 'bank' then
return player:AddBank(amount)
end
return player:AddCash(amount)
end
function Notify(source, message, type, title)
TriggerClientEvent('my-framework:notify', source, message, type)
end
RegisterNetEvent('my-framework:playerLoaded', function()
local src = source
TriggerEvent('skeexs-inventory:playerReady', src)
end)
RegisterNetEvent('my-framework:playerUnloaded', function()
local src = source
TriggerEvent('skeexs-inventory:playerUnload', src)
end)Step 3: Implement client.lua
Step 4: Activate in config.lua
Required Events
playerReady
playerUnload
Last updated