[ESX][QB] vms_clothestore | Clothes Store

[TEBEX] $ BUY IT HERE

[SHOWCASE] vms_clothestore


Compatibility with ESX and QB-Core
Compatibility with esx_skin / qb-clothing / fivem-appearance / illenium-appearance
Automatic adaptation of the camera to a given body part
Possibility to set the animation that the ped performs during character clothing
Interaction sounds can be turned off
Ability to disable/enable individual categories for each stores (you can do jewelry shop only with chains, earrings, watches)
The ability to use the script with a marker or with a trigger that will be called, for example, by npctalk
Ability to set access to player’s dressing room in stores
Ability to set the possibility to save the created outfits after buy
The ability to change the values ​​on the sliders using the arrows on the keyboard or with mouse.
Compatible with other resolutions
Full JS translation.
Full support.

Config = {}
Config.Core = "ESX" -- "ESX" / "QB-Core"
Config.CoreExport = function()
    return exports['es_extended']:getSharedObject() -- ESX
    -- return exports['qb-core']:GetCoreObject() -- QB-CORE
end

Config.Notification = function(message, time, type)
    if type == "success" then
        exports["vms_notify"]:Notification("CLOTHES STORE", message, time, "#27FF09", "fa-solid fa-shirt")
        -- TriggerEvent('esx:showNotification', message)
        -- TriggerEvent('QBCore:Notify', message, 'success', time)
    elseif type == "error" then
        exports["vms_notify"]:Notification("CLOTHES STORE", message, time, "#FF0909", "fa-solid fa-shirt")
        -- TriggerEvent('esx:showNotification', message)
        -- TriggerEvent('QBCore:Notify', message, 'error', time)
    end
end

Config.Hud = {
    Enable = function()
        -- exports['hud']:DisplayHud(true)
    end,
    Disable = function()
        -- exports['hud']:DisplayHud(false)
    end
}

-- @ Config.KeyOpen - https://docs.fivem.net/docs/game-references/controls/
Config.KeyOpen = 38 -- [E]

-- @ Config.SkinManager - ESX: "esx_skin" / "fivem-appearance" / "illenium-appearance"
-- @ Config.SkinManager - QB-Core: "qb-clothing" / "fivem-appearance" / "illenium-appearance"
Config.SkinManager = "esx_skin"

-- @ Config.ChangeClothes - Menu for choosing whether to buy new clothes or change into your clothes
Config.ChangeClothes = true

-- @ Config.SaveClothesMenu - Clothes saving
Config.SaveClothesMenu = true

-- @ Config.Menu ESX: "esx_context" <-- Required esx_context
-- @ Config.Menu ESX: "esx_menu_default" <-- Required esx_menu_default & esx_menu_dialog
-- @ Config.Menu QB-Core: "qb-menu" <-- Required qb-menu & qb-input
Config.Menu = "esx_context"
Config.ESXMenuDefault_Align = 'left' -- works only for esx_menu_default
Config.ESXContext_Align = 'left' -- works only for esx_context


Config.SoundsEffects = true -- if you want to sound effects by clicks set true
Config.BlurBehindPlayer = true -- to see it you need to have PostFX upper Very High or Ultra


Config.ClothingPedAnimation = {"anim@heists@heist_corona@team_idles@male_a", "idle"} -- animation of the player during character creation
Config.DefaultCamDistance = 0.95 -- camera distance from player location (during character creation)
Config.CameraHeight = {
    ['masks'] = {z_height = 0.65, fov = 30.0},
    ['hats'] = {z_height = 0.65, fov = 30.0},
    ['torsos'] = {z_height = 0.15, fov = 75.0},
    ['bproofs'] = {z_height = 0.15, fov = 75.0},
    ['pants'] = {z_height = -0.425, fov = 75.0},
    ['shoes'] = {z_height = -0.6, fov = 75.0},
    ['chains'] = {z_height = 0.25, fov = 75.0},
    ['glasses'] = {z_height = 0.65, fov = 30.0},
    ['watches'] = {z_height = -0.025, fov = 75.0},
    ['ears'] = {z_height = 0.65, fov = 30.0},
    ['bags'] = {z_height = 0.15, fov = 75.0},
}

