Clothing menu [STANDALONE]


UPCODE-CLOTHING is a menu with which you can remove/put on any part of your clothes, with an advanced camera system and an eye-catching user interface design.

Our exclusive and unique user interface gives you a smooth and visually stunning experience. Changing your look has never been so easy and attractive. And best of all, it’s totally FREE!



:blue_heart: FREE

:movie_camera:Youtube showcase

:blue_heart: DOWNLOAD

:shopping_cart: OUR TEBEX


LAST RELEASE:

PAUSE MENU (CLICK HERE)

DAILY TASK (CLICK HERE)

Code is accessible Yes
Subscription-based No
Lines (approximately) +500
Requirements none
Support Yes💜
16 Likes

:clap::clap::clap::clap::blue_heart:

1 Like

:new: UPDATE FOR UPCODE-CLOTHING

  • Fixed errors when opening the menu in a vehicle, now you can open it in a vehicle without problems.

  • The 2 genders were added to be able to change the clothing ID depending on whether it is “male” or “female” in the config.

1 Like

really good one and optimized!, just missing something… arms :smiley: i swap the bracelet for the arms but if you can add it would be nice and complete! :smiley:


I have tried to change a shirt that has a body but when it is removed from the shirt the “arms” must also be changed. Is it possible to fix this error?

this is a temporary solution I found to fix the problem. I hope it helps

RegisterNuiCallback('changeClothesState', function(data, cb)
    if AnimPlaying then return end
    if LastIndexes[data.clothing] then
        local animation = Config.Clothing[data.clothing].animation
        while not HasAnimDictLoaded(animation.dict) do RequestAnimDict(animation.dict) Wait(100) end
        if IsPedInAnyVehicle(PlayerPedId()) then animation.move = 51 end
        TaskPlayAnim(PlayerPedId(), animation.dict, animation.name, 3.0, 3.0, animation.duration, animation.move, 0, false, false, false)
        AnimPlaying = true
        local pause = animation.duration - 500 if pause < 500 then pause = 500 end
        Wait(pause)
        AnimPlaying = false
        if ClothingTable[data.clothing].type == 'component' then
            if ClothingTable[data.clothing].id == 11 then 
                SetPedComponentVariation(PlayerPedId(),  3, varTorso, texTorso)
            end
            SetPedComponentVariation(PlayerPedId(), ClothingTable[data.clothing].id, LastIndexes[data.clothing], LastTextureIndexes[data.clothing])
        else
            SetPedPropIndex(PlayerPedId(), ClothingTable[data.clothing].id, LastIndexes[data.clothing], LastTextureIndexes[data.clothing])
        end
        LastIndexes[data.clothing] = nil
        LastTextureIndexes[data.clothing] = nil
        SendNUIMessage({ type = 'UpdateStates', clothingStates = GetClothingState() })
    else
        local clothingStates = GetClothingState()
        if not clothingStates[data.clothing] then return ESX.ShowNotification('Nulla da cambiare', 'error') end
        local animation = Config.Clothing[data.clothing].animation
        while not HasAnimDictLoaded(animation.dict) do RequestAnimDict(animation.dict) Wait(100) end
        if IsPedInAnyVehicle(PlayerPedId()) then animation.move = 51 end
        AnimPlaying = true
        TaskPlayAnim(PlayerPedId(), animation.dict, animation.name, 3.0, 3.0, animation.duration, animation.move, 0, false, false, false)
        local pause = animation.duration - 500 if pause < 500 then pause = 500 end
        Wait(pause)
        AnimPlaying = false
        if ClothingTable[data.clothing].type == 'component' then
            LastIndexes[data.clothing] = GetPedDrawableVariation(PlayerPedId(), ClothingTable[data.clothing].id)
            LastTextureIndexes[data.clothing] = GetPedTextureVariation(PlayerPedId(), ClothingTable[data.clothing].id)
            varTorso = GetPedDrawableVariation(PlayerPedId(), 3)
            texTorso = GetPedTextureVariation(PlayerPedId(), 3)
            local gender = GetEntityModel(PlayerPedId())
            if gender == GetHashKey("mp_m_freemode_01") then
                if ClothingTable[data.clothing].id == 11 then 
                    SetPedComponentVariation(PlayerPedId(),  3, 15, 0, 0)
                end
                SetPedComponentVariation(PlayerPedId(), ClothingTable[data.clothing].id, Config.Clothing[data.clothing].default.male, 0)
            elseif gender == GetHashKey("mp_f_freemode_01") then
                if ClothingTable[data.clothing].id == 11 then 
                    SetPedComponentVariation(PlayerPedId(),  3, 15, 0, 0)
                end
                SetPedComponentVariation(PlayerPedId(), ClothingTable[data.clothing].id, Config.Clothing[data.clothing].default.female, 0)
            end      
        else
            LastIndexes[data.clothing] = GetPedPropIndex(PlayerPedId(), ClothingTable[data.clothing].id)
            LastTextureIndexes[data.clothing] = GetPedPropTextureIndex(PlayerPedId(), ClothingTable[data.clothing].id)
            ClearPedProp(PlayerPedId(), ClothingTable[data.clothing].id)
        end
        SendNUIMessage({ type = 'UpdateStates', clothingStates = GetClothingState() })
    end
end)
2 Likes