2026-03-29 21:41:17 +03:00
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Quasar Store · Configuration Guidelines
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- This configuration file defines all adjustable parameters for the script.
|
|
|
|
|
|
-- Comments are standardized to help you identify which sections you can safely edit.
|
|
|
|
|
|
--
|
|
|
|
|
|
-- • [EDIT] – Safe for users to modify. Adjust these values as needed.
|
|
|
|
|
|
-- • [INFO] – Informational note describing what the variable or block does.
|
|
|
|
|
|
-- • [ADV] – Advanced settings. Change only if you understand the logic behind it.
|
|
|
|
|
|
-- • [CORE] – Core functionality. Do not modify unless you are a developer.
|
|
|
|
|
|
-- • [AUTO] – Automatically handled by the system. Never edit manually.
|
|
|
|
|
|
--
|
|
|
|
|
|
-- Always make a backup before editing configuration files.
|
|
|
|
|
|
-- Incorrect changes in [CORE] or [AUTO] sections can break the resource.
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
|
|
|
|
|
|
---@generic T
|
|
|
|
|
|
---@param data {[string]: string}
|
|
|
|
|
|
---@return string | false
|
|
|
|
|
|
local function DependencyCheck(data) -- [CORE] Detects the first started dependency and returns its alias.
|
|
|
|
|
|
for k, v in pairs(data) do
|
|
|
|
|
|
if GetResourceState(k):find('started') ~= nil then
|
|
|
|
|
|
return v
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
return false
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
Config = Config or {} -- [CORE] Main configuration table.
|
|
|
|
|
|
Locales = Locales or {} -- [CORE] Language packs container.
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Language Selection [EDIT]
|
|
|
|
|
|
-- [INFO] Choose your preferred language in locales/* or add your own.
|
|
|
|
|
|
-- Available:
|
|
|
|
|
|
-- 'ar','bg','ca','cs','da','de','el','en','es','fa','fr','hi','hu','it','ja',
|
|
|
|
|
|
-- 'ko','nl','no','pl','pt','ro','ru','sl','sv','th','tr','zh-CN','zh-TW'
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
2026-04-02 00:08:19 +03:00
|
|
|
|
Config.Language = 'en' -- [EDIT]
|
2026-03-29 21:41:17 +03:00
|
|
|
|
|
|
|
|
|
|
--[[ [INFO]
|
|
|
|
|
|
Choose your preferred language!
|
|
|
|
|
|
|
|
|
|
|
|
In this section, you can select the main language for your asset. We have a wide
|
|
|
|
|
|
selection of default languages available, located in the locales/* folder.
|
|
|
|
|
|
|
|
|
|
|
|
If your language is not listed, you can create a new one by adding a file
|
|
|
|
|
|
in locales and customizing it to your needs.
|
|
|
|
|
|
]]
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Framework Detection & Configuration (Inventory) [AUTO]
|
|
|
|
|
|
-- [INFO] Auto-detects qb-core / es_extended / qbx_core. If you renamed them,
|
|
|
|
|
|
-- set adapters or assign manually. Avoid edits unless you know the framework.
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
local frameworks = { -- [CORE] Resource name → internal alias
|
|
|
|
|
|
['es_extended'] = 'esx',
|
|
|
|
|
|
['qb-core'] = 'qb',
|
|
|
|
|
|
['qbx_core'] = 'qb'
|
|
|
|
|
|
}
|
2026-04-02 00:47:45 +03:00
|
|
|
|
Config.Framework = 'qb' -- [EDIT] Forțat QB (auto-detect dezactivat)
|
2026-03-29 21:41:17 +03:00
|
|
|
|
|
|
|
|
|
|
local qbxHas = GetResourceState('qbx_core') == 'started' -- [AUTO]
|
|
|
|
|
|
Config.QBX = qbxHas -- [AUTO]
|
|
|
|
|
|
|
|
|
|
|
|
--[[ [INFO]
|
|
|
|
|
|
Manual setup (only if necessary):
|
|
|
|
|
|
1) Clear Config.Framework auto-detection and set your custom alias.
|
|
|
|
|
|
2) Update framework-specific calls in client/server where required.
|
|
|
|
|
|
Warning: Wrong edits here can break core functionality.
|
|
|
|
|
|
]]
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Security [EDIT]
|
|
|
|
|
|
-- [INFO] Disables client-side shop generation via `inventory:server:OpenInventory`.
|
|
|
|
|
|
-- If enabled, you must use the provided server exports/events to create & open shops.
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
Config.DisableShopGenerationOnClient = false -- [EDIT] true = client shop-gen disabled
|
|
|
|
|
|
|
|
|
|
|
|
-- [INFO] Safe APIs to use when disabling client shop-gen:
|
|
|
|
|
|
-- Server exports: CreateShop, OpenShop
|
|
|
|
|
|
-- Server event: inventory:openShop
|
|
|
|
|
|
-- Example (client): TriggerServerEvent('inventory:openShop', 'shop_name')
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Backward Compatibility (qs-inventory Migration) [EDIT]
|
|
|
|
|
|
-- [INFO] One-time migration from older qs-inventory data. Set true ONCE.
|
|
|
|
|
|
-- After completion (console shows 'Backward compatibility has been completed'),
|
|
|
|
|
|
-- immediately set back to false. Do NOT change other settings during migration.
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
Config.FetchOldInventory = false -- [EDIT] Use true once for migration, then false.
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Targeting [EDIT]
|
|
|
|
|
|
-- [INFO] Enable qb-target / ox_target. If false, targeting is disabled.
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
2026-04-01 00:20:23 +03:00
|
|
|
|
Config.UseTarget = true -- [EDIT]
|
2026-03-29 21:41:17 +03:00
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- General Inventory Settings [EDIT]
|
|
|
|
|
|
-- [INFO] Core behavior for interactions, UI and safety features.
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
Config.ThrowKeybind = 'E' -- [EDIT] Key to throw items; false to disable.
|
|
|
|
|
|
Config.PoliceCanSeeSixthSlot = true -- [EDIT] Police can see protected 6th slot.
|
|
|
|
|
|
Config.PoliceJobs = { 'police', 'sheriff' } -- [EDIT] Jobs treated as police.
|
|
|
|
|
|
Config.BlockedSlot = true -- [EDIT] Lock 6th slot to prevent stealing.
|
|
|
|
|
|
Config.GiveItemHideName = false -- [EDIT] Hide item names on give; show only ID.
|
|
|
|
|
|
Config.OpenProgressBar = false -- [EDIT] Show progress bar on open (dup-prevention).
|
|
|
|
|
|
Config.EnableSounds = true -- [EDIT] Toggle default inventory sounds.
|
|
|
|
|
|
Config.EnableThrow = true -- [EDIT] Allow throwing items.
|
|
|
|
|
|
Config.UseJonskaItemThrow = false -- [EDIT] Use custom throw (see custom/misc/jonska.lua).
|
|
|
|
|
|
Config.EnableTrade = true -- [EDIT] Safe MMORPG-style trade.
|
|
|
|
|
|
Config.EnableChangeLabel = true -- [EDIT] One-click rename items.
|
|
|
|
|
|
|
|
|
|
|
|
Config.Handsup = true -- [EDIT] Enable hands-up & robbery options.
|
|
|
|
|
|
Config.StealDeadPlayer = true -- [EDIT] Allow looting dead players.
|
|
|
|
|
|
Config.StealWithoutWeapons = false -- [EDIT] Can only rob if target is hands-up w/o weapon.
|
|
|
|
|
|
Config.PlaceableItems = true -- [EDIT] Enable placeable items.
|
|
|
|
|
|
Config.KQPlaceableItems = false -- [EDIT] Use KQ Placeable Items for item placement (requires kq_placeable_items resource).
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Player Inventory Capacity [EDIT]
|
|
|
|
|
|
-- [INFO] Changing weight/slots can require wipes to avoid dupes. Be cautious.
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
Config.InventoryWeight = { -- [EDIT]
|
2026-04-02 00:08:19 +03:00
|
|
|
|
weight = 120000, -- [INFO] Max weight (grams).
|
2026-03-29 21:41:17 +03:00
|
|
|
|
slots = 41, -- [INFO] Set 40 to remove protected 6th slot.
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Drop (Ground) Capacity [EDIT]
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
Config.DropWeight = { -- [EDIT]
|
|
|
|
|
|
weight = 20000000, -- [INFO] Max ground drop capacity (grams).
|
|
|
|
|
|
slots = 130, -- [INFO] Max slots for a ground drop.
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Label Change [EDIT]
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
2026-04-02 00:08:19 +03:00
|
|
|
|
Config.LabelChange = true -- [EDIT] Allow item renaming.
|
2026-03-29 21:41:17 +03:00
|
|
|
|
Config.LabelChangePrice = false -- [EDIT] Price or false for free.
|
|
|
|
|
|
Config.BlockedLabelChangeItems = { -- [EDIT] Items that cannot be renamed.
|
|
|
|
|
|
money = true,
|
|
|
|
|
|
phone = true,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Hotbar [EDIT]
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
Config.UsableItemsFromHotbar = true -- [EDIT] Use items from hotbar (1–5).
|
|
|
|
|
|
Config.BlockedItemsHotbar = { -- [EDIT] Items blocked from hotbar use.
|
|
|
|
|
|
'lockpick',
|
|
|
|
|
|
-- Add more here ...
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Backpack & Item Rules [EDIT]
|
|
|
|
|
|
-- [INFO] One-per-item limits, non-stealable and non-storable item lists.
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
Config.OnePerItem = { -- [EDIT] Max quantity per item type.
|
|
|
|
|
|
backpack = 1,
|
|
|
|
|
|
-- Add more items as needed.
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Config.notStolenItems = { -- [EDIT] Items that cannot be stolen.
|
|
|
|
|
|
id_card = true,
|
|
|
|
|
|
water_bottle = true,
|
|
|
|
|
|
tosti = true,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Config.notStoredItems = { -- [EDIT] Items that cannot be stashed.
|
|
|
|
|
|
backpack = true,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Armor [EDIT]
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
Config.DrawableArmor = 100 -- [EDIT] Armor points granted when wearing an armor vest.
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Clothing System Integration [EDIT]
|
|
|
|
|
|
-- [INFO] Enables or disables clothing system integration. Refer to documentation:
|
|
|
|
|
|
-- ESX Docs: https://docs.quasar-store.com/ Inventory > Functions > Clothing
|
|
|
|
|
|
-- QB Docs: https://docs.quasar-store.com/
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
Config.Clothing = true -- [EDIT] Enables clothing options in inventory (adds clothing button).
|
|
|
|
|
|
|
|
|
|
|
|
---@type ClotheSlot[]
|
|
|
|
|
|
Config.ClothingSlots = { -- [EDIT] Define which slots are used for clothing pieces.
|
|
|
|
|
|
{
|
|
|
|
|
|
name = 'helmet',
|
|
|
|
|
|
slot = 1,
|
|
|
|
|
|
type = 'head',
|
|
|
|
|
|
wearType = 'prop',
|
|
|
|
|
|
componentId = 0,
|
|
|
|
|
|
anim = { dict = 'mp_masks@standard_car@ds@', anim = 'put_on_mask', flags = 49 }
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name = 'mask',
|
|
|
|
|
|
slot = 2,
|
|
|
|
|
|
type = 'head',
|
|
|
|
|
|
wearType = 'drawable',
|
|
|
|
|
|
componentId = 1,
|
|
|
|
|
|
anim = { dict = 'mp_masks@standard_car@ds@', anim = 'put_on_mask', flags = 49 }
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name = 'glasses',
|
|
|
|
|
|
slot = 3,
|
|
|
|
|
|
type = 'head',
|
|
|
|
|
|
wearType = 'prop',
|
|
|
|
|
|
componentId = 1,
|
|
|
|
|
|
anim = { dict = 'clothingspecs', anim = 'take_off', flags = 49 }
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name = 'torso',
|
|
|
|
|
|
slot = 4,
|
|
|
|
|
|
type = 'body',
|
|
|
|
|
|
wearType = 'drawable',
|
|
|
|
|
|
componentId = 11,
|
|
|
|
|
|
anim = { dict = 'missmic4', anim = 'michael_tux_fidget', flags = 49 }
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name = 'tshirt',
|
|
|
|
|
|
slot = 5,
|
|
|
|
|
|
type = 'body',
|
|
|
|
|
|
wearType = 'drawable',
|
|
|
|
|
|
componentId = 8,
|
|
|
|
|
|
anim = { dict = 'clothingtie', anim = 'try_tie_negative_a', flags = 49 }
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name = 'jeans',
|
|
|
|
|
|
slot = 6,
|
|
|
|
|
|
type = 'body',
|
|
|
|
|
|
wearType = 'drawable',
|
|
|
|
|
|
componentId = 4,
|
|
|
|
|
|
anim = { dict = 'missmic4', anim = 'michael_tux_fidget', flags = 49 }
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name = 'arms',
|
|
|
|
|
|
slot = 7,
|
|
|
|
|
|
type = 'body',
|
|
|
|
|
|
wearType = 'drawable',
|
|
|
|
|
|
componentId = 3,
|
|
|
|
|
|
anim = { dict = 'nmt_3_rcm-10', anim = 'cs_nigel_dual-10', flags = 49 }
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name = 'shoes',
|
|
|
|
|
|
slot = 8,
|
|
|
|
|
|
type = 'body',
|
|
|
|
|
|
wearType = 'drawable',
|
|
|
|
|
|
componentId = 6,
|
|
|
|
|
|
anim = { dict = 'random@domestic', anim = 'pickup_low', flags = 49 }
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name = 'ears',
|
|
|
|
|
|
slot = 9,
|
|
|
|
|
|
type = 'body',
|
|
|
|
|
|
wearType = 'prop',
|
|
|
|
|
|
componentId = 2,
|
|
|
|
|
|
anim = { dict = 'mp_cp_stolen_tut', anim = 'b_think', flags = 49 }
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name = 'bag',
|
|
|
|
|
|
slot = 10,
|
|
|
|
|
|
type = 'addon',
|
|
|
|
|
|
wearType = 'drawable',
|
|
|
|
|
|
componentId = 5,
|
|
|
|
|
|
anim = { dict = 'anim@heists@ornate_bank@grab_cash', anim = 'intro', flags = 49 }
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name = 'watch',
|
|
|
|
|
|
slot = 11,
|
|
|
|
|
|
type = 'addon',
|
|
|
|
|
|
wearType = 'prop',
|
|
|
|
|
|
componentId = 6,
|
|
|
|
|
|
anim = { dict = 'nmt_3_rcm-10', anim = 'cs_nigel_dual-10', flags = 49 }
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name = 'bracelets',
|
|
|
|
|
|
slot = 12,
|
|
|
|
|
|
type = 'addon',
|
|
|
|
|
|
wearType = 'prop',
|
|
|
|
|
|
componentId = 7,
|
|
|
|
|
|
anim = { dict = 'nmt_3_rcm-10', anim = 'cs_nigel_dual-10', flags = 49 }
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name = 'chain',
|
|
|
|
|
|
slot = 13,
|
|
|
|
|
|
type = 'addon',
|
|
|
|
|
|
wearType = 'drawable',
|
|
|
|
|
|
componentId = 7,
|
|
|
|
|
|
anim = { dict = 'nmt_3_rcm-10', anim = 'cs_nigel_dual-10', flags = 49 }
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name = 'vest',
|
|
|
|
|
|
slot = 14,
|
|
|
|
|
|
type = 'addon',
|
|
|
|
|
|
wearType = 'drawable',
|
|
|
|
|
|
componentId = 9,
|
|
|
|
|
|
anim = { dict = 'nmt_3_rcm-10', anim = 'cs_nigel_dual-10', flags = 49 }
|
|
|
|
|
|
},
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Appearance System Detection [AUTO]
|
|
|
|
|
|
-- [INFO] Auto-detects supported appearance/clothing resources.
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
local appearances = { -- [CORE] Resource name → internal alias
|
|
|
|
|
|
['illenium-appearance'] = 'illenium',
|
|
|
|
|
|
['qs-appearance'] = 'illenium',
|
|
|
|
|
|
['rcore_clothing'] = 'rcore',
|
|
|
|
|
|
['esx_skin'] = 'esx',
|
|
|
|
|
|
['qb-clothing'] = 'qb'
|
|
|
|
|
|
}
|
|
|
|
|
|
Config.Appearance = DependencyCheck(appearances) or 'standalone' -- [AUTO]
|
|
|
|
|
|
|
|
|
|
|
|
Config.TakePreviousClothes = false -- [EDIT] Adds previous worn clothes back to inventory when changing.
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Drop Settings [EDIT]
|
|
|
|
|
|
-- [INFO] Control dropped items visuals and refresh system.
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
Config.ItemDropObject = `prop_paper_bag_small` -- [EDIT] Model for dropped items (false = no object)
|
|
|
|
|
|
Config.DropRefreshTime = 15 * 60 -- [EDIT] Refresh time for ground items (seconds)
|
|
|
|
|
|
Config.MaxDropViewDistance = 9.5 -- [EDIT] Max view distance for dropped items
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Gender System [EDIT]
|
|
|
|
|
|
-- [INFO] Defines available gender labels for use in UI and logic.
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
Config.Genders = {
|
|
|
|
|
|
['m'] = 'Male',
|
|
|
|
|
|
['f'] = 'Female',
|
2026-04-02 00:47:45 +03:00
|
|
|
|
[0] = 'Male',
|
|
|
|
|
|
[1] = 'Female',
|
2026-03-29 21:41:17 +03:00
|
|
|
|
[2] = 'Female'
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Visual Configuration [EDIT]
|
|
|
|
|
|
-- [INFO] Controls animations, UI logo, idle camera and sidebar visibility.
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
Config.OpenInventoryAnim = true -- [EDIT] Play animation when opening inventory
|
|
|
|
|
|
Config.OpenInventoryScene = false -- [EDIT] Toggle scene animation
|
|
|
|
|
|
Config.Logo = 'https://i.ibb.co/CJfj6KV/Mini-copia.png' -- [EDIT] Logo (URL or local path)
|
|
|
|
|
|
Config.IdleCamera = true -- [EDIT] Enable idle camera while inventory open
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Sidebar & Display Options [EDIT]
|
|
|
|
|
|
-- [INFO] Defines what stats and menus appear in the UI.
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
Config.InventoryOptions = {
|
|
|
|
|
|
['clothes'] = Config.Clothing, -- [EDIT] Enable clothing button
|
|
|
|
|
|
['configuration'] = true, -- [EDIT] Show config menu
|
|
|
|
|
|
['health'] = true, -- [EDIT] Show player health
|
|
|
|
|
|
['armor'] = true, -- [EDIT] Show armor level
|
|
|
|
|
|
['hunger'] = true, -- [EDIT] Show hunger
|
|
|
|
|
|
['thirst'] = true, -- [EDIT] Show thirst
|
|
|
|
|
|
['id'] = true, -- [EDIT] Show player ID
|
|
|
|
|
|
['money'] = true, -- [EDIT] Show cash
|
2026-04-02 00:08:19 +03:00
|
|
|
|
['bank'] = true, -- [EDIT] Show bank balance
|
|
|
|
|
|
['blackmoney'] = true, -- [EDIT] Show black money
|
2026-03-29 21:41:17 +03:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Item Mini Icons [EDIT]
|
|
|
|
|
|
-- [INFO] Assign FontAwesome icons to items in UI. (https://fontawesome.com/)
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
Config.ItemMiniIcons = {
|
|
|
|
|
|
['tosti'] = { icon = 'fa-solid fa-utensils' },
|
|
|
|
|
|
['water_bottle'] = { icon = 'fa-solid fa-utensils' },
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Item Rarities [EDIT]
|
|
|
|
|
|
-- [INFO] Define rarity gradients for inventory visuals.
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
Config.ItemRarities = {
|
|
|
|
|
|
{ name = 'common', css = 'background-image: linear-gradient(to top, rgba(211,211,211,0.5), rgba(211,211,211,0) 60%)' },
|
|
|
|
|
|
{ name = 'epic', css = 'background-image: linear-gradient(to top, rgba(128,0,128,0.5), rgba(128,0,128,0) 60%)' },
|
|
|
|
|
|
{ name = 'legendary', css = 'background-image: linear-gradient(to top, rgba(255,215,0,0.5), rgba(255,215,0,0) 60%)' },
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Default Character Appearance [EDIT]
|
|
|
|
|
|
-- [INFO] Base clothing sets per gender. Adjust for custom clothing systems.
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
Config.Defaults = {
|
|
|
|
|
|
['female'] = {
|
|
|
|
|
|
torso = 18,
|
|
|
|
|
|
jeans = 19,
|
|
|
|
|
|
shoes = 34,
|
|
|
|
|
|
arms = 15,
|
|
|
|
|
|
helmet = -1,
|
|
|
|
|
|
glasses = -1,
|
|
|
|
|
|
mask = 0,
|
|
|
|
|
|
tshirt = 2,
|
|
|
|
|
|
ears = -1,
|
|
|
|
|
|
bag = 0,
|
|
|
|
|
|
watch = -1,
|
|
|
|
|
|
chain = 0,
|
|
|
|
|
|
bracelets = -1,
|
|
|
|
|
|
vest = 0,
|
|
|
|
|
|
},
|
|
|
|
|
|
['male'] = {
|
|
|
|
|
|
torso = 15,
|
|
|
|
|
|
jeans = 14,
|
|
|
|
|
|
shoes = 34,
|
|
|
|
|
|
arms = 15,
|
|
|
|
|
|
helmet = -1,
|
|
|
|
|
|
glasses = -1,
|
|
|
|
|
|
mask = 0,
|
|
|
|
|
|
tshirt = 15,
|
|
|
|
|
|
ears = -1,
|
|
|
|
|
|
bag = 0,
|
|
|
|
|
|
watch = -1,
|
|
|
|
|
|
chain = 0,
|
|
|
|
|
|
bracelets = -1,
|
|
|
|
|
|
vest = 0,
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Compact Inventory [EDIT]
|
|
|
|
|
|
-- [INFO] Turns your inventory into a compact, side-mounted interface allowing
|
|
|
|
|
|
-- movement while open — signature Quasar experience.
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
Config.CompactInventory = false -- [EDIT] Enables compact view for a smaller, mobile-friendly layout.
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Key Bindings [EDIT]
|
|
|
|
|
|
-- [INFO] Define shortcut keys for inventory actions. See documentation for keymap setup.
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
Config.KeyBinds = { -- [EDIT]
|
|
|
|
|
|
inventory = 'TAB', -- [INFO] Open inventory
|
|
|
|
|
|
hotbar = 'Z', -- [INFO] Show hotbar
|
|
|
|
|
|
reload = 'R', -- [INFO] Reload action
|
|
|
|
|
|
handsup = 'X', -- [INFO] Hands-up/robbery gesture
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Debug & Development Tools [EDIT]
|
|
|
|
|
|
-- [INFO] Enables development logs and debugging prints. Use only during testing.
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
2026-04-02 00:47:45 +03:00
|
|
|
|
Config.Debug = false -- [EDIT] Detailed console prints
|
2026-03-29 21:41:17 +03:00
|
|
|
|
Config.ZoneDebug = false -- [EDIT] Display additional zone debug info
|
|
|
|
|
|
Config.InventoryPrefix = 'inventory' -- [ADV] Internal prefix; changing requires code adjustments
|
|
|
|
|
|
Config.SaveInventoryInterval = 12500 -- [EDIT] Autosave interval (ms)
|
|
|
|
|
|
Config.BypassQbInventory = true -- [EDIT] Bypass qb-inventory for QS compatibility
|
|
|
|
|
|
|
|
|
|
|
|
--[[ [INFO]
|
|
|
|
|
|
The system now saves inventories when updates occur instead of on close,
|
|
|
|
|
|
reducing duplication risks. Avoid frequent restarts, as unsaved data may be lost.
|
|
|
|
|
|
|
|
|
|
|
|
Command available:
|
|
|
|
|
|
/save-inventories → Manually saves all inventories before restart.
|
|
|
|
|
|
]]
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Free Mode Keys [EDIT]
|
|
|
|
|
|
-- [INFO] Controls for object manipulation during free placement/edit modes.
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
Config.FreeModeKeys = {
|
|
|
|
|
|
ChangeKey = Keys['LEFTCTRL'], -- [EDIT] Toggle free mode
|
|
|
|
|
|
MoreSpeed = Keys['.'], -- [EDIT] Increase move speed
|
|
|
|
|
|
LessSpeed = Keys[','], -- [EDIT] Decrease move speed
|
|
|
|
|
|
MoveToTop = Keys['TOP'], -- [EDIT] Move upward
|
|
|
|
|
|
MoveToDown = Keys['DOWN'], -- [EDIT] Move downward
|
|
|
|
|
|
MoveToForward = Keys['TOP'], -- [EDIT] Move forward
|
|
|
|
|
|
MoveToBack = Keys['DOWN'], -- [EDIT] Move backward
|
|
|
|
|
|
MoveToRight = Keys['RIGHT'], -- [EDIT] Move right
|
|
|
|
|
|
MoveToLeft = Keys['LEFT'], -- [EDIT] Move left
|
|
|
|
|
|
RotateToTop = Keys['6'], -- [EDIT] Rotate upward
|
|
|
|
|
|
RotateToDown = Keys['7'], -- [EDIT] Rotate downward
|
|
|
|
|
|
RotateToLeft = Keys['8'], -- [EDIT] Rotate left
|
|
|
|
|
|
RotateToRight = Keys['9'], -- [EDIT] Rotate right
|
|
|
|
|
|
TiltToTop = Keys['Z'], -- [EDIT] Tilt upward
|
|
|
|
|
|
TiltToDown = Keys['X'], -- [EDIT] Tilt downward
|
|
|
|
|
|
TiltToLeft = Keys['C'], -- [EDIT] Tilt left
|
|
|
|
|
|
TiltToRight = Keys['V'], -- [EDIT] Tilt right
|
|
|
|
|
|
StickToTheGround = Keys['LEFTALT'], -- [EDIT] Snap object to ground
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Editor Action Controls [EDIT]
|
|
|
|
|
|
-- [INFO] Keybinds used in world/zone editing for point and rotation handling.
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
ActionControls = {
|
|
|
|
|
|
leftClick = { label = 'Place Object', codes = { 24 } }, -- [EDIT]
|
|
|
|
|
|
forward = { label = 'Forward +/-', codes = { 33, 32 } }, -- [EDIT] Move forward/backward
|
|
|
|
|
|
right = { label = 'Right +/-', codes = { 35, 34 } }, -- [EDIT] Move left/right
|
|
|
|
|
|
up = { label = 'Up +/-', codes = { 52, 51 } }, -- [EDIT] Raise/lower vertically
|
|
|
|
|
|
add_point = { label = 'Add Point', codes = { 24 } }, -- [EDIT]
|
|
|
|
|
|
undo_point = { label = 'Undo Last', codes = { 25 } }, -- [EDIT]
|
|
|
|
|
|
rotate_z = { label = 'RotateZ +/-', codes = { 20, 79 } }, -- [EDIT] Z-axis rotation
|
|
|
|
|
|
rotate_y = { label = 'RotateY +/-', codes = { 29, 249 } }, -- [EDIT] Y-axis rotation
|
|
|
|
|
|
rotate_x = { label = 'RotateX +/-', codes = { 311, 182 } }, -- [EDIT] X-axis rotation
|
|
|
|
|
|
rotate_z_scroll = { label = 'RotateZ +/-', codes = { 17, 16 } }, -- [EDIT] Z-axis via scroll modifiers
|
|
|
|
|
|
offset_z = { label = 'Offset Z +/-', codes = { 44, 46 } }, -- [EDIT] Vertical offset
|
|
|
|
|
|
boundary_height = { label = 'Z Boundary +/-', codes = { 20, 73 } }, -- [EDIT] Change Z boundary
|
|
|
|
|
|
done = { label = 'Done', codes = { 191 } }, -- [EDIT] Confirm/finish
|
|
|
|
|
|
cancel = { label = 'Cancel', codes = { 194 } }, -- [EDIT] Cancel current action
|
|
|
|
|
|
throw = { label = 'Throw', codes = { 24, 25 } }, -- [EDIT] Throw current weapon
|
|
|
|
|
|
}
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
-- Free Camera Options [EDIT]
|
|
|
|
|
|
-- [INFO] Camera movement and rotation speed configuration for editors/previews.
|
|
|
|
|
|
--──────────────────────────────────────────────────────────────────────────────
|
|
|
|
|
|
CameraOptions = {
|
|
|
|
|
|
lookSpeedX = 1000.0, -- [EDIT] Horizontal camera movement speed
|
|
|
|
|
|
lookSpeedY = 1000.0, -- [EDIT] Vertical camera movement speed
|
|
|
|
|
|
moveSpeed = 20.0, -- [EDIT] Free camera move speed
|
|
|
|
|
|
climbSpeed = 10.0, -- [EDIT] Up/Down movement speed
|
|
|
|
|
|
rotateSpeed = 20.0, -- [EDIT] Rotation speed
|
|
|
|
|
|
}
|