Config.Translate = {
    ['blip.clothesstore'] = 'Clothes Store',
    ['blip.maskstore'] = 'Mask Store',
    
    ['you_paid'] = 'You paid %s$ for the clothes',
    ['saved_clothes'] = 'You saved the clothes with a name %s',
    ['enought_money'] = 'You dont have enough money',
    
    ['select_option'] = {name = 'Select option', icon = 'fas fa-check-double'},
    ['manage_header'] = {name = 'Manage clothes', icon = 'fas fa-tshirt'}, 
    ['wardrobe_header'] = {name = 'Wardrobe', icon = 'fas fa-tshirt'}, 

    ['open_wardrobe'] = {name = 'Open Wardrobe', icon = 'fas fa-shirt'},
    ['open_manage'] = {name = 'Manage clothes', icon = 'fas fa-shirt'},
    ['open_store'] = {name = 'Open Store', icon = 'fas fa-bag-shopping'},
    
    ['menu:header'] = {name = 'Do you want save this outfit?', icon = 'fas fa-check-double'},
    ['menu:yes'] = {name = 'Yes', icon = 'fas fa-check-circle'},
    ['menu:no'] = {name = 'No', icon = 'fas fa-window-close'},
    
    ['title_remove'] = {name = 'You want to remove %s?', icon = 'fas fa-shirt'},
    ['remove_yes'] = {name = 'Yes', icon = 'fas fa-check'},
    ['remove_no'] = {name = 'No', icon = 'fas fa-xmark'},

    ['esx_menu_default:header'] = 'Name your outfit',
    ['esx_context:title'] = {name = 'Enter name of outfit', icon = 'fas fa-shirt'},
    ['esx_context:placeholder_title'] = 'Outfit Name',
    ['esx_context:placeholder'] = 'Outfit name in wardrobe..',
    ['esx_context:confirm'] = {name = 'Confirm', icon = 'fas fa-check-circle'},

    ['qb-input:header'] = 'Name your outfit',
    ['qb-input:submitText'] = 'Save Outfit',
    ['qb-input:text'] = 'Outfit Name',
}

Config.Stores = {
    [1] = {
        coords = vector3(-1337.84, -1277.81, 4.0),
        price = 500,
        blip = {
            sprite = 362,
            display = 4,
            scale = 0.95,
            color = 5,
            name = Config.Translate['blip.maskstore'],
        },
        marker = {
            size = vec(1.85, 1.85, 0.95),
            color = {255, 205, 0, 125},
            rotate = false,
            bobUpAndDown = false
        },
        categories = {
            ['masks'] = true,
            ['hats'] = false,
            ['torsos'] = false,
            ['bproofs'] = false,
            ['pants'] = false,
            ['shoes'] = false,
            ['chains'] = false,
            ['glasses'] = false,
            ['watches'] = false,
            ['ears'] = false,
            ['bags'] = false,
        }
    },
    [...]
}

Resmon while not using:

not use

Resmon while using:

use

:anger: You can check my others scripts :anger:
vms_charcreator
vms_multichars + vms_identity
vms_tattooshop
vms_barber
vms_pausemenu
vms_skydiving
vms_races
vms_drivingschool
vms_boatschool
vms_flyingschool
vms_bank
vms_notify
vms_shops
vms_redeem
vms_garage
vms_jobcenter
interact

Code is accessible Yes / No
Subscription-based No
Lines (approximately) +1815 Lua + JS
Requirements ESX / QB-Core
Support Yes
4 Likes

Very nice script ! +1

1 Like

thank you :hugs:

1 Like

:computer: UPDATE 1.0.1

  • Added possibility of deleting clothes from wardrobe on ESX (esx_skin / fivem-appearance) and QB (qb-clothing)
  • Fixed wardrobe of ESX with fivem-appearance
  • Added vests

:computer: UPDATE 1.0.2

  • Fixed changing the texture value to 0 (e.g tshirt_2) when changing an main item (e.g tshirt_1)

:computer: UPDATE 1.0.3

[/] Fixed skin saving after wearing one of the outfits from the wardrobe for qb-clothing
[+] Added client exports OpenManage & OpenWardrobe for use in custom scripts
[+] Added Config.Hud, to hide your hud in menu

:computer: UPDATE 1.0.4

[/] Supporting for illenium-appearance

awesome release

1 Like

:computer: UPDATE 1.0.5

[/] Fixed reload of skins after wearing clothes from wardrobe for illenium-appearance
[+] Added choice of payment - cash, bank


