From 828624ccf86798bcc6512bfc7526c29397d69aa2 Mon Sep 17 00:00:00 2001 From: Romain Lanz Date: Thu, 14 Sep 2017 14:26:25 +0200 Subject: [PATCH] chore(coding-style): correct indentation --- .editorconfig | 9 + __resource.lua | 30 +- client/main.lua | 2427 +++++++++++++++-------------- config.lua | 114 +- locales/br.lua | 174 +-- locales/de.lua | 174 +-- locales/en.lua | 260 +-- locales/es.lua | 214 +-- locales/fr.lua | 200 +-- localization/de_config.lua | 112 +- localization/de_esx_policejob.sql | 30 +- localization/en_config.lua | 412 ++--- localization/esx_policejob_en.sql | 134 +- server/main.lua | 572 +++---- 14 files changed, 2436 insertions(+), 2426 deletions(-) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..41c2aaf2 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +indent_size = 2 +indent_style = space +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true \ No newline at end of file diff --git a/__resource.lua b/__resource.lua index 4afa6080..dc62d8b1 100644 --- a/__resource.lua +++ b/__resource.lua @@ -3,22 +3,22 @@ resource_manifest_version '44febabe-d386-4d18-afbe-5e627f4af937' description 'ESX Police Job' server_scripts { - '@es_extended/locale.lua', - 'locales/br.lua', - 'locales/en.lua', - 'locales/fr.lua', - 'locales/es.lua', - '@mysql-async/lib/MySQL.lua', - 'config.lua', - 'server/main.lua' + '@es_extended/locale.lua', + 'locales/br.lua', + 'locales/en.lua', + 'locales/fr.lua', + 'locales/es.lua', + '@mysql-async/lib/MySQL.lua', + 'config.lua', + 'server/main.lua' } client_scripts { - '@es_extended/locale.lua', - 'locales/br.lua', - 'locales/en.lua', - 'locales/fr.lua', - 'locales/es.lua', - 'config.lua', - 'client/main.lua' + '@es_extended/locale.lua', + 'locales/br.lua', + 'locales/en.lua', + 'locales/fr.lua', + 'locales/es.lua', + 'config.lua', + 'client/main.lua' } diff --git a/client/main.lua b/client/main.lua index eefa2f05..bfadf5e5 100644 --- a/client/main.lua +++ b/client/main.lua @@ -1,19 +1,17 @@ local Keys = { - ["ESC"] = 322, ["F1"] = 288, ["F2"] = 289, ["F3"] = 170, ["F5"] = 166, ["F6"] = 167, ["F7"] = 168, ["F8"] = 169, ["F9"] = 56, ["F10"] = 57, - ["~"] = 243, ["1"] = 157, ["2"] = 158, ["3"] = 160, ["4"] = 164, ["5"] = 165, ["6"] = 159, ["7"] = 161, ["8"] = 162, ["9"] = 163, ["-"] = 84, ["="] = 83, ["BACKSPACE"] = 177, - ["TAB"] = 37, ["Q"] = 44, ["W"] = 32, ["E"] = 38, ["R"] = 45, ["T"] = 245, ["Y"] = 246, ["U"] = 303, ["P"] = 199, ["["] = 39, ["]"] = 40, ["ENTER"] = 18, - ["CAPS"] = 137, ["A"] = 34, ["S"] = 8, ["D"] = 9, ["F"] = 23, ["G"] = 47, ["H"] = 74, ["K"] = 311, ["L"] = 182, - ["LEFTSHIFT"] = 21, ["Z"] = 20, ["X"] = 73, ["C"] = 26, ["V"] = 0, ["B"] = 29, ["N"] = 249, ["M"] = 244, [","] = 82, ["."] = 81, - ["LEFTCTRL"] = 36, ["LEFTALT"] = 19, ["SPACE"] = 22, ["RIGHTCTRL"] = 70, - ["HOME"] = 213, ["PAGEUP"] = 10, ["PAGEDOWN"] = 11, ["DELETE"] = 178, - ["LEFT"] = 174, ["RIGHT"] = 175, ["TOP"] = 27, ["DOWN"] = 173, - ["NENTER"] = 201, ["N4"] = 108, ["N5"] = 60, ["N6"] = 107, ["N+"] = 96, ["N-"] = 97, ["N7"] = 117, ["N8"] = 61, ["N9"] = 118 + ["ESC"] = 322, ["F1"] = 288, ["F2"] = 289, ["F3"] = 170, ["F5"] = 166, ["F6"] = 167, ["F7"] = 168, ["F8"] = 169, ["F9"] = 56, ["F10"] = 57, + ["~"] = 243, ["1"] = 157, ["2"] = 158, ["3"] = 160, ["4"] = 164, ["5"] = 165, ["6"] = 159, ["7"] = 161, ["8"] = 162, ["9"] = 163, ["-"] = 84, ["="] = 83, ["BACKSPACE"] = 177, + ["TAB"] = 37, ["Q"] = 44, ["W"] = 32, ["E"] = 38, ["R"] = 45, ["T"] = 245, ["Y"] = 246, ["U"] = 303, ["P"] = 199, ["["] = 39, ["]"] = 40, ["ENTER"] = 18, + ["CAPS"] = 137, ["A"] = 34, ["S"] = 8, ["D"] = 9, ["F"] = 23, ["G"] = 47, ["H"] = 74, ["K"] = 311, ["L"] = 182, + ["LEFTSHIFT"] = 21, ["Z"] = 20, ["X"] = 73, ["C"] = 26, ["V"] = 0, ["B"] = 29, ["N"] = 249, ["M"] = 244, [","] = 82, ["."] = 81, + ["LEFTCTRL"] = 36, ["LEFTALT"] = 19, ["SPACE"] = 22, ["RIGHTCTRL"] = 70, + ["HOME"] = 213, ["PAGEUP"] = 10, ["PAGEDOWN"] = 11, ["DELETE"] = 178, + ["LEFT"] = 174, ["RIGHT"] = 175, ["TOP"] = 27, ["DOWN"] = 173, + ["NENTER"] = 201, ["N4"] = 108, ["N5"] = 60, ["N6"] = 107, ["N+"] = 96, ["N-"] = 97, ["N7"] = 117, ["N8"] = 61, ["N9"] = 118 } -ESX = nil local PlayerData = {} local GUI = {} -GUI.Time = 0 local HasAlreadyEnteredMarker = false local LastStation = nil local LastPart = nil @@ -23,63 +21,66 @@ local CurrentAction = nil local CurrentActionMsg = '' local CurrentActionData = {} local IsHandcuffed = false -local IsDragged = false -local CopPed = 0 +local IsDragged = false +local CopPed = 0 + +ESX = nil +GUI.Time = 0 Citizen.CreateThread(function() - while ESX == nil do - TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end) - Citizen.Wait(0) - end + while ESX == nil do + TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end) + Citizen.Wait(0) + end end) function SetVehicleMaxMods(vehicle) - local props = { - modEngine = 2, - modBrakes = 2, - modTransmission = 2, - modSuspension = 3, - modTurbo = true, - } + local props = { + modEngine = 2, + modBrakes = 2, + modTransmission = 2, + modSuspension = 3, + modTurbo = true, + } - ESX.Game.SetVehicleProperties(vehicle, props) + ESX.Game.SetVehicleProperties(vehicle, props) end function OpenCloakroomMenu() - local elements = { + local elements = { {label = _U('citizen_wear'), value = 'citizen_wear'}, {label = _U('police_wear'), value = 'police_wear'} - } + } - ESX.UI.Menu.CloseAll() + ESX.UI.Menu.CloseAll() - if Config.EnableNonFreemodePeds then - table.insert(elements, {label = _U('sheriff_wear'), value = 'sheriff_wear'}) - table.insert(elements, {label = _U('lieutenant_wear'), value = 'lieutenant_wear'}) - table.insert(elements, {label = _U('commandant_wear'), value = 'commandant_wear'}) - end + if Config.EnableNonFreemodePeds then + table.insert(elements, {label = _U('sheriff_wear'), value = 'sheriff_wear'}) + table.insert(elements, {label = _U('lieutenant_wear'), value = 'lieutenant_wear'}) + table.insert(elements, {label = _U('commandant_wear'), value = 'commandant_wear'}) + end - ESX.UI.Menu.Open( - 'default', GetCurrentResourceName(), 'cloakroom', - { - title = _U('cloakroom'), - align = 'top-left', - elements = elements, - }, + ESX.UI.Menu.Open( + 'default', GetCurrentResourceName(), 'cloakroom', + { + title = _U('cloakroom'), + align = 'top-left', + elements = elements, + }, - function(data, menu) + function(data, menu) - menu.close() + menu.close() - --Taken from SuperCoolNinja - if data.current.value == 'citizen_wear' then + --Taken from SuperCoolNinja + if data.current.value == 'citizen_wear' then ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin) local model = nil - if skin.sex == 0 then + if skin.sex == 0 then model = GetHashKey("mp_m_freemode_01") else model = GetHashKey("mp_f_freemode_01") @@ -99,1132 +100,1132 @@ function OpenCloakroomMenu() end) end - if data.current.value == 'police_wear' then + if data.current.value == 'police_wear' then - ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin) + ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin) - if skin.sex == 0 then - TriggerEvent('skinchanger:loadClothes', skin, jobSkin.skin_male) - else - TriggerEvent('skinchanger:loadClothes', skin, jobSkin.skin_female) - end + if skin.sex == 0 then + TriggerEvent('skinchanger:loadClothes', skin, jobSkin.skin_male) + else + TriggerEvent('skinchanger:loadClothes', skin, jobSkin.skin_female) + end - end) + end) - end + end - if data.current.value == 'sheriff_wear' then + if data.current.value == 'sheriff_wear' then - ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin) + ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin) - if skin.sex == 0 then + if skin.sex == 0 then - local model = GetHashKey("s_m_y_sheriff_01") + local model = GetHashKey("s_m_y_sheriff_01") - RequestModel(model) - while not HasModelLoaded(model) do - RequestModel(model) - Citizen.Wait(0) - end + RequestModel(model) + while not HasModelLoaded(model) do + RequestModel(model) + Citizen.Wait(0) + end - SetPlayerModel(PlayerId(), model) - SetModelAsNoLongerNeeded(model) - else - local model = GetHashKey("s_f_y_sheriff_01") + SetPlayerModel(PlayerId(), model) + SetModelAsNoLongerNeeded(model) + else + local model = GetHashKey("s_f_y_sheriff_01") - RequestModel(model) - while not HasModelLoaded(model) do - RequestModel(model) - Citizen.Wait(0) - end + RequestModel(model) + while not HasModelLoaded(model) do + RequestModel(model) + Citizen.Wait(0) + end - SetPlayerModel(PlayerId(), model) - SetModelAsNoLongerNeeded(model) - end + SetPlayerModel(PlayerId(), model) + SetModelAsNoLongerNeeded(model) + end - end) - end + end) + end - if data.current.value == 'lieutenant_wear' then + if data.current.value == 'lieutenant_wear' then - ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin) + ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin) - if skin.sex == 0 then - local model = GetHashKey("s_m_y_swat_01") + if skin.sex == 0 then + local model = GetHashKey("s_m_y_swat_01") - RequestModel(model) - while not HasModelLoaded(model) do - RequestModel(model) - Citizen.Wait(0) - end + RequestModel(model) + while not HasModelLoaded(model) do + RequestModel(model) + Citizen.Wait(0) + end - SetPlayerModel(PlayerId(), model) - SetModelAsNoLongerNeeded(model) - else - local model = GetHashKey("s_m_y_swat_01") + SetPlayerModel(PlayerId(), model) + SetModelAsNoLongerNeeded(model) + else + local model = GetHashKey("s_m_y_swat_01") - RequestModel(model) - while not HasModelLoaded(model) do - RequestModel(model) - Citizen.Wait(0) - end + RequestModel(model) + while not HasModelLoaded(model) do + RequestModel(model) + Citizen.Wait(0) + end - SetPlayerModel(PlayerId(), model) - SetModelAsNoLongerNeeded(model) - end + SetPlayerModel(PlayerId(), model) + SetModelAsNoLongerNeeded(model) + end - end) - end + end) + end - if data.current.value == 'commandant_wear' then + if data.current.value == 'commandant_wear' then - ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin) + ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin) - if skin.sex == 0 then - local model = GetHashKey("s_m_y_swat_01") + if skin.sex == 0 then + local model = GetHashKey("s_m_y_swat_01") - RequestModel(model) - while not HasModelLoaded(model) do - RequestModel(model) - Citizen.Wait(0) - end + RequestModel(model) + while not HasModelLoaded(model) do + RequestModel(model) + Citizen.Wait(0) + end - SetPlayerModel(PlayerId(), model) - SetModelAsNoLongerNeeded(model) - else - local model = GetHashKey("s_m_y_swat_01") + SetPlayerModel(PlayerId(), model) + SetModelAsNoLongerNeeded(model) + else + local model = GetHashKey("s_m_y_swat_01") - RequestModel(model) - while not HasModelLoaded(model) do - RequestModel(model) - Citizen.Wait(0) - end + RequestModel(model) + while not HasModelLoaded(model) do + RequestModel(model) + Citizen.Wait(0) + end - SetPlayerModel(PlayerId(), model) - SetModelAsNoLongerNeeded(model) - end + SetPlayerModel(PlayerId(), model) + SetModelAsNoLongerNeeded(model) + end - end) - end + end) + end - CurrentAction = 'menu_cloakroom' - CurrentActionMsg = _U('open_cloackroom') - CurrentActionData = {} + CurrentAction = 'menu_cloakroom' + CurrentActionMsg = _U('open_cloackroom') + CurrentActionData = {} - end, - function(data, menu) + end, + function(data, menu) - menu.close() + menu.close() - CurrentAction = 'menu_cloakroom' - CurrentActionMsg = _U('open_cloackroom') - CurrentActionData = {} - end - ) + CurrentAction = 'menu_cloakroom' + CurrentActionMsg = _U('open_cloackroom') + CurrentActionData = {} + end + ) end function OpenArmoryMenu(station) - if Config.EnableArmoryManagement then + if Config.EnableArmoryManagement then - local elements = { - {label = _U('get_weapon'), value = 'get_weapon'}, - {label = _U('put_weapon'), value = 'put_weapon'}, - {label = 'Prendre Objet', value = 'get_stock'}, - {label = 'Déposer objet', value = 'put_stock'} - } + local elements = { + {label = _U('get_weapon'), value = 'get_weapon'}, + {label = _U('put_weapon'), value = 'put_weapon'}, + {label = 'Prendre Objet', value = 'get_stock'}, + {label = 'Déposer objet', value = 'put_stock'} + } - if PlayerData.job.grade_name == 'boss' then - table.insert(elements, {label = _U('buy_weapons'), value = 'buy_weapons'}) - end + if PlayerData.job.grade_name == 'boss' then + table.insert(elements, {label = _U('buy_weapons'), value = 'buy_weapons'}) + end - ESX.UI.Menu.CloseAll() + ESX.UI.Menu.CloseAll() - ESX.UI.Menu.Open( - 'default', GetCurrentResourceName(), 'armory', - { - title = _U('armory'), - align = 'top-left', - elements = elements, - }, - function(data, menu) + ESX.UI.Menu.Open( + 'default', GetCurrentResourceName(), 'armory', + { + title = _U('armory'), + align = 'top-left', + elements = elements, + }, + function(data, menu) - if data.current.value == 'get_weapon' then - OpenGetWeaponMenu() - end + if data.current.value == 'get_weapon' then + OpenGetWeaponMenu() + end - if data.current.value == 'put_weapon' then - OpenPutWeaponMenu() - end + if data.current.value == 'put_weapon' then + OpenPutWeaponMenu() + end - if data.current.value == 'buy_weapons' then - OpenBuyWeaponsMenu(station) - end + if data.current.value == 'buy_weapons' then + OpenBuyWeaponsMenu(station) + end - if data.current.value == 'put_stock' then - OpenPutStocksMenu() - end + if data.current.value == 'put_stock' then + OpenPutStocksMenu() + end - if data.current.value == 'get_stock' then - OpenGetStocksMenu() - end + if data.current.value == 'get_stock' then + OpenGetStocksMenu() + end - end, - function(data, menu) + end, + function(data, menu) - menu.close() + menu.close() - CurrentAction = 'menu_armory' - CurrentActionMsg = _U('open_armory') - CurrentActionData = {station = station} - end - ) + CurrentAction = 'menu_armory' + CurrentActionMsg = _U('open_armory') + CurrentActionData = {station = station} + end + ) - else + else - local elements = {} + local elements = {} - for i=1, #Config.PoliceStations[station].AuthorizedWeapons, 1 do - local weapon = Config.PoliceStations[station].AuthorizedWeapons[i] - table.insert(elements, {label = ESX.GetWeaponLabel(weapon.name), value = weapon.name}) - end + for i=1, #Config.PoliceStations[station].AuthorizedWeapons, 1 do + local weapon = Config.PoliceStations[station].AuthorizedWeapons[i] + table.insert(elements, {label = ESX.GetWeaponLabel(weapon.name), value = weapon.name}) + end - ESX.UI.Menu.CloseAll() + ESX.UI.Menu.CloseAll() - ESX.UI.Menu.Open( - 'default', GetCurrentResourceName(), 'armory', - { - title = _U('armory'), - align = 'top-left', - elements = elements, - }, - function(data, menu) - local weapon = data.current.value - TriggerServerEvent('esx_policejob:giveWeapon', weapon, 1000) - end, - function(data, menu) + ESX.UI.Menu.Open( + 'default', GetCurrentResourceName(), 'armory', + { + title = _U('armory'), + align = 'top-left', + elements = elements, + }, + function(data, menu) + local weapon = data.current.value + TriggerServerEvent('esx_policejob:giveWeapon', weapon, 1000) + end, + function(data, menu) - menu.close() + menu.close() - CurrentAction = 'menu_armory' - CurrentActionMsg = _U('open_armory') - CurrentActionData = {station = station} + CurrentAction = 'menu_armory' + CurrentActionMsg = _U('open_armory') + CurrentActionData = {station = station} - end - ) + end + ) - end + end end function OpenVehicleSpawnerMenu(station, partNum) - local vehicles = Config.PoliceStations[station].Vehicles + local vehicles = Config.PoliceStations[station].Vehicles - ESX.UI.Menu.CloseAll() + ESX.UI.Menu.CloseAll() - if Config.EnableSocietyOwnedVehicles then + if Config.EnableSocietyOwnedVehicles then - local elements = {} + local elements = {} - ESX.TriggerServerCallback('esx_society:getVehiclesInGarage', function(garageVehicles) + ESX.TriggerServerCallback('esx_society:getVehiclesInGarage', function(garageVehicles) - for i=1, #garageVehicles, 1 do - table.insert(elements, {label = GetDisplayNameFromVehicleModel(garageVehicles[i].model) .. ' [' .. garageVehicles[i].plate .. ']', value = garageVehicles[i]}) - end + for i=1, #garageVehicles, 1 do + table.insert(elements, {label = GetDisplayNameFromVehicleModel(garageVehicles[i].model) .. ' [' .. garageVehicles[i].plate .. ']', value = garageVehicles[i]}) + end - ESX.UI.Menu.Open( - 'default', GetCurrentResourceName(), 'vehicle_spawner', - { - title = _U('vehicle_menu'), - align = 'top-left', - elements = elements, - }, - function(data, menu) + ESX.UI.Menu.Open( + 'default', GetCurrentResourceName(), 'vehicle_spawner', + { + title = _U('vehicle_menu'), + align = 'top-left', + elements = elements, + }, + function(data, menu) - menu.close() + menu.close() - local vehicleProps = data.current.value + local vehicleProps = data.current.value - ESX.Game.SpawnVehicle(vehicleProps.model, vehicles[partNum].SpawnPoint, 270.0, function(vehicle) - ESX.Game.SetVehicleProperties(vehicle, vehicleProps) - local playerPed = GetPlayerPed(-1) - TaskWarpPedIntoVehicle(playerPed, vehicle, -1) - end) + ESX.Game.SpawnVehicle(vehicleProps.model, vehicles[partNum].SpawnPoint, 270.0, function(vehicle) + ESX.Game.SetVehicleProperties(vehicle, vehicleProps) + local playerPed = GetPlayerPed(-1) + TaskWarpPedIntoVehicle(playerPed, vehicle, -1) + end) - TriggerServerEvent('esx_society:removeVehicleFromGarage', 'police', vehicleProps) + TriggerServerEvent('esx_society:removeVehicleFromGarage', 'police', vehicleProps) - end, - function(data, menu) + end, + function(data, menu) - menu.close() + menu.close() - CurrentAction = 'menu_vehicle_spawner' - CurrentActionMsg = _U('vehicle_spawner') - CurrentActionData = {station = station, partNum = partNum} + CurrentAction = 'menu_vehicle_spawner' + CurrentActionMsg = _U('vehicle_spawner') + CurrentActionData = {station = station, partNum = partNum} - end - ) + end + ) - end, 'police') + end, 'police') - else + else - local elements = {} + local elements = {} - for i=1, #Config.PoliceStations[station].AuthorizedVehicles, 1 do - local vehicle = Config.PoliceStations[station].AuthorizedVehicles[i] - table.insert(elements, {label = vehicle.label, value = vehicle.name}) - end + for i=1, #Config.PoliceStations[station].AuthorizedVehicles, 1 do + local vehicle = Config.PoliceStations[station].AuthorizedVehicles[i] + table.insert(elements, {label = vehicle.label, value = vehicle.name}) + end - ESX.UI.Menu.Open( - 'default', GetCurrentResourceName(), 'vehicle_spawner', - { - title = _U('vehicle_menu'), - align = 'top-left', - elements = elements, - }, - function(data, menu) + ESX.UI.Menu.Open( + 'default', GetCurrentResourceName(), 'vehicle_spawner', + { + title = _U('vehicle_menu'), + align = 'top-left', + elements = elements, + }, + function(data, menu) - menu.close() + menu.close() - local model = data.current.value + local model = data.current.value - local vehicle = GetClosestVehicle(vehicles[partNum].SpawnPoint.x, vehicles[partNum].SpawnPoint.y, vehicles[partNum].SpawnPoint.z, 3.0, 0, 71) + local vehicle = GetClosestVehicle(vehicles[partNum].SpawnPoint.x, vehicles[partNum].SpawnPoint.y, vehicles[partNum].SpawnPoint.z, 3.0, 0, 71) - if not DoesEntityExist(vehicle) then + if not DoesEntityExist(vehicle) then - local playerPed = GetPlayerPed(-1) + local playerPed = GetPlayerPed(-1) - if Config.MaxInService == -1 then + if Config.MaxInService == -1 then - ESX.Game.SpawnVehicle(model, { - x = vehicles[partNum].SpawnPoint.x, - y = vehicles[partNum].SpawnPoint.y, - z = vehicles[partNum].SpawnPoint.z - }, vehicles[partNum].Heading, function(vehicle) - TaskWarpPedIntoVehicle(playerPed, vehicle, -1) - SetVehicleMaxMods(vehicle) - end) + ESX.Game.SpawnVehicle(model, { + x = vehicles[partNum].SpawnPoint.x, + y = vehicles[partNum].SpawnPoint.y, + z = vehicles[partNum].SpawnPoint.z + }, vehicles[partNum].Heading, function(vehicle) + TaskWarpPedIntoVehicle(playerPed, vehicle, -1) + SetVehicleMaxMods(vehicle) + end) - else + else - ESX.TriggerServerCallback('esx_service:enableService', function(canTakeService, maxInService, inServiceCount) + ESX.TriggerServerCallback('esx_service:enableService', function(canTakeService, maxInService, inServiceCount) - if canTakeService then + if canTakeService then - ESX.Game.SpawnVehicle(model, { - x = vehicles[partNum].SpawnPoint.x, - y = vehicles[partNum].SpawnPoint.y, - z = vehicles[partNum].SpawnPoint.z - }, vehicles[partNum].Heading, function(vehicle) - TaskWarpPedIntoVehicle(playerPed, vehicle, -1) - SetVehicleMaxMods(vehicle) - end) + ESX.Game.SpawnVehicle(model, { + x = vehicles[partNum].SpawnPoint.x, + y = vehicles[partNum].SpawnPoint.y, + z = vehicles[partNum].SpawnPoint.z + }, vehicles[partNum].Heading, function(vehicle) + TaskWarpPedIntoVehicle(playerPed, vehicle, -1) + SetVehicleMaxMods(vehicle) + end) - else - ESX.ShowNotification(_U('service_max') .. inServiceCount .. '/' .. maxInService) - end + else + ESX.ShowNotification(_U('service_max') .. inServiceCount .. '/' .. maxInService) + end - end, 'police') + end, 'police') - end + end - else - ESX.ShowNotification(_U('vehicle_out')) - end + else + ESX.ShowNotification(_U('vehicle_out')) + end - end, - function(data, menu) + end, + function(data, menu) - menu.close() + menu.close() - CurrentAction = 'menu_vehicle_spawner' - CurrentActionMsg = _U('vehicle_spawner') - CurrentActionData = {station = station, partNum = partNum} + CurrentAction = 'menu_vehicle_spawner' + CurrentActionMsg = _U('vehicle_spawner') + CurrentActionData = {station = station, partNum = partNum} - end - ) + end + ) - end + end end function OpenPoliceActionsMenu() - ESX.UI.Menu.CloseAll() + ESX.UI.Menu.CloseAll() - ESX.UI.Menu.Open( - 'default', GetCurrentResourceName(), 'police_actions', - { - title = 'Police', - align = 'top-left', - elements = { - {label = _U('citizen_interaction'), value = 'citizen_interaction'}, - {label = _U('vehicle_interaction'), value = 'vehicle_interaction'}, - {label = _U('object_spawner'), value = 'object_spawner'}, - }, - }, - function(data, menu) + ESX.UI.Menu.Open( + 'default', GetCurrentResourceName(), 'police_actions', + { + title = 'Police', + align = 'top-left', + elements = { + {label = _U('citizen_interaction'), value = 'citizen_interaction'}, + {label = _U('vehicle_interaction'), value = 'vehicle_interaction'}, + {label = _U('object_spawner'), value = 'object_spawner'}, + }, + }, + function(data, menu) - if data.current.value == 'citizen_interaction' then + if data.current.value == 'citizen_interaction' then - ESX.UI.Menu.Open( - 'default', GetCurrentResourceName(), 'citizen_interaction', - { - title = _U('citizen_interaction'), - align = 'top-left', - elements = { - {label = _U('id_card'), value = 'identity_card'}, - {label = _U('search'), value = 'body_search'}, - {label = _U('handcuff'), value = 'handcuff'}, - {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'} - }, - }, - function(data2, menu2) + ESX.UI.Menu.Open( + 'default', GetCurrentResourceName(), 'citizen_interaction', + { + title = _U('citizen_interaction'), + align = 'top-left', + elements = { + {label = _U('id_card'), value = 'identity_card'}, + {label = _U('search'), value = 'body_search'}, + {label = _U('handcuff'), value = 'handcuff'}, + {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'} + }, + }, + function(data2, menu2) - local player, distance = ESX.Game.GetClosestPlayer() + local player, distance = ESX.Game.GetClosestPlayer() - if distance ~= -1 and distance <= 3.0 then + if distance ~= -1 and distance <= 3.0 then - if data2.current.value == 'identity_card' then - OpenIdentityCardMenu(player) - end + if data2.current.value == 'identity_card' then + OpenIdentityCardMenu(player) + end - if data2.current.value == 'body_search' then - OpenBodySearchMenu(player) - end + if data2.current.value == 'body_search' then + OpenBodySearchMenu(player) + end - if data2.current.value == 'handcuff' then - TriggerServerEvent('esx_policejob:handcuff', GetPlayerServerId(player)) - end + if data2.current.value == 'handcuff' then + TriggerServerEvent('esx_policejob:handcuff', GetPlayerServerId(player)) + end - if data2.current.value == 'drag' then - TriggerServerEvent('esx_policejob:drag', GetPlayerServerId(player)) - end + if data2.current.value == 'drag' then + TriggerServerEvent('esx_policejob:drag', GetPlayerServerId(player)) + end - if data2.current.value == 'put_in_vehicle' then - TriggerServerEvent('esx_policejob:putInVehicle', GetPlayerServerId(player)) - end + if data2.current.value == 'put_in_vehicle' then + TriggerServerEvent('esx_policejob:putInVehicle', GetPlayerServerId(player)) + end - if data2.current.value == 'out_the_vehicle' then - TriggerServerEvent('esx_policejob:OutVehicle', GetPlayerServerId(player)) - end + if data2.current.value == 'out_the_vehicle' then + TriggerServerEvent('esx_policejob:OutVehicle', GetPlayerServerId(player)) + end - if data2.current.value == 'fine' then - OpenFineMenu(player) - end + if data2.current.value == 'fine' then + OpenFineMenu(player) + end - else - ESX.ShowNotification(_U('no_players_nearby')) - end + else + ESX.ShowNotification(_U('no_players_nearby')) + end - end, - function(data2, menu2) - menu2.close() - end - ) + end, + function(data2, menu2) + menu2.close() + end + ) - end + end - if data.current.value == 'vehicle_interaction' then + if data.current.value == 'vehicle_interaction' then - ESX.UI.Menu.Open( - 'default', GetCurrentResourceName(), 'vehicle_interaction', - { - title = _U('vehicle_interaction'), - align = 'top-left', - elements = { - {label = _U('vehicle_info'), value = 'vehicle_infos'}, - {label = _U('pick_lock'), value = 'hijack_vehicle'}, - }, - }, - function(data2, menu2) + ESX.UI.Menu.Open( + 'default', GetCurrentResourceName(), 'vehicle_interaction', + { + title = _U('vehicle_interaction'), + align = 'top-left', + elements = { + {label = _U('vehicle_info'), value = 'vehicle_infos'}, + {label = _U('pick_lock'), value = 'hijack_vehicle'}, + }, + }, + function(data2, menu2) - local playerPed = GetPlayerPed(-1) - local coords = GetEntityCoords(playerPed) - local vehicle = GetClosestVehicle(coords.x, coords.y, coords.z, 3.0, 0, 71) + local playerPed = GetPlayerPed(-1) + local coords = GetEntityCoords(playerPed) + local vehicle = GetClosestVehicle(coords.x, coords.y, coords.z, 3.0, 0, 71) - if DoesEntityExist(vehicle) then + if DoesEntityExist(vehicle) then - local vehicleData = ESX.Game.GetVehicleProperties(vehicle) + local vehicleData = ESX.Game.GetVehicleProperties(vehicle) - if data2.current.value == 'vehicle_infos' then - OpenVehicleInfosMenu(vehicleData) - end + if data2.current.value == 'vehicle_infos' then + OpenVehicleInfosMenu(vehicleData) + end - if data2.current.value == 'hijack_vehicle' then + if data2.current.value == 'hijack_vehicle' then - local playerPed = GetPlayerPed(-1) - local coords = GetEntityCoords(playerPed) + local playerPed = GetPlayerPed(-1) + local coords = GetEntityCoords(playerPed) - if IsAnyVehicleNearPoint(coords.x, coords.y, coords.z, 3.0) then + if IsAnyVehicleNearPoint(coords.x, coords.y, coords.z, 3.0) then - local vehicle = GetClosestVehicle(coords.x, coords.y, coords.z, 3.0, 0, 71) + local vehicle = GetClosestVehicle(coords.x, coords.y, coords.z, 3.0, 0, 71) - if DoesEntityExist(vehicle) then + if DoesEntityExist(vehicle) then - Citizen.CreateThread(function() + Citizen.CreateThread(function() - TaskStartScenarioInPlace(playerPed, "WORLD_HUMAN_WELDING", 0, true) + TaskStartScenarioInPlace(playerPed, "WORLD_HUMAN_WELDING", 0, true) - Wait(20000) + Wait(20000) - ClearPedTasksImmediately(playerPed) + ClearPedTasksImmediately(playerPed) - SetVehicleDoorsLocked(vehicle, 1) - SetVehicleDoorsLockedForAllPlayers(vehicle, false) + SetVehicleDoorsLocked(vehicle, 1) + SetVehicleDoorsLockedForAllPlayers(vehicle, false) - TriggerEvent('esx:showNotification', _U('vehicle_unlocked')) + TriggerEvent('esx:showNotification', _U('vehicle_unlocked')) - end) + end) - end + end - end + end - end + end - else - ESX.ShowNotification(_U('no_vehicles_nearby')) - end + else + ESX.ShowNotification(_U('no_vehicles_nearby')) + end - end, - function(data2, menu2) - menu2.close() - end - ) + end, + function(data2, menu2) + menu2.close() + end + ) - end + end - if data.current.value == 'object_spawner' then + if data.current.value == 'object_spawner' then - ESX.UI.Menu.Open( - 'default', GetCurrentResourceName(), 'citizen_interaction', - { - title = _U('traffic_interaction'), - align = 'top-left', - elements = { - {label = _U('cone'), value = 'prop_roadcone02a'}, - {label = _U('barrier'), value = 'prop_barrier_work06a'}, - {label = _U('spikestrips'), value = 'p_ld_stinger_s'}, - {label = _U('box'), value = 'prop_boxpile_07d'}, - {label = _U('cash'), value = 'hei_prop_cash_crate_half_full'} - }, - }, - function(data2, menu2) + ESX.UI.Menu.Open( + 'default', GetCurrentResourceName(), 'citizen_interaction', + { + title = _U('traffic_interaction'), + align = 'top-left', + elements = { + {label = _U('cone'), value = 'prop_roadcone02a'}, + {label = _U('barrier'), value = 'prop_barrier_work06a'}, + {label = _U('spikestrips'), value = 'p_ld_stinger_s'}, + {label = _U('box'), value = 'prop_boxpile_07d'}, + {label = _U('cash'), value = 'hei_prop_cash_crate_half_full'} + }, + }, + function(data2, menu2) - local model = data2.current.value - local playerPed = GetPlayerPed(-1) - local coords = GetEntityCoords(playerPed) - local forward = GetEntityForwardVector(playerPed) - local x, y, z = table.unpack(coords + forward * 1.0) + local model = data2.current.value + local playerPed = GetPlayerPed(-1) + local coords = GetEntityCoords(playerPed) + local forward = GetEntityForwardVector(playerPed) + local x, y, z = table.unpack(coords + forward * 1.0) - if model == 'prop_roadcone02a' then - z = z - 2.0 - end + if model == 'prop_roadcone02a' then + z = z - 2.0 + end - ESX.Game.SpawnObject(model, { - x = x, - y = y, - z = z - }, function(obj) - SetEntityHeading(obj, GetEntityHeading(playerPed)) - PlaceObjectOnGroundProperly(obj) - end) + ESX.Game.SpawnObject(model, { + x = x, + y = y, + z = z + }, function(obj) + SetEntityHeading(obj, GetEntityHeading(playerPed)) + PlaceObjectOnGroundProperly(obj) + end) - end, - function(data2, menu2) - menu2.close() - end - ) + end, + function(data2, menu2) + menu2.close() + end + ) - end + end - end, - function(data, menu) + end, + function(data, menu) - menu.close() + menu.close() - end - ) + end + ) end function OpenIdentityCardMenu(player) - if Config.EnableESXIdentity then + 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 + local jobLabel = nil + local sexLabel = nil + local sex = nil + local dobLabel = nil + local heightLabel = nil + local idLabel = nil - 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.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.drunk ~= nil then - table.insert(elements, {label = _U('bac') .. data.drunk .. '%', value = nil}) - 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.licenses ~= nil then + if data.dob ~= nil then + dobLabel = 'DOB : ' .. data.dob + else + dobLabel = 'DOB : Unknown' + end - table.insert(elements, {label = '--- Licenses ---', value = nil}) + if data.height ~= nil then + heightLabel = 'Height : ' .. data.height + else + heightLabel = 'Height : Unknown' + end - for i=1, #data.licenses, 1 do - table.insert(elements, {label = data.licenses[i].label, value = nil}) - end + if data.name ~= nil then + idLabel = 'ID : ' .. data.name + else + idLabel = 'ID : Unknown' + end - 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}, + } - ESX.UI.Menu.Open( - 'default', GetCurrentResourceName(), 'citizen_interaction', - { - title = _U('citizen_interaction'), - align = 'top-left', - elements = elements, - }, - function(data, menu) + if data.drunk ~= nil then + table.insert(elements, {label = _U('bac') .. data.drunk .. '%', value = nil}) + end - end, - function(data, menu) - menu.close() - end - ) + if data.licenses ~= nil then - end, GetPlayerServerId(player)) + table.insert(elements, {label = '--- Licenses ---', value = nil}) - else + for i=1, #data.licenses, 1 do + table.insert(elements, {label = data.licenses[i].label, value = nil}) + end - ESX.TriggerServerCallback('esx_policejob:getOtherPlayerData', function(data) + end - local jobLabel = nil + ESX.UI.Menu.Open( + 'default', GetCurrentResourceName(), 'citizen_interaction', + { + title = _U('citizen_interaction'), + align = 'top-left', + elements = elements, + }, + function(data, menu) - 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 + end, + function(data, menu) + menu.close() + end + ) - local elements = { - {label = _U('name') .. data.name, value = nil}, - {label = jobLabel, value = nil}, - } + end, GetPlayerServerId(player)) - if data.drunk ~= nil then - table.insert(elements, {label = _U('bac') .. data.drunk .. '%', value = nil}) - end + else - if data.licenses ~= nil then + ESX.TriggerServerCallback('esx_policejob:getOtherPlayerData', function(data) - table.insert(elements, {label = '--- Licenses ---', value = nil}) + local jobLabel = nil - for i=1, #data.licenses, 1 do - table.insert(elements, {label = data.licenses[i].label, value = nil}) - end + 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 - end + local elements = { + {label = _U('name') .. data.name, value = nil}, + {label = jobLabel, value = nil}, + } - ESX.UI.Menu.Open( - 'default', GetCurrentResourceName(), 'citizen_interaction', - { - title = _U('citizen_interaction'), - align = 'top-left', - elements = elements, - }, - function(data, menu) + if data.drunk ~= nil then + table.insert(elements, {label = _U('bac') .. data.drunk .. '%', value = nil}) + end - end, - function(data, menu) - menu.close() - end - ) + if data.licenses ~= nil then - end, GetPlayerServerId(player)) + table.insert(elements, {label = '--- Licenses ---', value = nil}) - end + 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 end function OpenBodySearchMenu(player) - ESX.TriggerServerCallback('esx_policejob:getOtherPlayerData', function(data) + ESX.TriggerServerCallback('esx_policejob:getOtherPlayerData', function(data) - local elements = {} + local elements = {} - local blackMoney = 0 + local blackMoney = 0 - for i=1, #data.accounts, 1 do - if data.accounts[i].name == 'black_money' then - blackMoney = data.accounts[i].money - end - end + for i=1, #data.accounts, 1 do + if data.accounts[i].name == 'black_money' then + blackMoney = data.accounts[i].money + end + end - table.insert(elements, { - label = _U('confiscate_dirty') .. blackMoney, - value = 'black_money', - itemType = 'item_account', - amount = blackMoney - }) + table.insert(elements, { + label = _U('confiscate_dirty') .. blackMoney, + value = 'black_money', + itemType = 'item_account', + amount = blackMoney + }) - table.insert(elements, {label = '--- Armes ---', value = nil}) + table.insert(elements, {label = '--- Armes ---', value = nil}) - for i=1, #data.weapons, 1 do - table.insert(elements, { - label = _U('confiscate') .. ESX.GetWeaponLabel(data.weapons[i].name), - value = data.weapons[i].name, - itemType = 'item_weapon', - amount = data.ammo, - }) - end + for i=1, #data.weapons, 1 do + table.insert(elements, { + label = _U('confiscate') .. ESX.GetWeaponLabel(data.weapons[i].name), + value = data.weapons[i].name, + itemType = 'item_weapon', + amount = data.ammo, + }) + end - table.insert(elements, {label = _U('inventory_label'), value = nil}) + table.insert(elements, {label = _U('inventory_label'), value = nil}) - for i=1, #data.inventory, 1 do - if data.inventory[i].count > 0 then - table.insert(elements, { - label = _U('confiscate_inv') .. data.inventory[i].count .. ' ' .. data.inventory[i].label, - value = data.inventory[i].name, - itemType = 'item_standard', - amount = data.inventory[i].count, - }) - end - end + for i=1, #data.inventory, 1 do + if data.inventory[i].count > 0 then + table.insert(elements, { + label = _U('confiscate_inv') .. data.inventory[i].count .. ' ' .. data.inventory[i].label, + value = data.inventory[i].name, + itemType = 'item_standard', + amount = data.inventory[i].count, + }) + end + end - ESX.UI.Menu.Open( - 'default', GetCurrentResourceName(), 'body_search', - { - title = _U('search'), - align = 'top-left', - elements = elements, - }, - function(data, menu) + ESX.UI.Menu.Open( + 'default', GetCurrentResourceName(), 'body_search', + { + title = _U('search'), + align = 'top-left', + elements = elements, + }, + function(data, menu) - local itemType = data.current.itemType - local itemName = data.current.value - local amount = data.current.amount + local itemType = data.current.itemType + local itemName = data.current.value + local amount = data.current.amount - if data.current.value ~= nil then + if data.current.value ~= nil then - TriggerServerEvent('esx_policejob:confiscatePlayerItem', GetPlayerServerId(player), itemType, itemName, amount) + TriggerServerEvent('esx_policejob:confiscatePlayerItem', GetPlayerServerId(player), itemType, itemName, amount) - OpenBodySearchMenu(player) + OpenBodySearchMenu(player) - end + end - end, - function(data, menu) - menu.close() - end - ) + end, + function(data, menu) + menu.close() + end + ) - end, GetPlayerServerId(player)) + end, GetPlayerServerId(player)) end function OpenFineMenu(player) - ESX.UI.Menu.Open( - 'default', GetCurrentResourceName(), 'fine', - { - title = _U('fine'), - align = 'top-left', - elements = { - {label = _U('traffic_offense'), value = 0}, - {label = _U('minor_offense'), value = 1}, - {label = _U('average_offense'), value = 2}, - {label = _U('major_offense'), value = 3} - }, - }, - function(data, menu) + ESX.UI.Menu.Open( + 'default', GetCurrentResourceName(), 'fine', + { + title = _U('fine'), + align = 'top-left', + elements = { + {label = _U('traffic_offense'), value = 0}, + {label = _U('minor_offense'), value = 1}, + {label = _U('average_offense'), value = 2}, + {label = _U('major_offense'), value = 3} + }, + }, + function(data, menu) - OpenFineCategoryMenu(player, data.current.value) + OpenFineCategoryMenu(player, data.current.value) - end, - function(data, menu) - menu.close() - end - ) + end, + function(data, menu) + menu.close() + end + ) end function OpenFineCategoryMenu(player, category) - ESX.TriggerServerCallback('esx_policejob:getFineList', function(fines) + ESX.TriggerServerCallback('esx_policejob:getFineList', function(fines) - local elements = {} + local elements = {} - for i=1, #fines, 1 do - table.insert(elements, { - label = fines[i].label .. ' $' .. fines[i].amount, - value = fines[i].id, - amount = fines[i].amount, - fineLabel = fines[i].label - }) - end + for i=1, #fines, 1 do + table.insert(elements, { + label = fines[i].label .. ' $' .. fines[i].amount, + value = fines[i].id, + amount = fines[i].amount, + fineLabel = fines[i].label + }) + end - ESX.UI.Menu.Open( - 'default', GetCurrentResourceName(), 'fine_category', - { - title = _U('fine'), - align = 'top-left', - elements = elements, - }, - function(data, menu) + ESX.UI.Menu.Open( + 'default', GetCurrentResourceName(), 'fine_category', + { + title = _U('fine'), + align = 'top-left', + elements = elements, + }, + function(data, menu) - local label = data.current.fineLabel - local amount = data.current.amount + local label = data.current.fineLabel + local amount = data.current.amount - menu.close() + menu.close() - if Config.EnablePlayerManagement then - TriggerServerEvent('esx_billing:sendBill', GetPlayerServerId(player), 'society_police', _U('fine_total') .. label, amount) - else - TriggerServerEvent('esx_billing:sendBill', GetPlayerServerId(player), '', _U('fine_total') .. label, amount) - end + if Config.EnablePlayerManagement then + TriggerServerEvent('esx_billing:sendBill', GetPlayerServerId(player), 'society_police', _U('fine_total') .. label, amount) + else + TriggerServerEvent('esx_billing:sendBill', GetPlayerServerId(player), '', _U('fine_total') .. label, amount) + end - ESX.SetTimeout(300, function() - OpenFineCategoryMenu(player, category) - end) + ESX.SetTimeout(300, function() + OpenFineCategoryMenu(player, category) + end) - end, - function(data, menu) - menu.close() - end - ) + end, + function(data, menu) + menu.close() + end + ) - end, category) + end, category) end function OpenVehicleInfosMenu(vehicleData) - ESX.TriggerServerCallback('esx_policejob:getVehicleInfos', function(infos) + ESX.TriggerServerCallback('esx_policejob:getVehicleInfos', function(infos) - local elements = {} + local elements = {} - table.insert(elements, {label = _U('plate') .. infos.plate, value = nil}) + table.insert(elements, {label = _U('plate') .. infos.plate, value = nil}) - if infos.owner == nil then - table.insert(elements, {label = _U('owner_unknown'), value = nil}) - else - table.insert(elements, {label = _U('owner') .. infos.owner, value = nil}) - end + if infos.owner == nil then + table.insert(elements, {label = _U('owner_unknown'), value = nil}) + else + table.insert(elements, {label = _U('owner') .. infos.owner, value = nil}) + end - ESX.UI.Menu.Open( - 'default', GetCurrentResourceName(), 'vehicle_infos', - { - title = _U('vehicle_info'), - align = 'top-left', - elements = elements, - }, - nil, - function(data, menu) - menu.close() - end - ) + ESX.UI.Menu.Open( + 'default', GetCurrentResourceName(), 'vehicle_infos', + { + title = _U('vehicle_info'), + align = 'top-left', + elements = elements, + }, + nil, + function(data, menu) + menu.close() + end + ) - end, vehicleData.plate) + end, vehicleData.plate) end function OpenGetWeaponMenu() - ESX.TriggerServerCallback('esx_policejob:getArmoryWeapons', function(weapons) + ESX.TriggerServerCallback('esx_policejob:getArmoryWeapons', function(weapons) - local elements = {} + local elements = {} - for i=1, #weapons, 1 do - if weapons[i].count > 0 then - table.insert(elements, {label = 'x' .. weapons[i].count .. ' ' .. ESX.GetWeaponLabel(weapons[i].name), value = weapons[i].name}) - end - end + for i=1, #weapons, 1 do + if weapons[i].count > 0 then + table.insert(elements, {label = 'x' .. weapons[i].count .. ' ' .. ESX.GetWeaponLabel(weapons[i].name), value = weapons[i].name}) + end + end - ESX.UI.Menu.Open( - 'default', GetCurrentResourceName(), 'armory_get_weapon', - { - title = _U('get_weapon_menu'), - align = 'top-left', - elements = elements, - }, - function(data, menu) + ESX.UI.Menu.Open( + 'default', GetCurrentResourceName(), 'armory_get_weapon', + { + title = _U('get_weapon_menu'), + align = 'top-left', + elements = elements, + }, + function(data, menu) - menu.close() + menu.close() - ESX.TriggerServerCallback('esx_policejob:removeArmoryWeapon', function() - OpenGetWeaponMenu() - end, data.current.value) + ESX.TriggerServerCallback('esx_policejob:removeArmoryWeapon', function() + OpenGetWeaponMenu() + end, data.current.value) - end, - function(data, menu) - menu.close() - end - ) + end, + function(data, menu) + menu.close() + end + ) - end) + end) end function OpenPutWeaponMenu() - local elements = {} - local playerPed = GetPlayerPed(-1) - local weaponList = ESX.GetWeaponList() + local elements = {} + local playerPed = GetPlayerPed(-1) + local weaponList = ESX.GetWeaponList() - for i=1, #weaponList, 1 do + for i=1, #weaponList, 1 do - local weaponHash = GetHashKey(weaponList[i].name) + local weaponHash = GetHashKey(weaponList[i].name) - if HasPedGotWeapon(playerPed, weaponHash, false) and weaponList[i].name ~= 'WEAPON_UNARMED' then - local ammo = GetAmmoInPedWeapon(playerPed, weaponHash) - table.insert(elements, {label = weaponList[i].label, value = weaponList[i].name}) - end + if HasPedGotWeapon(playerPed, weaponHash, false) and weaponList[i].name ~= 'WEAPON_UNARMED' then + local ammo = GetAmmoInPedWeapon(playerPed, weaponHash) + table.insert(elements, {label = weaponList[i].label, value = weaponList[i].name}) + end - end + end - ESX.UI.Menu.Open( - 'default', GetCurrentResourceName(), 'armory_put_weapon', - { - title = _U('put_weapon_menu'), - align = 'top-left', - elements = elements, - }, - function(data, menu) + ESX.UI.Menu.Open( + 'default', GetCurrentResourceName(), 'armory_put_weapon', + { + title = _U('put_weapon_menu'), + align = 'top-left', + elements = elements, + }, + function(data, menu) - menu.close() + menu.close() - ESX.TriggerServerCallback('esx_policejob:addArmoryWeapon', function() - OpenPutWeaponMenu() - end, data.current.value) + ESX.TriggerServerCallback('esx_policejob:addArmoryWeapon', function() + OpenPutWeaponMenu() + end, data.current.value) - end, - function(data, menu) - menu.close() - end - ) + end, + function(data, menu) + menu.close() + end + ) end function OpenBuyWeaponsMenu(station) - ESX.TriggerServerCallback('esx_policejob:getArmoryWeapons', function(weapons) + ESX.TriggerServerCallback('esx_policejob:getArmoryWeapons', function(weapons) - local elements = {} + local elements = {} - for i=1, #Config.PoliceStations[station].AuthorizedWeapons, 1 do + for i=1, #Config.PoliceStations[station].AuthorizedWeapons, 1 do - local weapon = Config.PoliceStations[station].AuthorizedWeapons[i] - local count = 0 + local weapon = Config.PoliceStations[station].AuthorizedWeapons[i] + local count = 0 - for i=1, #weapons, 1 do - if weapons[i].name == weapon.name then - count = weapons[i].count - break - end - end + for i=1, #weapons, 1 do + if weapons[i].name == weapon.name then + count = weapons[i].count + break + end + end - table.insert(elements, {label = 'x' .. count .. ' ' .. ESX.GetWeaponLabel(weapon.name) .. ' $' .. weapon.price, value = weapon.name, price = weapon.price}) + table.insert(elements, {label = 'x' .. count .. ' ' .. ESX.GetWeaponLabel(weapon.name) .. ' $' .. weapon.price, value = weapon.name, price = weapon.price}) - end + end - ESX.UI.Menu.Open( - 'default', GetCurrentResourceName(), 'armory_buy_weapons', - { - title = _U('buy_weapon_menu'), - align = 'top-left', - elements = elements, - }, - function(data, menu) + ESX.UI.Menu.Open( + 'default', GetCurrentResourceName(), 'armory_buy_weapons', + { + title = _U('buy_weapon_menu'), + align = 'top-left', + elements = elements, + }, + function(data, menu) - ESX.TriggerServerCallback('esx_policejob:buy', function(hasEnoughMoney) + ESX.TriggerServerCallback('esx_policejob:buy', function(hasEnoughMoney) - if hasEnoughMoney then - ESX.TriggerServerCallback('esx_policejob:addArmoryWeapon', function() - OpenBuyWeaponsMenu(station) - end, data.current.value) - else - ESX.ShowNotification(_U('not_enough_money')) - end + if hasEnoughMoney then + ESX.TriggerServerCallback('esx_policejob:addArmoryWeapon', function() + OpenBuyWeaponsMenu(station) + end, data.current.value) + else + ESX.ShowNotification(_U('not_enough_money')) + end - end, data.current.price) + end, data.current.price) - end, - function(data, menu) - menu.close() - end - ) + end, + function(data, menu) + menu.close() + end + ) - end) + end) end function OpenGetStocksMenu() - ESX.TriggerServerCallback('esx_policejob:getStockItems', function(items) + ESX.TriggerServerCallback('esx_policejob:getStockItems', function(items) - print(json.encode(items)) + print(json.encode(items)) - local elements = {} + local elements = {} - for i=1, #items, 1 do - table.insert(elements, {label = 'x' .. items[i].count .. ' ' .. items[i].label, value = items[i].name}) - end + for i=1, #items, 1 do + table.insert(elements, {label = 'x' .. items[i].count .. ' ' .. items[i].label, value = items[i].name}) + end - ESX.UI.Menu.Open( - 'default', GetCurrentResourceName(), 'stocks_menu', - { - title = _U('police_stock'), - elements = elements - }, - function(data, menu) + ESX.UI.Menu.Open( + 'default', GetCurrentResourceName(), 'stocks_menu', + { + title = _U('police_stock'), + elements = elements + }, + function(data, menu) - local itemName = data.current.value + local itemName = data.current.value - ESX.UI.Menu.Open( - 'dialog', GetCurrentResourceName(), 'stocks_menu_get_item_count', - { - title = _U('quantity') - }, - function(data2, menu2) + ESX.UI.Menu.Open( + 'dialog', GetCurrentResourceName(), 'stocks_menu_get_item_count', + { + title = _U('quantity') + }, + function(data2, menu2) - local count = tonumber(data2.value) + local count = tonumber(data2.value) - if count == nil then - ESX.ShowNotification(_U('quantity_invalid')) - else - menu2.close() - menu.close() - OpenGetStocksMenu() + if count == nil then + ESX.ShowNotification(_U('quantity_invalid')) + else + menu2.close() + menu.close() + OpenGetStocksMenu() - TriggerServerEvent('esx_policejob:getStockItem', itemName, count) - end + TriggerServerEvent('esx_policejob:getStockItem', itemName, count) + end - end, - function(data2, menu2) - menu2.close() - end - ) + end, + function(data2, menu2) + menu2.close() + end + ) - end, - function(data, menu) - menu.close() - end - ) + end, + function(data, menu) + menu.close() + end + ) - end) + end) end function OpenPutStocksMenu() - ESX.TriggerServerCallback('esx_policejob:getPlayerInventory', function(inventory) + ESX.TriggerServerCallback('esx_policejob:getPlayerInventory', function(inventory) - local elements = {} + local elements = {} - for i=1, #inventory.items, 1 do + for i=1, #inventory.items, 1 do - local item = inventory.items[i] + local item = inventory.items[i] - if item.count > 0 then - table.insert(elements, {label = item.label .. ' x' .. item.count, type = 'item_standard', value = item.name}) - end + if item.count > 0 then + table.insert(elements, {label = item.label .. ' x' .. item.count, type = 'item_standard', value = item.name}) + end - end + end - ESX.UI.Menu.Open( - 'default', GetCurrentResourceName(), 'stocks_menu', - { - title = _U('inventory'), - elements = elements - }, - function(data, menu) + ESX.UI.Menu.Open( + 'default', GetCurrentResourceName(), 'stocks_menu', + { + title = _U('inventory'), + elements = elements + }, + function(data, menu) - local itemName = data.current.value + local itemName = data.current.value - ESX.UI.Menu.Open( - 'dialog', GetCurrentResourceName(), 'stocks_menu_put_item_count', - { - title = _U('quantity') - }, - function(data2, menu2) + ESX.UI.Menu.Open( + 'dialog', GetCurrentResourceName(), 'stocks_menu_put_item_count', + { + title = _U('quantity') + }, + function(data2, menu2) - local count = tonumber(data2.value) + local count = tonumber(data2.value) - if count == nil then - ESX.ShowNotification(_U('quantity_invalid')) - else - menu2.close() - menu.close() - OpenPutStocksMenu() + if count == nil then + ESX.ShowNotification(_U('quantity_invalid')) + else + menu2.close() + menu.close() + OpenPutStocksMenu() - TriggerServerEvent('esx_policejob:putStockItems', itemName, count) - end + TriggerServerEvent('esx_policejob:putStockItems', itemName, count) + end - end, - function(data2, menu2) - menu2.close() - end - ) + end, + function(data2, menu2) + menu2.close() + end + ) - end, - function(data, menu) - menu.close() - end - ) + end, + function(data, menu) + menu.close() + end + ) - end) + end) end @@ -1241,204 +1242,204 @@ end) RegisterNetEvent('esx_phone:loaded') AddEventHandler('esx_phone:loaded', function(phoneNumber, contacts) - local specialContact = { - name = 'Police', - number = 'police', - base64Icon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDFGQTJDRkI0QUJCMTFFN0JBNkQ5OENBMUI4QUEzM0YiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDFGQTJDRkM0QUJCMTFFN0JBNkQ5OENBMUI4QUEzM0YiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0MUZBMkNGOTRBQkIxMUU3QkE2RDk4Q0ExQjhBQTMzRiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0MUZBMkNGQTRBQkIxMUU3QkE2RDk4Q0ExQjhBQTMzRiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoW66EYAAAjGSURBVHjapJcLcFTVGcd/u3cfSXaTLEk2j80TCI8ECI9ABCyoiBqhBVQqVG2ppVKBQqUVgUl5OU7HKqNOHUHU0oHamZZWoGkVS6cWAR2JPJuAQBPy2ISEvLN57+v2u2E33e4k6Ngz85+9d++95/zP9/h/39GpqsqiRYsIGz8QZAq28/8PRfC+4HT4fMXFxeiH+GC54NeCbYLLATLpYe/ECx4VnBTsF0wWhM6lXY8VbBE0Ch4IzLcpfDFD2P1TgrdC7nMCZLRxQ9AkiAkQCn77DcH3BC2COoFRkCSIG2JzLwqiQi0RSmCD4JXbmNKh0+kc/X19tLtc9Ll9sk9ZS1yoU71YIk3xsbEx8QaDEc2ttxmaJSKC1ggSKBK8MKwTFQVXRzs3WzpJGjmZgvxcMpMtWIwqsjztvSrlzjYul56jp+46qSmJmMwR+P3+4aZ8TtCprRkk0DvUW7JjmV6lsqoKW/pU1q9YQOE4Nxkx4ladE7zd8ivuVmJQfXZKW5dx5EwPRw4fxNx2g5SUVLw+33AkzoRaQDP9SkFu6OKqz0uF8yaz7vsOL6ycQVLkcSg/BlWNsjuFoKE1knqDSl5aNnmPLmThrE0UvXqQqvJPyMrMGorEHwQfEha57/3P7mXS684GFjy8kreLppPUuBXfyd/ibeoS2kb0mWPANhJdYjb61AxUvx5PdT3+4y+Tb3mTd19ZSebE+VTXVGNQlHAC7w4VhH8TbA36vKq6ilnzlvPSunHw6Trc7XpZ14AyfgYeyz18crGN1Alz6e3qwNNQSv4dZox1h/BW9+O7eIaEsVv41Y4XeHJDG83Nl4mLTwzGhJYtx0PzNTjOB9KMTlc7Nkcem39YAGU7cbeBKVLMPGMVf296nMd2VbBq1wmizHoqqm/wrS1/Zf0+N19YN2PIu1fcIda4Vk66Zx/rVi+jo9eIX9wZGGcFXUMR6BHUa76/2ezioYcXMtpyAl91DSaTfDxlJbtLprHm2ecpObqPuTPzSNV9yKz4a4zJSuLo71/j8Q17ON69EmXiPIlNMe6FoyzOqWPW/MU03Lw5EFcyKghTrNDh7+/vw545mcJcWbTiGKpRdGPMXbx90sGmDaux6sXk+kimjU+BjnMkx3kYP34cXrFuZ+3nrHi6iDMt92JITcPjk3R3naRwZhpuNSqoD93DKaFVU7j2dhcF8+YzNlpErbIBTVh8toVccbaysPB+4pMcuPw25kwSsau7BIlmHpy3guaOPtISYyi/UkaJM5Lpc5agq5Xkcl6gIHkmqaMn0dtylcjIyPThCNyhaXyfR2W0I1our0v6qBii07ih5rDtGSOxNVdk1y4R2SR8jR/g7hQD9l1jUeY/WLJB5m39AlZN4GZyIQ1fFJNsEgt0duBIc5GRkcZF53mNwIzhXPDgQPoZIkiMkbTxtstDMVnmFA4cOsbz2/aKjSQjev4Mp9ZAg+hIpFhB3EH5Yal16+X+Kq3dGfxkzRY+KauBjBzREvGN0kNCTARu94AejBLMHorAQ7cEQMGs2cXvkWshYLDi6e9l728O8P1XW6hKeB2yv42q18tjj+iFTGoSi+X9jJM9RTxS9E+OHT0krhNiZqlbqraoT7RAU5bBGrEknEBhgJks7KXbLS8qERI0ErVqF/Y4K6NHZfLZB+/wzJvncacvFd91oXO3o/O40MfZKJOKu/rne+mRQByXM4lYreb1tUnkizVVA/0SpfpbWaCNBeEE5gb/UH19NLqEgDF+oNDQWcn41Cj0EXFEWqzkOIyYekslFkThsvMxpIyE2hIc6lXGZ6cPyK7Nnk5OipixRdxgUESAYmhq68VsGgy5CYKCUAJTg0+izApXne3CJFmUTwg4L3FProFxU+6krqmXu3MskkhSD2av41jLdzlnfFrSdCZxyqfMnppN6ZUa7pwt0h3fiK9DCt4IO9e7YqisvI7VYgmNv7mhBKKD/9psNi5dOMv5ZjukjsLdr0ffWsyTi6eSlfcA+dmiVyOXs+/sHNZu3M6PdxzgVO9GmDSHsSNqmTz/R6y6Xxqma4fwaS5Mn85n1ZE0Vl3CHBER3lUNEhiURpPJRFdTOcVnpUJnPIhR7cZXfoH5UYc5+E4RzRH3sfSnl9m2dSMjE+Tz9msse+o5dr7UwcQ5T3HwlWUkNuzG3dKFSTbsNs7m/Y8vExOlC29UWkMJlAxKoRQMR3IC7x85zOn6fHS50+U/2Untx2R1voinu5no+DQmz7yPXmMKZnsu0wrm0Oe3YhOVHdm8A09dBQYhTv4T7C+xUPrZh8Qn2MMr4qcDSRfoirWgKAvtgOpv1JI8Zi77X15G7L+fxeOUOiUFxZiULD5fSlNzNM62W+k1yq5gjajGX/ZHvOIyxd+Fkj+P092rWP/si0Qr7VisMaEWuCiYonXFwbAUTWWPYLV245NITnGkUXnpI9butLJn2y6iba+hlp7C09qBcvoN7FYL9mhxo1/y/LoEXK8Pv6qIC8WbBY/xr9YlPLf9dZT+OqKTUwfmDBm/GOw7ws4FWpuUP2gJEZvKqmocuXPZuWYJMzKuSsH+SNwh3bo0p6hao6HeEqwYEZ2M6aKWd3PwTCy7du/D0F1DsmzE6/WGLr5LsDF4LggnYBacCOboQLHQ3FFfR58SR+HCR1iQH8ukhA5s5o5AYZMwUqOp74nl8xvRHDlRTsnxYpJsUjtsceHt2C8Fm0MPJrphTkZvBc4It9RKLOFx91Pf0Igu0k7W2MmkOewS2QYJUJVWVz9VNbXUVVwkyuAmKTFJayrDo/4Jwe/CT0aGYTrWVYEeUfsgXssMRcpyenraQJa0VX9O3ZU+Ma1fax4xGxUsUVFkOUbcama1hf+7+LmA9juHWshwmwOE1iMmCFYEzg1jtIm1BaxW6wCGGoFdewPfvyE4ertTiv4rHC73B855dwp2a23bbd4tC1hvhOCbX7b4VyUQKhxrtSOaYKngasizvwi0RmOS4O1QZf2yYfiaR+73AvhTQEVf+rpn9/8IMAChKDrDzfsdIQAAAABJRU5ErkJggg==' - } + local specialContact = { + name = 'Police', + number = 'police', + base64Icon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDFGQTJDRkI0QUJCMTFFN0JBNkQ5OENBMUI4QUEzM0YiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDFGQTJDRkM0QUJCMTFFN0JBNkQ5OENBMUI4QUEzM0YiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0MUZBMkNGOTRBQkIxMUU3QkE2RDk4Q0ExQjhBQTMzRiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0MUZBMkNGQTRBQkIxMUU3QkE2RDk4Q0ExQjhBQTMzRiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoW66EYAAAjGSURBVHjapJcLcFTVGcd/u3cfSXaTLEk2j80TCI8ECI9ABCyoiBqhBVQqVG2ppVKBQqUVgUl5OU7HKqNOHUHU0oHamZZWoGkVS6cWAR2JPJuAQBPy2ISEvLN57+v2u2E33e4k6Ngz85+9d++95/zP9/h/39GpqsqiRYsIGz8QZAq28/8PRfC+4HT4fMXFxeiH+GC54NeCbYLLATLpYe/ECx4VnBTsF0wWhM6lXY8VbBE0Ch4IzLcpfDFD2P1TgrdC7nMCZLRxQ9AkiAkQCn77DcH3BC2COoFRkCSIG2JzLwqiQi0RSmCD4JXbmNKh0+kc/X19tLtc9Ll9sk9ZS1yoU71YIk3xsbEx8QaDEc2ttxmaJSKC1ggSKBK8MKwTFQVXRzs3WzpJGjmZgvxcMpMtWIwqsjztvSrlzjYul56jp+46qSmJmMwR+P3+4aZ8TtCprRkk0DvUW7JjmV6lsqoKW/pU1q9YQOE4Nxkx4ladE7zd8ivuVmJQfXZKW5dx5EwPRw4fxNx2g5SUVLw+33AkzoRaQDP9SkFu6OKqz0uF8yaz7vsOL6ycQVLkcSg/BlWNsjuFoKE1knqDSl5aNnmPLmThrE0UvXqQqvJPyMrMGorEHwQfEha57/3P7mXS684GFjy8kreLppPUuBXfyd/ibeoS2kb0mWPANhJdYjb61AxUvx5PdT3+4y+Tb3mTd19ZSebE+VTXVGNQlHAC7w4VhH8TbA36vKq6ilnzlvPSunHw6Trc7XpZ14AyfgYeyz18crGN1Alz6e3qwNNQSv4dZox1h/BW9+O7eIaEsVv41Y4XeHJDG83Nl4mLTwzGhJYtx0PzNTjOB9KMTlc7Nkcem39YAGU7cbeBKVLMPGMVf296nMd2VbBq1wmizHoqqm/wrS1/Zf0+N19YN2PIu1fcIda4Vk66Zx/rVi+jo9eIX9wZGGcFXUMR6BHUa76/2ezioYcXMtpyAl91DSaTfDxlJbtLprHm2ecpObqPuTPzSNV9yKz4a4zJSuLo71/j8Q17ON69EmXiPIlNMe6FoyzOqWPW/MU03Lw5EFcyKghTrNDh7+/vw545mcJcWbTiGKpRdGPMXbx90sGmDaux6sXk+kimjU+BjnMkx3kYP34cXrFuZ+3nrHi6iDMt92JITcPjk3R3naRwZhpuNSqoD93DKaFVU7j2dhcF8+YzNlpErbIBTVh8toVccbaysPB+4pMcuPw25kwSsau7BIlmHpy3guaOPtISYyi/UkaJM5Lpc5agq5Xkcl6gIHkmqaMn0dtylcjIyPThCNyhaXyfR2W0I1our0v6qBii07ih5rDtGSOxNVdk1y4R2SR8jR/g7hQD9l1jUeY/WLJB5m39AlZN4GZyIQ1fFJNsEgt0duBIc5GRkcZF53mNwIzhXPDgQPoZIkiMkbTxtstDMVnmFA4cOsbz2/aKjSQjev4Mp9ZAg+hIpFhB3EH5Yal16+X+Kq3dGfxkzRY+KauBjBzREvGN0kNCTARu94AejBLMHorAQ7cEQMGs2cXvkWshYLDi6e9l728O8P1XW6hKeB2yv42q18tjj+iFTGoSi+X9jJM9RTxS9E+OHT0krhNiZqlbqraoT7RAU5bBGrEknEBhgJks7KXbLS8qERI0ErVqF/Y4K6NHZfLZB+/wzJvncacvFd91oXO3o/O40MfZKJOKu/rne+mRQByXM4lYreb1tUnkizVVA/0SpfpbWaCNBeEE5gb/UH19NLqEgDF+oNDQWcn41Cj0EXFEWqzkOIyYekslFkThsvMxpIyE2hIc6lXGZ6cPyK7Nnk5OipixRdxgUESAYmhq68VsGgy5CYKCUAJTg0+izApXne3CJFmUTwg4L3FProFxU+6krqmXu3MskkhSD2av41jLdzlnfFrSdCZxyqfMnppN6ZUa7pwt0h3fiK9DCt4IO9e7YqisvI7VYgmNv7mhBKKD/9psNi5dOMv5ZjukjsLdr0ffWsyTi6eSlfcA+dmiVyOXs+/sHNZu3M6PdxzgVO9GmDSHsSNqmTz/R6y6Xxqma4fwaS5Mn85n1ZE0Vl3CHBER3lUNEhiURpPJRFdTOcVnpUJnPIhR7cZXfoH5UYc5+E4RzRH3sfSnl9m2dSMjE+Tz9msse+o5dr7UwcQ5T3HwlWUkNuzG3dKFSTbsNs7m/Y8vExOlC29UWkMJlAxKoRQMR3IC7x85zOn6fHS50+U/2Untx2R1voinu5no+DQmz7yPXmMKZnsu0wrm0Oe3YhOVHdm8A09dBQYhTv4T7C+xUPrZh8Qn2MMr4qcDSRfoirWgKAvtgOpv1JI8Zi77X15G7L+fxeOUOiUFxZiULD5fSlNzNM62W+k1yq5gjajGX/ZHvOIyxd+Fkj+P092rWP/si0Qr7VisMaEWuCiYonXFwbAUTWWPYLV245NITnGkUXnpI9butLJn2y6iba+hlp7C09qBcvoN7FYL9mhxo1/y/LoEXK8Pv6qIC8WbBY/xr9YlPLf9dZT+OqKTUwfmDBm/GOw7ws4FWpuUP2gJEZvKqmocuXPZuWYJMzKuSsH+SNwh3bo0p6hao6HeEqwYEZ2M6aKWd3PwTCy7du/D0F1DsmzE6/WGLr5LsDF4LggnYBacCOboQLHQ3FFfR58SR+HCR1iQH8ukhA5s5o5AYZMwUqOp74nl8xvRHDlRTsnxYpJsUjtsceHt2C8Fm0MPJrphTkZvBc4It9RKLOFx91Pf0Igu0k7W2MmkOewS2QYJUJVWVz9VNbXUVVwkyuAmKTFJayrDo/4Jwe/CT0aGYTrWVYEeUfsgXssMRcpyenraQJa0VX9O3ZU+Ma1fax4xGxUsUVFkOUbcama1hf+7+LmA9juHWshwmwOE1iMmCFYEzg1jtIm1BaxW6wCGGoFdewPfvyE4ertTiv4rHC73B855dwp2a23bbd4tC1hvhOCbX7b4VyUQKhxrtSOaYKngasizvwi0RmOS4O1QZf2yYfiaR+73AvhTQEVf+rpn9/8IMAChKDrDzfsdIQAAAABJRU5ErkJggg==' + } - TriggerEvent('esx_phone:addSpecialContact', specialContact.name, specialContact.number, specialContact.base64Icon) + TriggerEvent('esx_phone:addSpecialContact', specialContact.name, specialContact.number, specialContact.base64Icon) end) AddEventHandler('esx_policejob:hasEnteredMarker', function(station, part, partNum) - if part == 'Cloakroom' then - CurrentAction = 'menu_cloakroom' - CurrentActionMsg = _U('open_cloackroom') - CurrentActionData = {} - end + if part == 'Cloakroom' then + CurrentAction = 'menu_cloakroom' + CurrentActionMsg = _U('open_cloackroom') + CurrentActionData = {} + end - if part == 'Armory' then - CurrentAction = 'menu_armory' - CurrentActionMsg = _U('open_armory') - CurrentActionData = {station = station} - end + if part == 'Armory' then + CurrentAction = 'menu_armory' + CurrentActionMsg = _U('open_armory') + CurrentActionData = {station = station} + end - if part == 'VehicleSpawner' then - CurrentAction = 'menu_vehicle_spawner' - CurrentActionMsg = _U('vehicle_spawner') - CurrentActionData = {station = station, partNum = partNum} - end + if part == 'VehicleSpawner' then + CurrentAction = 'menu_vehicle_spawner' + CurrentActionMsg = _U('vehicle_spawner') + CurrentActionData = {station = station, partNum = partNum} + end - if part == 'HelicopterSpawner' then + if part == 'HelicopterSpawner' then - local helicopters = Config.PoliceStations[station].Helicopters + local helicopters = Config.PoliceStations[station].Helicopters - if not IsAnyVehicleNearPoint(helicopters[partNum].SpawnPoint.x, helicopters[partNum].SpawnPoint.y, helicopters[partNum].SpawnPoint.z, 3.0) then + if not IsAnyVehicleNearPoint(helicopters[partNum].SpawnPoint.x, helicopters[partNum].SpawnPoint.y, helicopters[partNum].SpawnPoint.z, 3.0) then - ESX.Game.SpawnVehicle('polmav', { - x = helicopters[partNum].SpawnPoint.x, - y = helicopters[partNum].SpawnPoint.y, - z = helicopters[partNum].SpawnPoint.z - }, helicopters[partNum].Heading, function(vehicle) - SetVehicleModKit(vehicle, 0) - SetVehicleLivery(vehicle, 0) - end) + ESX.Game.SpawnVehicle('polmav', { + x = helicopters[partNum].SpawnPoint.x, + y = helicopters[partNum].SpawnPoint.y, + z = helicopters[partNum].SpawnPoint.z + }, helicopters[partNum].Heading, function(vehicle) + SetVehicleModKit(vehicle, 0) + SetVehicleLivery(vehicle, 0) + end) - end + end - end + end - if part == 'VehicleDeleter' then + if part == 'VehicleDeleter' then - local playerPed = GetPlayerPed(-1) - local coords = GetEntityCoords(playerPed) + local playerPed = GetPlayerPed(-1) + local coords = GetEntityCoords(playerPed) - if IsPedInAnyVehicle(playerPed, false) then + if IsPedInAnyVehicle(playerPed, false) then - local vehicle = GetVehiclePedIsIn(playerPed, false) + local vehicle = GetVehiclePedIsIn(playerPed, false) - if DoesEntityExist(vehicle) then - CurrentAction = 'delete_vehicle' - CurrentActionMsg = _U('store_vehicle') - CurrentActionData = {vehicle = vehicle} - end + if DoesEntityExist(vehicle) then + CurrentAction = 'delete_vehicle' + CurrentActionMsg = _U('store_vehicle') + CurrentActionData = {vehicle = vehicle} + end - end + end - end + end - if part == 'BossActions' then - CurrentAction = 'menu_boss_actions' - CurrentActionMsg = _U('open_bossmenu') - CurrentActionData = {} - end + if part == 'BossActions' then + CurrentAction = 'menu_boss_actions' + CurrentActionMsg = _U('open_bossmenu') + CurrentActionData = {} + end end) AddEventHandler('esx_policejob:hasExitedMarker', function(station, part, partNum) - ESX.UI.Menu.CloseAll() - CurrentAction = nil + ESX.UI.Menu.CloseAll() + CurrentAction = nil end) AddEventHandler('esx_policejob:hasEnteredEntityZone', function(entity) - local playerPed = GetPlayerPed(-1) + local playerPed = GetPlayerPed(-1) - if PlayerData.job ~= nil and PlayerData.job.name == 'police' and not IsPedInAnyVehicle(playerPed, false) then - CurrentAction = 'remove_entity' - CurrentActionMsg = _U('remove_object') - CurrentActionData = {entity = entity} - end + if PlayerData.job ~= nil and PlayerData.job.name == 'police' and not IsPedInAnyVehicle(playerPed, false) then + CurrentAction = 'remove_entity' + CurrentActionMsg = _U('remove_object') + CurrentActionData = {entity = entity} + end - if GetEntityModel(entity) == GetHashKey('p_ld_stinger_s') then + if GetEntityModel(entity) == GetHashKey('p_ld_stinger_s') then - local playerPed = GetPlayerPed(-1) - local coords = GetEntityCoords(playerPed) + local playerPed = GetPlayerPed(-1) + local coords = GetEntityCoords(playerPed) - if IsPedInAnyVehicle(playerPed, false) then + if IsPedInAnyVehicle(playerPed, false) then - local vehicle = GetVehiclePedIsIn(playerPed) + local vehicle = GetVehiclePedIsIn(playerPed) - for i=0, 7, 1 do - SetVehicleTyreBurst(vehicle, i, true, 1000) - end + for i=0, 7, 1 do + SetVehicleTyreBurst(vehicle, i, true, 1000) + end - end + end - end + end end) AddEventHandler('esx_policejob:hasExitedEntityZone', function(entity) - if CurrentAction == 'remove_entity' then - CurrentAction = nil - end + if CurrentAction == 'remove_entity' then + CurrentAction = nil + end end) RegisterNetEvent('esx_policejob:handcuff') AddEventHandler('esx_policejob:handcuff', function() - IsHandcuffed = not IsHandcuffed; - local playerPed = GetPlayerPed(-1) + IsHandcuffed = not IsHandcuffed; + local playerPed = GetPlayerPed(-1) - Citizen.CreateThread(function() + Citizen.CreateThread(function() - if IsHandcuffed then + if IsHandcuffed then - RequestAnimDict('mp_arresting') + RequestAnimDict('mp_arresting') - while not HasAnimDictLoaded('mp_arresting') do - Wait(100) - end + while not HasAnimDictLoaded('mp_arresting') do + Wait(100) + end - TaskPlayAnim(playerPed, 'mp_arresting', 'idle', 8.0, -8, -1, 49, 0, 0, 0, 0) - SetEnableHandcuffs(playerPed, true) - SetPedCanPlayGestureAnims(playerPed, false) - FreezeEntityPosition(playerPed, true) + TaskPlayAnim(playerPed, 'mp_arresting', 'idle', 8.0, -8, -1, 49, 0, 0, 0, 0) + SetEnableHandcuffs(playerPed, true) + SetPedCanPlayGestureAnims(playerPed, false) + FreezeEntityPosition(playerPed, true) - else + else - ClearPedSecondaryTask(playerPed) - SetEnableHandcuffs(playerPed, false) - SetPedCanPlayGestureAnims(playerPed, true) - FreezeEntityPosition(playerPed, false) + ClearPedSecondaryTask(playerPed) + SetEnableHandcuffs(playerPed, false) + SetPedCanPlayGestureAnims(playerPed, true) + FreezeEntityPosition(playerPed, false) - end + end - end) + end) end) RegisterNetEvent('esx_policejob:drag') AddEventHandler('esx_policejob:drag', function(cop) - TriggerServerEvent('esx:clientLog', 'starting dragging') - IsDragged = not IsDragged - CopPed = tonumber(cop) + TriggerServerEvent('esx:clientLog', 'starting dragging') + IsDragged = not IsDragged + CopPed = tonumber(cop) end) Citizen.CreateThread(function() - while true do - Wait(0) - if IsHandcuffed then - if IsDragged then - local ped = GetPlayerPed(GetPlayerFromServerId(CopPed)) - local myped = GetPlayerPed(-1) - AttachEntityToEntity(myped, ped, 11816, 0.54, 0.54, 0.0, 0.0, 0.0, 0.0, false, false, false, false, 2, true) - else - DetachEntity(GetPlayerPed(-1), true, false) - end - end - end + while true do + Wait(0) + if IsHandcuffed then + if IsDragged then + local ped = GetPlayerPed(GetPlayerFromServerId(CopPed)) + local myped = GetPlayerPed(-1) + AttachEntityToEntity(myped, ped, 11816, 0.54, 0.54, 0.0, 0.0, 0.0, 0.0, false, false, false, false, 2, true) + else + DetachEntity(GetPlayerPed(-1), true, false) + end + end + end end) RegisterNetEvent('esx_policejob:putInVehicle') AddEventHandler('esx_policejob:putInVehicle', function() - local playerPed = GetPlayerPed(-1) - local coords = GetEntityCoords(playerPed) + local playerPed = GetPlayerPed(-1) + local coords = GetEntityCoords(playerPed) if IsAnyVehicleNearPoint(coords.x, coords.y, coords.z, 5.0) then - local vehicle = GetClosestVehicle(coords.x, coords.y, coords.z, 5.0, 0, 71) + local vehicle = GetClosestVehicle(coords.x, coords.y, coords.z, 5.0, 0, 71) if DoesEntityExist(vehicle) then - local maxSeats = GetVehicleMaxNumberOfPassengers(vehicle) - local freeSeat = nil + local maxSeats = GetVehicleMaxNumberOfPassengers(vehicle) + local freeSeat = nil - for i=maxSeats - 1, 0, -1 do - if IsVehicleSeatFree(vehicle, i) then - freeSeat = i - break - end - end + for i=maxSeats - 1, 0, -1 do + if IsVehicleSeatFree(vehicle, i) then + freeSeat = i + break + end + end - if freeSeat ~= nil then - TaskWarpPedIntoVehicle(playerPed, vehicle, freeSeat) - end + if freeSeat ~= nil then + TaskWarpPedIntoVehicle(playerPed, vehicle, freeSeat) + end end @@ -1453,365 +1454,365 @@ AddEventHandler('esx_policejob:OutVehicle', function(t) plyPos = GetEntityCoords(GetPlayerPed(-1), true) local xnew = plyPos.x+2 local ynew = plyPos.y+2 - + SetEntityCoords(GetPlayerPed(-1), xnew, ynew, plyPos.z) end) -- Handcuff Citizen.CreateThread(function() - while true do - Wait(0) - if IsHandcuffed then - DisableControlAction(0, 142, true) -- MeleeAttackAlternate - DisableControlAction(0, 30, true) -- MoveLeftRight - DisableControlAction(0, 31, true) -- MoveUpDown - end - end + while true do + Wait(0) + if IsHandcuffed then + DisableControlAction(0, 142, true) -- MeleeAttackAlternate + DisableControlAction(0, 30, true) -- MoveLeftRight + DisableControlAction(0, 31, true) -- MoveUpDown + end + end end) -- Create blips Citizen.CreateThread(function() - for k,v in pairs(Config.PoliceStations) do + for k,v in pairs(Config.PoliceStations) do - local blip = AddBlipForCoord(v.Blip.Pos.x, v.Blip.Pos.y, v.Blip.Pos.z) + local blip = AddBlipForCoord(v.Blip.Pos.x, v.Blip.Pos.y, v.Blip.Pos.z) - SetBlipSprite (blip, 60) - SetBlipDisplay(blip, 4) - SetBlipScale (blip, 1.2) - SetBlipColour (blip, v.Blip.Color) - SetBlipAsShortRange(blip, true) + SetBlipSprite (blip, 60) + SetBlipDisplay(blip, 4) + SetBlipScale (blip, 1.2) + SetBlipColour (blip, v.Blip.Color) + SetBlipAsShortRange(blip, true) - BeginTextCommandSetBlipName("STRING") - AddTextComponentString(_U('map_blip')) - EndTextCommandSetBlipName(blip) + BeginTextCommandSetBlipName("STRING") + AddTextComponentString(_U('map_blip')) + EndTextCommandSetBlipName(blip) - end + end end) -- Display markers Citizen.CreateThread(function() - while true do + while true do - Wait(0) + Wait(0) - if PlayerData.job ~= nil and PlayerData.job.name == 'police' then + if PlayerData.job ~= nil and PlayerData.job.name == 'police' then - local playerPed = GetPlayerPed(-1) - local coords = GetEntityCoords(playerPed) + local playerPed = GetPlayerPed(-1) + local coords = GetEntityCoords(playerPed) - for k,v in pairs(Config.PoliceStations) do + for k,v in pairs(Config.PoliceStations) do - for i=1, #v.Cloakrooms, 1 do - if GetDistanceBetweenCoords(coords, v.Cloakrooms[i].x, v.Cloakrooms[i].y, v.Cloakrooms[i].z, true) < Config.DrawDistance then - DrawMarker(Config.MarkerType, v.Cloakrooms[i].x, v.Cloakrooms[i].y, v.Cloakrooms[i].z, 0.0, 0.0, 0.0, 0, 0.0, 0.0, Config.MarkerSize.x, Config.MarkerSize.y, Config.MarkerSize.z, Config.MarkerColor.r, Config.MarkerColor.g, Config.MarkerColor.b, 100, false, true, 2, false, false, false, false) - end - end + for i=1, #v.Cloakrooms, 1 do + if GetDistanceBetweenCoords(coords, v.Cloakrooms[i].x, v.Cloakrooms[i].y, v.Cloakrooms[i].z, true) < Config.DrawDistance then + DrawMarker(Config.MarkerType, v.Cloakrooms[i].x, v.Cloakrooms[i].y, v.Cloakrooms[i].z, 0.0, 0.0, 0.0, 0, 0.0, 0.0, Config.MarkerSize.x, Config.MarkerSize.y, Config.MarkerSize.z, Config.MarkerColor.r, Config.MarkerColor.g, Config.MarkerColor.b, 100, false, true, 2, false, false, false, false) + end + end - for i=1, #v.Armories, 1 do - if GetDistanceBetweenCoords(coords, v.Armories[i].x, v.Armories[i].y, v.Armories[i].z, true) < Config.DrawDistance then - DrawMarker(Config.MarkerType, v.Armories[i].x, v.Armories[i].y, v.Armories[i].z, 0.0, 0.0, 0.0, 0, 0.0, 0.0, Config.MarkerSize.x, Config.MarkerSize.y, Config.MarkerSize.z, Config.MarkerColor.r, Config.MarkerColor.g, Config.MarkerColor.b, 100, false, true, 2, false, false, false, false) - end - end + for i=1, #v.Armories, 1 do + if GetDistanceBetweenCoords(coords, v.Armories[i].x, v.Armories[i].y, v.Armories[i].z, true) < Config.DrawDistance then + DrawMarker(Config.MarkerType, v.Armories[i].x, v.Armories[i].y, v.Armories[i].z, 0.0, 0.0, 0.0, 0, 0.0, 0.0, Config.MarkerSize.x, Config.MarkerSize.y, Config.MarkerSize.z, Config.MarkerColor.r, Config.MarkerColor.g, Config.MarkerColor.b, 100, false, true, 2, false, false, false, false) + end + end - for i=1, #v.Vehicles, 1 do - if GetDistanceBetweenCoords(coords, v.Vehicles[i].Spawner.x, v.Vehicles[i].Spawner.y, v.Vehicles[i].Spawner.z, true) < Config.DrawDistance then - DrawMarker(Config.MarkerType, v.Vehicles[i].Spawner.x, v.Vehicles[i].Spawner.y, v.Vehicles[i].Spawner.z, 0.0, 0.0, 0.0, 0, 0.0, 0.0, Config.MarkerSize.x, Config.MarkerSize.y, Config.MarkerSize.z, Config.MarkerColor.r, Config.MarkerColor.g, Config.MarkerColor.b, 100, false, true, 2, false, false, false, false) - end - end + for i=1, #v.Vehicles, 1 do + if GetDistanceBetweenCoords(coords, v.Vehicles[i].Spawner.x, v.Vehicles[i].Spawner.y, v.Vehicles[i].Spawner.z, true) < Config.DrawDistance then + DrawMarker(Config.MarkerType, v.Vehicles[i].Spawner.x, v.Vehicles[i].Spawner.y, v.Vehicles[i].Spawner.z, 0.0, 0.0, 0.0, 0, 0.0, 0.0, Config.MarkerSize.x, Config.MarkerSize.y, Config.MarkerSize.z, Config.MarkerColor.r, Config.MarkerColor.g, Config.MarkerColor.b, 100, false, true, 2, false, false, false, false) + end + end - for i=1, #v.VehicleDeleters, 1 do - if GetDistanceBetweenCoords(coords, v.VehicleDeleters[i].x, v.VehicleDeleters[i].y, v.VehicleDeleters[i].z, true) < Config.DrawDistance then - DrawMarker(Config.MarkerType, v.VehicleDeleters[i].x, v.VehicleDeleters[i].y, v.VehicleDeleters[i].z, 0.0, 0.0, 0.0, 0, 0.0, 0.0, Config.MarkerSize.x, Config.MarkerSize.y, Config.MarkerSize.z, Config.MarkerColor.r, Config.MarkerColor.g, Config.MarkerColor.b, 100, false, true, 2, false, false, false, false) - end - end + for i=1, #v.VehicleDeleters, 1 do + if GetDistanceBetweenCoords(coords, v.VehicleDeleters[i].x, v.VehicleDeleters[i].y, v.VehicleDeleters[i].z, true) < Config.DrawDistance then + DrawMarker(Config.MarkerType, v.VehicleDeleters[i].x, v.VehicleDeleters[i].y, v.VehicleDeleters[i].z, 0.0, 0.0, 0.0, 0, 0.0, 0.0, Config.MarkerSize.x, Config.MarkerSize.y, Config.MarkerSize.z, Config.MarkerColor.r, Config.MarkerColor.g, Config.MarkerColor.b, 100, false, true, 2, false, false, false, false) + end + end - if Config.EnablePlayerManagement and PlayerData.job ~= nil and PlayerData.job.name == 'police' and PlayerData.job.grade_name == 'boss' then + if Config.EnablePlayerManagement and PlayerData.job ~= nil and PlayerData.job.name == 'police' and PlayerData.job.grade_name == 'boss' then - for i=1, #v.BossActions, 1 do - if not v.BossActions[i].disabled and GetDistanceBetweenCoords(coords, v.BossActions[i].x, v.BossActions[i].y, v.BossActions[i].z, true) < Config.DrawDistance then - DrawMarker(Config.MarkerType, v.BossActions[i].x, v.BossActions[i].y, v.BossActions[i].z, 0.0, 0.0, 0.0, 0, 0.0, 0.0, Config.MarkerSize.x, Config.MarkerSize.y, Config.MarkerSize.z, Config.MarkerColor.r, Config.MarkerColor.g, Config.MarkerColor.b, 100, false, true, 2, false, false, false, false) - end - end + for i=1, #v.BossActions, 1 do + if not v.BossActions[i].disabled and GetDistanceBetweenCoords(coords, v.BossActions[i].x, v.BossActions[i].y, v.BossActions[i].z, true) < Config.DrawDistance then + DrawMarker(Config.MarkerType, v.BossActions[i].x, v.BossActions[i].y, v.BossActions[i].z, 0.0, 0.0, 0.0, 0, 0.0, 0.0, Config.MarkerSize.x, Config.MarkerSize.y, Config.MarkerSize.z, Config.MarkerColor.r, Config.MarkerColor.g, Config.MarkerColor.b, 100, false, true, 2, false, false, false, false) + end + end - end + end - end + end - end + end - end + end end) -- Enter / Exit marker events Citizen.CreateThread(function() - while true do + while true do - Wait(0) + Wait(0) - if PlayerData.job ~= nil and PlayerData.job.name == 'police' then + if PlayerData.job ~= nil and PlayerData.job.name == 'police' then - local playerPed = GetPlayerPed(-1) - local coords = GetEntityCoords(playerPed) - local isInMarker = false - local currentStation = nil - local currentPart = nil - local currentPartNum = nil + local playerPed = GetPlayerPed(-1) + local coords = GetEntityCoords(playerPed) + local isInMarker = false + local currentStation = nil + local currentPart = nil + local currentPartNum = nil - for k,v in pairs(Config.PoliceStations) do + for k,v in pairs(Config.PoliceStations) do - for i=1, #v.Cloakrooms, 1 do - if GetDistanceBetweenCoords(coords, v.Cloakrooms[i].x, v.Cloakrooms[i].y, v.Cloakrooms[i].z, true) < Config.MarkerSize.x then - isInMarker = true - currentStation = k - currentPart = 'Cloakroom' - currentPartNum = i - end - end + for i=1, #v.Cloakrooms, 1 do + if GetDistanceBetweenCoords(coords, v.Cloakrooms[i].x, v.Cloakrooms[i].y, v.Cloakrooms[i].z, true) < Config.MarkerSize.x then + isInMarker = true + currentStation = k + currentPart = 'Cloakroom' + currentPartNum = i + end + end - for i=1, #v.Armories, 1 do - if GetDistanceBetweenCoords(coords, v.Armories[i].x, v.Armories[i].y, v.Armories[i].z, true) < Config.MarkerSize.x then - isInMarker = true - currentStation = k - currentPart = 'Armory' - currentPartNum = i - end - end + for i=1, #v.Armories, 1 do + if GetDistanceBetweenCoords(coords, v.Armories[i].x, v.Armories[i].y, v.Armories[i].z, true) < Config.MarkerSize.x then + isInMarker = true + currentStation = k + currentPart = 'Armory' + currentPartNum = i + end + end - for i=1, #v.Vehicles, 1 do + for i=1, #v.Vehicles, 1 do - if GetDistanceBetweenCoords(coords, v.Vehicles[i].Spawner.x, v.Vehicles[i].Spawner.y, v.Vehicles[i].Spawner.z, true) < Config.MarkerSize.x then - isInMarker = true - currentStation = k - currentPart = 'VehicleSpawner' - currentPartNum = i - end + if GetDistanceBetweenCoords(coords, v.Vehicles[i].Spawner.x, v.Vehicles[i].Spawner.y, v.Vehicles[i].Spawner.z, true) < Config.MarkerSize.x then + isInMarker = true + currentStation = k + currentPart = 'VehicleSpawner' + currentPartNum = i + end - if GetDistanceBetweenCoords(coords, v.Vehicles[i].SpawnPoint.x, v.Vehicles[i].SpawnPoint.y, v.Vehicles[i].SpawnPoint.z, true) < Config.MarkerSize.x then - isInMarker = true - currentStation = k - currentPart = 'VehicleSpawnPoint' - currentPartNum = i - end + if GetDistanceBetweenCoords(coords, v.Vehicles[i].SpawnPoint.x, v.Vehicles[i].SpawnPoint.y, v.Vehicles[i].SpawnPoint.z, true) < Config.MarkerSize.x then + isInMarker = true + currentStation = k + currentPart = 'VehicleSpawnPoint' + currentPartNum = i + end - end + end - for i=1, #v.Helicopters, 1 do + for i=1, #v.Helicopters, 1 do - if GetDistanceBetweenCoords(coords, v.Helicopters[i].Spawner.x, v.Helicopters[i].Spawner.y, v.Helicopters[i].Spawner.z, true) < Config.MarkerSize.x then - isInMarker = true - currentStation = k - currentPart = 'HelicopterSpawner' - currentPartNum = i - end + if GetDistanceBetweenCoords(coords, v.Helicopters[i].Spawner.x, v.Helicopters[i].Spawner.y, v.Helicopters[i].Spawner.z, true) < Config.MarkerSize.x then + isInMarker = true + currentStation = k + currentPart = 'HelicopterSpawner' + currentPartNum = i + end - if GetDistanceBetweenCoords(coords, v.Helicopters[i].SpawnPoint.x, v.Helicopters[i].SpawnPoint.y, v.Helicopters[i].SpawnPoint.z, true) < Config.MarkerSize.x then - isInMarker = true - currentStation = k - currentPart = 'HelicopterSpawnPoint' - currentPartNum = i - end + if GetDistanceBetweenCoords(coords, v.Helicopters[i].SpawnPoint.x, v.Helicopters[i].SpawnPoint.y, v.Helicopters[i].SpawnPoint.z, true) < Config.MarkerSize.x then + isInMarker = true + currentStation = k + currentPart = 'HelicopterSpawnPoint' + currentPartNum = i + end - end + end - for i=1, #v.VehicleDeleters, 1 do - if GetDistanceBetweenCoords(coords, v.VehicleDeleters[i].x, v.VehicleDeleters[i].y, v.VehicleDeleters[i].z, true) < Config.MarkerSize.x then - isInMarker = true - currentStation = k - currentPart = 'VehicleDeleter' - currentPartNum = i - end - end + for i=1, #v.VehicleDeleters, 1 do + if GetDistanceBetweenCoords(coords, v.VehicleDeleters[i].x, v.VehicleDeleters[i].y, v.VehicleDeleters[i].z, true) < Config.MarkerSize.x then + isInMarker = true + currentStation = k + currentPart = 'VehicleDeleter' + currentPartNum = i + end + end - if Config.EnablePlayerManagement and PlayerData.job ~= nil and PlayerData.job.name == 'police' and PlayerData.job.grade_name == 'boss' then + if Config.EnablePlayerManagement and PlayerData.job ~= nil and PlayerData.job.name == 'police' and PlayerData.job.grade_name == 'boss' then - for i=1, #v.BossActions, 1 do - if GetDistanceBetweenCoords(coords, v.BossActions[i].x, v.BossActions[i].y, v.BossActions[i].z, true) < Config.MarkerSize.x then - isInMarker = true - currentStation = k - currentPart = 'BossActions' - currentPartNum = i - end - end + for i=1, #v.BossActions, 1 do + if GetDistanceBetweenCoords(coords, v.BossActions[i].x, v.BossActions[i].y, v.BossActions[i].z, true) < Config.MarkerSize.x then + isInMarker = true + currentStation = k + currentPart = 'BossActions' + currentPartNum = i + end + end - end + end - end + end - local hasExited = false + local hasExited = false - if isInMarker and not HasAlreadyEnteredMarker or (isInMarker and (LastStation ~= currentStation or LastPart ~= currentPart or LastPartNum ~= currentPartNum) ) then + if isInMarker and not HasAlreadyEnteredMarker or (isInMarker and (LastStation ~= currentStation or LastPart ~= currentPart or LastPartNum ~= currentPartNum) ) then - if - (LastStation ~= nil and LastPart ~= nil and LastPartNum ~= nil) and - (LastStation ~= currentStation or LastPart ~= currentPart or LastPartNum ~= currentPartNum) - then - TriggerEvent('esx_policejob:hasExitedMarker', LastStation, LastPart, LastPartNum) - hasExited = true - end + if + (LastStation ~= nil and LastPart ~= nil and LastPartNum ~= nil) and + (LastStation ~= currentStation or LastPart ~= currentPart or LastPartNum ~= currentPartNum) + then + TriggerEvent('esx_policejob:hasExitedMarker', LastStation, LastPart, LastPartNum) + hasExited = true + end - HasAlreadyEnteredMarker = true - LastStation = currentStation - LastPart = currentPart - LastPartNum = currentPartNum + HasAlreadyEnteredMarker = true + LastStation = currentStation + LastPart = currentPart + LastPartNum = currentPartNum - TriggerEvent('esx_policejob:hasEnteredMarker', currentStation, currentPart, currentPartNum) - end + TriggerEvent('esx_policejob:hasEnteredMarker', currentStation, currentPart, currentPartNum) + end - if not hasExited and not isInMarker and HasAlreadyEnteredMarker then + if not hasExited and not isInMarker and HasAlreadyEnteredMarker then - HasAlreadyEnteredMarker = false + HasAlreadyEnteredMarker = false - TriggerEvent('esx_policejob:hasExitedMarker', LastStation, LastPart, LastPartNum) - end + TriggerEvent('esx_policejob:hasExitedMarker', LastStation, LastPart, LastPartNum) + end - end + end - end + end end) -- Enter / Exit entity zone events Citizen.CreateThread(function() - local trackedEntities = { - 'prop_roadcone02a', - 'prop_barrier_work06a', - 'p_ld_stinger_s', - 'prop_boxpile_07d', - 'hei_prop_cash_crate_half_full' - } + local trackedEntities = { + 'prop_roadcone02a', + 'prop_barrier_work06a', + 'p_ld_stinger_s', + 'prop_boxpile_07d', + 'hei_prop_cash_crate_half_full' + } - while true do + while true do - Citizen.Wait(0) + Citizen.Wait(0) - local playerPed = GetPlayerPed(-1) - local coords = GetEntityCoords(playerPed) + local playerPed = GetPlayerPed(-1) + local coords = GetEntityCoords(playerPed) - local closestDistance = -1 - local closestEntity = nil + local closestDistance = -1 + local closestEntity = nil - for i=1, #trackedEntities, 1 do + for i=1, #trackedEntities, 1 do - local object = GetClosestObjectOfType(coords.x, coords.y, coords.z, 3.0, GetHashKey(trackedEntities[i]), false, false, false) + local object = GetClosestObjectOfType(coords.x, coords.y, coords.z, 3.0, GetHashKey(trackedEntities[i]), false, false, false) - if DoesEntityExist(object) then + if DoesEntityExist(object) then - local objCoords = GetEntityCoords(object) - local distance = GetDistanceBetweenCoords(coords.x, coords.y, coords.z, objCoords.x, objCoords.y, objCoords.z, true) + local objCoords = GetEntityCoords(object) + local distance = GetDistanceBetweenCoords(coords.x, coords.y, coords.z, objCoords.x, objCoords.y, objCoords.z, true) - if closestDistance == -1 or closestDistance > distance then - closestDistance = distance - closestEntity = object - end + if closestDistance == -1 or closestDistance > distance then + closestDistance = distance + closestEntity = object + end - end + end - end + end - if closestDistance ~= -1 and closestDistance <= 3.0 then + if closestDistance ~= -1 and closestDistance <= 3.0 then - if LastEntity ~= closestEntity then - TriggerEvent('esx_policejob:hasEnteredEntityZone', closestEntity) - LastEntity = closestEntity - end + if LastEntity ~= closestEntity then + TriggerEvent('esx_policejob:hasEnteredEntityZone', closestEntity) + LastEntity = closestEntity + end - else + else - if LastEntity ~= nil then - TriggerEvent('esx_policejob:hasExitedEntityZone', LastEntity) - LastEntity = nil - end + if LastEntity ~= nil then + TriggerEvent('esx_policejob:hasExitedEntityZone', LastEntity) + LastEntity = nil + end - end + end - end + end end) -- Key Controls Citizen.CreateThread(function() - while true do + while true do - Citizen.Wait(0) + Citizen.Wait(0) - if CurrentAction ~= nil then + if CurrentAction ~= nil then - SetTextComponentFormat('STRING') - AddTextComponentString(CurrentActionMsg) - DisplayHelpTextFromStringLabel(0, 0, 1, -1) + SetTextComponentFormat('STRING') + AddTextComponentString(CurrentActionMsg) + DisplayHelpTextFromStringLabel(0, 0, 1, -1) - if IsControlPressed(0, Keys['E']) and PlayerData.job ~= nil and PlayerData.job.name == 'police' and (GetGameTimer() - GUI.Time) > 150 then + if IsControlPressed(0, Keys['E']) and PlayerData.job ~= nil and PlayerData.job.name == 'police' and (GetGameTimer() - GUI.Time) > 150 then - if CurrentAction == 'menu_cloakroom' then - OpenCloakroomMenu() - end + if CurrentAction == 'menu_cloakroom' then + OpenCloakroomMenu() + end - if CurrentAction == 'menu_armory' then - OpenArmoryMenu(CurrentActionData.station) - end + if CurrentAction == 'menu_armory' then + OpenArmoryMenu(CurrentActionData.station) + end - if CurrentAction == 'menu_vehicle_spawner' then - OpenVehicleSpawnerMenu(CurrentActionData.station, CurrentActionData.partNum) - end + if CurrentAction == 'menu_vehicle_spawner' then + OpenVehicleSpawnerMenu(CurrentActionData.station, CurrentActionData.partNum) + end - if CurrentAction == 'delete_vehicle' then + if CurrentAction == 'delete_vehicle' then - if Config.EnableSocietyOwnedVehicles then + if Config.EnableSocietyOwnedVehicles then - local vehicleProps = ESX.Game.GetVehicleProperties(CurrentActionData.vehicle) - TriggerServerEvent('esx_society:putVehicleInGarage', 'police', vehicleProps) + local vehicleProps = ESX.Game.GetVehicleProperties(CurrentActionData.vehicle) + TriggerServerEvent('esx_society:putVehicleInGarage', 'police', vehicleProps) - else + else - if - GetEntityModel(vehicle) == GetHashKey('police') or - GetEntityModel(vehicle) == GetHashKey('police2') or - GetEntityModel(vehicle) == GetHashKey('police3') or - GetEntityModel(vehicle) == GetHashKey('police4') or - GetEntityModel(vehicle) == GetHashKey('policeb') or - GetEntityModel(vehicle) == GetHashKey('policet') - then - TriggerServerEvent('esx_service:disableService', 'police') - end - - end + if + GetEntityModel(vehicle) == GetHashKey('police') or + GetEntityModel(vehicle) == GetHashKey('police2') or + GetEntityModel(vehicle) == GetHashKey('police3') or + GetEntityModel(vehicle) == GetHashKey('police4') or + GetEntityModel(vehicle) == GetHashKey('policeb') or + GetEntityModel(vehicle) == GetHashKey('policet') + then + TriggerServerEvent('esx_service:disableService', 'police') + end - ESX.Game.DeleteVehicle(CurrentActionData.vehicle) - end + end - if CurrentAction == 'menu_boss_actions' then + ESX.Game.DeleteVehicle(CurrentActionData.vehicle) + end - ESX.UI.Menu.CloseAll() + if CurrentAction == 'menu_boss_actions' then - TriggerEvent('esx_society:openBossMenu', 'police', function(data, menu) + ESX.UI.Menu.CloseAll() - menu.close() + TriggerEvent('esx_society:openBossMenu', 'police', function(data, menu) - CurrentAction = 'menu_boss_actions' - CurrentActionMsg = _U('open_bossmenu') - CurrentActionData = {} + menu.close() - end) + CurrentAction = 'menu_boss_actions' + CurrentActionMsg = _U('open_bossmenu') + CurrentActionData = {} - end + end) - if CurrentAction == 'remove_entity' then - DeleteEntity(CurrentActionData.entity) - end + end - CurrentAction = nil - GUI.Time = GetGameTimer() + if CurrentAction == 'remove_entity' then + DeleteEntity(CurrentActionData.entity) + end - end + CurrentAction = nil + GUI.Time = GetGameTimer() - end + end - if IsControlPressed(0, Keys['F6']) and PlayerData.job ~= nil and PlayerData.job.name == 'police' and not ESX.UI.Menu.IsOpen('default', GetCurrentResourceName(), 'police_actions') and (GetGameTimer() - GUI.Time) > 150 then - OpenPoliceActionsMenu() - GUI.Time = GetGameTimer() - end + end - end + if IsControlPressed(0, Keys['F6']) and PlayerData.job ~= nil and PlayerData.job.name == 'police' and not ESX.UI.Menu.IsOpen('default', GetCurrentResourceName(), 'police_actions') and (GetGameTimer() - GUI.Time) > 150 then + OpenPoliceActionsMenu() + GUI.Time = GetGameTimer() + end + + end end) diff --git a/config.lua b/config.lua index 0fe93896..80af2f49 100644 --- a/config.lua +++ b/config.lua @@ -1,8 +1,8 @@ Config = {} Config.DrawDistance = 100.0 Config.MarkerType = 1 -Config.MarkerSize = {x = 1.5, y = 1.5, z = 1.0} -Config.MarkerColor = {r = 50, g = 50, b = 204} +Config.MarkerSize = { x = 1.5, y = 1.5, z = 1.0 } +Config.MarkerColor = { r = 50, g = 50, b = 204 } Config.EnablePlayerManagement = false Config.EnableArmoryManagement = false Config.EnableESXIdentity = false -- only turn this on if you are using esx_identity @@ -10,73 +10,73 @@ Config.EnableNonFreemodePeds = false -- turn this on if you want custom ped Config.EnableSocietyOwnedVehicles = false Config.EnableLicenses = false Config.MaxInService = -1 -Config.Locale = 'fr' +Config.Locale = 'fr' Config.PoliceStations = { - LSPD = { + LSPD = { - Blip = { - Pos = {x = 425.130, y = -979.558, z = 30.711}, - Color = 29 - }, + Blip = { + Pos = { x = 425.130, y = -979.558, z = 30.711 }, + Color = 29, + }, - AuthorizedWeapons = { - {name = 'WEAPON_NIGHTSTICK', price = 200}, - {name = 'WEAPON_COMBATPISTOL', price = 300}, - {name = 'WEAPON_ASSAULTSMG', price = 1250}, - {name = 'WEAPON_ASSAULTRIFLE', price = 1500}, - {name = 'WEAPON_PUMPSHOTGUN', price = 600}, - {name = 'WEAPON_STUNGUN', price = 500}, - {name = 'WEAPON_FLASHLIGHT', price = 80}, - {name = 'WEAPON_FIREEXTINGUISHER', price = 120}, - {name = 'WEAPON_FLAREGUN', price = 60}, - {name = 'WEAPON_STICKYBOMB', price = 250}, - {name = 'GADGET_PARACHUTE', price = 300}, - }, + AuthorizedWeapons = { + { name = 'WEAPON_NIGHTSTICK', price = 200 }, + { name = 'WEAPON_COMBATPISTOL', price = 300 }, + { name = 'WEAPON_ASSAULTSMG', price = 1250 }, + { name = 'WEAPON_ASSAULTRIFLE', price = 1500 }, + { name = 'WEAPON_PUMPSHOTGUN', price = 600 }, + { name = 'WEAPON_STUNGUN', price = 500 }, + { name = 'WEAPON_FLASHLIGHT', price = 80 }, + { name = 'WEAPON_FIREEXTINGUISHER', price = 120 }, + { name = 'WEAPON_FLAREGUN', price = 60 }, + { name = 'WEAPON_STICKYBOMB', price = 250 }, + { name = 'GADGET_PARACHUTE', price = 300 }, + }, - AuthorizedVehicles = { - {name = 'police' , label = 'Véhicule de patrouille 1'}, - {name = 'police2', label = 'Véhicule de patrouille 2'}, - {name = 'police3', label = 'Véhicule de patrouille 3'}, - {name = 'police4', label = 'Véhicule civil'}, - {name = 'policeb', label = 'Moto'}, - {name = 'policet', label = 'Van de transport'}, - }, + AuthorizedVehicles = { + { name = 'police', label = 'Véhicule de patrouille 1' }, + { name = 'police2', label = 'Véhicule de patrouille 2' }, + { name = 'police3', label = 'Véhicule de patrouille 3' }, + { name = 'police4', label = 'Véhicule civil' }, + { name = 'policeb', label = 'Moto' }, + { name = 'policet', label = 'Van de transport' }, + }, - Cloakrooms = { - {x = 452.600, y = -993.306, z = 29.750} - }, + Cloakrooms = { + { x = 452.600, y = -993.306, z = 29.750 }, + }, - Armories = { - {x = 451.699, y = -980.356, z = 29.689} - }, + Armories = { + { x = 451.699, y = -980.356, z = 29.689 }, + }, - Vehicles = { - { - Spawner = {x = 454.69, y = -1017.4, z = 27.430}, - SpawnPoint = {x = 438.42, y = -1018.3, z = 27.757}, - Heading = 90.0 - } - }, + Vehicles = { + { + Spawner = { x = 454.69, y = -1017.4, z = 27.430 }, + SpawnPoint = { x = 438.42, y = -1018.3, z = 27.757 }, + Heading = 90.0, + } + }, - Helicopters = { - { - Spawner = {x = 466.477, y = -982.819, z = 42.691}, - SpawnPoint = {x = 450.04, y = -981.14, z = 42.691}, - Heading = 0.0 - } - }, + Helicopters = { + { + Spawner = { x = 466.477, y = -982.819, z = 42.691 }, + SpawnPoint = { x = 450.04, y = -981.14, z = 42.691 }, + Heading = 0.0, + } + }, - VehicleDeleters = { - {x = 462.74, y = -1014.4, z = 27.065}, - {x = 462.40, y = -1019.7, z = 27.104} - }, + VehicleDeleters = { + { x = 462.74, y = -1014.4, z = 27.065 }, + { x = 462.40, y = -1019.7, z = 27.104 }, + }, - BossActions = { - {x = 448.417, y = -973.208, z = 29.689} - } + BossActions = { + { x = 448.417, y = -973.208, z = 29.689 } + }, - } + }, } diff --git a/locales/br.lua b/locales/br.lua index e8e67d9e..f8682ff8 100644 --- a/locales/br.lua +++ b/locales/br.lua @@ -1,91 +1,91 @@ Locales['br'] = { - --Cloackroom - ['cloakroom'] = 'Vestiário', - ['citizen_wear'] = 'Roupa casual', - ['police_wear'] = 'Uniforme da Polícia', - ['open_cloackroom'] = 'Pressione ~INPUT_CONTEXT~ para se trocar', - --Armory - ['get_weapon'] = 'Pegar arma', - ['put_weapon'] = 'Entregar arma', - ['buy_weapons'] = 'Comprar armas', - ['armory'] = 'Arsenal', - ['open_armory'] = 'Pressione ~INPUT_CONTEXT~ para acessar o arsenal', - --Vehicles - ['vehicle_menu'] = 'Veículo', - ['vehicle_out'] = 'Já existe um carro fora da garagem', - ['vehicle_spawner'] = 'Pressione ~INPUT_CONTEXT~ para escolher um veículo', - ['store_vehicle'] = 'Pressione ~INPUT_CONTEXT~ para guardar o veículo', - ['service_max'] = 'Maximo de oficiais em serviço : ', - --Action Menu - ['citizen_interaction'] = 'Interagir com o cidadão', - ['vehicle_interaction'] = 'Interagir com o veículo', - ['object_spawner'] = 'Interagir com as rodovias', + -- Cloackroom + ['cloakroom'] = 'Vestiário', + ['citizen_wear'] = 'Roupa casual', + ['police_wear'] = 'Uniforme da Polícia', + ['open_cloackroom'] = 'Pressione ~INPUT_CONTEXT~ para se trocar', + -- Armory + ['get_weapon'] = 'Pegar arma', + ['put_weapon'] = 'Entregar arma', + ['buy_weapons'] = 'Comprar armas', + ['armory'] = 'Arsenal', + ['open_armory'] = 'Pressione ~INPUT_CONTEXT~ para acessar o arsenal', + -- Vehicles + ['vehicle_menu'] = 'Veículo', + ['vehicle_out'] = 'Já existe um carro fora da garagem', + ['vehicle_spawner'] = 'Pressione ~INPUT_CONTEXT~ para escolher um veículo', + ['store_vehicle'] = 'Pressione ~INPUT_CONTEXT~ para guardar o veículo', + ['service_max'] = 'Maximo de oficiais em serviço : ', + -- Action Menu + ['citizen_interaction'] = 'Interagir com o cidadão', + ['vehicle_interaction'] = 'Interagir com o veículo', + ['object_spawner'] = 'Interagir com as rodovias', - ['id_card'] = 'Carteira de identidade', - ['search'] = 'Procurar', - ['handcuff'] = 'Algemar / Soltar', - ['put_in_vehicle'] = 'Colocar no veículo', - ['fine'] = 'Multa', - ['no_players_nearby'] = 'Nenhum jogador nas proximidades', + ['id_card'] = 'Carteira de identidade', + ['search'] = 'Procurar', + ['handcuff'] = 'Algemar / Soltar', + ['put_in_vehicle'] = 'Colocar no veículo', + ['fine'] = 'Multa', + ['no_players_nearby'] = 'Nenhum jogador nas proximidades', - ['vehicle_info'] = 'Informações', - ['pick_lock'] = 'Trancar veículo', - ['vehicle_unlocked'] = 'Veículo ~g~destravado~s~', - ['no_vehicles_nearby'] = 'Nenhum veículo nas proximidades', - ['traffic_interaction'] = 'Interagir com as rodovias', - ['cone'] = 'Cones', - ['barrier'] = 'Barreira', - ['spikestrips'] = 'Fita de pregos', - ['box'] = 'Caixa', - ['cash'] = 'Caixa de dinheiro', - --ID Card Menu - ['name'] = 'Nome : ', - ['bac'] = 'bAC : ', - --Body Search Menu - ['confiscate_dirty'] = 'Confiscar dinheiro sujo : $', - ['guns_label'] = '--- Armas ---', - ['confiscate'] = 'Confiscar ', - ['inventory_label'] = '--- Inventário ---', - ['confiscate_inv'] = 'Confiscar x', + ['vehicle_info'] = 'Informações', + ['pick_lock'] = 'Trancar veículo', + ['vehicle_unlocked'] = 'Veículo ~g~destravado~s~', + ['no_vehicles_nearby'] = 'Nenhum veículo nas proximidades', + ['traffic_interaction'] = 'Interagir com as rodovias', + ['cone'] = 'Cones', + ['barrier'] = 'Barreira', + ['spikestrips'] = 'Fita de pregos', + ['box'] = 'Caixa', + ['cash'] = 'Caixa de dinheiro', + -- ID Card Menu + ['name'] = 'Nome : ', + ['bac'] = 'bAC : ', + -- Body Search Menu + ['confiscate_dirty'] = 'Confiscar dinheiro sujo : $', + ['guns_label'] = '--- Armas ---', + ['confiscate'] = 'Confiscar ', + ['inventory_label'] = '--- Inventário ---', + ['confiscate_inv'] = 'Confiscar x', - ['traffic_offense'] = 'Infrações de transito', - ['minor_offense'] = 'Infração leve', - ['average_offense'] = 'Infração média', - ['major_offense'] = 'Infração grave', - ['fine_total'] = 'Multa : ', - --Vehicle Info Menu - ['plate'] = 'Placa: ', - ['owner_unknown'] = 'Proprietário : Desconhecido', - ['owner'] = 'Proprietário : ', - --Weapons Menus - ['get_weapon_menu'] = 'Arsenal - Pegar arma', - ['put_weapon_menu'] = 'Arsenal - Entregar arma', - ['buy_weapon_menu'] = 'Arsenal - Comprar armas', - ['not_enough_money'] = 'Você não tem dinheiro suficiente', - --Boss Menu - ['take_company_money'] = 'Retirar o dinheiro da empresa', - ['deposit_money'] = 'Depositar dinheiro', - ['amount_of_withdrawal'] = 'Quantidade de retirada', - ['invalid_amount'] = 'Quantidade inválida', - ['amount_of_deposit'] = 'Quantidade de depósito', - ['open_bossmenu'] = 'Pressione ~INPUT_CONTEXT~ para abrir o menu', - --Misc - ['remove_object'] = 'Pressione ~INPUT_CONTEXT~ para remover o objeto', - ['map_blip'] = 'Departamento de Polícia', - --Notifications - ['from'] = '~s~ de ~b~', - ['you_have_confinv'] = 'Você confiscou ~y~x', - ['confinv'] = '~s~ confiscado de você ~y~x', - ['you_have_confdm'] = 'Você confiscou ~y~$', - ['confdm'] = '~s~ confiscado de você ~y~$', - ['you_have_confweapon'] = 'Você confiscou ~y~x1 ', - ['confweapon'] = '~s~ confiscado de você ~y~x1 ', - ['alert_police'] = 'Alerta da Polícia', - --Authorized Vehicles - ['police'] = 'Viatura - Blazer', - ['police2'] = 'Viatura - Parati', - ['police3'] = 'viatura - Fluence', - ['police4'] = 'Viatura - Blazer cinza', - ['policeb'] = 'Moto da Polícia', - ['policet'] = 'Van de Transporte', -} \ No newline at end of file + ['traffic_offense'] = 'Infrações de transito', + ['minor_offense'] = 'Infração leve', + ['average_offense'] = 'Infração média', + ['major_offense'] = 'Infração grave', + ['fine_total'] = 'Multa : ', + -- Vehicle Info Menu + ['plate'] = 'Placa: ', + ['owner_unknown'] = 'Proprietário : Desconhecido', + ['owner'] = 'Proprietário : ', + -- Weapons Menus + ['get_weapon_menu'] = 'Arsenal - Pegar arma', + ['put_weapon_menu'] = 'Arsenal - Entregar arma', + ['buy_weapon_menu'] = 'Arsenal - Comprar armas', + ['not_enough_money'] = 'Você não tem dinheiro suficiente', + -- Boss Menu + ['take_company_money'] = 'Retirar o dinheiro da empresa', + ['deposit_money'] = 'Depositar dinheiro', + ['amount_of_withdrawal'] = 'Quantidade de retirada', + ['invalid_amount'] = 'Quantidade inválida', + ['amount_of_deposit'] = 'Quantidade de depósito', + ['open_bossmenu'] = 'Pressione ~INPUT_CONTEXT~ para abrir o menu', + -- Misc + ['remove_object'] = 'Pressione ~INPUT_CONTEXT~ para remover o objeto', + ['map_blip'] = 'Departamento de Polícia', + -- Notifications + ['from'] = '~s~ de ~b~', + ['you_have_confinv'] = 'Você confiscou ~y~x', + ['confinv'] = '~s~ confiscado de você ~y~x', + ['you_have_confdm'] = 'Você confiscou ~y~$', + ['confdm'] = '~s~ confiscado de você ~y~$', + ['you_have_confweapon'] = 'Você confiscou ~y~x1 ', + ['confweapon'] = '~s~ confiscado de você ~y~x1 ', + ['alert_police'] = 'Alerta da Polícia', + -- Authorized Vehicles + ['police'] = 'Viatura - Blazer', + ['police2'] = 'Viatura - Parati', + ['police3'] = 'viatura - Fluence', + ['police4'] = 'Viatura - Blazer cinza', + ['policeb'] = 'Moto da Polícia', + ['policet'] = 'Van de Transporte', +} diff --git a/locales/de.lua b/locales/de.lua index 2a06348e..d5a19a1f 100644 --- a/locales/de.lua +++ b/locales/de.lua @@ -1,91 +1,91 @@ Locales['de'] = { - --Cloackroom - ['cloakroom'] = 'Garderobe', - ['citizen_wear'] = 'Zivilkleidung', - ['police_wear'] = 'Arbeitskleidung', - ['open_cloackroom'] = 'Drücke ~INPUT_CONTEXT~ um dich umzuziehen', - --Armory - ['get_weapon'] = 'Waffen holen', - ['put_weapon'] = 'Waffen bringen', - ['buy_weapons'] = 'Waffen kaufen', - ['armory'] = 'Waffenkammer', - ['open_armory'] = 'Drücke ~INPUT_CONTEXT~ um die Waffenkammer zu öffnen', - --Vehicles - ['vehicle_menu'] = 'Fahrzeug', - ['vehicle_out'] = 'es ist bereits ein Fahrzeug draussen', - ['vehicle_spawner'] = 'Drücke ~INPUT_CONTEXT~ um ein Fahrzeug zu holen', - ['store_vehicle'] = 'Drücke ~INPUT_CONTEXT~ um das Fahrzeug zu parken', - ['service_max'] = 'Max Polizisten im Dienst : ', - --Action Menu - ['citizen_interaction'] = 'Zivilistenaktionen', - ['vehicle_interaction'] = 'Fahrzeuginteraktionen', - ['object_spawner'] = 'Objekt Spawner', + -- Cloackroom + ['cloakroom'] = 'Garderobe', + ['citizen_wear'] = 'Zivilkleidung', + ['police_wear'] = 'Arbeitskleidung', + ['open_cloackroom'] = 'Drücke ~INPUT_CONTEXT~ um dich umzuziehen', + -- Armory + ['get_weapon'] = 'Waffen holen', + ['put_weapon'] = 'Waffen bringen', + ['buy_weapons'] = 'Waffen kaufen', + ['armory'] = 'Waffenkammer', + ['open_armory'] = 'Drücke ~INPUT_CONTEXT~ um die Waffenkammer zu öffnen', + -- Vehicles + ['vehicle_menu'] = 'Fahrzeug', + ['vehicle_out'] = 'es ist bereits ein Fahrzeug draussen', + ['vehicle_spawner'] = 'Drücke ~INPUT_CONTEXT~ um ein Fahrzeug zu holen', + ['store_vehicle'] = 'Drücke ~INPUT_CONTEXT~ um das Fahrzeug zu parken', + ['service_max'] = 'Max Polizisten im Dienst : ', + -- Action Menu + ['citizen_interaction'] = 'Zivilistenaktionen', + ['vehicle_interaction'] = 'Fahrzeuginteraktionen', + ['object_spawner'] = 'Objekt Spawner', - ['id_card'] = 'ID Karte', - ['search'] = 'Suche', - ['handcuff'] = 'Festnehmen / Freilassen', - ['put_in_vehicle'] = 'In Fahrzeug setzen', - ['fine'] = 'Strafe', - ['no_players_nearby'] = 'Keine Spieler in der Nähe', + ['id_card'] = 'ID Karte', + ['search'] = 'Suche', + ['handcuff'] = 'Festnehmen / Freilassen', + ['put_in_vehicle'] = 'In Fahrzeug setzen', + ['fine'] = 'Strafe', + ['no_players_nearby'] = 'Keine Spieler in der Nähe', - ['vehicle_info'] = 'Fahrzeug Info', - ['pick_lock'] = 'Fahrzeug öffnen', - ['vehicle_unlocked'] = 'Fahrzeug ~g~offen~s~', - ['no_vehicles_nearby'] = 'Keine Fahrzeuge in der Nähe', - ['traffic_interaction'] = 'Straßeninteraktionen', - ['cone'] = 'Hütchen', - ['barrier'] = 'Barriere', - ['spikestrips'] = 'Nagelband', - ['box'] = 'Box', - ['cash'] = 'Box mit Geld', - --ID Card Menu - ['name'] = 'name : ', - ['bac'] = 'bAC : ', - --Body Search Menu - ['confiscate_dirty'] = 'Schwarzgeld konfesziert : $', - ['guns_label'] = '--- Waffen ---', - ['confiscate'] = 'konfeszieren ', - ['inventory_label'] = '--- Inventar ---', - ['confiscate_inv'] = 'konfeziere x', + ['vehicle_info'] = 'Fahrzeug Info', + ['pick_lock'] = 'Fahrzeug öffnen', + ['vehicle_unlocked'] = 'Fahrzeug ~g~offen~s~', + ['no_vehicles_nearby'] = 'Keine Fahrzeuge in der Nähe', + ['traffic_interaction'] = 'Straßeninteraktionen', + ['cone'] = 'Hütchen', + ['barrier'] = 'Barriere', + ['spikestrips'] = 'Nagelband', + ['box'] = 'Box', + ['cash'] = 'Box mit Geld', + -- ID Card Menu + ['name'] = 'name : ', + ['bac'] = 'bAC : ', + -- Body Search Menu + ['confiscate_dirty'] = 'Schwarzgeld konfesziert : $', + ['guns_label'] = '--- Waffen ---', + ['confiscate'] = 'konfeszieren ', + ['inventory_label'] = '--- Inventar ---', + ['confiscate_inv'] = 'konfeziere x', - ['traffic_offense'] = 'Verkehrs vergehen', - ['minor_offense'] = 'Geringes vergehen', - ['average_offense'] = 'Normales vergehen', - ['major_offense'] = 'Hohes vergehen', - ['fine_total'] = 'Strafe : ', - --Vehicle Info Menu - ['plate'] = 'Plate: ', - ['owner_unknown'] = 'Besitzer : Unbekannt', - ['owner'] = 'Besitzer : ', - --Weapons Menus - ['get_weapon_menu'] = 'Waffenkammer - Waffen nehmen', - ['put_weapon_menu'] = 'Waffenkammer - Waffen bringen', - ['buy_weapon_menu'] = 'Waffenkammer - Waffen kaufen', - ['not_enough_money'] = 'Du hast nicht genug Geld', - --Boss Menu - ['take_company_money'] = 'Firmengeld abheben', - ['deposit_money'] = 'Geld einzahlen', - ['amount_of_withdrawal'] = 'Betrag zum abheben', - ['invalid_amount'] = 'ungültiger Betrag', - ['amount_of_deposit'] = 'Betrag zum einzahlen', - ['open_bossmenu'] = 'Drücke ~INPUT_CONTEXT~ um das Menü zu öffnen', - --Misc - ['remove_object'] = 'Drücke ~INPUT_CONTEXT~ um das Objekt zu entfernen', - ['map_blip'] = 'Polizeistation', - --Notifications - ['from'] = '~s~ von ~b~', - ['you_have_confinv'] = 'du hast ~y~x konfesziert', - ['confinv'] = '~s~ hat von dir ~y~x konfesziert', - ['you_have_confdm'] = 'du hast ~y~$ konfesziert', - ['confdm'] = '~s~ hat von dir ~y~$ konfesziert', - ['you_have_confweapon'] = 'du hast ~y~x1 konfesziert', - ['confweapon'] = '~s~ hat von dir ~y~x1 konfesziert', - ['alert_police'] = 'Polizei alamieren', - --Authorized Vehicles - ['police'] = 'Streifenfahrzeug 1', - ['police2'] = 'Streifenfahrzeug 2', - ['police3'] = 'Streifenfahrzeug 3', - ['police4'] = 'Zivilfahrzeug', - ['policeb'] = 'Motorrad', - ['policet'] = 'Transporter', -} \ No newline at end of file + ['traffic_offense'] = 'Verkehrs vergehen', + ['minor_offense'] = 'Geringes vergehen', + ['average_offense'] = 'Normales vergehen', + ['major_offense'] = 'Hohes vergehen', + ['fine_total'] = 'Strafe : ', + -- Vehicle Info Menu + ['plate'] = 'Plate: ', + ['owner_unknown'] = 'Besitzer : Unbekannt', + ['owner'] = 'Besitzer : ', + -- Weapons Menus + ['get_weapon_menu'] = 'Waffenkammer - Waffen nehmen', + ['put_weapon_menu'] = 'Waffenkammer - Waffen bringen', + ['buy_weapon_menu'] = 'Waffenkammer - Waffen kaufen', + ['not_enough_money'] = 'Du hast nicht genug Geld', + -- Boss Menu + ['take_company_money'] = 'Firmengeld abheben', + ['deposit_money'] = 'Geld einzahlen', + ['amount_of_withdrawal'] = 'Betrag zum abheben', + ['invalid_amount'] = 'ungültiger Betrag', + ['amount_of_deposit'] = 'Betrag zum einzahlen', + ['open_bossmenu'] = 'Drücke ~INPUT_CONTEXT~ um das Menü zu öffnen', + -- Misc + ['remove_object'] = 'Drücke ~INPUT_CONTEXT~ um das Objekt zu entfernen', + ['map_blip'] = 'Polizeistation', + -- Notifications + ['from'] = '~s~ von ~b~', + ['you_have_confinv'] = 'du hast ~y~x konfesziert', + ['confinv'] = '~s~ hat von dir ~y~x konfesziert', + ['you_have_confdm'] = 'du hast ~y~$ konfesziert', + ['confdm'] = '~s~ hat von dir ~y~$ konfesziert', + ['you_have_confweapon'] = 'du hast ~y~x1 konfesziert', + ['confweapon'] = '~s~ hat von dir ~y~x1 konfesziert', + ['alert_police'] = 'Polizei alamieren', + -- Authorized Vehicles + ['police'] = 'Streifenfahrzeug 1', + ['police2'] = 'Streifenfahrzeug 2', + ['police3'] = 'Streifenfahrzeug 3', + ['police4'] = 'Zivilfahrzeug', + ['policeb'] = 'Motorrad', + ['policet'] = 'Transporter', +} diff --git a/locales/en.lua b/locales/en.lua index 06ea6dbc..dcc51ad5 100644 --- a/locales/en.lua +++ b/locales/en.lua @@ -1,135 +1,135 @@ Locales['en'] = { - --Cloackroom - ['cloakroom'] = 'locker room', - ['citizen_wear'] = 'civilian Outfit', - ['police_wear'] = 'police Outfit', - ['sheriff_wear'] = 'sheriff Outfit', - ['lieutenant_wear'] = 'Swatt outfit ', - ['commandant_wear'] = 'Fbi outfit', - ['statepd_wear'] = 'State Police outfit', - ['specops_wear'] = 'Spec OPS outfit', - ['open_cloackroom'] = 'press ~INPUT_CONTEXT~ to change', - --Armory - ['get_weapon'] = 'get Weapon', - ['put_weapon'] = 'put Weapon', - ['buy_weapons'] = 'buy Weapons', - ['armory'] = 'armory', - ['open_armory'] = 'press ~INPUT_CONTEXT~ to access the armory', - --Vehicles - ['vehicle_menu'] = 'vehicle', - ['vehicle_out'] = 'there is already a car out of the garage', - ['vehicle_spawner'] = 'press ~INPUT_CONTEXT~ to take out a vehicle', - ['store_vehicle'] = 'press ~INPUT_CONTEXT~ to store the vehicle', - ['service_max'] = 'Max officers in service: ', - --Action Menu - ['citizen_interaction'] = 'citizen Interaction', - ['vehicle_interaction'] = 'vehicle Interaction', - ['object_spawner'] = 'object Spawner', - ['animations'] = 'animations', + -- Cloackroom + ['cloakroom'] = 'locker room', + ['citizen_wear'] = 'civilian Outfit', + ['police_wear'] = 'police Outfit', + ['sheriff_wear'] = 'sheriff Outfit', + ['lieutenant_wear'] = 'Swatt outfit ', + ['commandant_wear'] = 'Fbi outfit', + ['statepd_wear'] = 'State Police outfit', + ['specops_wear'] = 'Spec OPS outfit', + ['open_cloackroom'] = 'press ~INPUT_CONTEXT~ to change', + -- Armory + ['get_weapon'] = 'get Weapon', + ['put_weapon'] = 'put Weapon', + ['buy_weapons'] = 'buy Weapons', + ['armory'] = 'armory', + ['open_armory'] = 'press ~INPUT_CONTEXT~ to access the armory', + -- Vehicles + ['vehicle_menu'] = 'vehicle', + ['vehicle_out'] = 'there is already a car out of the garage', + ['vehicle_spawner'] = 'press ~INPUT_CONTEXT~ to take out a vehicle', + ['store_vehicle'] = 'press ~INPUT_CONTEXT~ to store the vehicle', + ['service_max'] = 'Max officers in service: ', + -- Action Menu + ['citizen_interaction'] = 'citizen Interaction', + ['vehicle_interaction'] = 'vehicle Interaction', + ['object_spawner'] = 'object Spawner', + ['animations'] = 'animations', - ['id_card'] = 'iD Card', - ['search'] = 'search', - ['handcuff'] = 'cuff / Uncuff', - ['drag'] = 'drag', - ['put_in_vehicle'] = 'put in Vehicle', - ['out_the_vehicle'] = 'take out of vehicle', - ['fine'] = 'fine', - ['no_players_nearby'] = 'no players nearby', + ['id_card'] = 'iD Card', + ['search'] = 'search', + ['handcuff'] = 'cuff / Uncuff', + ['drag'] = 'drag', + ['put_in_vehicle'] = 'put in Vehicle', + ['out_the_vehicle'] = 'take out of vehicle', + ['fine'] = 'fine', + ['no_players_nearby'] = 'no players nearby', - ['vehicle_info'] = 'vehicle Info', - ['pick_lock'] = 'lockpick Vehicle', - ['vehicle_unlocked'] = 'vehicle ~g~Unlocked~s~', - ['no_vehicles_nearby'] = 'no vehicles nearby', - ['traffic_interaction'] = 'Interaction Voirie', - ['cone'] = 'cone', - ['barrier'] = 'barrier', - ['spikestrips'] = 'spikestrips', - ['box'] = 'box', - ['cash'] = 'Box of cash', - ['police_animations'] = 'Police Animations', - ['dotraffic'] = 'Do a traffic stop', - ['take_note'] = 'Take notes', - ['stand_by'] = 'Stand by', - ['stand_by_2'] = 'Stand by 2', - ['stand_by_3'] = 'Stand by 3', - ['crowd_control'] = 'Crowd control', - ['doinvestigate'] = 'Investigate', - ['dobinoculars'] = 'Use the binoculars', - ['taking_notes'] = 'Im done with taking notes', - ['dealing_with_traffic'] = 'Dealing with traffic is hard', - ['standing_cop'] = 'I cant be here anymore', - ['standing_cop_2'] = 'I cant be here anymore', - ['standing_cop_3'] = 'I cant be here anymore', - ['use_binoculars'] = 'I cant see nothing', - ['do_crowd_control'] = 'The crowd is contained', - ['investigate_done'] = 'My investigation is done', - ['docrouch'] = 'Crouch', - ['kneel'] = 'Let me get up', - ['hang_out'] = 'Free time 1', - ['hanging_out'] = 'Lets go work', - ['doleaning'] = 'Free time 2', - ['dosmoking'] = 'Free time 3', - ['dodrinking'] = 'Free time 4', - ['domobile'] = 'Free time 5', - ['aacoffe'] = 'Morning coffe', - ['push_ups'] = 'Exercise a little', - ['exercise'] = 'Im tired', - ['cancel_emote'] = 'Cancel animation', - ['emotecanceled'] = 'Animation stoped', - --ID Card Menu - ['name'] = 'name : ', - ['bac'] = 'bAC : ', - --Body Search Menu - ['confiscate_dirty'] = 'confiscate dirty money: $', - ['guns_label'] = '--- Guns ---', - ['confiscate'] = 'confiscate ', - ['inventory_label'] = '--- Inventory ---', - ['confiscate_inv'] = 'confiscate x', + ['vehicle_info'] = 'vehicle Info', + ['pick_lock'] = 'lockpick Vehicle', + ['vehicle_unlocked'] = 'vehicle ~g~Unlocked~s~', + ['no_vehicles_nearby'] = 'no vehicles nearby', + ['traffic_interaction'] = 'Interaction Voirie', + ['cone'] = 'cone', + ['barrier'] = 'barrier', + ['spikestrips'] = 'spikestrips', + ['box'] = 'box', + ['cash'] = 'Box of cash', + ['police_animations'] = 'Police Animations', + ['dotraffic'] = 'Do a traffic stop', + ['take_note'] = 'Take notes', + ['stand_by'] = 'Stand by', + ['stand_by_2'] = 'Stand by 2', + ['stand_by_3'] = 'Stand by 3', + ['crowd_control'] = 'Crowd control', + ['doinvestigate'] = 'Investigate', + ['dobinoculars'] = 'Use the binoculars', + ['taking_notes'] = 'Im done with taking notes', + ['dealing_with_traffic'] = 'Dealing with traffic is hard', + ['standing_cop'] = 'I cant be here anymore', + ['standing_cop_2'] = 'I cant be here anymore', + ['standing_cop_3'] = 'I cant be here anymore', + ['use_binoculars'] = 'I cant see nothing', + ['do_crowd_control'] = 'The crowd is contained', + ['investigate_done'] = 'My investigation is done', + ['docrouch'] = 'Crouch', + ['kneel'] = 'Let me get up', + ['hang_out'] = 'Free time 1', + ['hanging_out'] = 'Lets go work', + ['doleaning'] = 'Free time 2', + ['dosmoking'] = 'Free time 3', + ['dodrinking'] = 'Free time 4', + ['domobile'] = 'Free time 5', + ['aacoffe'] = 'Morning coffe', + ['push_ups'] = 'Exercise a little', + ['exercise'] = 'Im tired', + ['cancel_emote'] = 'Cancel animation', + ['emotecanceled'] = 'Animation stoped', + -- ID Card Menu + ['name'] = 'name : ', + ['bac'] = 'bAC : ', + -- Body Search Menu + ['confiscate_dirty'] = 'confiscate dirty money: $', + ['guns_label'] = '--- Guns ---', + ['confiscate'] = 'confiscate ', + ['inventory_label'] = '--- Inventory ---', + ['confiscate_inv'] = 'confiscate x', - ['traffic_offense'] = 'traffic Offense', - ['minor_offense'] = 'minor Offense', - ['average_offense'] = 'average Offense', - ['major_offense'] = 'major Offense', - ['fine_total'] = 'fine: ', - --Vehicle Info Menu - ['plate'] = 'Plate: ', - ['owner_unknown'] = 'owner: Unknown', - ['owner'] = 'owner: ', - --Weapons Menus - ['get_weapon_menu'] = 'armory - Take Weapon', - ['put_weapon_menu'] = 'armory - Put Weapon', - ['buy_weapon_menu'] = 'armory - Buy Guns', - ['not_enough_money'] = 'you do not have enough money', - --Boss Menu - ['take_company_money'] = 'withdraw Company Money', - ['deposit_money'] = 'deposit Money', - ['amount_of_withdrawal'] = 'amount of Withdrawal', - ['invalid_amount'] = 'amount Invalid', - ['amount_of_deposit'] = 'amount of Deposit', - ['open_bossmenu'] = 'press ~INPUT_CONTEXT~ to open the menu', - ['quantity_invalid'] = 'invalid quantity', - ['have_withdraw'] = 'you have withdrawn x', - ['added'] = 'you added x', - ['quantity'] = 'quantity', - ['inventory'] = 'inventory', - ['police_stock'] = 'Police Stock', - --Misc - ['remove_object'] = 'press ~INPUT_CONTEXT~ to delete the object', - ['map_blip'] = 'police Station', - --Notifications - ['from'] = '~s~ from ~b~', - ['you_have_confinv'] = 'you have confiscated ~y~x', - ['confinv'] = '~s~ confiscated from you ~y~x', - ['you_have_confdm'] = 'you have confiscated ~y~$', - ['confdm'] = '~s~ confiscated from you ~y~$', - ['you_have_confweapon'] = 'you have confiscated ~y~x1 ', - ['confweapon'] = '~s~ confiscated from you ~y~x1 ', - ['alert_police'] = 'alert police', - --Authorized Vehicles - ['police'] = 'patrol Vehicle 1', - ['police2'] = 'patrol Vehicle 2', - ['police3'] = 'patrol Vehicle 3', - ['police4'] = 'unmarked Vehicle', - ['policeb'] = 'motorcycle', - ['policet'] = 'transport Van', + ['traffic_offense'] = 'traffic Offense', + ['minor_offense'] = 'minor Offense', + ['average_offense'] = 'average Offense', + ['major_offense'] = 'major Offense', + ['fine_total'] = 'fine: ', + -- Vehicle Info Menu + ['plate'] = 'Plate: ', + ['owner_unknown'] = 'owner: Unknown', + ['owner'] = 'owner: ', + -- Weapons Menus + ['get_weapon_menu'] = 'armory - Take Weapon', + ['put_weapon_menu'] = 'armory - Put Weapon', + ['buy_weapon_menu'] = 'armory - Buy Guns', + ['not_enough_money'] = 'you do not have enough money', + -- Boss Menu + ['take_company_money'] = 'withdraw Company Money', + ['deposit_money'] = 'deposit Money', + ['amount_of_withdrawal'] = 'amount of Withdrawal', + ['invalid_amount'] = 'amount Invalid', + ['amount_of_deposit'] = 'amount of Deposit', + ['open_bossmenu'] = 'press ~INPUT_CONTEXT~ to open the menu', + ['quantity_invalid'] = 'invalid quantity', + ['have_withdraw'] = 'you have withdrawn x', + ['added'] = 'you added x', + ['quantity'] = 'quantity', + ['inventory'] = 'inventory', + ['police_stock'] = 'Police Stock', + -- Misc + ['remove_object'] = 'press ~INPUT_CONTEXT~ to delete the object', + ['map_blip'] = 'police Station', + -- Notifications + ['from'] = '~s~ from ~b~', + ['you_have_confinv'] = 'you have confiscated ~y~x', + ['confinv'] = '~s~ confiscated from you ~y~x', + ['you_have_confdm'] = 'you have confiscated ~y~$', + ['confdm'] = '~s~ confiscated from you ~y~$', + ['you_have_confweapon'] = 'you have confiscated ~y~x1 ', + ['confweapon'] = '~s~ confiscated from you ~y~x1 ', + ['alert_police'] = 'alert police', + -- Authorized Vehicles + ['police'] = 'patrol Vehicle 1', + ['police2'] = 'patrol Vehicle 2', + ['police3'] = 'patrol Vehicle 3', + ['police4'] = 'unmarked Vehicle', + ['policeb'] = 'motorcycle', + ['policet'] = 'transport Van', } diff --git a/locales/es.lua b/locales/es.lua index 18d923c3..41b24ef2 100644 --- a/locales/es.lua +++ b/locales/es.lua @@ -1,107 +1,107 @@ -Locales['es'] = { - --Cloakroom - ['cloakroom'] = 'Taquilla', - ['citizen_wear'] = 'Ropa civil', - ['police_wear'] = 'Ropa CNP', - ['sheriff_wear'] = 'Ropa Oficial', - ['lieutenant_wear'] = 'Ropa Teniente', - ['commandant_wear'] = 'Ropa Secreta', - ['statepd_wear'] = 'Ropa Guardia Civil', - ['specops_wear'] = 'Ropa GEO', - ['open_cloackroom'] = 'Presionar ~INPUT_CONTEXT~ para abrir la taquilla', - --Armory - ['get_weapon'] = 'Coger arma', - ['put_weapon'] = 'Depositar arma', - ['buy_weapons'] = 'Comprar armas', - ['armory'] = 'Arsenal', - ['open_armory'] = 'Presionarr ~INPUT_CONTEXT~ para acceder a la armeria', - --Vehicles - ['vehicle_menu'] = 'Vehículo', - ['vehicle_out'] = 'Ya tienes un vehículo fuera', - ['vehicle_spawner'] = 'Presionar ~INPUT_CONTEXT~ para sacar un vehículo', - ['store_vehicle'] = 'Presionar ~INPUT_CONTEXT~ para guardar un vehículo', - ['service_max'] = 'Servicio completado : ', - --Action Menu - ['citizen_interaction'] = 'Interacción ciudadana', - ['vehicle_interaction'] = 'Interacción vehículo', - ['object_spawner'] = 'Colocar objetos', - - ['id_card'] = 'Documento de identidad', - ['search'] = 'Buscar', - ['handcuff'] = 'Poner/quitar Esposas', - ['drag'] = 'escoltar', - ['put_in_vehicle'] = 'Meter en el vehículo', - ['out_the_vehicle'] = 'Sacar del vehículo', - ['fine'] = 'Multa', - ['no_players_nearby'] = 'No hay jugadores cerca', - - ['vehicle_info'] = 'Información del vehículo', - ['pick_lock'] = 'Forzar coche', - ['vehicle_unlocked'] = 'Vehículo desbloqueado~s~', - ['no_vehicles_nearby'] = 'No hay vehículos cerca', - ['traffic_interaction'] = 'Rutas de interacción', - ['cone'] = 'Cono', - ['barrier'] = 'Barrera', - ['spikestrips'] = 'Grada', - ['box'] = 'Caja', - ['cash'] = 'Dinero', - --ID Card Menu - ['name'] = 'Nombre : ', - ['bac'] = 'Alcoolemia : ', - --Body Search Menu - ['confiscate_dirty'] = 'Confiscar dinero negro : €', - ['guns_label'] = '--- Armas ---', - ['confiscate'] = 'Confiscar ', - ['inventory_label'] = '--- Inventario ---', - ['confiscate_inv'] = 'Confiscar x', - - ['traffic_offense'] = 'Delito de tráfico', - ['minor_offense'] = 'Delito menor', - ['average_offense'] = 'Delito medio', - ['major_offense'] = 'Delito grave', - ['fine_total'] = 'Multa total : ', - --Vehicle Info Menu - ['plate'] = 'N°: ', - ['owner_unknown'] = 'Propietario : Desconocido', - ['owner'] = 'Propietario : ', - --Weapons Menus - ['get_weapon_menu'] = 'Arsenal - Coger armas', - ['put_weapon_menu'] = 'Arsenal - Depositar armas', - ['buy_weapon_menu'] = 'Arsenal - Comprar armas', - ['not_enough_money'] = 'No tienes suficiente dinero', - --Boss Menu - ['take_company_money'] = 'Retirar dinero de la empresa', - ['deposit_money'] = 'Depositar dinero en la empresa', - ['amount_of_withdrawal'] = 'Cantidad a retirar', - ['invalid_amount'] = 'Cantidad inválida', - ['amount_of_deposit'] = 'Cantidad a depositar', - ['open_bossmenu'] = 'Presionar ~INPUT_CONTEXT~ para abrir el menú', - ['quantity_invalid'] = 'Cantidad invalida', - ['have_withdrawn'] = 'Has retirado x', - ['added'] = 'Has metido x', - ['quantity'] = 'Cantidad', - ['inventory'] = 'inventario', - ['police_stock'] = 'Almacen Policial', - --Misc - ['remove_object'] = 'Presionar ~INPUT_CONTEXT~ para eliminar el objeto', - ['map_blip'] = 'Comisaría de policía', - --Notifications - ['from'] = '~s~ de ~b~', - ['you_have_confinv'] = 'Has confiscado ~y~x', - ['confinv'] = '~s~ Te han confiscado ~y~x', - ['you_have_confdm'] = 'Has confiscado ~y~€', - ['confdm'] = '~s~ Te han confiscado ~y~€', - ['you_have_confweapon'] = 'Has confiscado ~y~x1 ', - ['confweapon'] = '~s~ Te han confiscado ~y~x1 ', - ['alert_police'] = 'Alerta policia', - --Authorized Vehicles - ['policebike'] = 'Bicicleta Policía', - ['focuscnp'] = 'Vehículo patrulla 1', - ['tiguancnp'] = 'Vehículo patrulla 2', - ['police3'] = 'Vehículo patrulla 3', - ['police4'] = 'Vehículo Secreta', - ['policeb'] = 'Moto', - ['policet'] = 'Furgón policial', - ['polmav'] = 'Helicóptero de la policía', - ['buzzard2'] = 'Helicóptero de mando', -} \ No newline at end of file +Locales['es'] = { + -- Cloakroom + ['cloakroom'] = 'Taquilla', + ['citizen_wear'] = 'Ropa civil', + ['police_wear'] = 'Ropa CNP', + ['sheriff_wear'] = 'Ropa Oficial', + ['lieutenant_wear'] = 'Ropa Teniente', + ['commandant_wear'] = 'Ropa Secreta', + ['statepd_wear'] = 'Ropa Guardia Civil', + ['specops_wear'] = 'Ropa GEO', + ['open_cloackroom'] = 'Presionar ~INPUT_CONTEXT~ para abrir la taquilla', + -- Armory + ['get_weapon'] = 'Coger arma', + ['put_weapon'] = 'Depositar arma', + ['buy_weapons'] = 'Comprar armas', + ['armory'] = 'Arsenal', + ['open_armory'] = 'Presionarr ~INPUT_CONTEXT~ para acceder a la armeria', + -- Vehicles + ['vehicle_menu'] = 'Vehículo', + ['vehicle_out'] = 'Ya tienes un vehículo fuera', + ['vehicle_spawner'] = 'Presionar ~INPUT_CONTEXT~ para sacar un vehículo', + ['store_vehicle'] = 'Presionar ~INPUT_CONTEXT~ para guardar un vehículo', + ['service_max'] = 'Servicio completado : ', + -- Action Menu + ['citizen_interaction'] = 'Interacción ciudadana', + ['vehicle_interaction'] = 'Interacción vehículo', + ['object_spawner'] = 'Colocar objetos', + + ['id_card'] = 'Documento de identidad', + ['search'] = 'Buscar', + ['handcuff'] = 'Poner/quitar Esposas', + ['drag'] = 'escoltar', + ['put_in_vehicle'] = 'Meter en el vehículo', + ['out_the_vehicle'] = 'Sacar del vehículo', + ['fine'] = 'Multa', + ['no_players_nearby'] = 'No hay jugadores cerca', + + ['vehicle_info'] = 'Información del vehículo', + ['pick_lock'] = 'Forzar coche', + ['vehicle_unlocked'] = 'Vehículo desbloqueado~s~', + ['no_vehicles_nearby'] = 'No hay vehículos cerca', + ['traffic_interaction'] = 'Rutas de interacción', + ['cone'] = 'Cono', + ['barrier'] = 'Barrera', + ['spikestrips'] = 'Grada', + ['box'] = 'Caja', + ['cash'] = 'Dinero', + -- ID Card Menu + ['name'] = 'Nombre : ', + ['bac'] = 'Alcoolemia : ', + -- Body Search Menu + ['confiscate_dirty'] = 'Confiscar dinero negro : €', + ['guns_label'] = '--- Armas ---', + ['confiscate'] = 'Confiscar ', + ['inventory_label'] = '--- Inventario ---', + ['confiscate_inv'] = 'Confiscar x', + + ['traffic_offense'] = 'Delito de tráfico', + ['minor_offense'] = 'Delito menor', + ['average_offense'] = 'Delito medio', + ['major_offense'] = 'Delito grave', + ['fine_total'] = 'Multa total : ', + -- Vehicle Info Menu + ['plate'] = 'N°: ', + ['owner_unknown'] = 'Propietario : Desconocido', + ['owner'] = 'Propietario : ', + -- Weapons Menus + ['get_weapon_menu'] = 'Arsenal - Coger armas', + ['put_weapon_menu'] = 'Arsenal - Depositar armas', + ['buy_weapon_menu'] = 'Arsenal - Comprar armas', + ['not_enough_money'] = 'No tienes suficiente dinero', + -- Boss Menu + ['take_company_money'] = 'Retirar dinero de la empresa', + ['deposit_money'] = 'Depositar dinero en la empresa', + ['amount_of_withdrawal'] = 'Cantidad a retirar', + ['invalid_amount'] = 'Cantidad inválida', + ['amount_of_deposit'] = 'Cantidad a depositar', + ['open_bossmenu'] = 'Presionar ~INPUT_CONTEXT~ para abrir el menú', + ['quantity_invalid'] = 'Cantidad invalida', + ['have_withdrawn'] = 'Has retirado x', + ['added'] = 'Has metido x', + ['quantity'] = 'Cantidad', + ['inventory'] = 'inventario', + ['police_stock'] = 'Almacen Policial', + -- Misc + ['remove_object'] = 'Presionar ~INPUT_CONTEXT~ para eliminar el objeto', + ['map_blip'] = 'Comisaría de policía', + -- Notifications + ['from'] = '~s~ de ~b~', + ['you_have_confinv'] = 'Has confiscado ~y~x', + ['confinv'] = '~s~ Te han confiscado ~y~x', + ['you_have_confdm'] = 'Has confiscado ~y~€', + ['confdm'] = '~s~ Te han confiscado ~y~€', + ['you_have_confweapon'] = 'Has confiscado ~y~x1 ', + ['confweapon'] = '~s~ Te han confiscado ~y~x1 ', + ['alert_police'] = 'Alerta policia', + -- Authorized Vehicles + ['policebike'] = 'Bicicleta Policía', + ['focuscnp'] = 'Vehículo patrulla 1', + ['tiguancnp'] = 'Vehículo patrulla 2', + ['police3'] = 'Vehículo patrulla 3', + ['police4'] = 'Vehículo Secreta', + ['policeb'] = 'Moto', + ['policet'] = 'Furgón policial', + ['polmav'] = 'Helicóptero de la policía', + ['buzzard2'] = 'Helicóptero de mando', +} diff --git a/locales/fr.lua b/locales/fr.lua index f034108b..e0262442 100644 --- a/locales/fr.lua +++ b/locales/fr.lua @@ -1,104 +1,104 @@ Locales['fr'] = { - --Cloakroom - ['cloakroom'] = 'vestiaire', - ['citizen_wear'] = 'tenue Civil', - ['police_wear'] = 'tenue Policier', - ['sheriff_wear'] = 'sheriff Outfit', - ['lieutenant_wear'] = 'Swatt outfit ', - ['commandant_wear'] = 'Fbi outfit', - ['statepd_wear'] = 'State Police outfit', - ['specops_wear'] = 'Spec OPS outfit', - ['open_cloackroom'] = 'appuez sur ~INPUT_CONTEXT~ pour vous changer', - --Armory - ['get_weapon'] = 'prendre Arme', - ['put_weapon'] = 'déposer Arme', - ['buy_weapons'] = 'acheter Armes', - ['armory'] = 'armurerie', - ['open_armory'] = 'appuez sur ~INPUT_CONTEXT~ pour accéder à l\'armurerie', - --Vehicles - ['vehicle_menu'] = 'véhicule', - ['vehicle_out'] = 'il y a déja un véhicule de sorti', - ['vehicle_spawner'] = 'appuez sur ~INPUT_CONTEXT~ pour sortir un véhicule', - ['store_vehicle'] = 'appuez sur ~INPUT_CONTEXT~ pour ranger le véhicule', - ['service_max'] = 'Service complet : ', - --Action Menu - ['citizen_interaction'] = 'interaction citoyen', - ['vehicle_interaction'] = 'interaction véhicule', - ['object_spawner'] = 'placer objets', + -- Cloakroom + ['cloakroom'] = 'vestiaire', + ['citizen_wear'] = 'tenue Civil', + ['police_wear'] = 'tenue Policier', + ['sheriff_wear'] = 'sheriff Outfit', + ['lieutenant_wear'] = 'Swatt outfit ', + ['commandant_wear'] = 'Fbi outfit', + ['statepd_wear'] = 'State Police outfit', + ['specops_wear'] = 'Spec OPS outfit', + ['open_cloackroom'] = 'appuez sur ~INPUT_CONTEXT~ pour vous changer', + -- Armory + ['get_weapon'] = 'prendre Arme', + ['put_weapon'] = 'déposer Arme', + ['buy_weapons'] = 'acheter Armes', + ['armory'] = 'armurerie', + ['open_armory'] = 'appuez sur ~INPUT_CONTEXT~ pour accéder à l\'armurerie', + -- Vehicles + ['vehicle_menu'] = 'véhicule', + ['vehicle_out'] = 'il y a déja un véhicule de sorti', + ['vehicle_spawner'] = 'appuez sur ~INPUT_CONTEXT~ pour sortir un véhicule', + ['store_vehicle'] = 'appuez sur ~INPUT_CONTEXT~ pour ranger le véhicule', + ['service_max'] = 'Service complet : ', + -- Action Menu + ['citizen_interaction'] = 'interaction citoyen', + ['vehicle_interaction'] = 'interaction véhicule', + ['object_spawner'] = 'placer objets', - ['id_card'] = 'carte d\'identité', - ['search'] = 'fouiller', - ['handcuff'] = 'menotter / Démenotter', - ['drag'] = 'escorter', - ['put_in_vehicle'] = 'mettre dans véhicule', - ['out_the_vehicle'] = 'sortir du véhicule', - ['fine'] = 'Amende', - ['no_players_nearby'] = 'aucun joueur à proximité', + ['id_card'] = 'carte d\'identité', + ['search'] = 'fouiller', + ['handcuff'] = 'menotter / Démenotter', + ['drag'] = 'escorter', + ['put_in_vehicle'] = 'mettre dans véhicule', + ['out_the_vehicle'] = 'sortir du véhicule', + ['fine'] = 'Amende', + ['no_players_nearby'] = 'aucun joueur à proximité', - ['vehicle_info'] = 'infos véhicule', - ['pick_lock'] = 'crocheter véhicule', - ['vehicle_unlocked'] = 'véhicule ~g~déverouillé~s~', - ['no_vehicles_nearby'] = 'aucun véhicule à proximité', - ['traffic_interaction'] = 'Interaction Voirie', - ['cone'] = 'plot', - ['barrier'] = 'barrière', - ['spikestrips'] = 'herse', - ['box'] = 'caisse', - ['cash'] = 'caisse', - --ID Card Menu - ['name'] = 'nom : ', - ['bac'] = 'alcoolémie : ', - --Body Search Menu - ['confiscate_dirty'] = 'confisquer argent sale : $', - ['guns_label'] = '--- Armes ---', - ['confiscate'] = 'confisquer ', - ['inventory_label'] = '--- Inventaire ---', - ['confiscate_inv'] = 'confisquer x', + ['vehicle_info'] = 'infos véhicule', + ['pick_lock'] = 'crocheter véhicule', + ['vehicle_unlocked'] = 'véhicule ~g~déverouillé~s~', + ['no_vehicles_nearby'] = 'aucun véhicule à proximité', + ['traffic_interaction'] = 'Interaction Voirie', + ['cone'] = 'plot', + ['barrier'] = 'barrière', + ['spikestrips'] = 'herse', + ['box'] = 'caisse', + ['cash'] = 'caisse', + -- ID Card Menu + ['name'] = 'nom : ', + ['bac'] = 'alcoolémie : ', + -- Body Search Menu + ['confiscate_dirty'] = 'confisquer argent sale : $', + ['guns_label'] = '--- Armes ---', + ['confiscate'] = 'confisquer ', + ['inventory_label'] = '--- Inventaire ---', + ['confiscate_inv'] = 'confisquer x', - ['traffic_offense'] = 'code de la route', - ['minor_offense'] = 'délit mineur', - ['average_offense'] = 'délit moyen', - ['major_offense'] = 'délit grave', - ['fine_total'] = 'amende : ', - --Vehicle Info Menu - ['plate'] = 'N°: ', - ['owner_unknown'] = 'propriétaire : Inconnu', - ['owner'] = 'propriétaire : ', - --Weapons Menus - ['get_weapon_menu'] = 'armurerie - Prendre Arme', - ['put_weapon_menu'] = 'armurerie - Déposer Arme', - ['buy_weapon_menu'] = 'armurerie - Acheter Armes', - ['not_enough_money'] = 'vous n\'avez pas assez d\'argent', - --Boss Menu - ['take_company_money'] = 'retirer argent société', - ['deposit_money'] = 'déposer argent', - ['amount_of_withdrawal'] = 'montant du retrait', - ['invalid_amount'] = 'montant invalide', - ['amount_of_deposit'] = 'montant du dépôt', - ['open_bossmenu'] = 'appuez sur ~INPUT_CONTEXT~ pour ouvrir le menu', - ['quantity_invalid'] = 'Quantité invalide', - ['have_withdrawn'] = 'Vous avez retiré x', - ['added'] = 'Vous avez ajouté x', - ['quantity'] = 'Quantité', - ['inventory'] = 'inventaire', - ['police_stock'] = 'Police Stock', - --Misc - ['remove_object'] = 'appuez sur ~INPUT_CONTEXT~ pour enlever l\'objet', - ['map_blip'] = 'Commissariat', - --Notifications - ['from'] = '~s~ à ~b~', - ['you_have_confinv'] = 'vous avez confisqué ~y~x', - ['confinv'] = '~s~ vous a confisqué ~y~x', - ['you_have_confdm'] = 'vous avez confisqué ~y~$', - ['confdm'] = '~s~ vous a confisqué ~y~$', - ['you_have_confweapon'] = 'vous avez confisqué ~y~x1 ', - ['confweapon'] = '~s~ vous a confisqué ~y~x1 ', - ['alert_police'] = 'alerte police', - --Authorized Vehicles - ['police'] = 'véhicule de patrouille 1', - ['police2'] = 'véhicule de patrouille 2', - ['police3'] = 'véhicule de patrouille 3', - ['police4'] = 'véhicule civil', - ['policeb'] = 'moto', - ['policet'] = 'van de transport', -} \ No newline at end of file + ['traffic_offense'] = 'code de la route', + ['minor_offense'] = 'délit mineur', + ['average_offense'] = 'délit moyen', + ['major_offense'] = 'délit grave', + ['fine_total'] = 'amende : ', + -- Vehicle Info Menu + ['plate'] = 'N°: ', + ['owner_unknown'] = 'propriétaire : Inconnu', + ['owner'] = 'propriétaire : ', + -- Weapons Menus + ['get_weapon_menu'] = 'armurerie - Prendre Arme', + ['put_weapon_menu'] = 'armurerie - Déposer Arme', + ['buy_weapon_menu'] = 'armurerie - Acheter Armes', + ['not_enough_money'] = 'vous n\'avez pas assez d\'argent', + -- Boss Menu + ['take_company_money'] = 'retirer argent société', + ['deposit_money'] = 'déposer argent', + ['amount_of_withdrawal'] = 'montant du retrait', + ['invalid_amount'] = 'montant invalide', + ['amount_of_deposit'] = 'montant du dépôt', + ['open_bossmenu'] = 'appuez sur ~INPUT_CONTEXT~ pour ouvrir le menu', + ['quantity_invalid'] = 'Quantité invalide', + ['have_withdrawn'] = 'Vous avez retiré x', + ['added'] = 'Vous avez ajouté x', + ['quantity'] = 'Quantité', + ['inventory'] = 'inventaire', + ['police_stock'] = 'Police Stock', + -- Misc + ['remove_object'] = 'appuez sur ~INPUT_CONTEXT~ pour enlever l\'objet', + ['map_blip'] = 'Commissariat', + -- Notifications + ['from'] = '~s~ à ~b~', + ['you_have_confinv'] = 'vous avez confisqué ~y~x', + ['confinv'] = '~s~ vous a confisqué ~y~x', + ['you_have_confdm'] = 'vous avez confisqué ~y~$', + ['confdm'] = '~s~ vous a confisqué ~y~$', + ['you_have_confweapon'] = 'vous avez confisqué ~y~x1 ', + ['confweapon'] = '~s~ vous a confisqué ~y~x1 ', + ['alert_police'] = 'alerte police', + -- Authorized Vehicles + ['police'] = 'véhicule de patrouille 1', + ['police2'] = 'véhicule de patrouille 2', + ['police3'] = 'véhicule de patrouille 3', + ['police4'] = 'véhicule civil', + ['policeb'] = 'moto', + ['policet'] = 'van de transport', +} diff --git a/localization/de_config.lua b/localization/de_config.lua index bd6585e8..15753302 100644 --- a/localization/de_config.lua +++ b/localization/de_config.lua @@ -9,74 +9,74 @@ Config.EnableESXIdentity = false -- only turn this on if you are using Config.EnableNonFreemodePeds = false -- turn this on if you want custom peds Config.EnableSocietyOwnedVehicles = false Config.MaxInService = -1 -Config.Locale = 'de' +Config.Locale = 'de' Config.PoliceStations = { - - LSPD = { - Blip = { - Pos = {x = 425.130, y = -979.558, z = 30.711}, - Color = 29 - }, + LSPD = { - AuthorizedWeapons = { - {name = 'WEAPON_NIGHTSTICK', price = 200}, - {name = 'WEAPON_COMBATPISTOL', price = 300}, - {name = 'WEAPON_ASSAULTSMG', price = 1250}, - {name = 'WEAPON_ASSAULTRIFLE', price = 1500}, - {name = 'WEAPON_PUMPSHOTGUN', price = 600}, - {name = 'WEAPON_STUNGUN', price = 500}, - {name = 'WEAPON_FLASHLIGHT', price = 80}, - {name = 'WEAPON_FIREEXTINGUISHER', price = 120}, - {name = 'WEAPON_FLAREGUN', price = 60}, - {name = 'WEAPON_STICKYBOMB', price = 250}, - {name = 'GADGET_PARACHUTE', price = 300}, - }, + Blip = { + Pos = {x = 425.130, y = -979.558, z = 30.711}, + Color = 29 + }, - AuthorizedVehicles = { - {name = 'police' , label = 'Streifenfahrzeug 1'}, - {name = 'police2', label = 'Streifenfahrzeug 2'}, - {name = 'police3', label = 'Streifenfahrzeug 3'}, - {name = 'police4', label = 'Zivilfahrzeug'}, - {name = 'policeb', label = 'Motorrad'}, - {name = 'policet', label = 'Transporter'}, - }, + AuthorizedWeapons = { + {name = 'WEAPON_NIGHTSTICK', price = 200}, + {name = 'WEAPON_COMBATPISTOL', price = 300}, + {name = 'WEAPON_ASSAULTSMG', price = 1250}, + {name = 'WEAPON_ASSAULTRIFLE', price = 1500}, + {name = 'WEAPON_PUMPSHOTGUN', price = 600}, + {name = 'WEAPON_STUNGUN', price = 500}, + {name = 'WEAPON_FLASHLIGHT', price = 80}, + {name = 'WEAPON_FIREEXTINGUISHER', price = 120}, + {name = 'WEAPON_FLAREGUN', price = 60}, + {name = 'WEAPON_STICKYBOMB', price = 250}, + {name = 'GADGET_PARACHUTE', price = 300}, + }, - Cloakrooms = { - {x = 452.600, y = -993.306, z = 29.750} - }, + AuthorizedVehicles = { + {name = 'police' , label = 'Streifenfahrzeug 1'}, + {name = 'police2', label = 'Streifenfahrzeug 2'}, + {name = 'police3', label = 'Streifenfahrzeug 3'}, + {name = 'police4', label = 'Zivilfahrzeug'}, + {name = 'policeb', label = 'Motorrad'}, + {name = 'policet', label = 'Transporter'}, + }, - Armories = { - {x = 451.699, y = -980.356, z = 29.689} - }, + Cloakrooms = { + {x = 452.600, y = -993.306, z = 29.750} + }, - Vehicles = { - { - Spawner = {x = 454.69, y = -1017.4, z = 27.430}, - SpawnPoint = {x = 438.42, y = -1018.3, z = 27.757}, - Heading = 90.0 - } - }, + Armories = { + {x = 451.699, y = -980.356, z = 29.689} + }, - Helicopters = { - { - Spawner = {x = 466.477, y = -982.819, z = 42.691}, - SpawnPoint = {x = 450.04, y = -981.14, z = 42.691}, - Heading = 0.0 - } - }, + Vehicles = { + { + Spawner = {x = 454.69, y = -1017.4, z = 27.430}, + SpawnPoint = {x = 438.42, y = -1018.3, z = 27.757}, + Heading = 90.0 + } + }, - VehicleDeleters = { - {x = 462.74, y = -1014.4, z = 27.065}, - {x = 462.40, y = -1019.7, z = 27.104} - }, + Helicopters = { + { + Spawner = {x = 466.477, y = -982.819, z = 42.691}, + SpawnPoint = {x = 450.04, y = -981.14, z = 42.691}, + Heading = 0.0 + } + }, - BossActions = { - {x = 448.417, y = -973.208, z = 29.689} - } + VehicleDeleters = { + {x = 462.74, y = -1014.4, z = 27.065}, + {x = 462.40, y = -1019.7, z = 27.104} + }, - } + BossActions = { + {x = 448.417, y = -973.208, z = 29.689} + } + + } } diff --git a/localization/de_esx_policejob.sql b/localization/de_esx_policejob.sql index 7889aae5..3a10f65d 100644 --- a/localization/de_esx_policejob.sql +++ b/localization/de_esx_policejob.sql @@ -1,33 +1,33 @@ -INSERT INTO `addon_account` (name, label, shared) VALUES - ('society_police','Polizei',1) +INSERT INTO `addon_account` (name, label, shared) VALUES + ('society_police','Polizei',1) ; -INSERT INTO `datastore` (name, label, shared) VALUES - ('society_police','Polizei',1) +INSERT INTO `datastore` (name, label, shared) VALUES + ('society_police','Polizei',1) ; -INSERT INTO `addon_inventory` (name, label, shared) VALUES - ('society_police', 'Polizei', 1) +INSERT INTO `addon_inventory` (name, label, shared) VALUES + ('society_police', 'Polizei', 1) ; -INSERT INTO `jobs` (name, label) VALUES - ('police','LSPD') +INSERT INTO `jobs` (name, label) VALUES + ('police','LSPD') ; INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES - ('police',0,'recruit','Rekrut',20,'{\"tshirt_1\":57,\"torso_1\":55,\"arms\":0,\"pants_1\":35,\"glasses\":0,\"decals_2\":0,\"hair_color_2\":0,\"helmet_2\":0,\"hair_color_1\":5,\"face\":19,\"glasses_2\":1,\"torso_2\":0,\"shoes\":24,\"hair_1\":2,\"skin\":34,\"sex\":0,\"glasses_1\":0,\"pants_2\":0,\"hair_2\":0,\"decals_1\":0,\"tshirt_2\":0,\"helmet_1\":8}','{\"tshirt_1\":34,\"torso_1\":48,\"shoes\":24,\"pants_1\":34,\"torso_2\":0,\"decals_2\":0,\"hair_color_2\":0,\"glasses\":0,\"helmet_2\":0,\"hair_2\":3,\"face\":21,\"decals_1\":0,\"glasses_2\":1,\"hair_1\":11,\"skin\":34,\"sex\":1,\"glasses_1\":5,\"pants_2\":0,\"arms\":14,\"hair_color_1\":10,\"tshirt_2\":0,\"helmet_1\":57}'), - ('police',1,'sergeant','Sergent',40,'{\"tshirt_1\":58,\"torso_1\":55,\"shoes\":24,\"pants_1\":35,\"pants_2\":0,\"decals_2\":1,\"hair_color_2\":0,\"face\":19,\"helmet_2\":0,\"hair_2\":0,\"arms\":0,\"decals_1\":8,\"torso_2\":0,\"hair_1\":2,\"skin\":34,\"sex\":0,\"glasses_1\":0,\"glasses_2\":1,\"hair_color_1\":5,\"glasses\":0,\"tshirt_2\":0,\"helmet_1\":11}','{\"tshirt_1\":35,\"torso_1\":48,\"arms\":14,\"pants_1\":34,\"pants_2\":0,\"decals_2\":1,\"hair_color_2\":0,\"shoes\":24,\"helmet_2\":0,\"hair_2\":3,\"decals_1\":7,\"torso_2\":0,\"face\":21,\"hair_1\":11,\"skin\":34,\"sex\":1,\"glasses_1\":5,\"glasses_2\":1,\"hair_color_1\":10,\"glasses\":0,\"tshirt_2\":0,\"helmet_1\":57}'), - ('police',2,'lieutenant','Lieutenant',65,'{\"tshirt_1\":58,\"torso_1\":55,\"shoes\":24,\"pants_1\":35,\"pants_2\":0,\"decals_2\":2,\"hair_color_2\":0,\"face\":19,\"helmet_2\":0,\"hair_2\":0,\"glasses\":0,\"decals_1\":8,\"hair_color_1\":5,\"hair_1\":2,\"skin\":34,\"sex\":0,\"glasses_1\":0,\"glasses_2\":1,\"torso_2\":0,\"arms\":41,\"tshirt_2\":0,\"helmet_1\":11}','{\"tshirt_1\":35,\"torso_1\":48,\"arms\":44,\"pants_1\":34,\"hair_2\":3,\"decals_2\":2,\"hair_color_2\":0,\"hair_color_1\":10,\"helmet_2\":0,\"face\":21,\"shoes\":24,\"torso_2\":0,\"glasses_2\":1,\"hair_1\":11,\"skin\":34,\"sex\":1,\"glasses_1\":5,\"pants_2\":0,\"decals_1\":7,\"glasses\":0,\"tshirt_2\":0,\"helmet_1\":57}'), - ('police',3,'boss','Commandant',80,'{\"tshirt_1\":58,\"torso_1\":55,\"shoes\":24,\"pants_1\":35,\"pants_2\":0,\"decals_2\":3,\"hair_color_2\":0,\"face\":19,\"helmet_2\":0,\"hair_2\":0,\"arms\":41,\"torso_2\":0,\"hair_color_1\":5,\"hair_1\":2,\"skin\":34,\"sex\":0,\"glasses_1\":0,\"glasses_2\":1,\"decals_1\":8,\"glasses\":0,\"tshirt_2\":0,\"helmet_1\":11}','{\"tshirt_1\":35,\"torso_1\":48,\"arms\":44,\"pants_1\":34,\"pants_2\":0,\"decals_2\":3,\"hair_color_2\":0,\"face\":21,\"helmet_2\":0,\"hair_2\":3,\"decals_1\":7,\"torso_2\":0,\"hair_color_1\":10,\"hair_1\":11,\"skin\":34,\"sex\":1,\"glasses_1\":5,\"glasses_2\":1,\"shoes\":24,\"glasses\":0,\"tshirt_2\":0,\"helmet_1\":57}') + ('police',0,'recruit','Rekrut',20,'{\"tshirt_1\":57,\"torso_1\":55,\"arms\":0,\"pants_1\":35,\"glasses\":0,\"decals_2\":0,\"hair_color_2\":0,\"helmet_2\":0,\"hair_color_1\":5,\"face\":19,\"glasses_2\":1,\"torso_2\":0,\"shoes\":24,\"hair_1\":2,\"skin\":34,\"sex\":0,\"glasses_1\":0,\"pants_2\":0,\"hair_2\":0,\"decals_1\":0,\"tshirt_2\":0,\"helmet_1\":8}','{\"tshirt_1\":34,\"torso_1\":48,\"shoes\":24,\"pants_1\":34,\"torso_2\":0,\"decals_2\":0,\"hair_color_2\":0,\"glasses\":0,\"helmet_2\":0,\"hair_2\":3,\"face\":21,\"decals_1\":0,\"glasses_2\":1,\"hair_1\":11,\"skin\":34,\"sex\":1,\"glasses_1\":5,\"pants_2\":0,\"arms\":14,\"hair_color_1\":10,\"tshirt_2\":0,\"helmet_1\":57}'), + ('police',1,'sergeant','Sergent',40,'{\"tshirt_1\":58,\"torso_1\":55,\"shoes\":24,\"pants_1\":35,\"pants_2\":0,\"decals_2\":1,\"hair_color_2\":0,\"face\":19,\"helmet_2\":0,\"hair_2\":0,\"arms\":0,\"decals_1\":8,\"torso_2\":0,\"hair_1\":2,\"skin\":34,\"sex\":0,\"glasses_1\":0,\"glasses_2\":1,\"hair_color_1\":5,\"glasses\":0,\"tshirt_2\":0,\"helmet_1\":11}','{\"tshirt_1\":35,\"torso_1\":48,\"arms\":14,\"pants_1\":34,\"pants_2\":0,\"decals_2\":1,\"hair_color_2\":0,\"shoes\":24,\"helmet_2\":0,\"hair_2\":3,\"decals_1\":7,\"torso_2\":0,\"face\":21,\"hair_1\":11,\"skin\":34,\"sex\":1,\"glasses_1\":5,\"glasses_2\":1,\"hair_color_1\":10,\"glasses\":0,\"tshirt_2\":0,\"helmet_1\":57}'), + ('police',2,'lieutenant','Lieutenant',65,'{\"tshirt_1\":58,\"torso_1\":55,\"shoes\":24,\"pants_1\":35,\"pants_2\":0,\"decals_2\":2,\"hair_color_2\":0,\"face\":19,\"helmet_2\":0,\"hair_2\":0,\"glasses\":0,\"decals_1\":8,\"hair_color_1\":5,\"hair_1\":2,\"skin\":34,\"sex\":0,\"glasses_1\":0,\"glasses_2\":1,\"torso_2\":0,\"arms\":41,\"tshirt_2\":0,\"helmet_1\":11}','{\"tshirt_1\":35,\"torso_1\":48,\"arms\":44,\"pants_1\":34,\"hair_2\":3,\"decals_2\":2,\"hair_color_2\":0,\"hair_color_1\":10,\"helmet_2\":0,\"face\":21,\"shoes\":24,\"torso_2\":0,\"glasses_2\":1,\"hair_1\":11,\"skin\":34,\"sex\":1,\"glasses_1\":5,\"pants_2\":0,\"decals_1\":7,\"glasses\":0,\"tshirt_2\":0,\"helmet_1\":57}'), + ('police',3,'boss','Commandant',80,'{\"tshirt_1\":58,\"torso_1\":55,\"shoes\":24,\"pants_1\":35,\"pants_2\":0,\"decals_2\":3,\"hair_color_2\":0,\"face\":19,\"helmet_2\":0,\"hair_2\":0,\"arms\":41,\"torso_2\":0,\"hair_color_1\":5,\"hair_1\":2,\"skin\":34,\"sex\":0,\"glasses_1\":0,\"glasses_2\":1,\"decals_1\":8,\"glasses\":0,\"tshirt_2\":0,\"helmet_1\":11}','{\"tshirt_1\":35,\"torso_1\":48,\"arms\":44,\"pants_1\":34,\"pants_2\":0,\"decals_2\":3,\"hair_color_2\":0,\"face\":21,\"helmet_2\":0,\"hair_2\":3,\"decals_1\":7,\"torso_2\":0,\"hair_color_1\":10,\"hair_1\":11,\"skin\":34,\"sex\":1,\"glasses_1\":5,\"glasses_2\":1,\"shoes\":24,\"glasses\":0,\"tshirt_2\":0,\"helmet_1\":57}') ; CREATE TABLE `fine_types` ( - + `id` int(11) NOT NULL AUTO_INCREMENT, `label` varchar(255) DEFAULT NULL, `amount` int(11) DEFAULT NULL, `category` int(11) DEFAULT NULL, - + PRIMARY KEY (`id`) ); @@ -83,4 +83,4 @@ INSERT INTO `fine_types` VALUES ('49', 'Mord an Zivilisten', '10000', '3'); INSERT INTO `fine_types` VALUES ('50', 'Mord an Beamten', '30000', '3'); INSERT INTO `fine_types` VALUES ('51', 'versehentlicher Mord', '1800', '3'); INSERT INTO `fine_types` VALUES ('52', 'Firmenbetrug', '2000', '2'); -; \ No newline at end of file +; diff --git a/localization/en_config.lua b/localization/en_config.lua index 880efeba..3d14bb2a 100644 --- a/localization/en_config.lua +++ b/localization/en_config.lua @@ -9,253 +9,253 @@ Config.EnableESXIdentity = false -- only turn this on if you are using Config.EnableNonFreemodePeds = false -- turn this on if you want custom peds Config.EnableSocietyOwnedVehicles = false Config.MaxInService = -1 -Config.Locale = 'en' +Config.Locale = 'en' Config.PoliceStations = { - LSPD1 = { - Blip = { - Pos = {x = 425.130, y = -979.558, z = 30.711}, - Color = 29 - }, + LSPD1 = { + Blip = { + Pos = {x = 425.130, y = -979.558, z = 30.711}, + Color = 29 + }, - AuthorizedWeapons = { - {name = 'WEAPON_NIGHTSTICK', price = 200}, - {name = 'WEAPON_COMBATPISTOL', price = 300}, - {name = 'WEAPON_ASSAULTSMG', price = 1250}, - {name = 'WEAPON_SPECIALCARBINE', price = 1500}, - {name = 'WEAPON_PUMPSHOTGUN', price = 600}, - {name = 'WEAPON_STUNGUN', price = 500}, - {name = 'WEAPON_FLASHLIGHT', price = 80}, - {name = 'WEAPON_FIREEXTINGUISHER', price = 120}, - {name = 'WEAPON_FLAREGUN', price = 60}, - }, + AuthorizedWeapons = { + {name = 'WEAPON_NIGHTSTICK', price = 200}, + {name = 'WEAPON_COMBATPISTOL', price = 300}, + {name = 'WEAPON_ASSAULTSMG', price = 1250}, + {name = 'WEAPON_SPECIALCARBINE', price = 1500}, + {name = 'WEAPON_PUMPSHOTGUN', price = 600}, + {name = 'WEAPON_STUNGUN', price = 500}, + {name = 'WEAPON_FLASHLIGHT', price = 80}, + {name = 'WEAPON_FIREEXTINGUISHER', price = 120}, + {name = 'WEAPON_FLAREGUN', price = 60}, + }, - AuthorizedVehicles = { - {name = 'police' , label = 'Police Vehicle 1'}, - {name = 'police2', label = 'Police Vehicle 2'}, - {name = 'police3', label = 'Police Vehicle 3'}, - {name = 'police4', label = 'Police Vehicle 4'}, - {name = 'policeb', label = 'Motorcycle'}, - {name = 'policet', label = 'Transport Van'}, - }, + AuthorizedVehicles = { + {name = 'police' , label = 'Police Vehicle 1'}, + {name = 'police2', label = 'Police Vehicle 2'}, + {name = 'police3', label = 'Police Vehicle 3'}, + {name = 'police4', label = 'Police Vehicle 4'}, + {name = 'policeb', label = 'Motorcycle'}, + {name = 'policet', label = 'Transport Van'}, + }, - Cloakrooms = { - {x = 452.600, y = -993.306, z = 29.750} - }, + Cloakrooms = { + {x = 452.600, y = -993.306, z = 29.750} + }, - Armories = { - {x = 451.699, y = -980.356, z = 29.689} - }, + Armories = { + {x = 451.699, y = -980.356, z = 29.689} + }, - Vehicles = { - { - Spawner = {x = 454.69, y = -1017.4, z = 27.430}, - SpawnPoint = {x = 438.42, y = -1018.3, z = 27.757}, - Heading = 90.0 - } - }, + Vehicles = { + { + Spawner = {x = 454.69, y = -1017.4, z = 27.430}, + SpawnPoint = {x = 438.42, y = -1018.3, z = 27.757}, + Heading = 90.0 + } + }, - Helicopters = { - { - Spawner = {x = 466.477, y = -982.819, z = 42.691}, - SpawnPoint = {x = 450.04, y = -981.14, z = 42.691}, - Heading = 0.0 - } - }, + Helicopters = { + { + Spawner = {x = 466.477, y = -982.819, z = 42.691}, + SpawnPoint = {x = 450.04, y = -981.14, z = 42.691}, + Heading = 0.0 + } + }, - VehicleDeleters = { - {x = 462.74, y = -1014.4, z = 27.065}, - {x = 462.40, y = -1019.7, z = 27.104} - }, + VehicleDeleters = { + {x = 462.74, y = -1014.4, z = 27.065}, + {x = 462.40, y = -1019.7, z = 27.104} + }, - BossActions = { - {x = 448.417, y = -973.208, z = 29.689} - } + BossActions = { + {x = 448.417, y = -973.208, z = 29.689} + } - }, + }, - SASP1 = { - Blip = { - Pos = {x = 825.34204101563, y = -1290.0471191406, z = 28.240659713745 }, - Color = 40 - }, + SASP1 = { + Blip = { + Pos = {x = 825.34204101563, y = -1290.0471191406, z = 28.240659713745 }, + Color = 40 + }, - AuthorizedWeapons = { - {name = 'WEAPON_NIGHTSTICK', price = 200}, - {name = 'WEAPON_COMBATPISTOL', price = 300}, - {name = 'WEAPON_ASSAULTSMG', price = 1250}, - {name = 'WEAPON_SPECIALCARBINE', price = 1500}, - {name = 'WEAPON_PUMPSHOTGUN', price = 600}, - {name = 'WEAPON_STUNGUN', price = 500}, - {name = 'WEAPON_FLASHLIGHT', price = 80}, - {name = 'WEAPON_FIREEXTINGUISHER', price = 120}, - {name = 'WEAPON_FLAREGUN', price = 60}, - }, + AuthorizedWeapons = { + {name = 'WEAPON_NIGHTSTICK', price = 200}, + {name = 'WEAPON_COMBATPISTOL', price = 300}, + {name = 'WEAPON_ASSAULTSMG', price = 1250}, + {name = 'WEAPON_SPECIALCARBINE', price = 1500}, + {name = 'WEAPON_PUMPSHOTGUN', price = 600}, + {name = 'WEAPON_STUNGUN', price = 500}, + {name = 'WEAPON_FLASHLIGHT', price = 80}, + {name = 'WEAPON_FIREEXTINGUISHER', price = 120}, + {name = 'WEAPON_FLAREGUN', price = 60}, + }, - AuthorizedVehicles = { - {name = 'police' , label = 'Police Vehicle 1'}, - {name = 'police2', label = 'Police Vehicle 2'}, - {name = 'police3', label = 'Police Vehicle 3'}, - {name = 'police4', label = 'Police Vehicle 4'}, - {name = 'policeb', label = 'Motorcycle'}, - {name = 'policet', label = 'Transport Van'}, - }, + AuthorizedVehicles = { + {name = 'police' , label = 'Police Vehicle 1'}, + {name = 'police2', label = 'Police Vehicle 2'}, + {name = 'police3', label = 'Police Vehicle 3'}, + {name = 'police4', label = 'Police Vehicle 4'}, + {name = 'policeb', label = 'Motorcycle'}, + {name = 'policet', label = 'Transport Van'}, + }, - Cloakrooms = { - {x = 830.11590576172, y = -1311.4512939453, z = 28.13673210144 } -- state pd - }, + Cloakrooms = { + {x = 830.11590576172, y = -1311.4512939453, z = 28.13673210144 } -- state pd + }, - Armories = { - {x = 858.25366210938, y = -1321.5992431641, z = 28.136734008789 } -- state pd - }, + Armories = { + {x = 858.25366210938, y = -1321.5992431641, z = 28.136734008789 } -- state pd + }, - Vehicles = { - { - Spawner = {x = 863.17700195313, y = -1346.2406005859, z = 26.039228439331 }, --state pd - SpawnPoint = {x = 871.07720947266, y = -1350.00390625, z = 26.3092918396 }, -- state pd - Heading = 90.0 --state pd - } - }, + Vehicles = { + { + Spawner = {x = 863.17700195313, y = -1346.2406005859, z = 26.039228439331 }, --state pd + SpawnPoint = {x = 871.07720947266, y = -1350.00390625, z = 26.3092918396 }, -- state pd + Heading = 90.0 --state pd + } + }, - Helicopters = { - { - Spawner = {x = 466.477, y = -982.819, z = 42.691}, - SpawnPoint = {x = 450.04, y = -981.14, z = 42.691}, - Heading = 0.0 - } - }, + Helicopters = { + { + Spawner = {x = 466.477, y = -982.819, z = 42.691}, + SpawnPoint = {x = 450.04, y = -981.14, z = 42.691}, + Heading = 0.0 + } + }, - VehicleDeleters = { - {x = 823.95031738281, y = -1371.1483154297, z = 26.136753082275 } --state pd - }, + VehicleDeleters = { + {x = 823.95031738281, y = -1371.1483154297, z = 26.136753082275 } --state pd + }, - BossActions = { - {x = 850.228515625, y = -1284.50390625, z = 28.004758834839 } --state pd - } + BossActions = { + {x = 850.228515625, y = -1284.50390625, z = 28.004758834839 } --state pd + } - }, + }, - LSPD2 = { - Blip = { - Pos = {x = -441.80764770508, y = 6012.5131835938, z = 31.716369628906 }, - Color = 29 - }, + LSPD2 = { + Blip = { + Pos = {x = -441.80764770508, y = 6012.5131835938, z = 31.716369628906 }, + Color = 29 + }, - AuthorizedWeapons = { - {name = 'WEAPON_NIGHTSTICK', price = 200}, - {name = 'WEAPON_COMBATPISTOL', price = 300}, - {name = 'WEAPON_ASSAULTSMG', price = 1250}, - {name = 'WEAPON_SPECIALCARBINE', price = 1500}, - {name = 'WEAPON_PUMPSHOTGUN', price = 600}, - {name = 'WEAPON_STUNGUN', price = 500}, - {name = 'WEAPON_FLASHLIGHT', price = 80}, - {name = 'WEAPON_FIREEXTINGUISHER', price = 120}, - {name = 'WEAPON_FLAREGUN', price = 60}, - }, + AuthorizedWeapons = { + {name = 'WEAPON_NIGHTSTICK', price = 200}, + {name = 'WEAPON_COMBATPISTOL', price = 300}, + {name = 'WEAPON_ASSAULTSMG', price = 1250}, + {name = 'WEAPON_SPECIALCARBINE', price = 1500}, + {name = 'WEAPON_PUMPSHOTGUN', price = 600}, + {name = 'WEAPON_STUNGUN', price = 500}, + {name = 'WEAPON_FLASHLIGHT', price = 80}, + {name = 'WEAPON_FIREEXTINGUISHER', price = 120}, + {name = 'WEAPON_FLAREGUN', price = 60}, + }, - AuthorizedVehicles = { - {name = 'police' , label = 'Police Vehicle 1'}, - {name = 'police2', label = 'Police Vehicle 2'}, - {name = 'police3', label = 'Police Vehicle 3'}, - {name = 'police4', label = 'Police Vehicle 4'}, - {name = 'policeb', label = 'Motorcycle'}, - {name = 'policet', label = 'Transport Van'}, - }, + AuthorizedVehicles = { + {name = 'police' , label = 'Police Vehicle 1'}, + {name = 'police2', label = 'Police Vehicle 2'}, + {name = 'police3', label = 'Police Vehicle 3'}, + {name = 'police4', label = 'Police Vehicle 4'}, + {name = 'policeb', label = 'Motorcycle'}, + {name = 'policet', label = 'Transport Van'}, + }, - Cloakrooms = { - {x = -450.2878112793, y = 6016.482421875, z = 31.716369628906 }, - }, + Cloakrooms = { + {x = -450.2878112793, y = 6016.482421875, z = 31.716369628906 }, + }, - Armories = { - {x = -448.04425048828, y = 6007.7104492188, z = 31.716369628906 }, - }, + Armories = { + {x = -448.04425048828, y = 6007.7104492188, z = 31.716369628906 }, + }, - Vehicles = { - { - Spawner = {x = -452.30313110352, y = 6005.6704101563, z = 31.840929031372 }, - SpawnPoint = {x = -454.96899414063, y = 6001.8876953125, z = 31.340549468994 }, - Heading = 87.0 - } - }, + Vehicles = { + { + Spawner = {x = -452.30313110352, y = 6005.6704101563, z = 31.840929031372 }, + SpawnPoint = {x = -454.96899414063, y = 6001.8876953125, z = 31.340549468994 }, + Heading = 87.0 + } + }, - Helicopters = { - { - Spawner = {x = -462.88317871094, y = 5993.7685546875, z = 31.245756149292 }, - SpawnPoint = {x = -475.48043823242, y = 5988.326171875, z = 31.336708068848 }, - Heading = 270.0 - } - }, + Helicopters = { + { + Spawner = {x = -462.88317871094, y = 5993.7685546875, z = 31.245756149292 }, + SpawnPoint = {x = -475.48043823242, y = 5988.326171875, z = 31.336708068848 }, + Heading = 270.0 + } + }, - VehicleDeleters = { - {x = -447.64434814453, y = 5994.5024414063, z = 31.340551376343 }, - }, + VehicleDeleters = { + {x = -447.64434814453, y = 5994.5024414063, z = 31.340551376343 }, + }, - BossActions = { - {x = -441.80764770508, y = 6012.5131835938, z = 31.716369628906 }, - } + BossActions = { + {x = -441.80764770508, y = 6012.5131835938, z = 31.716369628906 }, + } - }, + }, - SASP2 = { - Blip = { - Pos = {x = 1851.0972900391, y = 3683.7622070313, z = 34.26708984375 }, - Color = 40 - }, + SASP2 = { + Blip = { + Pos = {x = 1851.0972900391, y = 3683.7622070313, z = 34.26708984375 }, + Color = 40 + }, - AuthorizedWeapons = { - {name = 'WEAPON_NIGHTSTICK', price = 200}, - {name = 'WEAPON_COMBATPISTOL', price = 300}, - {name = 'WEAPON_ASSAULTSMG', price = 1250}, - {name = 'WEAPON_SPECIALCARBINE', price = 1500}, - {name = 'WEAPON_PUMPSHOTGUN', price = 600}, - {name = 'WEAPON_STUNGUN', price = 500}, - {name = 'WEAPON_FLASHLIGHT', price = 80}, - {name = 'WEAPON_FIREEXTINGUISHER', price = 120}, - {name = 'WEAPON_FLAREGUN', price = 60}, - }, + AuthorizedWeapons = { + {name = 'WEAPON_NIGHTSTICK', price = 200}, + {name = 'WEAPON_COMBATPISTOL', price = 300}, + {name = 'WEAPON_ASSAULTSMG', price = 1250}, + {name = 'WEAPON_SPECIALCARBINE', price = 1500}, + {name = 'WEAPON_PUMPSHOTGUN', price = 600}, + {name = 'WEAPON_STUNGUN', price = 500}, + {name = 'WEAPON_FLASHLIGHT', price = 80}, + {name = 'WEAPON_FIREEXTINGUISHER', price = 120}, + {name = 'WEAPON_FLAREGUN', price = 60}, + }, - AuthorizedVehicles = { - {name = 'police' , label = 'Police Vehicle 1'}, - {name = 'police2', label = 'Police Vehicle 2'}, - {name = 'police3', label = 'Police Vehicle 3'}, - {name = 'police4', label = 'Police Vehicle 4'}, - {name = 'policeb', label = 'Motorcycle'}, - {name = 'policet', label = 'Transport Van'}, - }, + AuthorizedVehicles = { + {name = 'police' , label = 'Police Vehicle 1'}, + {name = 'police2', label = 'Police Vehicle 2'}, + {name = 'police3', label = 'Police Vehicle 3'}, + {name = 'police4', label = 'Police Vehicle 4'}, + {name = 'policeb', label = 'Motorcycle'}, + {name = 'policet', label = 'Transport Van'}, + }, - Cloakrooms = { - {x = 1857.2354736328, y = 3689.8408203125, z = 34.26708984375 }, -- state pd - }, + Cloakrooms = { + {x = 1857.2354736328, y = 3689.8408203125, z = 34.26708984375 }, -- state pd + }, - Armories = { - {x = 1848.3413085938, y = 3690.1345214844, z = 34.26708984375 }, -- state pd - }, + Armories = { + {x = 1848.3413085938, y = 3690.1345214844, z = 34.26708984375 }, -- state pd + }, - Vehicles = { - { - Spawner = {x = 1866.208984375, y = 3693.8125, z = 33.737236022949 }, --state pd - SpawnPoint = {x = 1872.9417724609, y = 3690.5759277344, z = 33.569362640381 }, -- state pd - Heading = 90.0 --state pd - } - }, + Vehicles = { + { + Spawner = {x = 1866.208984375, y = 3693.8125, z = 33.737236022949 }, --state pd + SpawnPoint = {x = 1872.9417724609, y = 3690.5759277344, z = 33.569362640381 }, -- state pd + Heading = 90.0 --state pd + } + }, - Helicopters = { - { - Spawner = {x = 466.477, y = -982.819, z = 42.691}, - SpawnPoint = {x = 450.04, y = -981.14, z = 42.691}, - Heading = 0.0 - } - }, + Helicopters = { + { + Spawner = {x = 466.477, y = -982.819, z = 42.691}, + SpawnPoint = {x = 450.04, y = -981.14, z = 42.691}, + Heading = 0.0 + } + }, - VehicleDeleters = { - {x = 1866.4152832031, y = 3699.6052246094, z = 33.535938262939 }, --state pd - }, + VehicleDeleters = { + {x = 1866.4152832031, y = 3699.6052246094, z = 33.535938262939 }, --state pd + }, - BossActions = { - {x = 1851.0972900391, y = 3683.7622070313, z = 34.26708984375 }, --state pd - } + BossActions = { + {x = 1851.0972900391, y = 3683.7622070313, z = 34.26708984375 }, --state pd + } - }, + }, } diff --git a/localization/esx_policejob_en.sql b/localization/esx_policejob_en.sql index 204e54df..ac8ee619 100644 --- a/localization/esx_policejob_en.sql +++ b/localization/esx_policejob_en.sql @@ -1,87 +1,87 @@ -INSERT INTO `addon_account` (name, label, shared) VALUES - ('society_police','Police',1) +INSERT INTO `addon_account` (name, label, shared) VALUES + ('society_police','Police',1) ; -INSERT INTO `datastore` (name, label, shared) VALUES - ('society_police','Police',1) +INSERT INTO `datastore` (name, label, shared) VALUES + ('society_police','Police',1) ; -INSERT INTO `addon_inventory` (name, label, shared) VALUES - ('society_police', 'Police', 1) +INSERT INTO `addon_inventory` (name, label, shared) VALUES + ('society_police', 'Police', 1) ; -INSERT INTO `jobs` (name, label) VALUES - ('police','LSPD') +INSERT INTO `jobs` (name, label) VALUES + ('police','LSPD') ; INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES - ('police',0,'recruit','Recruit',20,'{\"tshirt_1\":57,\"torso_1\":55,\"arms\":0,\"pants_1\":35,\"glasses\":0,\"decals_2\":0,\"hair_color_2\":0,\"helmet_2\":0,\"hair_color_1\":5,\"face\":19,\"glasses_2\":1,\"torso_2\":0,\"shoes\":24,\"hair_1\":2,\"skin\":34,\"sex\":0,\"glasses_1\":0,\"pants_2\":0,\"hair_2\":0,\"decals_1\":0,\"tshirt_2\":0,\"helmet_1\":8}','{\"tshirt_1\":34,\"torso_1\":48,\"shoes\":24,\"pants_1\":34,\"torso_2\":0,\"decals_2\":0,\"hair_color_2\":0,\"glasses\":0,\"helmet_2\":0,\"hair_2\":3,\"face\":21,\"decals_1\":0,\"glasses_2\":1,\"hair_1\":11,\"skin\":34,\"sex\":1,\"glasses_1\":5,\"pants_2\":0,\"arms\":14,\"hair_color_1\":10,\"tshirt_2\":0,\"helmet_1\":57}'), - ('police',1,'sergeant','Sergeant',40,'{\"tshirt_1\":58,\"torso_1\":55,\"shoes\":24,\"pants_1\":35,\"pants_2\":0,\"decals_2\":1,\"hair_color_2\":0,\"face\":19,\"helmet_2\":0,\"hair_2\":0,\"arms\":0,\"decals_1\":8,\"torso_2\":0,\"hair_1\":2,\"skin\":34,\"sex\":0,\"glasses_1\":0,\"glasses_2\":1,\"hair_color_1\":5,\"glasses\":0,\"tshirt_2\":0,\"helmet_1\":11}','{\"tshirt_1\":35,\"torso_1\":48,\"arms\":14,\"pants_1\":34,\"pants_2\":0,\"decals_2\":1,\"hair_color_2\":0,\"shoes\":24,\"helmet_2\":0,\"hair_2\":3,\"decals_1\":7,\"torso_2\":0,\"face\":21,\"hair_1\":11,\"skin\":34,\"sex\":1,\"glasses_1\":5,\"glasses_2\":1,\"hair_color_1\":10,\"glasses\":0,\"tshirt_2\":0,\"helmet_1\":57}'), - ('police',2,'lieutenant','Lieutenant',65,'{\"tshirt_1\":58,\"torso_1\":55,\"shoes\":24,\"pants_1\":35,\"pants_2\":0,\"decals_2\":2,\"hair_color_2\":0,\"face\":19,\"helmet_2\":0,\"hair_2\":0,\"glasses\":0,\"decals_1\":8,\"hair_color_1\":5,\"hair_1\":2,\"skin\":34,\"sex\":0,\"glasses_1\":0,\"glasses_2\":1,\"torso_2\":0,\"arms\":41,\"tshirt_2\":0,\"helmet_1\":11}','{\"tshirt_1\":35,\"torso_1\":48,\"arms\":44,\"pants_1\":34,\"hair_2\":3,\"decals_2\":2,\"hair_color_2\":0,\"hair_color_1\":10,\"helmet_2\":0,\"face\":21,\"shoes\":24,\"torso_2\":0,\"glasses_2\":1,\"hair_1\":11,\"skin\":34,\"sex\":1,\"glasses_1\":5,\"pants_2\":0,\"decals_1\":7,\"glasses\":0,\"tshirt_2\":0,\"helmet_1\":57}'), - ('police',3,'boss','Chief',80,'{\"tshirt_1\":58,\"torso_1\":55,\"shoes\":24,\"pants_1\":35,\"pants_2\":0,\"decals_2\":3,\"hair_color_2\":0,\"face\":19,\"helmet_2\":0,\"hair_2\":0,\"arms\":41,\"torso_2\":0,\"hair_color_1\":5,\"hair_1\":2,\"skin\":34,\"sex\":0,\"glasses_1\":0,\"glasses_2\":1,\"decals_1\":8,\"glasses\":0,\"tshirt_2\":0,\"helmet_1\":11}','{\"tshirt_1\":35,\"torso_1\":48,\"arms\":44,\"pants_1\":34,\"pants_2\":0,\"decals_2\":3,\"hair_color_2\":0,\"face\":21,\"helmet_2\":0,\"hair_2\":3,\"decals_1\":7,\"torso_2\":0,\"hair_color_1\":10,\"hair_1\":11,\"skin\":34,\"sex\":1,\"glasses_1\":5,\"glasses_2\":1,\"shoes\":24,\"glasses\":0,\"tshirt_2\":0,\"helmet_1\":57}') + ('police',0,'recruit','Recruit',20,'{\"tshirt_1\":57,\"torso_1\":55,\"arms\":0,\"pants_1\":35,\"glasses\":0,\"decals_2\":0,\"hair_color_2\":0,\"helmet_2\":0,\"hair_color_1\":5,\"face\":19,\"glasses_2\":1,\"torso_2\":0,\"shoes\":24,\"hair_1\":2,\"skin\":34,\"sex\":0,\"glasses_1\":0,\"pants_2\":0,\"hair_2\":0,\"decals_1\":0,\"tshirt_2\":0,\"helmet_1\":8}','{\"tshirt_1\":34,\"torso_1\":48,\"shoes\":24,\"pants_1\":34,\"torso_2\":0,\"decals_2\":0,\"hair_color_2\":0,\"glasses\":0,\"helmet_2\":0,\"hair_2\":3,\"face\":21,\"decals_1\":0,\"glasses_2\":1,\"hair_1\":11,\"skin\":34,\"sex\":1,\"glasses_1\":5,\"pants_2\":0,\"arms\":14,\"hair_color_1\":10,\"tshirt_2\":0,\"helmet_1\":57}'), + ('police',1,'sergeant','Sergeant',40,'{\"tshirt_1\":58,\"torso_1\":55,\"shoes\":24,\"pants_1\":35,\"pants_2\":0,\"decals_2\":1,\"hair_color_2\":0,\"face\":19,\"helmet_2\":0,\"hair_2\":0,\"arms\":0,\"decals_1\":8,\"torso_2\":0,\"hair_1\":2,\"skin\":34,\"sex\":0,\"glasses_1\":0,\"glasses_2\":1,\"hair_color_1\":5,\"glasses\":0,\"tshirt_2\":0,\"helmet_1\":11}','{\"tshirt_1\":35,\"torso_1\":48,\"arms\":14,\"pants_1\":34,\"pants_2\":0,\"decals_2\":1,\"hair_color_2\":0,\"shoes\":24,\"helmet_2\":0,\"hair_2\":3,\"decals_1\":7,\"torso_2\":0,\"face\":21,\"hair_1\":11,\"skin\":34,\"sex\":1,\"glasses_1\":5,\"glasses_2\":1,\"hair_color_1\":10,\"glasses\":0,\"tshirt_2\":0,\"helmet_1\":57}'), + ('police',2,'lieutenant','Lieutenant',65,'{\"tshirt_1\":58,\"torso_1\":55,\"shoes\":24,\"pants_1\":35,\"pants_2\":0,\"decals_2\":2,\"hair_color_2\":0,\"face\":19,\"helmet_2\":0,\"hair_2\":0,\"glasses\":0,\"decals_1\":8,\"hair_color_1\":5,\"hair_1\":2,\"skin\":34,\"sex\":0,\"glasses_1\":0,\"glasses_2\":1,\"torso_2\":0,\"arms\":41,\"tshirt_2\":0,\"helmet_1\":11}','{\"tshirt_1\":35,\"torso_1\":48,\"arms\":44,\"pants_1\":34,\"hair_2\":3,\"decals_2\":2,\"hair_color_2\":0,\"hair_color_1\":10,\"helmet_2\":0,\"face\":21,\"shoes\":24,\"torso_2\":0,\"glasses_2\":1,\"hair_1\":11,\"skin\":34,\"sex\":1,\"glasses_1\":5,\"pants_2\":0,\"decals_1\":7,\"glasses\":0,\"tshirt_2\":0,\"helmet_1\":57}'), + ('police',3,'boss','Chief',80,'{\"tshirt_1\":58,\"torso_1\":55,\"shoes\":24,\"pants_1\":35,\"pants_2\":0,\"decals_2\":3,\"hair_color_2\":0,\"face\":19,\"helmet_2\":0,\"hair_2\":0,\"arms\":41,\"torso_2\":0,\"hair_color_1\":5,\"hair_1\":2,\"skin\":34,\"sex\":0,\"glasses_1\":0,\"glasses_2\":1,\"decals_1\":8,\"glasses\":0,\"tshirt_2\":0,\"helmet_1\":11}','{\"tshirt_1\":35,\"torso_1\":48,\"arms\":44,\"pants_1\":34,\"pants_2\":0,\"decals_2\":3,\"hair_color_2\":0,\"face\":21,\"helmet_2\":0,\"hair_2\":3,\"decals_1\":7,\"torso_2\":0,\"hair_color_1\":10,\"hair_1\":11,\"skin\":34,\"sex\":1,\"glasses_1\":5,\"glasses_2\":1,\"shoes\":24,\"glasses\":0,\"tshirt_2\":0,\"helmet_1\":57}') ; CREATE TABLE `fine_types` ( - + `id` int(11) NOT NULL AUTO_INCREMENT, `label` varchar(255) DEFAULT NULL, `amount` int(11) DEFAULT NULL, `category` int(11) DEFAULT NULL, - + PRIMARY KEY (`id`) ); -INSERT INTO `fine_types` (label, amount, category) VALUES - ('Misuse of a horn', 30, 0), - ('Illegally Crossing a continuous Line', 40, 0), - ('Driving on the wrong side of the road', 250, 0), - ('Illegal U-Turn', 250, 0), - ('Illegally Driving Off-road', 170, 0), - ('Refusing a Lawful Command', 30, 0), - ('Illegally Stoped of a Vehicle', 150, 0), - ('Illegal Parking', 70, 0), - ('Failing to Yield to the right', 70, 0), - ('Failure to comply with Vehicle Information', 90, 0), - ('Failing to stop at a Stop Sign ', 105, 0), - ('Failing to stop at a Red Light', 130, 0), - ('Illegal Passing', 100, 0), - ('Driving an illegal Vehicle', 100, 0), - ('Driving without a License', 1500, 0), - ('Hit and Run', 800, 0), - ('Exceeding Speeds Over < 5 mph', 90, 0), - ('Exceeding Speeds Over 5-15 mph', 120, 0), - ('Exceeding Speeds Over 15-30 mph', 180, 0), - ('Exceeding Speeds Over > 30 mph', 300, 0), - ('Impeding traffic flow', 110, 1), - ('Public Intoxication', 90, 1), - ('Disorderly conduct', 90, 1), - ('Obstruction of Justice', 130, 1), - ('Insults towards Civilans', 75, 1), - ('Disrespecting of an LEO', 110, 1), - ('Verbal Threat towards a Civilan', 90, 1), - ('Verbal Threat towards an LEO', 150, 1), - ('Providing False Information', 250, 1), - ('Attempt of Corruption', 1500, 1), - ('Brandishing a weapon in city Limits', 120, 2), - ('Brandishing a Lethal Weapon in city Limits', 300, 2), - ('No Firearms License', 600, 2), - ('Possession of an Illegal Weapon', 700, 2), - ('Possession of Burglary Tools', 300, 2), - ('Grand Theft Auto', 1800, 2), - ('Intent to Sell/Distrube of an illegal Substance', 1500, 2), - ('Frabrication of an Illegal Substance', 1500, 2), - ('Possession of an Illegal Substance ', 650, 2), - ('Kidnapping of a Civilan', 1500, 2), - ('Kidnapping of an LEO', 2000, 2), - ('Robbery', 650, 2), - ('Armed Robbery of a Store', 650, 2), - ('Armed Robbery of a Bank', 1500, 2), - ('Assault on a Civilian', 2000, 3), - ('Assault of an LEO', 2500, 3), - ('Attempt of Murder of a Civilian', 3000, 3), - ('Attempt of Murder of an LEO', 5000, 3), - ('Murder of a Civilian', 10000, 3), - ('Murder of an LEO', 30000, 3), - ('Involuntary manslaughter', 1800, 3), - ('Fraud', 2000, 2); +INSERT INTO `fine_types` (label, amount, category) VALUES + ('Misuse of a horn', 30, 0), + ('Illegally Crossing a continuous Line', 40, 0), + ('Driving on the wrong side of the road', 250, 0), + ('Illegal U-Turn', 250, 0), + ('Illegally Driving Off-road', 170, 0), + ('Refusing a Lawful Command', 30, 0), + ('Illegally Stoped of a Vehicle', 150, 0), + ('Illegal Parking', 70, 0), + ('Failing to Yield to the right', 70, 0), + ('Failure to comply with Vehicle Information', 90, 0), + ('Failing to stop at a Stop Sign ', 105, 0), + ('Failing to stop at a Red Light', 130, 0), + ('Illegal Passing', 100, 0), + ('Driving an illegal Vehicle', 100, 0), + ('Driving without a License', 1500, 0), + ('Hit and Run', 800, 0), + ('Exceeding Speeds Over < 5 mph', 90, 0), + ('Exceeding Speeds Over 5-15 mph', 120, 0), + ('Exceeding Speeds Over 15-30 mph', 180, 0), + ('Exceeding Speeds Over > 30 mph', 300, 0), + ('Impeding traffic flow', 110, 1), + ('Public Intoxication', 90, 1), + ('Disorderly conduct', 90, 1), + ('Obstruction of Justice', 130, 1), + ('Insults towards Civilans', 75, 1), + ('Disrespecting of an LEO', 110, 1), + ('Verbal Threat towards a Civilan', 90, 1), + ('Verbal Threat towards an LEO', 150, 1), + ('Providing False Information', 250, 1), + ('Attempt of Corruption', 1500, 1), + ('Brandishing a weapon in city Limits', 120, 2), + ('Brandishing a Lethal Weapon in city Limits', 300, 2), + ('No Firearms License', 600, 2), + ('Possession of an Illegal Weapon', 700, 2), + ('Possession of Burglary Tools', 300, 2), + ('Grand Theft Auto', 1800, 2), + ('Intent to Sell/Distrube of an illegal Substance', 1500, 2), + ('Frabrication of an Illegal Substance', 1500, 2), + ('Possession of an Illegal Substance ', 650, 2), + ('Kidnapping of a Civilan', 1500, 2), + ('Kidnapping of an LEO', 2000, 2), + ('Robbery', 650, 2), + ('Armed Robbery of a Store', 650, 2), + ('Armed Robbery of a Bank', 1500, 2), + ('Assault on a Civilian', 2000, 3), + ('Assault of an LEO', 2500, 3), + ('Attempt of Murder of a Civilian', 3000, 3), + ('Attempt of Murder of an LEO', 5000, 3), + ('Murder of a Civilian', 10000, 3), + ('Murder of an LEO', 30000, 3), + ('Involuntary manslaughter', 1800, 3), + ('Fraud', 2000, 2); ; diff --git a/server/main.lua b/server/main.lua index a20a550e..53ffb312 100644 --- a/server/main.lua +++ b/server/main.lua @@ -3,7 +3,7 @@ ESX = nil TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end) if Config.MaxInService ~= -1 then - TriggerEvent('esx_service:activateService', 'police', Config.MaxInService) + TriggerEvent('esx_service:activateService', 'police', Config.MaxInService) end TriggerEvent('esx_phone:registerNumber', 'police', _U('alert_police'), true, true) @@ -11,64 +11,64 @@ TriggerEvent('esx_society:registerSociety', 'police', 'Police', 'society_police' RegisterServerEvent('esx_policejob:giveWeapon') AddEventHandler('esx_policejob:giveWeapon', function(weapon, ammo) - local xPlayer = ESX.GetPlayerFromId(source) - xPlayer.addWeapon(weapon, ammo) + local xPlayer = ESX.GetPlayerFromId(source) + xPlayer.addWeapon(weapon, ammo) end) RegisterServerEvent('esx_policejob:confiscatePlayerItem') AddEventHandler('esx_policejob:confiscatePlayerItem', function(target, itemType, itemName, amount) - - local sourceXPlayer = ESX.GetPlayerFromId(source) - local targetXPlayer = ESX.GetPlayerFromId(target) - if itemType == 'item_standard' then + local sourceXPlayer = ESX.GetPlayerFromId(source) + local targetXPlayer = ESX.GetPlayerFromId(target) - local label = sourceXPlayer.getInventoryItem(itemName).label + if itemType == 'item_standard' then - targetXPlayer.removeInventoryItem(itemName, amount) - sourceXPlayer.addInventoryItem(itemName, amount) + local label = sourceXPlayer.getInventoryItem(itemName).label - TriggerClientEvent('esx:showNotification', sourceXPlayer.source, _U('you_have_confinv') .. amount .. ' ' .. label .. _U('from') .. targetXPlayer.name) - TriggerClientEvent('esx:showNotification', targetXPlayer.source, '~b~' .. targetXPlayer.name .. _U('confinv') .. amount .. ' ' .. label ) + targetXPlayer.removeInventoryItem(itemName, amount) + sourceXPlayer.addInventoryItem(itemName, amount) - end + TriggerClientEvent('esx:showNotification', sourceXPlayer.source, _U('you_have_confinv') .. amount .. ' ' .. label .. _U('from') .. targetXPlayer.name) + TriggerClientEvent('esx:showNotification', targetXPlayer.source, '~b~' .. targetXPlayer.name .. _U('confinv') .. amount .. ' ' .. label ) - if itemType == 'item_account' then + end - targetXPlayer.removeAccountMoney(itemName, amount) - sourceXPlayer.addAccountMoney(itemName, amount) + if itemType == 'item_account' then - TriggerClientEvent('esx:showNotification', sourceXPlayer.source, _U('you_have_confdm') .. amount .. _U('from') .. targetXPlayer.name) - TriggerClientEvent('esx:showNotification', targetXPlayer.source, '~b~' .. targetXPlayer.name .. _U('confdm') .. amount) + targetXPlayer.removeAccountMoney(itemName, amount) + sourceXPlayer.addAccountMoney(itemName, amount) - end + TriggerClientEvent('esx:showNotification', sourceXPlayer.source, _U('you_have_confdm') .. amount .. _U('from') .. targetXPlayer.name) + TriggerClientEvent('esx:showNotification', targetXPlayer.source, '~b~' .. targetXPlayer.name .. _U('confdm') .. amount) - if itemType == 'item_weapon' then + end - targetXPlayer.removeWeapon(itemName) - sourceXPlayer.addWeapon(itemName, amount) + if itemType == 'item_weapon' then - TriggerClientEvent('esx:showNotification', sourceXPlayer.source, _U('you_have_confweapon') .. ESX.GetWeaponLabel(itemName) .. _U('from') .. targetXPlayer.name) - TriggerClientEvent('esx:showNotification', targetXPlayer.source, '~b~' .. targetXPlayer.name .. _U('confweapon') .. ESX.GetWeaponLabel(itemName)) + targetXPlayer.removeWeapon(itemName) + sourceXPlayer.addWeapon(itemName, amount) - end + TriggerClientEvent('esx:showNotification', sourceXPlayer.source, _U('you_have_confweapon') .. ESX.GetWeaponLabel(itemName) .. _U('from') .. targetXPlayer.name) + TriggerClientEvent('esx:showNotification', targetXPlayer.source, '~b~' .. targetXPlayer.name .. _U('confweapon') .. ESX.GetWeaponLabel(itemName)) + + end end) RegisterServerEvent('esx_policejob:handcuff') AddEventHandler('esx_policejob:handcuff', function(target) - TriggerClientEvent('esx_policejob:handcuff', target) + TriggerClientEvent('esx_policejob:handcuff', target) end) RegisterServerEvent('esx_policejob:drag') AddEventHandler('esx_policejob:drag', function(target) - local _source = source - TriggerClientEvent('esx_policejob:drag', target, _source) + local _source = source + TriggerClientEvent('esx_policejob:drag', target, _source) end) RegisterServerEvent('esx_policejob:putInVehicle') AddEventHandler('esx_policejob:putInVehicle', function(target) - TriggerClientEvent('esx_policejob:putInVehicle', target) + TriggerClientEvent('esx_policejob:putInVehicle', target) end) RegisterServerEvent('esx_policejob:OutVehicle') @@ -79,380 +79,380 @@ end) RegisterServerEvent('esx_policejob:getStockItem') AddEventHandler('esx_policejob:getStockItem', function(itemName, count) - local xPlayer = ESX.GetPlayerFromId(source) + local xPlayer = ESX.GetPlayerFromId(source) - TriggerEvent('esx_addoninventory:getSharedInventory', 'society_police', function(inventory) + TriggerEvent('esx_addoninventory:getSharedInventory', 'society_police', function(inventory) - local item = inventory.getItem(itemName) + local item = inventory.getItem(itemName) - if item.count >= count then - inventory.removeItem(itemName, count) - xPlayer.addInventoryItem(itemName, count) - else - TriggerClientEvent('esx:showNotification', xPlayer.source, _U('quantity_invalid')) - end + if item.count >= count then + inventory.removeItem(itemName, count) + xPlayer.addInventoryItem(itemName, count) + else + TriggerClientEvent('esx:showNotification', xPlayer.source, _U('quantity_invalid')) + end - TriggerClientEvent('esx:showNotification', xPlayer.source, _U('have_withdrawn') .. count .. ' ' .. item.label) + TriggerClientEvent('esx:showNotification', xPlayer.source, _U('have_withdrawn') .. count .. ' ' .. item.label) - end) + end) end) RegisterServerEvent('esx_policejob:putStockItems') AddEventHandler('esx_policejob:putStockItems', function(itemName, count) - local xPlayer = ESX.GetPlayerFromId(source) + local xPlayer = ESX.GetPlayerFromId(source) - TriggerEvent('esx_addoninventory:getSharedInventory', 'society_police', function(inventory) + TriggerEvent('esx_addoninventory:getSharedInventory', 'society_police', function(inventory) - local item = inventory.getItem(itemName) + local item = inventory.getItem(itemName) - if item.count >= 0 then - xPlayer.removeInventoryItem(itemName, count) - inventory.addItem(itemName, count) - else - TriggerClientEvent('esx:showNotification', xPlayer.source, _U('quantity_invalid')) - end + if item.count >= 0 then + xPlayer.removeInventoryItem(itemName, count) + inventory.addItem(itemName, count) + else + TriggerClientEvent('esx:showNotification', xPlayer.source, _U('quantity_invalid')) + end - TriggerClientEvent('esx:showNotification', xPlayer.source, _U('added') .. count .. ' ' .. item.label) + TriggerClientEvent('esx:showNotification', xPlayer.source, _U('added') .. count .. ' ' .. item.label) - end) + end) end) ESX.RegisterServerCallback('esx_policejob:getOtherPlayerData', function(source, cb, target) - if Config.EnableESXIdentity then - - local xPlayer = ESX.GetPlayerFromId(target) - - local identifier = GetPlayerIdentifiers(target)[1] - - local result = MySQL.Sync.fetchAll("SELECT * FROM characters WHERE identifier = @identifier", { - ['@identifier'] = identifier - }) - - local user = result[1] - local firstname = user['firstname'] - local lastname = user['lastname'] - local sex = user['sex'] - local dob = user['dateofbirth'] - local heightInit = user['height'] - local heightFeet = tonumber(string.format("%.0f",heightInit / 12, 0)) - local heightInches = tonumber(string.format("%.0f",heightInit % 12, 0)) - local height = heightFeet .. "\' " .. heightInches .. "\"" - - local data = { - name = GetPlayerName(target), - job = xPlayer.job, - inventory = xPlayer.inventory, - accounts = xPlayer.accounts, - weapons = xPlayer.loadout, - firstname = firstname, - lastname = lastname, - sex = sex, - dob = dob, - height = height - } - - TriggerEvent('esx_status:getStatus', source, 'drunk', function(status) + if Config.EnableESXIdentity then - if status ~= nil then - data.drunk = math.floor(status.percent) - end - - end) + local xPlayer = ESX.GetPlayerFromId(target) - if Config.EnableLicenses then + local identifier = GetPlayerIdentifiers(target)[1] - TriggerEvent('esx_license:getLicenses', source, function(licenses) - data.licenses = licenses - cb(data) - end) + local result = MySQL.Sync.fetchAll("SELECT * FROM characters WHERE identifier = @identifier", { + ['@identifier'] = identifier + }) - else - cb(data) - end - - else - - local xPlayer = ESX.GetPlayerFromId(target) + local user = result[1] + local firstname = user['firstname'] + local lastname = user['lastname'] + local sex = user['sex'] + local dob = user['dateofbirth'] + local heightInit = user['height'] + local heightFeet = tonumber(string.format("%.0f",heightInit / 12, 0)) + local heightInches = tonumber(string.format("%.0f",heightInit % 12, 0)) + local height = heightFeet .. "\' " .. heightInches .. "\"" - local data = { - name = GetPlayerName(target), - job = xPlayer.job, - inventory = xPlayer.inventory, - accounts = xPlayer.accounts, - weapons = xPlayer.loadout - } - - TriggerEvent('esx_status:getStatus', _source, 'drunk', function(status) + local data = { + name = GetPlayerName(target), + job = xPlayer.job, + inventory = xPlayer.inventory, + accounts = xPlayer.accounts, + weapons = xPlayer.loadout, + firstname = firstname, + lastname = lastname, + sex = sex, + dob = dob, + height = height + } - if status ~= nil then - data.drunk = status.getPercent() - end - - end) + TriggerEvent('esx_status:getStatus', source, 'drunk', function(status) - TriggerEvent('esx_license:getLicenses', _source, function(licenses) - data.licenses = licenses - end) + if status ~= nil then + data.drunk = math.floor(status.percent) + end - cb(data) - - end + end) + + if Config.EnableLicenses then + + TriggerEvent('esx_license:getLicenses', source, function(licenses) + data.licenses = licenses + cb(data) + end) + + else + cb(data) + end + + else + + local xPlayer = ESX.GetPlayerFromId(target) + + local data = { + name = GetPlayerName(target), + job = xPlayer.job, + inventory = xPlayer.inventory, + accounts = xPlayer.accounts, + weapons = xPlayer.loadout + } + + TriggerEvent('esx_status:getStatus', _source, 'drunk', function(status) + + if status ~= nil then + data.drunk = status.getPercent() + end + + end) + + TriggerEvent('esx_license:getLicenses', _source, function(licenses) + data.licenses = licenses + end) + + cb(data) + + end end) ESX.RegisterServerCallback('esx_policejob:getFineList', function(source, cb, category) - MySQL.Async.fetchAll( - 'SELECT * FROM fine_types WHERE category = @category', - { - ['@category'] = category - }, - function(fines) - cb(fines) - end - ) + MySQL.Async.fetchAll( + 'SELECT * FROM fine_types WHERE category = @category', + { + ['@category'] = category + }, + function(fines) + cb(fines) + end + ) end) ESX.RegisterServerCallback('esx_policejob:getVehicleInfos', function(source, cb, plate) - if Config.EnableESXIdentity then - - MySQL.Async.fetchAll( - 'SELECT * FROM owned_vehicles', - {}, - function(result) - - local foundIdentifier = nil + if Config.EnableESXIdentity then - for i=1, #result, 1 do - - local vehicleData = json.decode(result[i].vehicle) + MySQL.Async.fetchAll( + 'SELECT * FROM owned_vehicles', + {}, + function(result) - if vehicleData.plate == plate then - foundIdentifier = result[i].owner - break - end + local foundIdentifier = nil - end + for i=1, #result, 1 do - if foundIdentifier ~= nil then + local vehicleData = json.decode(result[i].vehicle) - MySQL.Async.fetchAll( - 'SELECT * FROM characters WHERE identifier = @identifier', - { - ['@identifier'] = foundIdentifier - }, - function(result) - - local ownerName = result[1].firstname .. " " .. result[1].lastname + if vehicleData.plate == plate then + foundIdentifier = result[i].owner + break + end - local infos = { - plate = plate, - owner = ownerName - } + end - cb(infos) + if foundIdentifier ~= nil then - end - ) - - else + MySQL.Async.fetchAll( + 'SELECT * FROM characters WHERE identifier = @identifier', + { + ['@identifier'] = foundIdentifier + }, + function(result) - local infos = { - plate = plate - } + local ownerName = result[1].firstname .. " " .. result[1].lastname - cb(infos) + local infos = { + plate = plate, + owner = ownerName + } - end + cb(infos) - end - ) - - else - - MySQL.Async.fetchAll( - 'SELECT * FROM owned_vehicles', - {}, - function(result) - - local foundIdentifier = nil + end + ) - for i=1, #result, 1 do - - local vehicleData = json.decode(result[i].vehicle) + else - if vehicleData.plate == plate then - foundIdentifier = result[i].owner - break - end + local infos = { + plate = plate + } - end + cb(infos) - if foundIdentifier ~= nil then + end - MySQL.Async.fetchAll( - 'SELECT * FROM users WHERE identifier = @identifier', - { - ['@identifier'] = foundIdentifier - }, - function(result) + end + ) - local infos = { - plate = plate, - owner = result[1].name - } + else - cb(infos) + MySQL.Async.fetchAll( + 'SELECT * FROM owned_vehicles', + {}, + function(result) - end - ) - - else + local foundIdentifier = nil - local infos = { - plate = plate - } + for i=1, #result, 1 do - cb(infos) + local vehicleData = json.decode(result[i].vehicle) - end + if vehicleData.plate == plate then + foundIdentifier = result[i].owner + break + end - end - ) - - end + end + + if foundIdentifier ~= nil then + + MySQL.Async.fetchAll( + 'SELECT * FROM users WHERE identifier = @identifier', + { + ['@identifier'] = foundIdentifier + }, + function(result) + + local infos = { + plate = plate, + owner = result[1].name + } + + cb(infos) + + end + ) + + else + + local infos = { + plate = plate + } + + cb(infos) + + end + + end + ) + + end end) ESX.RegisterServerCallback('esx_policejob:getArmoryWeapons', function(source, cb) - TriggerEvent('esx_datastore:getSharedDataStore', 'society_police', function(store) + TriggerEvent('esx_datastore:getSharedDataStore', 'society_police', function(store) - local weapons = store.get('weapons') + local weapons = store.get('weapons') - if weapons == nil then - weapons = {} - end + if weapons == nil then + weapons = {} + end - cb(weapons) + cb(weapons) - end) + end) end) ESX.RegisterServerCallback('esx_policejob:addArmoryWeapon', function(source, cb, weaponName) - - local xPlayer = ESX.GetPlayerFromId(source) - xPlayer.removeWeapon(weaponName) + local xPlayer = ESX.GetPlayerFromId(source) - TriggerEvent('esx_datastore:getSharedDataStore', 'society_police', function(store) + xPlayer.removeWeapon(weaponName) - local weapons = store.get('weapons') + TriggerEvent('esx_datastore:getSharedDataStore', 'society_police', function(store) - if weapons == nil then - weapons = {} - end + local weapons = store.get('weapons') - local foundWeapon = false + if weapons == nil then + weapons = {} + end - for i=1, #weapons, 1 do - if weapons[i].name == weaponName then - weapons[i].count = weapons[i].count + 1 - foundWeapon = true - end - end + local foundWeapon = false - if not foundWeapon then - table.insert(weapons, { - name = weaponName, - count = 1 - }) - end + for i=1, #weapons, 1 do + if weapons[i].name == weaponName then + weapons[i].count = weapons[i].count + 1 + foundWeapon = true + end + end - store.set('weapons', weapons) + if not foundWeapon then + table.insert(weapons, { + name = weaponName, + count = 1 + }) + end - cb() + store.set('weapons', weapons) - end) + cb() + + end) end) ESX.RegisterServerCallback('esx_policejob:removeArmoryWeapon', function(source, cb, weaponName) - - local xPlayer = ESX.GetPlayerFromId(source) - xPlayer.addWeapon(weaponName, 1000) + local xPlayer = ESX.GetPlayerFromId(source) - TriggerEvent('esx_datastore:getSharedDataStore', 'society_police', function(store) + xPlayer.addWeapon(weaponName, 1000) - local weapons = store.get('weapons') + TriggerEvent('esx_datastore:getSharedDataStore', 'society_police', function(store) - if weapons == nil then - weapons = {} - end + local weapons = store.get('weapons') - local foundWeapon = false + if weapons == nil then + weapons = {} + end - for i=1, #weapons, 1 do - if weapons[i].name == weaponName then - weapons[i].count = (weapons[i].count > 0 and weapons[i].count - 1 or 0) - foundWeapon = true - end - end + local foundWeapon = false - if not foundWeapon then - table.insert(weapons, { - name = weaponName, - count = 0 - }) - end + for i=1, #weapons, 1 do + if weapons[i].name == weaponName then + weapons[i].count = (weapons[i].count > 0 and weapons[i].count - 1 or 0) + foundWeapon = true + end + end - store.set('weapons', weapons) + if not foundWeapon then + table.insert(weapons, { + name = weaponName, + count = 0 + }) + end - cb() + store.set('weapons', weapons) - end) + cb() + + end) end) ESX.RegisterServerCallback('esx_policejob:buy', function(source, cb, amount) - - TriggerEvent('esx_addonaccount:getSharedAccount', 'society_police', function(account) - if account.money >= amount then - account.removeMoney(amount) - cb(true) - else - cb(false) - end + TriggerEvent('esx_addonaccount:getSharedAccount', 'society_police', function(account) - end) + if account.money >= amount then + account.removeMoney(amount) + cb(true) + else + cb(false) + end + + end) end) ESX.RegisterServerCallback('esx_policejob:getStockItems', function(source, cb) - TriggerEvent('esx_addoninventory:getSharedInventory', 'society_police', function(inventory) - cb(inventory.items) - end) + TriggerEvent('esx_addoninventory:getSharedInventory', 'society_police', function(inventory) + cb(inventory.items) + end) end) ESX.RegisterServerCallback('esx_policejob:getPlayerInventory', function(source, cb) - local xPlayer = ESX.GetPlayerFromId(source) - local items = xPlayer.inventory + local xPlayer = ESX.GetPlayerFromId(source) + local items = xPlayer.inventory - cb({ - items = items - }) + cb({ + items = items + }) end)