LquenS
  • Welcome
  • ls-core
    • 💾Installation
    • 🔧Errors
  • ls-phone
    • 💾Installation
    • 🖥️Configurations, Exports & Events
    • 🔧Errors
    • 📄Changelog
  • ls-inventory
    • 💾Installation
    • 🖥️Basics, Configurations, Exports & Events
    • 🔧Errors
    • 📄Changelog
  • ls-mdt
    • 💾Installation
    • 🔧Errors
  • ls-mdt-v3
    • 💾Installation
    • 🔧Errors
  • ls-inventoryhud
    • 💾Installation
      • 💻QBCore
      • 💻ESX
    • 🔧Errors
    • 🖥️Classes
    • 🔩Basics
Powered by GitBook
On this page
  1. ls-inventoryhud
  2. Installation

ESX

Locate "es_extended > server > classes > player.lua"

addInventoryItem

Find "addInventoryItem" and replace with that

es_extended > server > classes > player.lua
function self.addInventoryItem(name, count, metadata, slot)
	exports["ls-inventoryhud"]:AddItem(self.source, name, count, metadata)
end
removeInventoryItem

Find "removeInventoryItem" and replace with that

es_extended > server > classes > player.lua
function self.removeInventoryItem(name, count, metadata, slot)
	local foundItem = exports["ls-inventoryhud"]:GetItem(self.source, name)
	if foundItem ~= nil then
		exports["ls-inventoryhud"]:RemoveItem(self.source, name, count)
	else
		local findItem = self.getInventoryItem(name)
		if findItem ~= nil then
			exports["ls-inventoryhud"]:RemoveItem(self.source, findItem._id, count)
		end
	end
end
getInventoryItem

Find "getInventoryItem" and replace with that

es_extended > server > classes > player.lua
function self.getInventoryItem(name, metadata)
	for k,v in pairs( exports["ls-inventoryhud"]:GetItems(self.source) ) do
		if v._tpl == name then
			return v
		end
	end
	return nil
end

Skin

Locate "esx_skin > client > main.lua"

OpenMenu

Find "OpenMenu" and replace with that

esx_skin > client > main.lua
function OpenMenu(submitCb, cancelCb, restrict)
    local playerPed = PlayerPedId()

    TriggerEvent('skinchanger:getSkin', function(skin) lastSkin = skin end)
    TriggerEvent('skinchanger:getData', function(components, maxVals)
        local elements = {}
        local _components = {}

        -- Restrict menu
        if restrict == nil then
            for i=1, #components, 1 do
                _components[i] = components[i]
            end
        else
            for i=1, #components, 1 do
                local found = false

                for j=1, #restrict, 1 do
                    if components[i].name == restrict[j] then
                        found = true
                    end
                end

                if found then
                    table.insert(_components, components[i])
                end
            end
        end
        -- Insert elements
        for i=1, #_components, 1 do
            local value = _components[i].value
            local componentId = _components[i].componentId

            if componentId == 0 then
                value = GetPedPropIndex(playerPed, _components[i].componentId)
            end

            local data = {
                label = _components[i].label,
                name = _components[i].name,
                value = value,
                min = _components[i].min,
                textureof = _components[i].textureof,
                zoomOffset= _components[i].zoomOffset,
                camOffset = _components[i].camOffset,
                type = 'slider'
            }

            for k,v in pairs(maxVals) do
                if k == _components[i].name then
                    data.max = v
                    break
                end
            end

            table.insert(elements, data)
        end

        CreateSkinCam()
        zoomOffset = _components[1].zoomOffset
        camOffset = _components[1].camOffset

        ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'skin', {
            title = _U('skin_menu'),
            align = 'bottom-left',
            elements = elements
        }, function(data, menu)
			TriggerEvent('skinchanger:getSkin', function(skin) 
				TriggerEvent("ls-inventoryhud:c:giveClothesAsItem", skin, lastSkin, false) 
			end)
            TriggerEvent('skinchanger:getSkin', function(skin) lastSkin = skin end)

            submitCb(data, menu)
            DeleteSkinCam()
        end, function(data, menu)
            menu.close()
            DeleteSkinCam()
            TriggerEvent('skinchanger:loadSkin', lastSkin)

            if cancelCb ~= nil then
                cancelCb(data, menu)
            end
        end, function(data, menu)
            local skin, components, maxVals

            TriggerEvent('skinchanger:getSkin', function(getSkin) skin = getSkin end)

            zoomOffset = data.current.zoomOffset
            camOffset = data.current.camOffset

            if skin[data.current.name] ~= data.current.value then
                -- Change skin element
                TriggerEvent('skinchanger:change', data.current.name, data.current.value)

                -- Update max values
                TriggerEvent('skinchanger:getData', function(comp, max)
                    components, maxVals = comp, max
                end)

                local newData = {}

                for i=1, #elements, 1 do
                    newData = {}
                    newData.max = maxVals[elements[i].name]

                    if elements[i].textureof ~= nil and data.current.name == elements[i].textureof then
                        newData.value = 0
                    end

                    menu.update({name = elements[i].name}, newData)
                end

                menu.refresh()
            end
        end, function(data, menu)
            DeleteSkinCam()
        end)
    end)
end
PreviousQBCoreNextErrors

Last updated 2 years ago

💾
💻