--────────────────────────────────────────────────────────────────────────────── -- 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. --────────────────────────────────────────────────────────────────────────────── Config = Config or {} -- [CORE] Locales = Locales or {} -- [CORE] --────────────────────────────────────────────────────────────────────────────── -- Language & UI Paths [EDIT] -- [INFO] Select the locale and NUI base path used by the web UI. --────────────────────────────────────────────────────────────────────────────── -- Languages available by default: -- 'ar','bg','cs','da','de','el','en','es','fa','fr','he','hi','hu','it', -- 'jp','ko','nl','no','pl','pt','ro','ru','sl','sv','tk','tr','zh-CN' Config.Locale = 'ro' -- [EDIT] Default language code. Config.Path = 'nui://qs-advancedgarages/web/' -- [ADV] Base NUI path (keep if you didn't move /web). Config.ImagePath = Config.Path .. 'images/' -- [ADV] Asset path for images. Config.MaxPlateLength = 7 -- [EDIT] Maximum plate length. --────────────────────────────────────────────────────────────────────────────── -- Framework Detection [AUTO] -- [INFO] Automatically detects ESX/QB. If renamed, add adapters and set manually. --────────────────────────────────────────────────────────────────────────────── local frameworks = { -- [CORE] ['es_extended'] = 'esx', ['qb-core'] = 'qb', ['qbx_core'] = 'qb', } Config.Framework = DependencyCheck(frameworks) or 'standalone' -- [AUTO] --────────────────────────────────────────────────────────────────────────────── -- Inventory System Detection [AUTO] -- [INFO] Automatically detects the active inventory system. Extend via adapters. --────────────────────────────────────────────────────────────────────────────── local inventories = { -- [CORE] ['qs-inventory'] = 'qs-inventory', ['qb-inventory'] = 'qb-inventory', ['ps-inventory'] = 'ps-inventory', ['ox_inventory'] = 'ox_inventory', ['core_inventory'] = 'core_inventory', ['codem-inventory'] = 'codem-inventory', ['inventory'] = 'inventory', ['origen_inventory'] = 'origen_inventory', ['tgiann-inventory'] = 'tgiann-inventory', } Config.Inventory = DependencyCheck(inventories) or 'default' -- [AUTO] --────────────────────────────────────────────────────────────────────────────── -- Wardrobe / Appearance Detection [AUTO] -- [INFO] Detects your clothing/appearance system automatically. --────────────────────────────────────────────────────────────────────────────── local wardrobes = { -- [CORE] ['qs-appearance'] = 'qs-appearance', ['qb-clothing'] = 'qb-clothing', ['codem-appearance'] = 'codem-appearance', ['ak47_clothing'] = 'ak47_clothing', ['fivem-appearance'] = 'fivem-appearance', ['illenium-appearance'] = 'illenium-appearance', ['raid_clothes'] = 'raid_clothes', ['rcore_clothes'] = 'rcore_clothes', ['rcore_clothing'] = 'rcore_clothing', ['sleek-clothestore'] = 'sleek-clothestore', ['tgiann-clothing'] = 'tgiann-clothing', ['p_appearance'] = 'p_appearance', } Config.Wardrobe = DependencyCheck(wardrobes) or 'default' -- [AUTO] --────────────────────────────────────────────────────────────────────────────── -- Menu / Target Systems [EDIT] -- [INFO] Choose your interaction menu system and optional target/radial. --────────────────────────────────────────────────────────────────────────────── -- Menu options: 'esx_menu_default','nh-context','ox_lib','qb-menu','esx_context' -- Target options: 'ox_target','qb-radialmenu','none' Config.Menu = 'ox_lib' -- [EDIT] Recommended: 'ox_lib' Config.UseTarget = 'none' -- [EDIT] 'ox_target','qb-radialmenu' or 'none' (no qb-target). --────────────────────────────────────────────────────────────────────────────── -- Fuel / Weather / Vehicle Keys Detection [AUTO] -- [INFO] Auto-detect common auxiliary systems. Avoid running duplicates. --────────────────────────────────────────────────────────────────────────────── local fuels = { -- [CORE] ['qs-fuelstations'] = 'qs-fuelstations', ['LegacyFuel'] = 'LegacyFuel', ['okokGasStation'] = 'okokGasStation', ['esx-sna-fuel'] = 'esx-sna-fuel', ['ps-fuel'] = 'ps-fuel', ['lj-fuel'] = 'lj-fuel', ['ox_fuel'] = 'ox_fuel', ['ti_fuel'] = 'ti_fuel', ['FRFuel'] = 'FRFuel', ['ND_Fuel'] = 'ND_Fuel', ['cdn-fuel'] = 'cdn-fuel', ['BigDaddy-Fuel'] = 'BigDaddy-Fuel', } Config.Fuel = DependencyCheck(fuels) or 'none' -- [AUTO] local weathers = { -- [CORE] ['cd_easytime'] = 'cd_easytime', ['qb-weathersync'] = 'qb-weathersync', ['vSync'] = 'vSync', } Config.Weather = DependencyCheck(weathers) or 'none' -- [AUTO] local vehicleKeys = { -- [CORE] ['qs-vehiclekeys'] = 'qs-vehiclekeys', ['qb-vehiclekeys'] = 'qb-vehiclekeys', ['F_RealCarKeysSystem'] = 'F_RealCarKeysSystem', ['fivecode_carkeys'] = 'fivecode_carkeys', ['glfp10_carkeys'] = 'glfp10_carkeys', ['jc_vehiclekeys'] = 'jc_vehiclekeys', ['mono_carkeys'] = 'mono_carkeys', ['ti_vehicleKeys'] = 'ti_vehicleKeys', ['vehicles_keys'] = 'vehicles_keys', ['wasabi_carlock'] = 'wasabi_carlock', ['xd_locksystem'] = 'xd_locksystem', ['qbx_vehiclekeys'] = 'qbx_vehiclekeys', ['MrNewbVehicleKeys'] = 'MrNewbVehicleKeys', } Config.Vehiclekeys = DependencyCheck(vehicleKeys) or 'none' -- [AUTO] --────────────────────────────────────────────────────────────────────────────── -- Map Blips & Tags [EDIT] -- [INFO] Customize sprites/colors for garage categories and quick tags. --────────────────────────────────────────────────────────────────────────────── Config.BlipSprites = { -- [EDIT] plane = { owned = 423, notOwned = 372, size = 0.6, color = 67 }, vehicle = { owned = 357, notOwned = 369, size = 0.6, color = 67 }, boat = { owned = 410, notOwned = 371, size = 0.6, color = 67 }, impound = { color = 6 }, } Config.Tags = { 'Favorite', 'Fast', 'Safe', 'Luxury', 'Sports', 'Family', 'Special', 'Classic' } -- [EDIT] Config.Shells = { { model = 'sp_illegal_01_subhampro_tebex_io' }, { model = 'sp_illegal_02_subhampro_tebex_io' }, } --────────────────────────────────────────────────────────────────────────────── -- Economy & Behavior [EDIT] -- [INFO] Fees, behavior toggles, persistence and visual preferences. --────────────────────────────────────────────────────────────────────────────── Config.TransferGaragePrice = 500 -- [EDIT] Fee to withdraw vehicles from shell. Config.TransferBlacklist = { -- [EDIT] Vehicle models that cannot be transferred to another player. -- 'adder', -- 'zentorno', -- 't20', } Config.GarageSellTax = 1.3 -- [EDIT] Creator's profit multiplier on sale. Config.ImpoundPrice = 500 -- [EDIT] Default impound release fee. Config.RepairKit = false -- [EDIT] Enable 'repairkit' usage in garages. Config.DisableBlips = false -- [EDIT] Hide all blips if true. Config.ShortNames = false -- [EDIT] Shorten blip names. Config.IdleDuration = 10000 -- [EDIT] AFK cinematic camera ms (30s). Config.PlayerToVehicleAnimation = true -- [EDIT] Play enter-vehicle animation. Config.SetEntityAlpha = true -- [EDIT] Fade effects while saving. Config.GarageSync = true -- [EDIT] Share slots/vehicles across same shell. Config.PersistentVehicles = true -- [EDIT] Keep vehicles persistent on map. Config.PersistentVehiclesLocked = false -- [EDIT] Spawn persistent vehicles locked? Config.EnablePublicInteriors = false -- [EDIT] Allow entry to public interiors. Config.EnabledButtons = { ['favorite'] = true, ['tag'] = true, ['send'] = true, ['transfer'] = true, ['bring'] = true } --────────────────────────────────────────────────────────────────────────────── -- Decoration & Lighting [EDIT] -- [INFO] Money source, FiveGuard integration, and default light intensity. --────────────────────────────────────────────────────────────────────────────── Config.SellObjectCommision = 0.3 -- [EDIT] Furniture sale commission. Config.MoneyType = 'money' -- [EDIT] 'money' | 'bank' Config.FiveGuard = false -- [EDIT] false | 'your-fiveguard-resource-name' Config.DefaultLightIntensity = 40.0 -- [EDIT] Default shell light intensity. --────────────────────────────────────────────────────────────────────────────── -- Music & SFX [EDIT] -- [INFO] Background music inside garages and menu click sounds. --────────────────────────────────────────────────────────────────────────────── Config.Sounds = true -- [EDIT] Enable ambient music. Config.SoundVolume = 0.1 -- [EDIT] Suggested 0.01–0.05 for ambient. Config.SoundFiles = { 'A$AP_Rocky_-_Shittin_Me' } -- [ADV] Add more in web/sounds/*.ogg Config.MenuSounds = true -- [EDIT] UI/menu sound effects. -- DECORATE MUSIC Config.Music = 'A$AP_Rocky_-_Shittin_Me' -- [EDIT] false to disable music Config.MusicVolume = 0.01 --────────────────────────────────────────────────────────────────────────────── -- FurniCreator · Client Graphics & Capture [EDIT] -- [INFO] Interval between thumbnail captures (increase on low-end PCs). --────────────────────────────────────────────────────────────────────────────── Config.FurniCreator = { interval = 300 } -- [EDIT] ms between captures. Config.FurniCreatorCommand = 'garagefurniture' --────────────────────────────────────────────────────────────────────────────── -- Job Permissions [EDIT] -- [INFO] Whitelist who can create garages or impound vehicles. --────────────────────────────────────────────────────────────────────────────── Config.AllowedJobs = { 'mechanic', 'realestate' } -- [EDIT] Config.ImpoundJobs = { 'police' } -- [EDIT] Config.CreatorJobs = { -- [EDIT] { job = 'mechanic', grade = { 1, 2 } }, } Config.DisableSounds = false -- [EDIT] Mute all garage sounds. Config.EnableF3Shop = true --────────────────────────────────────────────────────────────────────────────── -- Recovery Points & Blip [EDIT] -- [INFO] Locations to recover vehicles and associated blip settings. --────────────────────────────────────────────────────────────────────────────── Config.Recovery = { -- [EDIT] coords = { vec3(408.975830, -1622.887939, 29.279907), vec3(944.373657, -463.318665, 61.547241), }, blip = { sprite = 67, color = 6, scale = 0.6, name = 'Recovery', shortRange = true, active = true }, price = 5000, } Config.ZoneRadius = 50.0 -- [EDIT] PolyZone radius for interactions. --────────────────────────────────────────────────────────────────────────────── -- Default Vehicle/Boat/Plane Camera Presets [EDIT] -- [INFO] Fallback cameras used for personal garages or missing configs. --────────────────────────────────────────────────────────────────────────────── Config.vehicleCamera = { -- [EDIT] vehicleCoords = vec4(-148.628571, -594.474731, 166.723755, 155.905502), camera = { coords = vec3(-146.56, -596.43, 166.93), rotation = vec3(-2.0, 7.0, 59.0), ped = vec4(-147.84, -595.20, 167.00, 226.34), }, } Config.BoatCamera = { -- [EDIT] vehicleCoords = vec4(-859.648376, -1476.923096, 0.432983, 291.968506), camera = { coords = vec3(-857.762634, -1471.569214, 1.629272), rotation = vec3(-10.0, 2.0, 178.0), ped = vec4(-865.13, -1484.44, 1.60, 351.98), }, } Config.PlaneCamera = { -- [EDIT] vehicleCoords = vec4(1729.635132, 3298.760498, 40.788330, 359.661407), camera = { coords = vec3(1733.762695, 3303.072510, 41.209473), rotation = vec3(-5.0, 2.0, 145.0), ped = vec4(1725.16, 3294.45, 41.22, 317.20), }, } --────────────────────────────────────────────────────────────────────────────── -- Currency & Intl Formatting [EDIT] -- [INFO] Purely visual. Affects how prices/dates appear in the NUI. --────────────────────────────────────────────────────────────────────────────── Config.Intl = { locales = 'en-US', -- [EDIT] Format locale (e.g. en-US, pt-BR, es-ES, fr-FR, etc.) options = { style = 'currency', -- [EDIT] Display style: 'decimal', 'currency', 'percent', 'unit' currency = 'USD', -- [EDIT] Currency code (e.g. USD, EUR, BRL, RUB, CNY) minimumFractionDigits = 0 -- [EDIT] Number of decimal places shown. } } --────────────────────────────────────────────────────────────────────────────── -- Creator / Editor Controls [EDIT] -- [INFO] Minimum polygon length and camera/editor control sensitivities. --────────────────────────────────────────────────────────────────────────────── Config.MinPointLength = 70.0 -- [EDIT] Minimum total poly length. Config.MinZOffset = 30 -- [EDIT] Minimum shell Z spawn offset Config.CreatorAlpha = 200 -- [EDIT] Creator ghost alpha (visual aid) Config.NeedToBeInsidePoints = { -- [EDIT] ['entry'] = true, -- [INFO] Require to be inside entry poly to interact. ['shell'] = false -- [INFO] Force shell interactions inside shell poly. } CameraOptions = { -- [EDIT] lookSpeedX = 1000.0, -- Horizontal camera speed. lookSpeedY = 1000.0, -- Vertical camera speed. moveSpeed = 20.0, -- Free-move speed. climbSpeed = 10.0, -- Up/down speed. rotateSpeed = 20.0, -- Rotation speed. } ActionControls = { -- [EDIT] Change labels/keys at your own risk. leftClick = { label = 'Left Click', codes = { 24 } }, rightClick = { label = 'Right Click', codes = { 25 } }, forward = { label = 'Forward +/-', codes = { 33, 32 } }, right = { label = 'Right +/-', codes = { 35, 34 } }, up = { label = 'Up +/-', codes = { 52, 51 } }, add_point = { label = 'Add Point', codes = { 24 } }, undo_point = { label = 'Undo Last', codes = { 25 } }, rotate_z = { label = 'RotateZ +/-', codes = { 20, 73 } }, rotate_z_scroll = { label = 'RotateZ +/-', codes = { 17, 16 } }, offset_z = { label = 'Offset Z +/-', codes = { 44, 46 } }, boundary_height = { label = 'Z Boundary +/-', codes = { 20, 73 } }, done = { label = 'Done', codes = { 191 } }, cancel = { label = 'Cancel', codes = { 194 } }, arrow_left = { label = 'Previous', codes = { 174 } }, arrow_right = { label = 'Next', codes = { 175 } }, -- Decorate (Modern Mode) place_object_on_ground = { label = 'Place Object on Ground', codes = { 47 } }, toggle_free_mode = { label = 'Toggle Free Mode', codes = { 167 } }, toggle_cursor = { label = 'Toggle Cursor', codes = { 166 } }, toggle_editor_mode = { label = 'Toggle Translate/Rotate', codes = { 311 } }, toggle_gizmo_mode = { label = 'Toggle Gizmo Mode', codes = { 244 } }, toggle_free_camera = { label = 'Toggle Free Camera', codes = { 170 } }, focus_free_camera = { label = 'Focus Object', codes = { 49 } }, zoom = { label = 'Zoom +/-', codes = { 17, 16 } }, increase_z = { label = 'Z Boundary +/-', codes = { 180, 181 } }, decrease_z = { label = 'Z Boundary +/-', codes = { 21, 180, 181 } }, change_shell = { label = 'Change Shell +/-', codes = { 189, 190 } }, } --────────────────────────────────────────────────────────────────────────────── -- Showcase Camera Sequencer [EDIT] -- [INFO] Randomized cinematic camera passes around vehicles in the shell. --────────────────────────────────────────────────────────────────────────────── Config.RandomizedPositions = true -- [EDIT] Randomize camera sequence order. Config.CameraDuration = 10000 -- [EDIT] ms shown per transition. -- [INFO] Positions: 'front-left','front-middle','front-right','back-left','back-middle','back-right', -- 'left','right','top-left','top-middle','top-right','center','front-left-diagonal','front-right-diagonal', -- 'back-left-diagonal','back-right-diagonal' Config.CameraAnimations = { -- [EDIT] Needs ≥ 2 entries to work. { distance = 4.0, fovFrom = 20.0, fovTo = 35.0, from = 'front-middle', to = 'front-left' }, { distance = 5.0, fovFrom = 30.0, fovTo = 40.0, from = 'front-left', to = 'left' }, { distance = 6.0, fovFrom = 40.0, fovTo = 35.0, from = 'back-middle', to = 'back-right' }, { distance = 5.0, fovFrom = 30.0, fovTo = 30.0, from = 'back-right', to = 'right' }, { distance = 5.0, fovFrom = 35.0, fovTo = 40.0, from = 'right', to = 'front-right' }, { distance = 8.0, fovFrom = 50.0, fovTo = 50.0, from = 'top-middle', to = 'front-middle' }, { distance = 7.0, fovFrom = 30.0, fovTo = 50.0, from = 'left', to = 'top-middle' }, { distance = 4.5, fovFrom = 40.0, fovTo = 35.0, from = 'back-left', to = 'back-right' }, { distance = 3.5, fovFrom = 25.0, fovTo = 30.0, from = 'right', to = 'back-right' }, { distance = 6.5, fovFrom = 45.0, fovTo = 50.0, from = 'back-middle', to = 'top-middle' }, } --────────────────────────────────────────────────────────────────────────────── -- Debug [EDIT] -- [INFO] Verbose logging for development. Keep disabled in production. --────────────────────────────────────────────────────────────────────────────── Config.Debug = false -- [EDIT] Config.ZoneDebug = false -- [EDIT]