:computer: UPDATE 1.0.6

[+] Added Config.BlockedClothes - now you can block clothing by id in the clothing store, for example, police uniforms, so that nobody wears them
[+] Added id option to marker settings

:computer: UPDATE 1.0.7

[+] Added Config.Interact and functionality ESX.ShowHelpNotification for esx while not using any textui

:computer: UPDATE 1.0.8

[+] Added notification when a set of clothes is removed from the wardrobe
[+] Added Config.EnableHandsUpButtonUI - if this is true, there will be a button to raise hands on the UI on the right of the cancel button (Config.HandsUpKey continues to be active)
[+] Added Config.HandsUpKey & Config.HandsUpAnimation

will there be an update with ox_lib menu?

Hi, it is compatibile with ox_lib, on the 1.0.9 version, I forgot to write about it here

image

:computer: UPDATE 1.0.9

[+] Added to Config.BlockedClothes gender, you can set blocked values for male and female other
[+] Added an additional check to see if the player should have access to the ability to open the menu (The lock was made so that your TextUI would not display all the time when, for example, using the clothing store or using the wardrobe menu)
[+] Compatibility with ox_lib (context & input)

Is ui accessible to edit something? And how about adding boss clothes? (Boss of job could create outfits and save it to group menu or sth like that)

yes, html, css and js is open in escrow as well as open source.
vms_clothestore does not have the ability to set up a dressing room for jobs, there is only a dressing room with private clothes there

:computer: UPDATE 1.1.0

[/] Fixed esx_menu_default for ESX fivem-appearance/illenium-appearance
[/] Fixed loading Config.BlockedClothes for ESX fivem-appearance/illenium-appearance
[/] Moved Config.BlockedClothes to each store separately for blockedClothes - following requests to be able to set different blocked values in each store, from now on there is such a possibility
[+] Added Config.UseQSInventory & Config.QSInventoryName to compatibility with qs-inventory clothing system
[+] Added check for length of saved clothes name to wardrobe entered in esx_context & esx_menu_dialog
[/] Fixed display of name in manage esx_menu_default menu for ESX illenium-appearance
[/] Improved display of category name with hats
[+] Added one missing Binco clothing store near the beach

:computer: UPDATE 1.1.1

[/] Changed the operation of the camera, now you can do it by holding the right mouse button and moving around the screen and the distance with the mouse scroll
[+] Added Config.CameraSettings with camera settings such as maximum/minimum height and maximum/minimum fov
[+] Changed the animation in Config.ClothingPedAnimation to one that the character doesn’t move as much
[+] Added Config.DataStoreName - if your table in datastore_data has a name other than “property” using the wardrobe on esx_skin you can adjust this
[+] Added a new option to the Share Outfit store menu - it allows clothes to be shared for free or for money (Config.PriceForAcceptOutfit) - useful for gangs or other organizations on the server that may wear the same clothes
For Share Outfit, you can use the question menu from vms_notify or the menu from Config.Menu
[+] Added Config.GetClosestPlayersFunction for ability to find closest players to Share Outfit
[+] Added the ability to cancel the store menu with the ESC key
[/] Fixed for qb-clothing the possibility of using a ped other than mp_m_freemode_01 and mp_f_freemode_01
[-] Removed from ui slide bars for camera management
image

1 Like

:computer: UPDATE 1.1.2

[/] Fixed the names of elements in the ox_lib context in the Manage clothes option in QB-Core.


:computer: UPDATE 1.1.3

[/] Fixed the ability to remove outfit in option Manage Clothes for esx_skin

:computer: UPDATE 1.1.4

[+] Added ability to also use arrows to change values (config.js)
[+] Support for target system - Config.UseTarget, Config.TargetResource, Config.Target and added parameter targetRotation, targetSize to Config.Stores
[+] Added Config.DefaultPrice to config.prices.lua
[+] Added Config.PricesForComponent: it allows you to set a custom price for a garment category, e.g. for helmet_1 or for torso_1.
[+] Added Config.PricesForIds: it allows you to set a custom price for a specific garment ID e.g. for helmet_1 → 25 which allows you to make more expensive garments e.g. suits or add-on garments
[+] Added payment in the bill menu
[/] Improved UI for 4K resolution
[/] Fixed loading your current values into the store menu for any compatible skinmanager
[-] Removed price parameter from Config.Stores