diff --git a/client/main.lua b/client/main.lua index df395de4..72c97452 100644 --- a/client/main.lua +++ b/client/main.lua @@ -566,7 +566,7 @@ function OpenRoomMenu(property, owner) local elements = {} for i=1, #dressing, 1 do - table.insert(elements, {label = dressing[i].label, value = dressing[i].skin}) + table.insert(elements, {label = dressing[i], value = i}) end ESX.UI.Menu.Open( @@ -580,12 +580,16 @@ function OpenRoomMenu(property, owner) TriggerEvent('skinchanger:getSkin', function(skin) - TriggerEvent('skinchanger:loadClothes', skin, data.current.value) - TriggerEvent('esx_skin:setLastSkin', skin) + ESX.TriggerServerCallback('esx_property:getPlayerOutfit', function(clothes) - TriggerEvent('skinchanger:getSkin', function(skin) - TriggerServerEvent('esx_skin:save', skin) - end) + TriggerEvent('skinchanger:loadClothes', skin, clothes) + TriggerEvent('esx_skin:setLastSkin', skin) + + TriggerEvent('skinchanger:getSkin', function(skin) + TriggerServerEvent('esx_skin:save', skin) + end) + + end, data.current.value) end) diff --git a/server/main.lua b/server/main.lua index ec5af03b..c82747a5 100644 --- a/server/main.lua +++ b/server/main.lua @@ -490,19 +490,31 @@ end) ESX.RegisterServerCallback('esx_property:getPlayerDressing', function(source, cb) local xPlayer = ESX.GetPlayerFromId(source) - local dressing = {} TriggerEvent('esx_datastore:getDataStore', 'property', xPlayer.identifier, function(store) - local storeDressing = store.get('dressing') + local count = store.count('dressing') + local labels = {} - if storeDressing ~= nil then - dressing = storeDressing + for i=1, count, 1 do + local entry = store.get('dressing', i) + table.insert(labels, entry.label) end + cb(labels) + end) - cb(dressing) +end) + +ESX.RegisterServerCallback('esx_property:getPlayerOutfit', function(source, cb, num) + + local xPlayer = ESX.GetPlayerFromId(source) + + TriggerEvent('esx_datastore:getDataStore', 'property', xPlayer.identifier, function(store) + local outfit = store.get('dressing', num) + cb(outfit.skin) + end) end)