📃Config

Config = {}

Config.Locale = 'en' -- 'en', 'pt'
Config.Currency = '$' -- Currency symbol for price display
Config.Debug = false -- Enable debug logging
Config.AllowPlateText = false -- Allow players to change license plate text
Config.AllowStance = true -- Allow players to modify vehicle stance (ride height, camber, wheel offset)
Config.SoundEffects = true -- Enable UI sound effects (GTA frontend sounds)

-- Required items per category (set to an item name to require it, nil = no item needed)
-- Players will need the item in their inventory + money to apply modifications
-- For performance/parts, you can also set 'item' on each individual entry in Config.Mods
Config.RequiredItems = {
    repair = nil,           -- e.g., 'repairkit'
    colors = nil,           -- e.g., 'spray_can'
    wheels = nil,           -- e.g., 'wheel_kit'
    neon = nil,             -- e.g., 'neon_kit'
    xenon = nil,            -- e.g., 'xenon_bulb'
    window_tint = nil,      -- e.g., 'tint_film'
    tyre_smoke = nil,       -- e.g., 'smoke_kit'
    plate = nil,            -- e.g., 'plate_kit'
    horn = nil,             -- e.g., 'horn_kit'
    bulletproofTires = nil, -- e.g., 'bulletproof_tires'
    wheelColor = nil,       -- e.g., 'wheel_paint'
    pearlescent = nil,      -- e.g., 'pearl_coat'
    interiorColor = nil,    -- e.g., 'interior_dye'
    dashboardColor = nil,   -- e.g., 'dashboard_dye'
    extras = nil,           -- e.g., 'extras_kit'
    livery = nil,           -- e.g., 'livery_wrap'
    stance = nil,           -- e.g., 'stance_kit'
}

-- Commands (change the command names here)
Config.Commands = {
    mtuning = 'mtuning',       -- Admin panel command
    mrepair = 'mrepair',       -- Mechanic repair command (jobs associated with tuning zones)
    vehstats = 'vehstats',     -- Vehicle stats mini UI (jobs associated with tuning zones)
}

-- Admin panel access (identifiers: steam:xxx, license:xxx, discord:xxx, fivem:xxx | citizenid)
Config.Admins = {
    'WI72V52P',
    -- 'license:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    -- 'ABC12345', -- citizenid
}

-- Mod definitions (add 'item' to any entry to require that item, e.g., item = 'engine_part')
Config.Mods = {
    -- Performance mods
    performance = {
        { id = 11, label = 'Engine',       maxLevel = 4, priceKey = 'engine' },
        { id = 12, label = 'Brakes',       maxLevel = 3, priceKey = 'brakes' },
        { id = 13, label = 'Transmission', maxLevel = 4, priceKey = 'transmission' },
        { id = 15, label = 'Suspension',   maxLevel = 5, priceKey = 'suspension' },
        { id = 16, label = 'Armor',        maxLevel = 4, priceKey = 'armor' },
        { id = 18, label = 'Turbo',       toggle = true, priceKey = 'turbo' },
    },
    -- Cosmetic parts
    parts = {
        { id = 0,  label = 'Spoiler' },
        { id = 1,  label = 'Front Bumper' },
        { id = 2,  label = 'Rear Bumper' },
        { id = 3,  label = 'Side Skirts' },
        { id = 4,  label = 'Exhaust' },
        { id = 5,  label = 'Roll Cage' },
        { id = 6,  label = 'Grille' },
        { id = 7,  label = 'Hood' },
        { id = 8,  label = 'Left Fender' },
        { id = 9,  label = 'Right Fender' },
        { id = 10, label = 'Roof' },
        { id = 25, label = 'Plate Holder' },
        { id = 27, label = 'Trim' },
        { id = 28, label = 'Ornaments' },
        { id = 29, label = 'Dashboard' },
        { id = 30, label = 'Dial' },
        { id = 31, label = 'Glove Box' },
        { id = 32, label = 'Seats' },
        { id = 33, label = 'Steering Wheel' },
        { id = 34, label = 'Shift Lever' },
        { id = 36, label = 'Speakers' },
        { id = 37, label = 'Trunk' },
        { id = 39, label = 'Engine Block' },
        { id = 40, label = 'Air Filter' },
        { id = 43, label = 'Antenna' },
        { id = 19, label = 'Subwoofer' },
        { id = 21, label = 'Hydraulics' },
        { id = 26, label = 'Vanity Plates' },
        { id = 35, label = 'Plaque' },
        { id = 38, label = 'Hydraulic' },
        { id = 41, label = 'Strut' },
        { id = 42, label = 'Arch Cover' },
        { id = 44, label = 'Trim B' },
        { id = 45, label = 'Fuel Tank' },
        { id = 46, label = 'Left Door' },
        { id = 47, label = 'Right Door' },
        { id = 49, label = 'Light Bar' },
    },
}

