Separate and fix ped loading for tickets/banks

I unified the bank locations and ticket cash in locations and forgot that people disable the banking part of the script

Now, if Banks and `CashInAnywhere` is disabled, it creates a separate ped for tickets only (default location is pacific bank)

If Banks are enabled, but `CashInAnywhere` is disabled, it creates the separate ped also

If Banks are enabled AND `CashInAnywhere` is enabled, the separate ped won't be used and the bank peds will share the target options
This commit is contained in:
Jim Shield
2025-06-01 21:44:29 +01:00
parent 10f14f846e
commit 784d13914f
2 changed files with 57 additions and 7 deletions

View File

@@ -24,22 +24,29 @@ if Config.Banks.enable then
jobroles[k] = 0 jobroles[k] = 0
end end
end end
createCircleTarget( local options = {
{ name, vec3(v[i].x, v[i].y, v[i].z+0.2), 2.0, { name = name, debugPoly = debugMode, useZ = true, }, }, {
{ action = function() { action = function()
if Config.General.Peds and isStarted("jim-talktonpc") then if Config.General.Peds and isStarted("jim-talktonpc") then
exports["jim-talktonpc"]:createCam(Peds[name], true, "generic", true) exports["jim-talktonpc"]:createCam(Peds[name], true, "generic", true)
end end
TriggerEvent(getScript()..":Client:Bank", { ped = Config.General.Peds and Peds[name] }) TriggerEvent(getScript()..":Client:Bank", { ped = Config.General.Peds and Peds[name] })
end, end,
icon = "fas fa-piggy-bank", label = locale("target", "bank") }, icon = "fas fa-piggy-bank", label = locale("target", "bank")
},
}
if Config.Receipts.CashInAnywhere then
options[#options+1] =
{ action = function() TriggerEvent(getScript()..":Tickets:Menu", { gang = false }) end, { action = function() TriggerEvent(getScript()..":Tickets:Menu", { gang = false }) end,
icon = "fas fa-receipt", label = locale("target", "cashin_boss"), job = jobroles, icon = "fas fa-receipt", label = locale("target", "cashin_boss"), job = jobroles,
}, }
options[#options+1] =
{ action = function() TriggerEvent(getScript()..":Tickets:Menu", { gang = true }) end, { action = function() TriggerEvent(getScript()..":Tickets:Menu", { gang = true }) end,
icon = "fas fa-receipt", label = locale("target", "cashin_gang"), gang = gangroles, icon = "fas fa-receipt", label = locale("target", "cashin_gang"), gang = gangroles,
}, }
}, 2.5) end
jsonPrint(options)
createCircleTarget(
{ name, vec3(v[i].x, v[i].y, v[i].z+0.2), 2.0, { name = name, debugPoly = debugMode, useZ = true, }, }, options, 2.5)
if Config.Banks.showBlips then if Config.Banks.showBlips then
makeBlip({coords = v[i], sprite = 814, col = 2, scale = 0.7, disp = 6, name = locale("blip", "blip_bank") }) makeBlip({coords = v[i], sprite = 814, col = 2, scale = 0.7, disp = 6, name = locale("blip", "blip_bank") })
end end

View File

@@ -1,3 +1,46 @@
if not Config.Banks.enable or not Config.Receipts.CashInAnywhere then
onPlayerLoaded(function()
local locations = BankLocations
if not Config.Receipts.CashInAnywhere then
locations = {
["receipts"] = Config.Receipts.CashInLocations
}
end
for k, v in pairs(locations) do
for i = 1, #v do
local name = getScript()..":BankLocation:"..k..i
if Config.General.Peds then
if not Config.Gabz then CreateModelHide(v[i].xyz, 1.0, `v_corp_bk_chair3`, true) end
if not Peds[name] then
Peds[name] = makePed(Config.General.PedPool[math.random(1, #Config.General.PedPool)], v[i], false, false)
if isStarted("jim-talktonpc") then
exports["jim-talktonpc"]:createDistanceMessage("hi", Peds[name], 3.0, false)
end
end
end
local jobroles = {}
local gangroles = {}
for k, v in pairs(Config.Receipts.Jobs) do
if v.gang then
gangroles[k] = 0
else
jobroles[k] = 0
end
end
createCircleTarget(
{ name, vec3(v[i].x, v[i].y, v[i].z+0.2), 2.0, { name = name, debugPoly = debugMode, useZ = true, }, }, {
{ action = function() TriggerEvent(getScript()..":Tickets:Menu", { gang = false }) end,
icon = "fas fa-receipt", label = locale("target", "cashin_boss"), job = jobroles,
},
{ action = function() TriggerEvent(getScript()..":Tickets:Menu", { gang = true }) end,
icon = "fas fa-receipt", label = locale("target", "cashin_gang"), gang = gangroles,
},
}, 2.5)
end
end
end, true)
end
RegisterNetEvent(getScript()..":Tickets:Menu", function(data) RegisterNetEvent(getScript()..":Tickets:Menu", function(data)
local PlayerInfo = getPlayer() local PlayerInfo = getPlayer()
local hasItem, hasTable = hasItem("payticket", 1) local hasItem, hasTable = hasItem("payticket", 1)