From 2423c431a60d09cbe718ab2216bab57fb9f9e43b Mon Sep 17 00:00:00 2001 From: LuaDeldu Date: Thu, 18 Jan 2018 15:57:41 +0100 Subject: [PATCH 1/3] Code optimization - Better cloakroom system - Easy clothes configuration (config.lua) Thanks to renaiku --- client/main.lua | 451 ++++++------------------------------------------ config.lua | 144 ++++++++++++++++ locales/en.lua | 1 + locales/fr.lua | 15 +- 4 files changed, 205 insertions(+), 406 deletions(-) diff --git a/client/main.lua b/client/main.lua index 01da2cbc..3f52e0ee 100644 --- a/client/main.lua +++ b/client/main.lua @@ -48,10 +48,48 @@ function SetVehicleMaxMods(vehicle) end +function cleanPlayer(playerPed) + SetPedArmour(playerPed, 0) + ClearPedBloodDamage(playerPed) + ResetPedVisibleDamage(playerPed) + ClearPedLastWeaponDamage(playerPed) + ResetPedMovementClipset(playerPed, 0) +end + +function setUniform(job, playerPed) + TriggerEvent('skinchanger:getSkin', function(skin) + + if skin.sex == 0 then + if Config.Uniforms[job].male ~= nil then + TriggerEvent('skinchanger:loadClothes', skin, Config.Uniforms[job].male) + else + ESX.ShowNotification(_U('no_outfit')) + end + if job == 'bullet_wear' then + SetPedArmour(playerPed, 100) + end + else + if Config.Uniforms[job].female ~= nil then + TriggerEvent('skinchanger:loadClothes', skin, Config.Uniforms[job].female) + else + ESX.ShowNotification(_U('no_outfit')) + end + if job == 'bullet_wear' then + SetPedArmour(playerPed, 100) + end + end + + end) +end + function OpenCloakroomMenu() + local playerPed = GetPlayerPed(-1) + local elements = { - { label = _U('citizen_wear'), value = 'citizen_wear' } + { label = _U('citizen_wear'), value = 'citizen_wear' }, + { label = _U('bullet_wear'), value = 'bullet_wear' }, + { label = _U('gilet_wear'), value = 'gilet_wear' } } if PlayerData.job.grade_name == 'recruit' then @@ -80,9 +118,6 @@ function OpenCloakroomMenu() table.insert(elements, {label = _U('commandant_wear'), value = 'commandant_wear_freemode'}) end - table.insert(elements, {label = _U('bullet_wear'), value = 'bullet_wear'}) - table.insert(elements, {label = _U('gilet_wear'), value = 'gilet_wear'}) - ESX.UI.Menu.CloseAll() ESX.UI.Menu.Open( @@ -93,404 +128,25 @@ function OpenCloakroomMenu() elements = elements, }, function(data, menu) - menu.close() + + cleanPlayer(playerPed) if data.current.value == 'citizen_wear' then - ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin) - local model = nil - - if skin.sex == 0 then - model = GetHashKey("mp_m_freemode_01") - else - model = GetHashKey("mp_f_freemode_01") - end - - RequestModel(model) - while not HasModelLoaded(model) do - RequestModel(model) - Citizen.Wait(1) - end - - SetPlayerModel(PlayerId(), model) - SetModelAsNoLongerNeeded(model) - + ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin) TriggerEvent('skinchanger:loadSkin', skin) - TriggerEvent('esx:restoreLoadout') - local playerPed = GetPlayerPed(-1) - SetPedArmour(playerPed, 0) - ClearPedBloodDamage(playerPed) - ResetPedVisibleDamage(playerPed) - ClearPedLastWeaponDamage(playerPed) end) end - if data.current.value == 'cadet_wear' then - TriggerEvent('skinchanger:getSkin', function(skin) - - if skin.sex == 0 then - - local clothesSkin = { - ['tshirt_1'] = 59, ['tshirt_2'] = 1, - ['torso_1'] = 55, ['torso_2'] = 0, - ['decals_1'] = 0, ['decals_2'] = 0, - ['arms'] = 41, - ['pants_1'] = 25, ['pants_2'] = 0, - ['shoes_1'] = 25, ['shoes_2'] = 0, - ['helmet_1'] = 46, ['helmet_2'] = 0, - ['chain_1'] = 0, ['chain_2'] = 0, - ['ears_1'] = 2, ['ears_2'] = 0 - } - TriggerEvent('skinchanger:loadClothes', skin, clothesSkin) - - else - - local clothesSkin = { - ['tshirt_1'] = 36, ['tshirt_2'] = 1, - ['torso_1'] = 48, ['torso_2'] = 0, - ['decals_1'] = 0, ['decals_2'] = 0, - ['arms'] = 44, - ['pants_1'] = 34, ['pants_2'] = 0, - ['shoes_1'] = 27, ['shoes_2'] = 0, - ['helmet_1'] = 45, ['helmet_2'] = 0, - ['chain_1'] = 0, ['chain_2'] = 0, - ['ears_1'] = 2, ['ears_2'] = 0 - } - TriggerEvent('skinchanger:loadClothes', skin, clothesSkin) - - end - - local playerPed = GetPlayerPed(-1) - SetPedArmour(playerPed, 0) - ClearPedBloodDamage(playerPed) - ResetPedVisibleDamage(playerPed) - ClearPedLastWeaponDamage(playerPed) - - end) - end - - if data.current.value == 'police_wear' then - TriggerEvent('skinchanger:getSkin', function(skin) - - if skin.sex == 0 then - - local clothesSkin = { - ['tshirt_1'] = 58, ['tshirt_2'] = 0, - ['torso_1'] = 55, ['torso_2'] = 0, - ['decals_1'] = 0, ['decals_2'] = 0, - ['arms'] = 41, - ['pants_1'] = 25, ['pants_2'] = 0, - ['shoes_1'] = 25, ['shoes_2'] = 0, - ['helmet_1'] = -1, ['helmet_2'] = 0, - ['chain_1'] = 0, ['chain_2'] = 0, - ['ears_1'] = 2, ['ears_2'] = 0 - } - TriggerEvent('skinchanger:loadClothes', skin, clothesSkin) - - else - - local clothesSkin = { - ['tshirt_1'] = 35, ['tshirt_2'] = 0, - ['torso_1'] = 48, ['torso_2'] = 0, - ['decals_1'] = 0, ['decals_2'] = 0, - ['arms'] = 44, - ['pants_1'] = 34, ['pants_2'] = 0, - ['shoes_1'] = 27, ['shoes_2'] = 0, - ['helmet_1'] = -1, ['helmet_2'] = 0, - ['chain_1'] = 0, ['chain_2'] = 0, - ['ears_1'] = 2, ['ears_2'] = 0 - } - TriggerEvent('skinchanger:loadClothes', skin, clothesSkin) - - end - - local playerPed = GetPlayerPed(-1) - SetPedArmour(playerPed, 0) - ClearPedBloodDamage(playerPed) - ResetPedVisibleDamage(playerPed) - ClearPedLastWeaponDamage(playerPed) - - end) - end - - if data.current.value == 'sergeant_wear' then - TriggerEvent('skinchanger:getSkin', function(skin) - - if skin.sex == 0 then - - local clothesSkin = { - ['tshirt_1'] = 58, ['tshirt_2'] = 0, - ['torso_1'] = 55, ['torso_2'] = 0, - ['decals_1'] = 8, ['decals_2'] = 1, - ['arms'] = 41, - ['pants_1'] = 25, ['pants_2'] = 0, - ['shoes_1'] = 25, ['shoes_2'] = 0, - ['helmet_1'] = -1, ['helmet_2'] = 0, - ['chain_1'] = 0, ['chain_2'] = 0, - ['ears_1'] = 2, ['ears_2'] = 0 - } - TriggerEvent('skinchanger:loadClothes', skin, clothesSkin) - - else - - local clothesSkin = { - ['tshirt_1'] = 35, ['tshirt_2'] = 0, - ['torso_1'] = 48, ['torso_2'] = 0, - ['decals_1'] = 7, ['decals_2'] = 1, - ['arms'] = 44, - ['pants_1'] = 34, ['pants_2'] = 0, - ['shoes_1'] = 27, ['shoes_2'] = 0, - ['helmet_1'] = -1, ['helmet_2'] = 0, - ['chain_1'] = 0, ['chain_2'] = 0, - ['ears_1'] = 2, ['ears_2'] = 0 - } - TriggerEvent('skinchanger:loadClothes', skin, clothesSkin) - - end - - local playerPed = GetPlayerPed(-1) - SetPedArmour(playerPed, 0) - ClearPedBloodDamage(playerPed) - ResetPedVisibleDamage(playerPed) - ClearPedLastWeaponDamage(playerPed) - - end) - end - - if data.current.value == 'lieutenant_wear' then - TriggerEvent('skinchanger:getSkin', function(skin) - - if skin.sex == 0 then - - local clothesSkin = { - ['tshirt_1'] = 58, ['tshirt_2'] = 0, - ['torso_1'] = 55, ['torso_2'] = 0, - ['decals_1'] = 8, ['decals_2'] = 2, - ['arms'] = 41, - ['pants_1'] = 25, ['pants_2'] = 0, - ['shoes_1'] = 25, ['shoes_2'] = 0, - ['helmet_1'] = -1, ['helmet_2'] = 0, - ['chain_1'] = 0, ['chain_2'] = 0, - ['ears_1'] = 2, ['ears_2'] = 0 - } - TriggerEvent('skinchanger:loadClothes', skin, clothesSkin) - - else - - local clothesSkin = { - ['tshirt_1'] = 35, ['tshirt_2'] = 0, - ['torso_1'] = 48, ['torso_2'] = 0, - ['decals_1'] = 7, ['decals_2'] = 2, - ['arms'] = 44, - ['pants_1'] = 34, ['pants_2'] = 0, - ['shoes_1'] = 27, ['shoes_2'] = 0, - ['helmet_1'] = -1, ['helmet_2'] = 0, - ['chain_1'] = 0, ['chain_2'] = 0, - ['ears_1'] = 2, ['ears_2'] = 0 - } - TriggerEvent('skinchanger:loadClothes', skin, clothesSkin) - - end - - local playerPed = GetPlayerPed(-1) - SetPedArmour(playerPed, 0) - ClearPedBloodDamage(playerPed) - ResetPedVisibleDamage(playerPed) - ClearPedLastWeaponDamage(playerPed) - - end) - end - - if data.current.value == 'commandant_wear' then - TriggerEvent('skinchanger:getSkin', function(skin) - - if skin.sex == 0 then - - local clothesSkin = { - ['tshirt_1'] = 58, ['tshirt_2'] = 0, - ['torso_1'] = 55, ['torso_2'] = 0, - ['decals_1'] = 8, ['decals_2'] = 3, - ['arms'] = 41, - ['pants_1'] = 25, ['pants_2'] = 0, - ['shoes_1'] = 25, ['shoes_2'] = 0, - ['helmet_1'] = -1, ['helmet_2'] = 0, - ['chain_1'] = 0, ['chain_2'] = 0, - ['ears_1'] = 2, ['ears_2'] = 0 - } - TriggerEvent('skinchanger:loadClothes', skin, clothesSkin) - - else - - local clothesSkin = { - ['tshirt_1'] = 35, ['tshirt_2'] = 0, - ['torso_1'] = 48, ['torso_2'] = 0, - ['decals_1'] = 7, ['decals_2'] = 3, - ['arms'] = 44, - ['pants_1'] = 34, ['pants_2'] = 0, - ['shoes_1'] = 27, ['shoes_2'] = 0, - ['helmet_1'] = -1, ['helmet_2'] = 0, - ['chain_1'] = 0, ['chain_2'] = 0, - ['ears_1'] = 2, ['ears_2'] = 0 - } - TriggerEvent('skinchanger:loadClothes', skin, clothesSkin) - - end - - local playerPed = GetPlayerPed(-1) - SetPedArmour(playerPed, 0) - ClearPedBloodDamage(playerPed) - ResetPedVisibleDamage(playerPed) - ClearPedLastWeaponDamage(playerPed) - - end) - end - - if data.current.value == 'bullet_wear' then - TriggerEvent('skinchanger:getSkin', function(skin) - - if skin.sex == 0 then - - local clothesSkin = { - ['bproof_1'] = 11, ['bproof_2'] = 1 - } - TriggerEvent('skinchanger:loadClothes', skin, clothesSkin) - - else - - local clothesSkin = { - ['bproof_1'] = 13, ['bproof_2'] = 1 - } - TriggerEvent('skinchanger:loadClothes', skin, clothesSkin) - - end - - local playerPed = GetPlayerPed(-1) - SetPedArmour(playerPed, 100) - ClearPedBloodDamage(playerPed) - ResetPedVisibleDamage(playerPed) - ClearPedLastWeaponDamage(playerPed) - - end) - end - - if data.current.value == 'gilet_wear' then - TriggerEvent('skinchanger:getSkin', function(skin) - - if skin.sex == 0 then - - local clothesSkin = { - ['tshirt_1'] = 59, ['tshirt_2'] = 1 - } - TriggerEvent('skinchanger:loadClothes', skin, clothesSkin) - - else - - local clothesSkin = { - ['tshirt_1'] = 36, ['tshirt_2'] = 1 - } - TriggerEvent('skinchanger:loadClothes', skin, clothesSkin) - - end - - local playerPed = GetPlayerPed(-1) - SetPedArmour(playerPed, 0) - ClearPedBloodDamage(playerPed) - ResetPedVisibleDamage(playerPed) - ClearPedLastWeaponDamage(playerPed) - - end) - end - - if data.current.value == 'sheriff_wear_freemode' then - ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin) - - if skin.sex == 0 then - - local model = GetHashKey("s_m_y_sheriff_01") - - 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") - - RequestModel(model) - while not HasModelLoaded(model) do - RequestModel(model) - Citizen.Wait(0) - end - - SetPlayerModel(PlayerId(), model) - SetModelAsNoLongerNeeded(model) - end - - end) - end - - if data.current.value == 'lieutenant_wear_freemode' then - - ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin) - - 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 - - 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 - - SetPlayerModel(PlayerId(), model) - SetModelAsNoLongerNeeded(model) - end - - end) - end - - if data.current.value == 'commandant_wear_freemode' then - - ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin) - - 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 - - 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 - - SetPlayerModel(PlayerId(), model) - SetModelAsNoLongerNeeded(model) - end - - end) + if + data.current.value == 'cadet_wear' or + data.current.value == 'police_wear' or + data.current.value == 'sergeant_wear' or + data.current.value == 'lieutenant_wear' or + data.current.value == 'commandant_wear' or + data.current.value == 'bullet_wear' or + data.current.value == 'gilet_wear' + then + setUniform(data.current.value, playerPed) end CurrentAction = 'menu_cloakroom' @@ -499,15 +155,12 @@ function OpenCloakroomMenu() end, function(data, menu) - menu.close() - CurrentAction = 'menu_cloakroom' CurrentActionMsg = _U('open_cloackroom') CurrentActionData = {} end ) - end function OpenArmoryMenu(station) diff --git a/config.lua b/config.lua index 9443a8bd..b5169dbe 100644 --- a/config.lua +++ b/config.lua @@ -83,3 +83,147 @@ Config.PoliceStations = { }, } + + +-- CHECK SKINCHANGER CLIENT MAIN.LUA for matching elements + +Config.Uniforms = { + + cadet_wear = { + male = { + ['tshirt_1'] = 59, ['tshirt_2'] = 1, + ['torso_1'] = 55, ['torso_2'] = 0, + ['decals_1'] = 0, ['decals_2'] = 0, + ['arms'] = 41, + ['pants_1'] = 25, ['pants_2'] = 0, + ['shoes_1'] = 25, ['shoes_2'] = 0, + ['helmet_1'] = 46, ['helmet_2'] = 0, + ['chain_1'] = 0, ['chain_2'] = 0, + ['ears_1'] = 2, ['ears_2'] = 0 + }, + female = { + ['tshirt_1'] = 36, ['tshirt_2'] = 1, + ['torso_1'] = 48, ['torso_2'] = 0, + ['decals_1'] = 0, ['decals_2'] = 0, + ['arms'] = 44, + ['pants_1'] = 34, ['pants_2'] = 0, + ['shoes_1'] = 27, ['shoes_2'] = 0, + ['helmet_1'] = 45, ['helmet_2'] = 0, + ['chain_1'] = 0, ['chain_2'] = 0, + ['ears_1'] = 2, ['ears_2'] = 0 + } + }, + police_wear = { + male = { + ['tshirt_1'] = 58, ['tshirt_2'] = 0, + ['torso_1'] = 55, ['torso_2'] = 0, + ['decals_1'] = 0, ['decals_2'] = 0, + ['arms'] = 41, + ['pants_1'] = 25, ['pants_2'] = 0, + ['shoes_1'] = 25, ['shoes_2'] = 0, + ['helmet_1'] = -1, ['helmet_2'] = 0, + ['chain_1'] = 0, ['chain_2'] = 0, + ['ears_1'] = 2, ['ears_2'] = 0 + }, + female = { + ['tshirt_1'] = 35, ['tshirt_2'] = 0, + ['torso_1'] = 48, ['torso_2'] = 0, + ['decals_1'] = 0, ['decals_2'] = 0, + ['arms'] = 44, + ['pants_1'] = 34, ['pants_2'] = 0, + ['shoes_1'] = 27, ['shoes_2'] = 0, + ['helmet_1'] = -1, ['helmet_2'] = 0, + ['chain_1'] = 0, ['chain_2'] = 0, + ['ears_1'] = 2, ['ears_2'] = 0 + } + }, + sergeant_wear = { + male = { + ['tshirt_1'] = 58, ['tshirt_2'] = 0, + ['torso_1'] = 55, ['torso_2'] = 0, + ['decals_1'] = 8, ['decals_2'] = 1, + ['arms'] = 41, + ['pants_1'] = 25, ['pants_2'] = 0, + ['shoes_1'] = 25, ['shoes_2'] = 0, + ['helmet_1'] = -1, ['helmet_2'] = 0, + ['chain_1'] = 0, ['chain_2'] = 0, + ['ears_1'] = 2, ['ears_2'] = 0 + }, + female = { + ['tshirt_1'] = 35, ['tshirt_2'] = 0, + ['torso_1'] = 48, ['torso_2'] = 0, + ['decals_1'] = 7, ['decals_2'] = 1, + ['arms'] = 44, + ['pants_1'] = 34, ['pants_2'] = 0, + ['shoes_1'] = 27, ['shoes_2'] = 0, + ['helmet_1'] = -1, ['helmet_2'] = 0, + ['chain_1'] = 0, ['chain_2'] = 0, + ['ears_1'] = 2, ['ears_2'] = 0 + } + }, + lieutenant_wear = { + male = { + ['tshirt_1'] = 58, ['tshirt_2'] = 0, + ['torso_1'] = 55, ['torso_2'] = 0, + ['decals_1'] = 8, ['decals_2'] = 2, + ['arms'] = 41, + ['pants_1'] = 25, ['pants_2'] = 0, + ['shoes_1'] = 25, ['shoes_2'] = 0, + ['helmet_1'] = -1, ['helmet_2'] = 0, + ['chain_1'] = 0, ['chain_2'] = 0, + ['ears_1'] = 2, ['ears_2'] = 0 + }, + female = { + ['tshirt_1'] = 35, ['tshirt_2'] = 0, + ['torso_1'] = 48, ['torso_2'] = 0, + ['decals_1'] = 7, ['decals_2'] = 2, + ['arms'] = 44, + ['pants_1'] = 34, ['pants_2'] = 0, + ['shoes_1'] = 27, ['shoes_2'] = 0, + ['helmet_1'] = -1, ['helmet_2'] = 0, + ['chain_1'] = 0, ['chain_2'] = 0, + ['ears_1'] = 2, ['ears_2'] = 0 + } + }, + commandant_wear = { + male = { + ['tshirt_1'] = 58, ['tshirt_2'] = 0, + ['torso_1'] = 55, ['torso_2'] = 0, + ['decals_1'] = 8, ['decals_2'] = 3, + ['arms'] = 41, + ['pants_1'] = 25, ['pants_2'] = 0, + ['shoes_1'] = 25, ['shoes_2'] = 0, + ['helmet_1'] = -1, ['helmet_2'] = 0, + ['chain_1'] = 0, ['chain_2'] = 0, + ['ears_1'] = 2, ['ears_2'] = 0 + }, + female = { + ['tshirt_1'] = 35, ['tshirt_2'] = 0, + ['torso_1'] = 48, ['torso_2'] = 0, + ['decals_1'] = 7, ['decals_2'] = 3, + ['arms'] = 44, + ['pants_1'] = 34, ['pants_2'] = 0, + ['shoes_1'] = 27, ['shoes_2'] = 0, + ['helmet_1'] = -1, ['helmet_2'] = 0, + ['chain_1'] = 0, ['chain_2'] = 0, + ['ears_1'] = 2, ['ears_2'] = 0 + } + }, + bullet_wear = { + male = { + ['bproof_1'] = 11, ['bproof_2'] = 1 + }, + female = { + ['bproof_1'] = 13, ['bproof_2'] = 1 + } + }, + gilet_wear = { + male = { + ['tshirt_1'] = 59, ['tshirt_2'] = 1 + }, + female = { + ['tshirt_1'] = 36, ['tshirt_2'] = 1 + } + } + +} \ No newline at end of file diff --git a/locales/en.lua b/locales/en.lua index 8b338a25..58fea438 100644 --- a/locales/en.lua +++ b/locales/en.lua @@ -10,6 +10,7 @@ Locales['en'] = { ['specops_wear'] = 'Spec OPS outfit', ['gilet_wear'] = 'orange reflective jacket', ['bullet_wear'] = 'bulletproof vest', + ['no_outfit'] = 'there\'s no uniform to fit you...', ['open_cloackroom'] = 'press ~INPUT_CONTEXT~ to change', -- Armory ['get_weapon'] = 'get Weapon', diff --git a/locales/fr.lua b/locales/fr.lua index 9f2c5c54..1adb79b0 100644 --- a/locales/fr.lua +++ b/locales/fr.lua @@ -10,18 +10,19 @@ Locales['fr'] = { ['specops_wear'] = 'Spec OPS outfit', ['gilet_wear'] = 'Gilet orange', ['bullet_wear'] = 'Gilet pare-balles', - ['open_cloackroom'] = 'appuez sur ~INPUT_CONTEXT~ pour vous changer', + ['no_outfit'] = 'Il n\'y a pas d\'uniforme à votre taille...', + ['open_cloackroom'] = 'appuyez 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', + ['open_armory'] = 'appuyez 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', + ['vehicle_spawner'] = 'appuyez sur ~INPUT_CONTEXT~ pour sortir un véhicule', + ['store_vehicle'] = 'appuyez sur ~INPUT_CONTEXT~ pour ranger le véhicule', ['service_max'] = 'Service complet : ', -- Action Menu ['citizen_interaction'] = 'interaction citoyen', @@ -41,7 +42,7 @@ Locales['fr'] = { ['pick_lock'] = 'crocheter véhicule', ['vehicle_unlocked'] = 'véhicule ~g~déverouillé~s~', ['no_vehicles_nearby'] = 'aucun véhicule à proximité', - ['traffic_interaction'] = 'Interaction Voirie', + ['traffic_interaction'] = 'interaction routière', ['cone'] = 'plot', ['barrier'] = 'barrière', ['spikestrips'] = 'herse', @@ -77,7 +78,7 @@ Locales['fr'] = { ['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', + ['open_bossmenu'] = 'appuyez sur ~INPUT_CONTEXT~ pour ouvrir le menu', ['quantity_invalid'] = 'Quantité invalide', ['have_withdrawn'] = 'Vous avez retiré x', ['added'] = 'Vous avez ajouté x', @@ -85,7 +86,7 @@ Locales['fr'] = { ['inventory'] = 'inventaire', ['police_stock'] = 'Police Stock', -- Misc - ['remove_object'] = 'appuez sur ~INPUT_CONTEXT~ pour enlever l\'objet', + ['remove_object'] = 'appuyez sur ~INPUT_CONTEXT~ pour enlever l\'objet', ['map_blip'] = 'Commissariat', -- Notifications ['from'] = '~s~ à ~b~', From d08bcc6b7795877ce78b5c0fab59d2f5a05972b0 Mon Sep 17 00:00:00 2001 From: LuaDeldu Date: Thu, 18 Jan 2018 15:57:58 +0100 Subject: [PATCH 2/3] chore(version): Increment version --- __resource.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/__resource.lua b/__resource.lua index 125b3d7b..c47b5188 100644 --- a/__resource.lua +++ b/__resource.lua @@ -2,7 +2,7 @@ resource_manifest_version '44febabe-d386-4d18-afbe-5e627f4af937' description 'ESX Police Job' -version '1.0.4' +version '1.0.5' server_scripts { '@es_extended/locale.lua', From ac3c7492bf6486b4610416a8252a45d62c5da8be Mon Sep 17 00:00:00 2001 From: LuaDeldu Date: Thu, 18 Jan 2018 16:01:05 +0100 Subject: [PATCH 3/3] Forgot Sylundef PR --- server/main.lua | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/server/main.lua b/server/main.lua index 1bfd2e32..ddb9d615 100644 --- a/server/main.lua +++ b/server/main.lua @@ -24,9 +24,14 @@ AddEventHandler('esx_policejob:confiscatePlayerItem', function(target, itemType, if itemType == 'item_standard' then local label = sourceXPlayer.getInventoryItem(itemName).label + local playerItemCount = targetXPlayer.getInventoryItem(itemName).count - targetXPlayer.removeInventoryItem(itemName, amount) - sourceXPlayer.addInventoryItem(itemName, amount) + if playerItemCount <= amount then + targetXPlayer.removeInventoryItem(itemName, amount) + sourceXPlayer.addInventoryItem(itemName, amount) + else + TriggerClientEvent('esx:showNotification', _source, _U('invalid_quantity')) + 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 )