-- Wheel types
Config.WheelTypes = {
    { id = 0,  label = 'Sport' },
    { id = 1,  label = 'Muscle' },
    { id = 2,  label = 'Lowrider' },
    { id = 3,  label = 'SUV' },
    { id = 4,  label = 'Offroad' },
    { id = 5,  label = 'Tuner' },
    { id = 6,  label = 'Bike' },
    { id = 7,  label = 'High End' },
    { id = 8,  label = "Benny's Original" },
    { id = 9,  label = "Benny's Bespoke" },
    { id = 10, label = 'Open Wheel' },
    { id = 11, label = 'Street' },
    { id = 12, label = 'Track' },
}

-- Paint colors (Classic, Matte, Metal, etc.)
Config.PaintColors = {
    classic = {
        -- Blacks / Greys / Whites
        { id = 0,   label = 'Black',             r = 13,  g = 17,  b = 22  },
        { id = 1,   label = 'Graphite Black',    r = 28,  g = 29,  b = 33  },
        { id = 2,   label = 'Black Steel',       r = 50,  g = 56,  b = 61  },
        { id = 3,   label = 'Dark Silver',       r = 69,  g = 75,  b = 79  },
        { id = 4,   label = 'Silver',            r = 153, g = 157, b = 160 },
        { id = 5,   label = 'Blue Silver',       r = 194, g = 196, b = 198 },
        { id = 6,   label = 'Steel Gray',        r = 151, g = 154, b = 151 },
        { id = 7,   label = 'Shadow Silver',     r = 99,  g = 115, b = 128 },
        { id = 8,   label = 'Stone Silver',      r = 99,  g = 98,  b = 92  },
        { id = 9,   label = 'Midnight Silver',   r = 60,  g = 63,  b = 71  },
        { id = 10,  label = 'Gun Metal',         r = 68,  g = 78,  b = 84  },
        { id = 11,  label = 'Anthracite Grey',   r = 29,  g = 33,  b = 41  },
        { id = 111, label = 'White',             r = 255, g = 255, b = 246 },
        { id = 112, label = 'Frost White',       r = 234, g = 234, b = 234 },
        -- Reds
        { id = 27,  label = 'Red',               r = 192, g = 14,  b = 26  },
        { id = 28,  label = 'Torino Red',        r = 218, g = 25,  b = 24  },
        { id = 29,  label = 'Formula Red',       r = 182, g = 17,  b = 27  },
        { id = 30,  label = 'Blaze Red',         r = 165, g = 30,  b = 35  },
        { id = 31,  label = 'Graceful Red',      r = 123, g = 26,  b = 34  },
        { id = 32,  label = 'Garnet Red',        r = 142, g = 27,  b = 31  },
        { id = 33,  label = 'Desert Red',        r = 111, g = 24,  b = 24  },
        { id = 34,  label = 'Cabernet Red',      r = 73,  g = 17,  b = 29  },
        { id = 35,  label = 'Candy Red',         r = 182, g = 15,  b = 37  },
        { id = 150, label = 'Lava Red',          r = 188, g = 25,  b = 23  },
        -- Oranges / Yellows
        { id = 36,  label = 'Sunrise Orange',    r = 212, g = 74,  b = 23  },
        { id = 37,  label = 'Classic Gold',      r = 194, g = 148, b = 79  },
        { id = 38,  label = 'Orange',            r = 247, g = 134, b = 22  },
        { id = 88,  label = 'Taxi Yellow',       r = 255, g = 207, b = 32  },
        { id = 89,  label = 'Race Yellow',       r = 251, g = 226, b = 18  },
        { id = 91,  label = 'Yellow Bird',       r = 224, g = 225, b = 61  },
        { id = 92,  label = 'Lime',              r = 152, g = 210, b = 35  },
        -- Greens
        { id = 49,  label = 'Dark Green',        r = 19,  g = 36,  b = 40  },
        { id = 50,  label = 'Racing Green',      r = 18,  g = 46,  b = 43  },
        { id = 51,  label = 'Sea Green',         r = 18,  g = 56,  b = 60  },
        { id = 52,  label = 'Olive Green',       r = 49,  g = 66,  b = 63  },
        { id = 53,  label = 'Green',             r = 21,  g = 92,  b = 45  },
        { id = 54,  label = 'Gasoline Blue Green', r = 27, g = 103, b = 112 },
        { id = 125, label = 'Securicor Green',   r = 131, g = 197, b = 102 },
        -- Blues
        { id = 61,  label = 'Midnight Blue',     r = 34,  g = 46,  b = 70  },
        { id = 62,  label = 'Dark Blue',         r = 35,  g = 49,  b = 85  },
        { id = 63,  label = 'Saxony Blue',       r = 48,  g = 76,  b = 126 },
        { id = 64,  label = 'Blue',              r = 71,  g = 87,  b = 143 },
        { id = 65,  label = 'Mariner Blue',      r = 99,  g = 123, b = 167 },
        { id = 66,  label = 'Harbor Blue',       r = 57,  g = 71,  b = 98  },
        { id = 67,  label = 'Diamond Blue',      r = 214, g = 231, b = 241 },
        { id = 68,  label = 'Surf Blue',         r = 118, g = 175, b = 190 },
        { id = 69,  label = 'Nautical Blue',     r = 52,  g = 94,  b = 114 },
        { id = 70,  label = 'Bright Blue',       r = 11,  g = 156, b = 241 },
        { id = 73,  label = 'Ultra Blue',        r = 35,  g = 84,  b = 161 },
        { id = 74,  label = 'Light Blue',        r = 110, g = 163, b = 198 },
        { id = 157, label = 'Epsilon Blue',      r = 175, g = 214, b = 228 },
        -- Purples / Pinks
        { id = 71,  label = 'Purple Blue',       r = 47,  g = 45,  b = 82  },
        { id = 72,  label = 'Spinnaker Blue',    r = 40,  g = 44,  b = 77  },
        { id = 142, label = 'Black Purple',      r = 12,  g = 13,  b = 24  },
        { id = 145, label = 'Purple',            r = 98,  g = 18,  b = 118 },
        { id = 135, label = 'Hot Pink',          r = 242, g = 31,  b = 153 },
        { id = 136, label = 'Salmon Pink',       r = 253, g = 214, b = 205 },
        { id = 137, label = 'Vermillion Pink',   r = 223, g = 88,  b = 145 },
        -- Browns / Beiges
        { id = 90,  label = 'Bronze',            r = 145, g = 101, b = 50  },
        { id = 93,  label = 'Champagne',         r = 155, g = 140, b = 120 },
        { id = 94,  label = 'Pueblo Beige',      r = 80,  g = 50,  b = 24  },
        { id = 95,  label = 'Dark Ivory',        r = 71,  g = 63,  b = 43  },
        { id = 96,  label = 'Choco Brown',       r = 34,  g = 27,  b = 25  },
        { id = 97,  label = 'Golden Brown',      r = 101, g = 63,  b = 35  },
        { id = 98,  label = 'Light Brown',       r = 119, g = 92,  b = 62  },
        { id = 99,  label = 'Straw Beige',       r = 172, g = 153, b = 117 },
        { id = 105, label = 'Beach Sand',        r = 191, g = 174, b = 123 },
        { id = 107, label = 'Cream',             r = 247, g = 237, b = 213 },
    },
    matte = {
        { id = 12,  label = 'Matte Black',          r = 19,  g = 24,  b = 31  },
        { id = 13,  label = 'Matte Gray',           r = 38,  g = 40,  b = 42  },
        { id = 14,  label = 'Matte Light Grey',     r = 81,  g = 85,  b = 84  },
        { id = 131, label = 'Matte White',          r = 252, g = 249, b = 241 },
        { id = 39,  label = 'Matte Red',            r = 207, g = 31,  b = 33  },
        { id = 40,  label = 'Matte Dark Red',       r = 115, g = 32,  b = 33  },
        { id = 41,  label = 'Matte Orange',         r = 242, g = 125, b = 32  },
        { id = 42,  label = 'Matte Yellow',         r = 255, g = 201, b = 31  },
        { id = 55,  label = 'Matte Lime Green',     r = 102, g = 184, b = 31  },
        { id = 128, label = 'Matte Green',          r = 78,  g = 100, b = 67  },
        { id = 151, label = 'Matte Forest Green',   r = 45,  g = 54,  b = 42  },
        { id = 152, label = 'Matte Olive Drab',     r = 105, g = 103, b = 72  },
        { id = 155, label = 'Matte Foliage Green',  r = 90,  g = 99,  b = 82  },
        { id = 82,  label = 'Matte Dark Blue',      r = 31,  g = 40,  b = 82  },
        { id = 83,  label = 'Matte Blue',           r = 37,  g = 58,  b = 167 },
        { id = 84,  label = 'Matte Midnight Blue',  r = 28,  g = 53,  b = 81  },
        { id = 148, label = 'Matte Purple',         r = 107, g = 31,  b = 123 },
        { id = 149, label = 'Matte Dark Purple',    r = 30,  g = 29,  b = 34  },
        { id = 129, label = 'Matte Brown',          r = 188, g = 172, b = 143 },
        { id = 153, label = 'Matte Desert Brown',   r = 122, g = 108, b = 85  },
        { id = 154, label = 'Matte Desert Tan',     r = 195, g = 180, b = 146 },
    },
    metal = {
        { id = 117, label = 'Brushed Steel',       r = 106, g = 116, b = 124 },
        { id = 118, label = 'Brushed Black Steel',  r = 53,  g = 65,  b = 88  },
        { id = 119, label = 'Brushed Aluminium',    r = 155, g = 160, b = 168 },
        { id = 120, label = 'Chrome',               r = 88,  g = 112, b = 161 },
        { id = 158, label = 'Pure Gold',            r = 122, g = 100, b = 64  },
        { id = 159, label = 'Brushed Gold',         r = 127, g = 106, b = 72  },
    },
    worn = {
        { id = 21,  label = 'Worn Black',              r = 30,  g = 35,  b = 47  },
        { id = 22,  label = 'Worn Graphite',           r = 54,  g = 58,  b = 63  },
        { id = 23,  label = 'Worn Silver Grey',        r = 160, g = 161, b = 153 },
        { id = 24,  label = 'Worn Silver',             r = 211, g = 211, b = 211 },
        { id = 25,  label = 'Worn Blue Silver',        r = 183, g = 191, b = 202 },
        { id = 26,  label = 'Worn Shadow Silver',      r = 119, g = 135, b = 148 },
        { id = 46,  label = 'Worn Red',                r = 169, g = 71,  b = 68  },
        { id = 47,  label = 'Worn Golden Red',         r = 177, g = 108, b = 81  },
        { id = 48,  label = 'Worn Dark Red',           r = 55,  g = 28,  b = 37  },
        { id = 58,  label = 'Worn Dark Green',         r = 45,  g = 66,  b = 63  },
        { id = 59,  label = 'Worn Green',              r = 69,  g = 89,  b = 75  },
        { id = 60,  label = 'Worn Sea Wash',           r = 101, g = 134, b = 127 },
        { id = 85,  label = 'Worn Dark Blue',          r = 76,  g = 95,  b = 129 },
        { id = 86,  label = 'Worn Blue',               r = 88,  g = 104, b = 142 },
        { id = 87,  label = 'Worn Light Blue',         r = 116, g = 181, b = 216 },
        { id = 113, label = 'Worn Honey Beige',        r = 176, g = 171, b = 148 },
        { id = 114, label = 'Worn Brown',              r = 69,  g = 56,  b = 49  },
        { id = 115, label = 'Worn Dark Brown',         r = 42,  g = 40,  b = 43  },
        { id = 116, label = 'Worn Straw Beige',        r = 114, g = 108, b = 87  },
        { id = 121, label = 'Worn Off White',          r = 234, g = 230, b = 222 },
        { id = 123, label = 'Worn Orange',             r = 242, g = 173, b = 46  },
        { id = 124, label = 'Worn Light Orange',       r = 249, g = 164, b = 88  },
        { id = 126, label = 'Worn Taxi Yellow',        r = 241, g = 204, b = 64  },
        { id = 130, label = 'Worn Orange (Alt)',       r = 248, g = 182, b = 88  },
        { id = 132, label = 'Worn White',              r = 255, g = 255, b = 251 },
        { id = 133, label = 'Worn Olive Army Green',   r = 129, g = 132, b = 76  },
    },
    chameleon = {
        { id = 223, label = 'Anodized Monochrome',     r = 100, g = 100, b = 100 },
        { id = 224, label = 'Day Night Flip',           r = 50,  g = 80,  b = 200 },
        { id = 225, label = 'Verlierer Flip',           r = 180, g = 140, b = 50  },
        { id = 226, label = 'Anodized Sprunk',          r = 40,  g = 160, b = 60  },
        { id = 227, label = 'Vice City Flip',           r = 200, g = 80,  b = 160 },
        { id = 228, label = 'Synthwave Pearl',          r = 80,  g = 20,  b = 140 },
        { id = 229, label = 'Seasons Flip',             r = 160, g = 120, b = 60  },
        { id = 230, label = 'TBOGT Pearl',              r = 100, g = 80,  b = 60  },
        { id = 231, label = 'Bubblegum Pearl',          r = 240, g = 130, b = 190 },
        { id = 232, label = 'Rainbow Prismatic',        r = 180, g = 60,  b = 120 },
        { id = 233, label = 'Sunset Flip',              r = 230, g = 120, b = 60  },
        { id = 234, label = 'Visions Prismatic',        r = 100, g = 60,  b = 200 },
        { id = 235, label = 'Maziora Prismatic',        r = 40,  g = 120, b = 50  },
        { id = 236, label = '3D Glasses Flip',          r = 180, g = 180, b = 200 },
        { id = 237, label = 'Christmas Flip',           r = 180, g = 40,  b = 40  },
        { id = 238, label = 'Temperature Prismatic',    r = 200, g = 60,  b = 60  },
        { id = 239, label = 'HSW Flip',                 r = 200, g = 40,  b = 120 },
        { id = 240, label = 'Anodized Electro',         r = 200, g = 40,  b = 200 },
        { id = 241, label = 'Monika Prismatic',         r = 40,  g = 200, b = 80  },
        { id = 242, label = 'Fubuki Prismatic',         r = 80,  g = 140, b = 220 },
    },
}

