mirror of
https://github.com/project-error/qb-pefcl.git
synced 2026-03-31 06:33:54 -04:00
aa3274a390573f45174c15d238983b7fe3e36cbc
qb-pefcl
This is a compatibility resource that enables PEFCL to function properly with QBCore. Please ensure that you have the latest version of PEFCL and QBCore installed
Installation Steps:
-
Download this repository and place it in the
resourcesdirectory -
Add
ensure qb-pefclto yourserver.cfg(Start this resource afterQBCoreandPEFCLhave been started) -
Navigate to the
config.jsoninPEFCLand change the following settings:- Under
frameworkIntegrationenabled:trueresource:qb-pefcl
- Under
targettype:"qb-target"enabled:true
- Under
-
Navigate to
qb-core\server\player.luaand replace those functions:- self.Functions.AddMoney =>
function self.Functions.AddMoney(moneytype, amount, reason) reason = reason or 'unknown' moneytype = moneytype:lower() amount = tonumber(amount) if amount < 0 then return end if moneytype == 'bank' then local data = {} data.amount = amount data.message = reason exports.pefcl:addBankBalance(self.PlayerData.source, data) else if not self.PlayerData.money[moneytype] then return false end self.PlayerData.money[moneytype] = self.PlayerData.money[moneytype] + amount end if not self.Offline then self.Functions.UpdatePlayerData() if amount > 100000 then TriggerEvent('qb-log:server:CreateLog', 'playermoney', 'AddMoney', 'lightgreen', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') added, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason, true) else TriggerEvent('qb-log:server:CreateLog', 'playermoney', 'AddMoney', 'lightgreen', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') added, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason) end TriggerClientEvent('hud:client:OnMoneyChange', self.PlayerData.source, moneytype, amount, false) end return true end - self.Functions.RemoveMoney =>
reason = reason or 'unknown' moneytype = moneytype:lower() amount = tonumber(amount) if amount < 0 then return end if not self.PlayerData.money[moneytype] then return false end for _, mtype in pairs(QBCore.Config.Money.DontAllowMinus) do if mtype == moneytype then if (self.PlayerData.money[moneytype] - amount) < 0 then return false end end if moneytype == 'bank' then if (exports.pefcl:getDefaultAccountBalance(self.PlayerData.source).data - amount) < 0 then return false end end end if moneytype == 'bank' then local data = {} data.amount = amount data.message = reason exports.pefcl:removeBankBalance(self.PlayerData.source, data) self.PlayerData.money[moneytype] = exports.pefcl:getDefaultAccountBalance(self.PlayerData.source).data or 0 else self.PlayerData.money[moneytype] = self.PlayerData.money[moneytype] - amount end if not self.Offline then self.Functions.UpdatePlayerData() if amount > 100000 then TriggerEvent('qb-log:server:CreateLog', 'playermoney', 'RemoveMoney', 'red', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') removed, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason, true) else TriggerEvent('qb-log:server:CreateLog', 'playermoney', 'RemoveMoney', 'red', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') removed, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason) end TriggerClientEvent('hud:client:OnMoneyChange', self.PlayerData.source, moneytype, amount, true) if moneytype == 'bank' then TriggerClientEvent('qb-phone:client:RemoveBankMoney', self.PlayerData.source, amount) end end return true- self.Functions.SetMoney
function self.Functions.SetMoney(moneytype, amount, reason) reason = reason or 'unknown' moneytype = moneytype:lower() amount = tonumber(amount) if amount < 0 then return false end if moneytype == 'bank' then local data = {} data.message = reason data.amount = amount exports.pefcl:setBankBalance(self.PlayerData.source, data) self.PlayerData.money[moneytype] = exports.pefcl:getDefaultAccountBalance(self.PlayerData.source).data or 0 else if not self.PlayerData.money[moneytype] then return false end self.PlayerData.money[moneytype] = amount end if not self.Offline then self.Functions.UpdatePlayerData() TriggerEvent('qb-log:server:CreateLog', 'playermoney', 'SetMoney', 'green', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') set, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason) end return true end - self.Functions.GetMoney
function self.Functions.GetMoney(moneytype) if not moneytype then return false end moneytype = moneytype:lower() if moneytype == 'bank' then self.PlayerData.money[moneytype] = exports.pefcl:getDefaultAccountBalance(self.PlayerData.source).data or 0 return exports.pefcl:getDefaultAccountBalance(self.PlayerData.source).data end return self.PlayerData.money[moneytype] end
- self.Functions.SetMoney
- self.Functions.AddMoney =>
Note this currently only works on PEFCL develop branch
Description
Languages
Lua
100%