mirror of
https://github.com/esx-framework/esx_core.git
synced 2026-08-31 21:01:43 +00:00
Implemented managing unpaid bills, closes #121
This commit is contained in:
+113
-135
@@ -446,7 +446,8 @@ function OpenPoliceActionsMenu()
|
||||
{label = _U('drag'), value = 'drag'},
|
||||
{label = _U('put_in_vehicle'), value = 'put_in_vehicle'},
|
||||
{label = _U('out_the_vehicle'), value = 'out_the_vehicle'},
|
||||
{label = _U('fine'), value = 'fine'}
|
||||
{label = _U('fine'), value = 'fine'},
|
||||
{label = _U('unpaid_bills'), value = 'unpaid_bills'}
|
||||
}
|
||||
|
||||
if Config.EnableLicenses then
|
||||
@@ -480,6 +481,8 @@ function OpenPoliceActionsMenu()
|
||||
OpenFineMenu(closestPlayer)
|
||||
elseif action == 'license' then
|
||||
ShowPlayerLicense(closestPlayer)
|
||||
elseif action == 'unpaid_bills' then
|
||||
OpenUnpaidBillsMenu(closestPlayer)
|
||||
end
|
||||
|
||||
else
|
||||
@@ -620,141 +623,94 @@ end
|
||||
|
||||
function OpenIdentityCardMenu(player)
|
||||
|
||||
if Config.EnableESXIdentity then
|
||||
ESX.TriggerServerCallback('esx_policejob:getOtherPlayerData', function(data)
|
||||
|
||||
ESX.TriggerServerCallback('esx_policejob:getOtherPlayerData', function(data)
|
||||
|
||||
local jobLabel = nil
|
||||
local sexLabel = nil
|
||||
local sex = nil
|
||||
local dobLabel = nil
|
||||
local heightLabel = nil
|
||||
local idLabel = nil
|
||||
|
||||
if data.job.grade_label ~= nil and data.job.grade_label ~= '' then
|
||||
jobLabel = 'Job: ' .. data.job.label .. ' - ' .. data.job.grade_label
|
||||
else
|
||||
jobLabel = 'Job: ' .. data.job.label
|
||||
end
|
||||
|
||||
if data.sex ~= nil then
|
||||
if (data.sex == 'm') or (data.sex == 'M') then
|
||||
sex = 'Male'
|
||||
else
|
||||
sex = 'Female'
|
||||
end
|
||||
sexLabel = 'Sex: ' .. sex
|
||||
else
|
||||
sexLabel = 'Sex: Unknown'
|
||||
end
|
||||
|
||||
if data.dob ~= nil then
|
||||
dobLabel = 'DOB: ' .. data.dob
|
||||
else
|
||||
dobLabel = 'DOB: Unknown'
|
||||
end
|
||||
|
||||
if data.height ~= nil then
|
||||
heightLabel = 'Height: ' .. data.height
|
||||
else
|
||||
heightLabel = 'Height: Unknown'
|
||||
end
|
||||
|
||||
if data.name ~= nil then
|
||||
idLabel = 'ID: ' .. data.name
|
||||
else
|
||||
idLabel = 'ID: Unknown'
|
||||
end
|
||||
|
||||
local elements = {
|
||||
{label = _U('name', data.firstname .. ' ' .. data.lastname), value = nil},
|
||||
{label = sexLabel, value = nil},
|
||||
{label = dobLabel, value = nil},
|
||||
{label = heightLabel, value = nil},
|
||||
{label = jobLabel, value = nil},
|
||||
{label = idLabel, value = nil},
|
||||
}
|
||||
|
||||
if data.drunk ~= nil then
|
||||
table.insert(elements, {label = _U('bac', data.drunk), value = nil})
|
||||
end
|
||||
|
||||
if data.licenses ~= nil then
|
||||
|
||||
table.insert(elements, {label = '--- Licenses ---', value = nil})
|
||||
|
||||
for i=1, #data.licenses, 1 do
|
||||
table.insert(elements, {label = data.licenses[i].label, value = nil})
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
ESX.UI.Menu.Open(
|
||||
'default', GetCurrentResourceName(), 'citizen_interaction',
|
||||
{
|
||||
title = _U('citizen_interaction'),
|
||||
align = 'top-left',
|
||||
elements = elements,
|
||||
},
|
||||
function(data, menu)
|
||||
|
||||
end,
|
||||
function(data, menu)
|
||||
menu.close()
|
||||
end
|
||||
)
|
||||
|
||||
end, GetPlayerServerId(player))
|
||||
|
||||
else
|
||||
|
||||
ESX.TriggerServerCallback('esx_policejob:getOtherPlayerData', function(data)
|
||||
|
||||
local jobLabel = nil
|
||||
|
||||
if data.job.grade_label ~= nil and data.job.grade_label ~= '' then
|
||||
jobLabel = 'Job: ' .. data.job.label .. ' - ' .. data.job.grade_label
|
||||
else
|
||||
jobLabel = 'Job: ' .. data.job.label
|
||||
end
|
||||
|
||||
local elements = {
|
||||
{label = _U('name') .. data.name, value = nil},
|
||||
{label = jobLabel, value = nil},
|
||||
}
|
||||
|
||||
if data.drunk ~= nil then
|
||||
table.insert(elements, {label = _U('bac') .. data.drunk .. '%', value = nil})
|
||||
end
|
||||
|
||||
if data.licenses ~= nil then
|
||||
|
||||
table.insert(elements, {label = '--- Licenses ---', value = nil})
|
||||
|
||||
for i=1, #data.licenses, 1 do
|
||||
table.insert(elements, {label = data.licenses[i].label, value = nil})
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
ESX.UI.Menu.Open(
|
||||
'default', GetCurrentResourceName(), 'citizen_interaction',
|
||||
{
|
||||
title = _U('citizen_interaction'),
|
||||
align = 'top-left',
|
||||
elements = elements,
|
||||
},
|
||||
function(data, menu)
|
||||
|
||||
end,
|
||||
function(data, menu)
|
||||
menu.close()
|
||||
end
|
||||
)
|
||||
|
||||
end, GetPlayerServerId(player))
|
||||
|
||||
end
|
||||
local elements = {}
|
||||
local nameLabel = _U('name', data.name)
|
||||
local jobLabel = nil
|
||||
local sexLabel = nil
|
||||
local dobLabel = nil
|
||||
local heightLabel = nil
|
||||
local idLabel = nil
|
||||
|
||||
if data.job.grade_label ~= nil and data.job.grade_label ~= '' then
|
||||
jobLabel = _U('job', data.job.label .. ' - ' .. data.job.grade_label)
|
||||
else
|
||||
jobLabel = _U('job', data.job.label)
|
||||
end
|
||||
|
||||
if Config.EnableESXIdentity then
|
||||
|
||||
nameLabel = _U('name', data.firstname .. ' ' .. data.lastname)
|
||||
|
||||
if data.sex ~= nil then
|
||||
if string.lower(data.sex) == 'm' then
|
||||
sexLabel = _U('sex', _U('male'))
|
||||
else
|
||||
sexLabel = _U('sex', _U('female'))
|
||||
end
|
||||
else
|
||||
sexLabel = _U('sex', _U('unknown'))
|
||||
end
|
||||
|
||||
if data.dob ~= nil then
|
||||
dobLabel = _U('dob', data.dob)
|
||||
else
|
||||
dobLabel = _U('dob', _U('unknown'))
|
||||
end
|
||||
|
||||
if data.height ~= nil then
|
||||
heightLabel = _U('height', data.height)
|
||||
else
|
||||
heightLabel = _U('height', _U('unknown'))
|
||||
end
|
||||
|
||||
if data.name ~= nil then
|
||||
idLabel = _U('id', data.name)
|
||||
else
|
||||
idLabel = _U('id', _U('unknown'))
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
local elements = {
|
||||
{label = nameLabel, value = nil},
|
||||
{label = jobLabel, value = nil},
|
||||
}
|
||||
|
||||
if Config.EnableESXIdentity then
|
||||
table.insert(elements, {label = sexLabel, value = nil})
|
||||
table.insert(elements, {label = dobLabel, value = nil})
|
||||
table.insert(elements, {label = heightLabel, value = nil})
|
||||
table.insert(elements, {label = idLabel, value = nil})
|
||||
end
|
||||
|
||||
if data.drunk ~= nil then
|
||||
table.insert(elements, {label = _U('bac', data.drunk), value = nil})
|
||||
end
|
||||
|
||||
if data.licenses ~= nil then
|
||||
|
||||
table.insert(elements, {label = _U('license_label'), value = nil})
|
||||
|
||||
for i=1, #data.licenses, 1 do
|
||||
table.insert(elements, {label = data.licenses[i].label, value = nil})
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'citizen_interaction',
|
||||
{
|
||||
title = _U('citizen_interaction'),
|
||||
align = 'top-left',
|
||||
elements = elements,
|
||||
}, function(data, menu)
|
||||
|
||||
end, function(data, menu)
|
||||
menu.close()
|
||||
end)
|
||||
|
||||
end, GetPlayerServerId(player))
|
||||
|
||||
end
|
||||
|
||||
@@ -978,6 +934,28 @@ function ShowPlayerLicense(player)
|
||||
end, GetPlayerServerId(player))
|
||||
end
|
||||
|
||||
function OpenUnpaidBillsMenu(player)
|
||||
|
||||
local elements = {}
|
||||
|
||||
ESX.TriggerServerCallback('esx_billing:getTargetBills', function(bills)
|
||||
for i=1, #bills, 1 do
|
||||
table.insert(elements, {label = bills[i].label .. ' - <span style="color: red;">$' .. bills[i].amount .. '</span>', value = bills[i].id})
|
||||
end
|
||||
|
||||
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'billing',
|
||||
{
|
||||
title = _U('unpaid_bills'),
|
||||
align = 'top-left',
|
||||
elements = elements
|
||||
}, function(data, menu)
|
||||
|
||||
end, function(data, menu)
|
||||
menu.close()
|
||||
end)
|
||||
end, GetPlayerServerId(player))
|
||||
end
|
||||
|
||||
|
||||
function OpenVehicleInfosMenu(vehicleData)
|
||||
|
||||
|
||||
+11
-1
@@ -35,6 +35,7 @@ Locales['br'] = {
|
||||
['put_in_vehicle'] = 'Colocar no veículo',
|
||||
['out_the_vehicle'] = 'take out of vehicle',
|
||||
['fine'] = 'Multa',
|
||||
['unpaid_bills'] = 'manage unpaid bills',
|
||||
['license_check'] = 'manage license',
|
||||
['license_revoke'] = 'revoke license',
|
||||
['license_revoked'] = 'your ~b~%s~s~ has been ~y~revoked~s~!',
|
||||
@@ -63,11 +64,20 @@ Locales['br'] = {
|
||||
['box'] = 'Caixa',
|
||||
['cash'] = 'Caixa de dinheiro',
|
||||
-- ID Card Menu
|
||||
['name'] = 'Nome: %s',
|
||||
['name'] = 'name: %s',
|
||||
['job'] = 'job: %s',
|
||||
['sex'] = 'sex: %s',
|
||||
['dob'] = 'DOB: %s',
|
||||
['height'] = 'height: %s',
|
||||
['id'] = 'ID: %s',
|
||||
['bac'] = 'BAC: %s',
|
||||
['unknown'] = 'unknown',
|
||||
['male'] = 'male',
|
||||
['female'] = 'female',
|
||||
-- Body Search Menu
|
||||
['guns_label'] = '--- Armas ---',
|
||||
['inventory_label'] = '--- Inventário ---',
|
||||
['license_label'] = ' --- Licenses ---',
|
||||
['confiscate'] = 'confiscar %s',
|
||||
['confiscate_inv'] = 'Confiscar %sx %s',
|
||||
['confiscate_dirty'] = 'Confiscar dinheiro sujo: <span style="color:red;">$%s</span>',
|
||||
|
||||
@@ -35,6 +35,7 @@ Locales['de'] = {
|
||||
['put_in_vehicle'] = 'In Fahrzeug setzen',
|
||||
['out_the_vehicle'] = 'take out of vehicle',
|
||||
['fine'] = 'Strafe',
|
||||
['unpaid_bills'] = 'manage unpaid bills',
|
||||
['license_check'] = 'manage license',
|
||||
['license_revoke'] = 'revoke license',
|
||||
['license_revoked'] = 'your ~b~%s~s~ has been ~y~revoked~s~!',
|
||||
@@ -64,10 +65,19 @@ Locales['de'] = {
|
||||
['cash'] = 'Box mit Geld',
|
||||
-- ID Card Menu
|
||||
['name'] = 'name: %s',
|
||||
['job'] = 'job: %s',
|
||||
['sex'] = 'sex: %s',
|
||||
['dob'] = 'DOB: %s',
|
||||
['height'] = 'height: %s',
|
||||
['id'] = 'ID: %s',
|
||||
['bac'] = 'BAC: %s',
|
||||
['unknown'] = 'unknown',
|
||||
['male'] = 'male',
|
||||
['female'] = 'female',
|
||||
-- Body Search Menu
|
||||
['guns_label'] = '--- Waffen ---',
|
||||
['inventory_label'] = '--- Inventar ---',
|
||||
['license_label'] = ' --- Licenses ---',
|
||||
['confiscate'] = 'konfeszieren %s',
|
||||
['confiscate_inv'] = 'konfeziere %sx %s',
|
||||
['confiscate_dirty'] = 'schwarzgeld konfesziert: <span style="color:red;">$%s</span>',
|
||||
|
||||
+11
-1
@@ -35,6 +35,7 @@ Locales['en'] = {
|
||||
['put_in_vehicle'] = 'put in Vehicle',
|
||||
['out_the_vehicle'] = 'drag out from vehicle',
|
||||
['fine'] = 'fine',
|
||||
['unpaid_bills'] = 'manage unpaid bills',
|
||||
['license_check'] = 'manage license',
|
||||
['license_revoke'] = 'revoke license',
|
||||
['license_revoked'] = 'your ~b~%s~s~ has been ~y~revoked~s~!',
|
||||
@@ -61,13 +62,22 @@ Locales['en'] = {
|
||||
['barrier'] = 'barrier',
|
||||
['spikestrips'] = 'spikestrips',
|
||||
['box'] = 'box',
|
||||
['cash'] = 'Box of cash',
|
||||
['cash'] = 'box of cash',
|
||||
-- ID Card Menu
|
||||
['name'] = 'name: %s',
|
||||
['job'] = 'job: %s',
|
||||
['sex'] = 'sex: %s',
|
||||
['dob'] = 'DOB: %s',
|
||||
['height'] = 'height: %s',
|
||||
['id'] = 'ID: %s',
|
||||
['bac'] = 'BAC: %s',
|
||||
['unknown'] = 'unknown',
|
||||
['male'] = 'male',
|
||||
['female'] = 'female',
|
||||
-- Body Search Menu
|
||||
['guns_label'] = '--- Guns ---',
|
||||
['inventory_label'] = '--- Inventory ---',
|
||||
['license_label'] = ' --- Licenses ---',
|
||||
['confiscate'] = 'confiscate %s',
|
||||
['confiscate_inv'] = 'confiscate %sx %s',
|
||||
['confiscate_dirty'] = 'confiscate dirty money: <span style="color:red;">$%s</span>',
|
||||
|
||||
+12
-2
@@ -35,6 +35,7 @@ Locales['es'] = {
|
||||
['put_in_vehicle'] = 'Meter en el vehículo',
|
||||
['out_the_vehicle'] = 'Sacar del vehículo',
|
||||
['fine'] = 'Multa',
|
||||
['unpaid_bills'] = 'manage unpaid bills',
|
||||
['license_check'] = 'manage license',
|
||||
['license_revoke'] = 'revoke license',
|
||||
['license_revoked'] = 'your ~b~%s~s~ has been ~y~revoked~s~!',
|
||||
@@ -63,11 +64,20 @@ Locales['es'] = {
|
||||
['box'] = 'Caja',
|
||||
['cash'] = 'Dinero',
|
||||
-- ID Card Menu
|
||||
['name'] = 'nombre: %s',
|
||||
['bac'] = 'alcoolemia: %s',
|
||||
['name'] = 'name: %s',
|
||||
['job'] = 'job: %s',
|
||||
['sex'] = 'sex: %s',
|
||||
['dob'] = 'DOB: %s',
|
||||
['height'] = 'height: %s',
|
||||
['id'] = 'ID: %s',
|
||||
['bac'] = 'BAC: %s',
|
||||
['unknown'] = 'unknown',
|
||||
['male'] = 'male',
|
||||
['female'] = 'female',
|
||||
-- Body Search Menu
|
||||
['guns_label'] = '--- Armas ---',
|
||||
['inventory_label'] = '--- Inventario ---',
|
||||
['license_label'] = ' --- Licenses ---',
|
||||
['confiscate'] = 'confiscar %s',
|
||||
['confiscate_inv'] = 'confiscar %sx %s',
|
||||
['confiscate_dirty'] = 'confiscar dinero negro: <span style="color:red;">€%s</span>',
|
||||
|
||||
+12
-2
@@ -35,6 +35,7 @@ Locales['fi'] = {
|
||||
['put_in_vehicle'] = 'laita ajoneuvoon',
|
||||
['out_the_vehicle'] = 'ota ulos ajoneuvosta',
|
||||
['fine'] = 'sakko',
|
||||
['unpaid_bills'] = 'manage unpaid bills',
|
||||
['license_check'] = 'hallitse lisenssejä',
|
||||
['license_revoke'] = 'kumoa lisenssi',
|
||||
['license_revoked'] = 'sinun ~b~%s~s~ ~y~kumottiin~s~!',
|
||||
@@ -63,11 +64,20 @@ Locales['fi'] = {
|
||||
['box'] = 'laatikko',
|
||||
['cash'] = 'rahalaatikko',
|
||||
-- ID Card Menu
|
||||
['name'] = 'nimi: %s',
|
||||
['bac'] = 'alkometri: %s',
|
||||
['name'] = 'name: %s',
|
||||
['job'] = 'job: %s',
|
||||
['sex'] = 'sex: %s',
|
||||
['dob'] = 'DOB: %s',
|
||||
['height'] = 'height: %s',
|
||||
['id'] = 'ID: %s',
|
||||
['bac'] = 'BAC: %s',
|
||||
['unknown'] = 'unknown',
|
||||
['male'] = 'male',
|
||||
['female'] = 'female',
|
||||
-- Body Search Menu
|
||||
['guns_label'] = '--- Aseet ---',
|
||||
['inventory_label'] = '--- Reppu ---',
|
||||
['license_label'] = ' --- Licenses ---',
|
||||
['confiscate'] = 'takavarikoi %s',
|
||||
['confiscate_inv'] = 'takavarikoi %sx %s',
|
||||
['confiscate_dirty'] = 'takavarikoi likainen raha: <span style="color:red;">€%s</span>',
|
||||
|
||||
+12
-2
@@ -35,6 +35,7 @@ Locales['fr'] = {
|
||||
['put_in_vehicle'] = 'mettre dans véhicule',
|
||||
['out_the_vehicle'] = 'sortir du véhicule',
|
||||
['fine'] = 'Amende',
|
||||
['unpaid_bills'] = 'manage unpaid bills',
|
||||
['license_check'] = 'gérer les licences',
|
||||
['license_revoke'] = 'révoquer la licence',
|
||||
['license_revoked'] = 'votre ~b~%s~s~ a été ~y~révoqué~s~!',
|
||||
@@ -63,11 +64,20 @@ Locales['fr'] = {
|
||||
['box'] = 'caisse',
|
||||
['cash'] = 'caisse',
|
||||
-- ID Card Menu
|
||||
['name'] = 'nom: %s',
|
||||
['bac'] = 'alcoolémie: %s',
|
||||
['name'] = 'name: %s',
|
||||
['job'] = 'job: %s',
|
||||
['sex'] = 'sex: %s',
|
||||
['dob'] = 'DOB: %s',
|
||||
['height'] = 'height: %s',
|
||||
['id'] = 'ID: %s',
|
||||
['bac'] = 'BAC: %s',
|
||||
['unknown'] = 'unknown',
|
||||
['male'] = 'male',
|
||||
['female'] = 'female',
|
||||
-- Body Search Menu
|
||||
['guns_label'] = '--- Armes ---',
|
||||
['inventory_label'] = '--- Inventaire ---',
|
||||
['license_label'] = ' --- Licenses ---',
|
||||
['confiscate'] = 'confisquer %s',
|
||||
['confiscate_inv'] = 'confisquer %sx %s',
|
||||
['confiscate_dirty'] = 'confisquer argent sale: <span style="color:red;">€%s</span>',
|
||||
|
||||
+11
-1
@@ -35,6 +35,7 @@ Locales['pl'] = {
|
||||
['put_in_vehicle'] = 'Wsadź do pojazdu',
|
||||
['out_the_vehicle'] = 'Wyciągnij z pojazdu',
|
||||
['fine'] = 'Mandaty',
|
||||
['unpaid_bills'] = 'manage unpaid bills',
|
||||
['license_check'] = 'Zarządzaj licencjami',
|
||||
['license_revoke'] = 'Uniewaźnij licencje',
|
||||
['license_revoked'] = 'Twoja licencja ~b~%s~s~ została ~y~unieważniona~s~!',
|
||||
@@ -63,11 +64,20 @@ Locales['pl'] = {
|
||||
['box'] = 'Pudła',
|
||||
['cash'] = 'Paleta z pieniędzmi',
|
||||
-- ID Card Menu
|
||||
['name'] = 'nazwa: %s',
|
||||
['name'] = 'name: %s',
|
||||
['job'] = 'job: %s',
|
||||
['sex'] = 'sex: %s',
|
||||
['dob'] = 'DOB: %s',
|
||||
['height'] = 'height: %s',
|
||||
['id'] = 'ID: %s',
|
||||
['bac'] = 'BAC: %s',
|
||||
['unknown'] = 'unknown',
|
||||
['male'] = 'male',
|
||||
['female'] = 'female',
|
||||
-- Body Search Menu
|
||||
['guns_label'] = '--- Bronie ---',
|
||||
['inventory_label'] = '--- Ekwipunek ---',
|
||||
['license_label'] = ' --- Licenses ---',
|
||||
['confiscate'] = 'skonfiskuj %s',
|
||||
['confiscate_inv'] = 'skonfiskuj %sx %s',
|
||||
['confiscate_dirty'] = 'skonfiskuj brudne pieniądze: <span style="color:red;">$%s</span>',
|
||||
|
||||
+10
-1
@@ -63,11 +63,20 @@ Locales['sv'] = {
|
||||
['box'] = 'låda',
|
||||
['cash'] = 'låda med pengar',
|
||||
-- ID Card Menu
|
||||
['name'] ='namn: %s',
|
||||
['name'] = 'namn: %s',
|
||||
['job'] = 'jobb: %s',
|
||||
['sex'] = 'kön: %s',
|
||||
['dob'] = 'födelsedatum: %s',
|
||||
['height'] = 'längd: %s',
|
||||
['id'] = 'ID: %s',
|
||||
['bac'] = 'alkohol i blodet: %s',
|
||||
['unknown'] = 'okänt',
|
||||
['male'] = 'man',
|
||||
['female'] = 'kvinna',
|
||||
-- Body Search Menu
|
||||
['guns_label'] = '--- Vapen ---',
|
||||
['inventory_label'] = '--- Inventory ---',
|
||||
['license_label'] = ' --- Licenser ---',
|
||||
['confiscate'] = 'beslagta %s',
|
||||
['confiscate_inv'] = 'beslagta %sx %s',
|
||||
['confiscate_dirty'] = 'beslagta svarta pengar: <span style="color:red;">$%s</span>',
|
||||
|
||||
+1
-1
@@ -135,7 +135,7 @@ ESX.RegisterServerCallback('esx_policejob:getOtherPlayerData', function(source,
|
||||
['@identifier'] = identifier
|
||||
})
|
||||
|
||||
local user = result[1]
|
||||
local user = result[1]
|
||||
local firstname = user['firstname']
|
||||
local lastname = user['lastname']
|
||||
local sex = user['sex']
|
||||
|
||||
Reference in New Issue
Block a user