-- Neon colors
Config.NeonColors = {
    { label = 'White',        r = 222, g = 222, b = 255 },
    { label = 'Blue',          r = 2,   g = 21,  b = 255 },
    { label = 'Electric Blue', r = 3,   g = 83,  b = 255 },
    { label = 'Mint Green',    r = 0,   g = 255, b = 140 },
    { label = 'Lime Green',    r = 94,  g = 255, b = 1   },
    { label = 'Yellow',        r = 255, g = 255, b = 0   },
    { label = 'Golden',        r = 255, g = 150, b = 5   },
    { label = 'Orange',        r = 255, g = 62,  b = 0   },
    { label = 'Red',           r = 255, g = 1,   b = 1   },
    { label = 'Pink',          r = 255, g = 50,  b = 100 },
    { label = 'Hot Pink',      r = 255, g = 5,   b = 190 },
    { label = 'Purple',        r = 35,  g = 1,   b = 255 },
    { label = 'Blacklight',   r = 15,  g = 3,   b = 255 },
}

-- Window tint options
Config.WindowTints = {
    { id = 0, label = 'None' },
    { id = 1, label = 'Pure Black' },
    { id = 2, label = 'Dark' },
    { id = 3, label = 'Light' },
    { id = 4, label = 'Stock' },
    { id = 5, label = 'Lime Green' },
}

