diff --git a/client/main.lua b/client/main.lua index 72c97452..986d4d41 100644 --- a/client/main.lua +++ b/client/main.lua @@ -514,6 +514,7 @@ function OpenRoomMenu(property, owner) if CurrentPropertyOwner == owner then table.insert(elements, {label = _U('player_clothes'), value = 'player_dressing'}) + table.insert(elements, {label = _U('remove_cloth'), value = 'remove_cloth'}) end table.insert(elements, {label = _U('remove_object'), value = 'room_inventory'}) @@ -602,6 +603,33 @@ function OpenRoomMenu(property, owner) end) end + + if data.current.value == 'remove_cloth' then + ESX.TriggerServerCallback('esx_property:getPlayerDressing', function(dressing) + local elements = {} + + for i=1, #dressing, 1 do + table.insert(elements, {label = dressing[i].label, value = i}) + end + + ESX.UI.Menu.Open( + 'default', GetCurrentResourceName(), 'remove_cloth', + { + title = property.label .. ' - ' .. _U('remove_cloth'), + align = 'top-left', + elements = elements, + }, + function(data, menu) + menu.close() + TriggerServerEvent('esx_property:removeOutfit', data.current.value) + ESX.ShowNotification(_U('removed_cloth')) + end, + function(data, menu) + menu.close() + end + ) + end) + end if data.current.value == 'room_inventory' then OpenRoomInventoryMenu(property, owner) diff --git a/locales/en.lua b/locales/en.lua index 4d2d3b1a..c61b1419 100644 --- a/locales/en.lua +++ b/locales/en.lua @@ -13,6 +13,8 @@ Locales['en'] = { ['invite_player'] = 'invite a player', ['you_invited'] = 'you invited %s', ['player_clothes'] = 'clothes', + ['remove_cloth'] = 'remove clothing', + ['removed_cloth'] = 'this outfit has been removed from your wardrobe!', ['remove_object'] = 'remove object', ['deposit_object'] = 'deposit object', ['invite'] = 'invite', diff --git a/locales/fr.lua b/locales/fr.lua index b54ff0e3..c8ac9b7c 100644 --- a/locales/fr.lua +++ b/locales/fr.lua @@ -13,6 +13,8 @@ Locales['fr'] = { ['invite_player'] = 'inviter un joueur', ['you_invited'] = 'vous avez invité %s', ['player_clothes'] = 'vêtements', + ['remove_cloth'] = 'supprimer des tenues', + ['removed_cloth'] = 'cette tenue a bien été supprimée de votre garde robe !', ['remove_object'] = 'retirer objet', ['deposit_object'] = 'déposer objet', ['invite'] = 'inviter', diff --git a/server/main.lua b/server/main.lua index c82747a5..852e47d0 100644 --- a/server/main.lua +++ b/server/main.lua @@ -518,6 +518,29 @@ ESX.RegisterServerCallback('esx_property:getPlayerOutfit', function(source, cb, end) +RegisterServerEvent('esx_property:removeOutfit') +AddEventHandler('esx_property:removeOutfit', function(label) + + local xPlayer = ESX.GetPlayerFromId(source) + + TriggerEvent('esx_datastore:getDataStore', 'property', xPlayer.identifier, function(store) + + local dressing = store.get('dressing') + + if dressing == nil then + dressing = {} + end + + label = label + + table.remove(dressing, label) + + store.set('dressing', dressing) + + end) + +end) + function PayRent(d, h, m) MySQL.Async.fetchAll(