Refactor a couple files for readability

This commit is contained in:
Jim Shield
2025-05-12 10:49:00 +01:00
parent 5e80192cef
commit 2b92f749b5
3 changed files with 78 additions and 23 deletions

View File

@@ -43,9 +43,34 @@ RegisterNetEvent(getScript()..":client:Charge", function(data, outside)
end end
end end
--If list is empty(no one nearby) show error and stop --If list is empty(no one nearby) show error and stop
if not nearbyList[1] then triggerNotify(nil, locale("error" ,"no_one"), "error") return end if not nearbyList[1] then
triggerNotify(nil, locale("error" ,"no_one"), "error")
return
end
newinputs[#newinputs+1] = {
type = "select",
text = locale("menu" ,"cus_id"),
name = "citizen",
label = locale("menu" ,"cus_id"),
default = 1,
options = nearbyList
}
else -- If Config.List is false, create input text box for ID's else -- If Config.List is false, create input text box for ID's
newinputs[#newinputs+1] = { type = 'text', isRequired = true, required = true, name = 'citizen', label = locale("menu" ,"person_id"), text = locale("menu" ,"person_id") } newinputs[#newinputs+1] = {
type = 'text',
isRequired = true,
required = true,
name = 'citizen',
label = locale("menu" ,"person_id"),
text = locale("menu" ,"person_id")
}
newinputs[#newinputs+1] = {
type = 'text',
isRequired = true,
name = 'citizen',
text = locale("menu" ,"cus_id")
}
end end
--Grab Player Job name or Gang Name if needed --Grab Player Job name or Gang Name if needed
@@ -53,11 +78,6 @@ RegisterNetEvent(getScript()..":client:Charge", function(data, outside)
--Check if image was given when opening the regsiter --Check if image was given when opening the regsiter
local img = data.img ~= nil and (Config.System.Menu == "qb" and "<center><img src="..(data.img).." width=200px></center>") or Jobs[getInfo.job].label local img = data.img ~= nil and (Config.System.Menu == "qb" and "<center><img src="..(data.img).." width=200px></center>") or Jobs[getInfo.job].label
if Config.General.List then
newinputs[#newinputs+1] = { type = "select", text = locale("menu" ,"cus_id"), name = "citizen", label = locale("menu" ,"cus_id"), default = 1, options = nearbyList }
else
newinputs[#newinputs+1] = { type = 'text', isRequired = true, name = 'citizen', text = locale("menu" ,"cus_id") }
end
newinputs[#newinputs+1] = { newinputs[#newinputs+1] = {
type = 'select', type = 'select',
name = 'billtype', name = 'billtype',
@@ -73,7 +93,7 @@ RegisterNetEvent(getScript()..":client:Charge", function(data, outside)
local dialog = createInput(img, newinputs) local dialog = createInput(img, newinputs)
if dialog then if dialog then
if dialog[1] then if dialog[1] then -- if ox menu, auto adjust values
dialog.citizen = dialog[1] dialog.citizen = dialog[1]
dialog.billtype = dialog[2] dialog.billtype = dialog[2]
dialog.price = dialog[3] dialog.price = dialog[3]
@@ -134,7 +154,7 @@ RegisterNetEvent(getScript()..":client:PayPopup", function(amount, biller, billt
}) })
end, end,
} }
debugPrint(setimage)
openMenu(Menu, { openMenu(Menu, {
header = setimage, header = setimage,
onExit = function() onExit = function()

View File

@@ -2,38 +2,69 @@ RegisterNetEvent(getScript()..":client:PolCharge", function()
local Playerinfo = getPlayer() local Playerinfo = getPlayer()
--Check if player is allowed to use /cashregister command --Check if player is allowed to use /cashregister command
local allowed = false local allowed = false
for k in pairs(Config.PolCharge.FineJobs) do if k == Playerinfo.job then allowed = true end end for k in pairs(Config.PolCharge.FineJobs) do
if not allowed then triggerNotify(nil, locale("error", "no_job"), "error") return end if k == Playerinfo.job then
allowed = true
break
end
end
if not allowed then
triggerNotify(nil, locale("error", "no_job"), "error")
return
end
local newinputs = {} -- Begin qb-input creation here. local newinputs = {} -- Begin qb-input creation here.
local nearbyList = {} local nearbyList = {}
if Config.PolCharge.FineJobList then -- If nearby player list is wanted: if Config.PolCharge.FineJobList then -- If nearby player list is wanted:
--Retrieve a list of nearby players from server -- Retrieve a list of nearby players from server
local onlineList = triggerCallback(getScript()..":MakePlayerList") local onlineList = triggerCallback(getScript()..":MakePlayerList")
--Convert list of players nearby into one qb-input understands + add distance info -- Convert list of players nearby into one an input script understands + add distance info
for _, v in pairs(Core.Functions.GetPlayersFromCoords(GetEntityCoords(PlayerPedId()), Config.General.PaymentRadius)) do for _, v in pairs(Core.Functions.GetPlayersFromCoords(GetEntityCoords(PlayerPedId()), Config.General.PaymentRadius)) do
local dist = #(GetEntityCoords(GetPlayerPed(v)) - GetEntityCoords(PlayerPedId())) local dist = #(GetEntityCoords(GetPlayerPed(v)) - GetEntityCoords(PlayerPedId()))
for i = 1, #onlineList do for i = 1, #onlineList do
if onlineList[i].value == GetPlayerServerId(v) then if onlineList[i].value == GetPlayerServerId(v) then
if v ~= PlayerId() or debugMode then if v ~= PlayerId() or debugMode then
nearbyList[#nearbyList+1] = { value = onlineList[i].value, label = onlineList[i].text..' ('..math.floor(dist+0.05)..'m)', text = onlineList[i].text..' ('..math.floor(dist+0.05)..'m)' } nearbyList[#nearbyList+1] = {
value = onlineList[i].value,
label = onlineList[i].text..' ('..math.floor(dist+0.05)..'m)',
text = onlineList[i].text..' ('..math.floor(dist+0.05)..'m)'
}
end end
end end
end end
end end
--If list is empty(no one nearby) show error and stop --If list is empty(no one nearby) show error and stop
if not nearbyList[1] then triggerNotify(nil, locale("error" ,"no_one"), "error") return end if not nearbyList[1] then
end triggerNotify(nil, locale("error" ,"no_one"), "error")
return
end
if Config.PolCharge.FineJobList then newinputs[#newinputs+1] = {
newinputs[#newinputs+1] = { type = "select", text = locale("menu" ,"cus_id"), name = "citizen", label = locale("menu" ,"cus_id"), default = 1, options = nearbyList } type = "select",
text = locale("menu" ,"cus_id"),
name = "citizen",
label = locale("menu" ,"cus_id"),
default = 1,
options = nearbyList
}
else else
newinputs[#newinputs+1] = { type = 'text', isRequired = true, name = 'citizen', text = locale("menu" ,"cus_id") } newinputs[#newinputs+1] = {
type = 'text',
isRequired = true,
name = 'citizen',
text = locale("menu" ,"cus_id")
}
end end
newinputs[#newinputs+1] = { type = 'number', isRequired = true, name = 'price', text = locale("menu" ,"amount_charge") } newinputs[#newinputs+1] = {
type = 'number',
isRequired = true,
name = 'price',
text = locale("menu" ,"amount_charge")
}
local dialog = createInput(Jobs[Playerinfo.job].label, newinputs) local dialog = createInput(Jobs[Playerinfo.job].label, newinputs)
if dialog then if dialog then
jsonPrint(dialog)
if dialog[1] then if dialog[1] then
dialog.citizen = dialog[1] dialog.citizen = dialog[1]
dialog.price = dialog[2] dialog.price = dialog[2]
@@ -44,7 +75,11 @@ end)
RegisterNetEvent(getScript()..":client:PolPopup", function(amount, biller, billerjob) RegisterNetEvent(getScript()..":client:PolPopup", function(amount, biller, billerjob)
local Menu = {} local Menu = {}
Menu[#Menu+1] = { isMenuHeader = true, header = "", txt = locale("menu" ,"bank_charge")..amount } Menu[#Menu+1] = {
isMenuHeader = true,
header = "",
txt = locale("menu" ,"bank_charge")..amount
}
Menu[#Menu+1] = { Menu[#Menu+1] = {
icon = "fas fa-circle-check", icon = "fas fa-circle-check",
header = locale("menu" ,"yes"), header = locale("menu" ,"yes"),

View File

@@ -16,10 +16,10 @@ RegisterServerEvent(getScript()..":server:PolCharge", function(citizen, price)
commPercent = Config.PolCharge.FineJobs[biller.job].Commission commPercent = Config.PolCharge.FineJobs[biller.job].Commission
else else
commPercent = 0.25 commPercent = 0.25
print("Can't find job in 'FineJobs', defaulting to 0.25 (25% commission)") print("^3Warning^7: ^2Can't find player's job in ^7'Config.Polcharge.FineJobs', ^2defaulting to 0.25 (25% commission)^7")
end end
local commission = math.floor(price * commPercent) local commission = math.floor(price * commPercent)
print(commission)
if price > 0 then if price > 0 then
if not Config.PolCharge.FineJobConfirmation then if not Config.PolCharge.FineJobConfirmation then
polCharge({ polCharge({