-- Xenon light colors
Config.XenonColors = {
    { id = -1, label = 'Default' },
    { id = 0,  label = 'White' },
    { id = 1,  label = 'Blue' },
    { id = 2,  label = 'Electric Blue' },
    { id = 3,  label = 'Mint Green' },
    { id = 4,  label = 'Lime Green' },
    { id = 5,  label = 'Yellow' },
    { id = 6,  label = 'Golden' },
    { id = 7,  label = 'Orange' },
    { id = 8,  label = 'Red' },
    { id = 9,  label = 'Pink' },
    { id = 10, label = 'Hot Pink' },
    { id = 11, label = 'Purple' },
}

-- Tyre smoke colors
Config.TyreSmokeColors = {
    { label = 'White',   r = 254, g = 254, b = 254 },
    { label = 'Blue',     r = 0,   g = 0,   b = 254 },
    { label = 'Cyan',     r = 0,   g = 254, b = 254 },
    { label = 'Green',    r = 0,   g = 254, b = 0   },
    { label = 'Yellow',   r = 254, g = 254, b = 0   },
    { label = 'Orange',   r = 254, g = 127, b = 0   },
    { label = 'Red',      r = 254, g = 0,   b = 0   },
    { label = 'Pink',     r = 254, g = 0,   b = 127 },
    { label = 'Purple',   r = 127, g = 0,   b = 254 },
    { label = 'Black',    r = 1,   g = 1,   b = 1   },
}

-- Plate types
Config.PlateTypes = {
    { id = 0,  label = 'Blue/White' },
    { id = 1,  label = 'Yellow/Black' },
    { id = 2,  label = 'Yellow/Blue' },
    { id = 3,  label = 'Blue/White 2' },
    { id = 4,  label = 'Blue/White 3' },
    { id = 5,  label = 'Yankton' },
    { id = 6,  label = 'Ecola' },
    { id = 7,  label = 'Las Venturas' },
    { id = 8,  label = 'Liberty City' },
    { id = 9,  label = 'LS Car Meet' },
    { id = 10, label = 'LS Panic' },
    { id = 11, label = 'Pounders' },
    { id = 12, label = 'Sprunk' },
}
-- Stance settings
Config.Stance = {
    rideHeight = { min = -0.08, max = 0.04, step = 0.005 },
    camberFront = { min = -0.20, max = 0.20, step = 0.005 },
    camberRear = { min = -0.20, max = 0.20, step = 0.005 },
    offset = { min = -0.05, max = 0.15, step = 0.005 },
}

Last updated