From 0d874e78e7bde33dbf7238fcfbf8de633a12431c Mon Sep 17 00:00:00 2001 From: ElPumpo Date: Sat, 14 Jul 2018 13:18:56 +0200 Subject: [PATCH] Implemented managing unpaid bills, closes #121 --- client/main.lua | 248 ++++++++++++++++++++++-------------------------- locales/br.lua | 12 ++- locales/de.lua | 10 ++ locales/en.lua | 12 ++- locales/es.lua | 14 ++- locales/fi.lua | 14 ++- locales/fr.lua | 14 ++- locales/pl.lua | 12 ++- locales/sv.lua | 11 ++- server/main.lua | 2 +- 10 files changed, 203 insertions(+), 146 deletions(-) diff --git a/client/main.lua b/client/main.lua index e30ee503..6efd096b 100644 --- a/client/main.lua +++ b/client/main.lua @@ -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 .. ' - $' .. bills[i].amount .. '', 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) diff --git a/locales/br.lua b/locales/br.lua index d86a231f..d3be0ecc 100644 --- a/locales/br.lua +++ b/locales/br.lua @@ -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: $%s', diff --git a/locales/de.lua b/locales/de.lua index b3921c43..85f8650f 100644 --- a/locales/de.lua +++ b/locales/de.lua @@ -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: $%s', diff --git a/locales/en.lua b/locales/en.lua index e534eb74..0c28b1cc 100644 --- a/locales/en.lua +++ b/locales/en.lua @@ -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: $%s', diff --git a/locales/es.lua b/locales/es.lua index 8b3a1ac6..6fa71cfc 100644 --- a/locales/es.lua +++ b/locales/es.lua @@ -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: €%s', diff --git a/locales/fi.lua b/locales/fi.lua index 3a0148ad..d4b1703d 100644 --- a/locales/fi.lua +++ b/locales/fi.lua @@ -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: €%s', diff --git a/locales/fr.lua b/locales/fr.lua index c9dc8841..9ca05320 100644 --- a/locales/fr.lua +++ b/locales/fr.lua @@ -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: €%s', diff --git a/locales/pl.lua b/locales/pl.lua index 9fd78b1f..7b79c473 100644 --- a/locales/pl.lua +++ b/locales/pl.lua @@ -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: $%s', diff --git a/locales/sv.lua b/locales/sv.lua index 87c37bc0..7309bd36 100644 --- a/locales/sv.lua +++ b/locales/sv.lua @@ -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: $%s', diff --git a/server/main.lua b/server/main.lua index e5448896..ff83ab38 100644 --- a/server/main.lua +++ b/server/main.lua @@ -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']