1
0
Fork 0
forked from Simnation/Main
Main/resources/[tools]/Codem-BlackHUDV2/client/UpdateMoney.lua
2025-06-07 08:51:21 +02:00

273 lines
No EOL
9.6 KiB
Lua

local lastCash = nil
local lastBlackMoney = nil
local lastBank = nil
function loadESXMoneyAndJob()
local breakLoop = false
while true do
if frameworkObject ~= nil then
if frameworkObject.GetPlayerData() then
while frameworkObject.GetPlayerData().job == nil do
Citizen.Wait(0)
end
SendNUIMessage({
type = "update_job",
joblabel = frameworkObject.GetPlayerData().job.label,
grade_label = frameworkObject.GetPlayerData().job.grade_label
})
frameworkObject.TriggerServerCallback("codem-blvckhudv2:GetMoney", function(cash)
SendNUIMessage({
type = "update_money",
money = cash
})
lastCash = cash
end, "cash")
frameworkObject.TriggerServerCallback("codem-blvckhudv2:GetMoney", function(blackmoney)
SendNUIMessage({
type = "SetBlackMoney",
money = blackmoney
})
lastBlackMoney = blackmoney
end, "black_money")
local gradeName = 'boss'
if Config.BossGradeNames[frameworkObject.GetPlayerData().job.name] then
gradeName = Config.BossGradeNames[frameworkObject.GetPlayerData().job.name]
end
if frameworkObject.GetPlayerData().job.grade_name == gradeName then
frameworkObject.TriggerServerCallback('esx_society:getSocietyMoney', function(money)
SendNUIMessage({
type = "SetBossMoney",
money = money
})
SendNUIMessage({type = 'SetIsBoss', value = true})
end, frameworkObject.GetPlayerData().job.name)
else
SendNUIMessage({type = 'SetIsBoss', value = false})
end
frameworkObject.TriggerServerCallback("codem-blvckhudv2:GetMoney", function(bank)
SendNUIMessage({
type = "update_bank",
money = bank
})
lastBank = bank
breakLoop = true
end, "bank")
if breakLoop then
return
end
end
end
Citizen.Wait(0)
end
end
Citizen.CreateThread(function()
while not response do
Citizen.Wait(0)
end
if Config.Framework == "esx" then
Citizen.Wait(1000)
loadESXMoneyAndJob()
else
Citizen.Wait(1000)
local breakLoop = false
while true do
Citizen.Wait(0)
if frameworkObject ~= nil then
local Player = frameworkObject.Functions.GetPlayerData()
if Player then
if Player.job ~= nil then
SendNUIMessage({
type = "update_job",
joblabel = Player.job.label,
grade_label = Player.job.grade.name
})
end
if Player.money ~= nil then
SendNUIMessage({
type = "update_money",
money = Player.money.cash
})
lastCash = Player.money.cash
SendNUIMessage({
type = "update_bank",
money = Player.money.bank
})
lastBank = Player.money.bank
breakLoop = true
end
if breakLoop then
break
end
end
end
end
end
end)
RegisterNetEvent("es:addedMoney")
AddEventHandler("es:addedMoney", function(a, b, m)
SendNUIMessage({
type = "update_money",
money = m
})
if Config.EnableWatermarkCash then
TriggerEvent('codem-blvckhudv2:OnAddedMoney', m - lastCash, false, "cash")
lastCash = m
end
end)
RegisterNetEvent("es:removedMoney")
AddEventHandler("es:removedMoney", function(a, b, m)
SendNUIMessage({
type = "update_money",
money = m
})
if Config.EnableWatermarkCash then
TriggerEvent('codem-blvckhudv2:OnAddedMoney', (m - lastCash) * -1, true, "cash")
lastCash = m
end
end)
RegisterNetEvent("esx:setJob")
AddEventHandler("esx:setJob", function(job)
SendNUIMessage({
type = "update_job",
joblabel =job.label,
grade_label = job.grade_label
})
local gradeName = 'boss'
if Config.BossGradeNames[job.name] then
gradeName = Config.BossGradeNames[job.name]
end
if job.grade_name == gradeName then
frameworkObject.TriggerServerCallback('esx_society:getSocietyMoney', function(money)
SendNUIMessage({
type = "SetBossMoney",
money = money
})
SendNUIMessage({type = 'SetIsBoss', value = true})
end, job.name)
else
SendNUIMessage({type = 'SetIsBoss', value = false})
end
end)
RegisterNetEvent('esx_addonaccount:setMoney')
AddEventHandler('esx_addonaccount:setMoney', function(society, money)
local gradeName = 'boss'
if Config.BossGradeNames[frameworkObject.GetPlayerData().job.name] then
gradeName = Config.BossGradeNames[frameworkObject.GetPlayerData().job.name]
end
if frameworkObject.GetPlayerData().job and frameworkObject.GetPlayerData().job.grade_name == gradeName and 'society_' .. frameworkObject.GetPlayerData().job.name == society then
SendNUIMessage({
type = "SetBossMoney",
money = money
})
end
end)
RegisterNetEvent("QBCore:Player:SetPlayerData")
AddEventHandler("QBCore:Player:SetPlayerData", function(data)
SendNUIMessage({
type = "update_money",
money = data.money.cash
})
SendNUIMessage({
type = "update_bank",
money = data.money.bank
})
SendNUIMessage({
type = "update_job",
joblabel = data.job.label,
grade_label = data.job.grade.name
})
if Config.EnableWatermarkCash then
if lastCash ~= nil and lastCash ~= data.money.cash then
if data.money.cash > lastCash then
TriggerEvent('codem-blvckhudv2:OnAddedMoney', data.money.cash - lastCash, false , "cash")
else
TriggerEvent('codem-blvckhudv2:OnAddedMoney', (data.money.cash - lastCash) * -1, true , "cash")
end
lastCash = data.money.cash
end
end
if Config.EnableWatermarkBankMoney then
if lastBank ~= nil and lastBank ~= data.money.bank then
if data.money.bank > lastBank then
TriggerEvent('codem-blvckhudv2:OnAddedMoney', data.money.bank - lastBank, false, "bank")
else
TriggerEvent('codem-blvckhudv2:OnAddedMoney', (data.money.bank - lastBank)* -1, true, "bank")
end
lastBank = data.money.bank
end
end
end)
RegisterNetEvent('esx:setAccountMoney')
AddEventHandler('esx:setAccountMoney', function(account)
if account.name == "bank" then
local money = account.money
SendNUIMessage({
type = "update_bank",
money = money
})
if Config.EnableWatermarkBankMoney then
if lastBank ~= nil and lastBank ~= money then
if money > lastBank then
TriggerEvent('codem-blvckhudv2:OnAddedMoney',money - lastBank, false, "bank")
else
TriggerEvent('codem-blvckhudv2:OnAddedMoney', (money - lastBank) * -1, true, "bank")
end
lastBank = money
end
end
end
if account.name == 'black_money' then
local money = account.money
SendNUIMessage({
type = "SetBlackMoney",
money = money
})
if Config.EnableWatermarkBlackMoney then
if lastBlackMoney ~= nil and lastBlackMoney ~= money then
if money > lastBlackMoney then
TriggerEvent('codem-blvckhudv2:OnAddedMoney', money - lastBlackMoney, false, "black_money")
else
TriggerEvent('codem-blvckhudv2:OnAddedMoney', (money - lastBlackMoney ) * -1, true, "black_money")
end
lastBlackMoney = money
end
end
end
if account.name == 'money' then
local money = account.money
SendNUIMessage({
type = "update_money",
money = money
})
if Config.EnableWatermarkCash then
if lastCash ~= nil and lastCash ~= money then
if money > lastCash then
TriggerEvent('codem-blvckhudv2:OnAddedMoney',money - lastCash, false, "cash")
else
TriggerEvent('codem-blvckhudv2:OnAddedMoney', (money - lastCash ) * -1, true, "cash")
end
lastCash = money
end
end
end
end)