Config

--- DO NOT EDIT THIS PART ---+
Config = {}
Config.hideouts = {}
-----------------------------+

Config.debug = false

-- FRAMEWORK SETTINGS
Config.esxSettings = {
    enabled = true,
    -- Whether or not to use the new ESX export method
    useNewESXExport = true,
    -- supported types: 'mysql', 'oxmysql' and 'ghmattimysql'
    sqlDriver = 'mysql',
    
    -- If players should be able to pay with these accounts to purchase their hideout and repair vehicles
    payments = {
        payWithCash = true,
        payWithBank = true,
        payWithDirty = true,
    },
    -- Database structure for the table responsible for player owned vehicles
    -- tableName = name of the table
    -- plateColumn = column name of the vehicle license plate
    -- ownerColumn = column name of the owner license/id
    ownedVehicles = {
        tableName = 'owned_vehicles',
        plateColumn = 'plate',
        ownerColumn = 'owner'
    },
}

Config.qbSettings = {
    enabled = false,
    -- supported types: 'mysql', 'oxmysql' and 'ghmattimysql'
    sqlDriver = 'oxmysql',
    
    useNewQBExport = true, -- Make sure to uncomment the old export inside fxmanifest.lua if you're still using it
    -- Whether or not to give player the keys to hideout vehicles automatically (for qb-vehiclekeys)
    giveVehicleKeys = true,
    -- If players should be able to pay with these accounts to purchase their hideout and repair vehicles
    payments = {
        payWithCash = true,
        payWithBank = true,
    },
    -- Database structure for the table responsible for player owned vehicles
    -- tableName = name of the table
    -- plateColumn = column name of the vehicle license plate
    -- ownerColumn = column name of the owner license/id
    ownedVehicles = {
        tableName = 'player_vehicles',
        plateColumn = 'plate',
        ownerColumn = 'citizenid'
    }
}

-- Enable if you're using an older version of oxmysql
Config.oldOxmysql = false


-- Whether or not to only allow one owner per hideout
Config.allowOneOwnerPerHideout = false

-- Maximum amount of hideouts per player
Config.maxHideoutsPerPlayer = 5

-- Distance at which the garage 3d marker should be visible to the player
-- The sale sign must be within this distance of the garage to work! Recommended: 50.0
Config.garageRenderDistance = 50.0

-- If 3d markers should be shown
Config.drawMarkers = true

-- If all hideouts should be visible on the map
Config.showHideoutBlips = true


-- https://docs.fivem.net/docs/game-references/blips/
Config.blips = {
    unowned = {
        sprite = 290,
        scale = 0.4,
        color = 20,
    },
    owned = {
        sprite = 290,
        scale = 0.9,
        color = 50,
    },
    job = {
        sprite = 290,
        scale = 0.9,
        color = 15,
    },
}

Config.customBlips = {
    ['Clubhouse'] = {
        unowned = {
            sprite = 378,
            scale = 0.6,
            color = 20,
        },
        owned = {
            sprite = 378,
            scale = 0.9,
            color = 50,
        },
        job = {
            sprite = 378,
            scale = 0.9,
            color = 15,
        },
    }
}

-- Whether players should go into a "ghost mode" after exiting their hideout to prevent them of getting spawned inside another vehicle/player
-- Ghost mode goes away as soon as the player is not near/inside any other vehicles. It's also forced to be turned off after 6 seconds to prevent exploits
Config.ghostOnExit = true

-- Whether players should be able to store other players vehicles in their hideout
Config.disallowPlayerVehicles = true


-- Speed in km/h
Config.maxSpeedInsideHideouts = 25.0

-- Whether or not the script should play garage door sound when entering or leaving
Config.playGarageDoorSound = true

-- Whether or not your server is using OneSync (SHOULD BE!)
Config.oneSync = true


-- Classes of vehicles which could be not permitted to store in a hideout
-- true = Do not allow to store that class
-- false = Allow to store that class
Config.blacklistedClasses = {
    [0] = false, --Compacts
    [1] = false, -- Sedans
    [2] = false, -- SUVs
    [3] = false, -- Coupes
    [4] = false, -- Muscle
    [5] = false, -- Sports classics
    [6] = false, -- Sports
    [7] = false, -- Super
    [8] = false, -- Motorcycles
    [9] = false, -- Off-road
    [10] = true, -- Industrial
    [11] = true, -- Utility
    [12] = false, -- Vans
    [13] = false, -- Cycles
    [14] = true, -- Boats
    [15] = true, -- Helicopters
    [16] = true, -- Planes
    [17] = true, -- Service
    [18] = true, -- Emergency
    [19] = true, -- Military
    [20] = true, -- Commercial
    [21] = true, -- Trains
}

-- All vehicle models which should be blacklisted from being stored in a hideout
Config.blacklistedModels = {
    'police',
    'police2',
    'police3',
    'police4',
    'sheriff',
    'sheriff2',
    'taxi',
    'ambulance',
}


-- https://docs.fivem.net/docs/game-references/controls/
-- inputIndex = index of the input
-- inputName = name of the input to display on the keybind hint
-- scaneraio = The scenario that will be played during the wash
-- duration = How long it should take to wash the vehicle
-- useParticles = Whether or not particles should be created
Config.washCar = {
    enabled = true,
    inputIndex = 47,
    inputName = '~INPUT_DETONATE~',
    scenario = 'WORLD_HUMAN_MAID_CLEAN',
    duration = 10000,
    useParticles = true,
}



-- https://docs.fivem.net/docs/game-references/controls/
-- inputIndex = index of the input
-- inputName = name of the input to display on the keybind hint

-- dict = Animation dict
-- anim = Animation that will be used while repairing

-- Prices:
-- Vehicles have max 1000 engine health as well as max 1000 body health, price you set will be the price that players will
-- have to pay for each healthpoint that the vehicle is missing
Config.repairCar = {
    enabled = true,
    inputIndex = 101,
    inputName = '~INPUT_VEH_ROOF~',
    dict = 'mini@repair',
    anim = 'fixing_a_ped',
    duration = 15000,
    enginePrice = 4.0,
    bodyPrice = 3.0,
    classMultiplier = {
        [0] = 0.7, --Compacts
        [1] = 1.0, -- Sedans
        [2] = 1.0, -- SUVs
        [3] = 0.9, -- Coupes
        [4] = 1.1, -- Muscle
        [5] = 1.8, -- Sports classics
        [6] = 1.5, -- Sports
        [7] = 3.0, -- Super
        [8] = 0.5, -- Motorcycles
        [9] = 1.0, -- Off-road
        [10] = 2.0, -- Industrial
        [11] = 1.5, -- Utility
        [12] = 1.0, -- Vans
        [13] = 0.1, -- Cycles
        [14] = 1.0, -- Boats
        [15] = 1.0, -- Helicopters
        [16] = 1.0, -- Planes
        [17] = 1.5, -- Service
        [18] = 2.0, -- Emergency
        [19] = 3.0, -- Military
        [20] = 1.5, -- Commercial
        [21] = 1.0, -- Trains
    },
    repairableClasses = {
        [0] = true, --Compacts
        [1] = true, -- Sedans
        [2] = true, -- SUVs
        [3] = true, -- Coupes
        [4] = true, -- Muscle
        [5] = true, -- Sports classics
        [6] = true, -- Sports
        [7] = true, -- Super
        [8] = true, -- Motorcycles
        [9] = true, -- Off-road
        [10] = false, -- Industrial
        [11] = false, -- Utility
        [12] = true, -- Vans
        [13] = true, -- Cycles
        [14] = false, -- Boats
        [15] = false, -- Helicopters
        [16] = false, -- Planes
        [17] = false, -- Service
        [18] = false, -- Emergency
        [19] = false, -- Military
        [20] = false, -- Commercial
        [21] = false, -- Trains
    },
}

-- Whether or not to enable hideouts of the `workshop` type (hideouts/workshops.lua)
Config.workshopsEnabled = true

-- Whether or not to enable hideouts of the `clubhouse` type (hideouts/clubhouses.lua)
Config.clubhousesEnabled = true

-- Whether or not to enable job specific hideouts (hideouts/jobs.lua)
Config.jobHideoutsEnabled = true

Config.interiors = {
    ['small'] = {
        name = 'Small garage',
        ipl = 'kq_garage_small',
        exits = {
            {x = 1089.5, y = 1276.0, z = 101.25},
            { x = 1095.95, y = 1282.6, z = 101.0, h = 180.0, isBackdoor = true},
        },
        laptop = { x = 1089.86, y = 1282.8, z = 101.0 },
        maxDimensions = { x = 3.5, y = 8.1, z = 3.0},
        slots = {
            [1] = {
                x = 1090.59, y = 1279.45, z = 100.0, h = 125.0,
            }
        },
    },
    ['medium'] = {
        name = 'Medium garage',
        ipl = 'kq_garage_med',
        exits = {
            {x = 1092.0, y = 1293.30, z = 101.25},
            {x = 1084.5, y = 1293.30, z = 101.25},
            { x = 1101.97, y = 1300.55, z = 101.0, h = 180.0, isBackdoor = true},
        },
        laptop = { x = 1095.92, y = 1304.808, z = 101.0 },
        maxDimensions = { x = 3.5, y = 8.4, z = 2.8},
        slots = {
            [1] = {
                x = 1084.93, y = 1300.78, z = 100.0, h = 160.0,
            },
            [2] = {
                x = 1089.43, y = 1300.78, z = 100.0, h = 160.0,
            },
            [3] = {
                x = 1093.93, y = 1300.78, z = 100.0, h = 160.0,
            }
        },
    },
    ['big'] = {
        name = 'Big garage',
        ipl = 'kq_garage_big',
        exits = {
            {x = 1195.9, y = 1286.35, z = 101.25},
            {x = 1203.2, y = 1286.35, z = 101.25},
            { x = 1212.3, y = 1287.25, z = 101.25, h = 90.0, isBackdoor = true},
        },
        laptop = { x = 1206.24, y = 1315.66, z = 101.0 },
        maxDimensions = { x = 3.7, y = 8.6, z = 3.0},
        slots = {
            [1] = {
                x = 1195.0, y = 1312.0, z = 100.0, h = 225.0,
            },
            [2] = {
                x = 1204.0, y = 1312.0, z = 100.0, h = 135.0,
            },
            [3] = {
                x = 1195.0, y = 1306.75, z = 100.0, h = 225.0,
            },
            [4] = {
                x = 1204.0, y = 1306.75, z = 100.0, h = 135.0,
            },
            [5] = {
                x = 1195.0, y = 1301.5, z = 100.0, h = 225.0,
            },
            [6] = {
                x = 1204.0, y = 1301.5, z = 100.0, h = 135.0,
            },
            [7] = {
                x = 1195.0, y = 1296.25, z = 100.0, h = 225.0,
            },
            [8] = {
                x = 1204.0, y = 1296.25, z = 100.0, h = 135.0,
            },
            [9] = {
                x = 1195.0, y = 1291.0, z = 100.0, h = 225.0,
            },
            [10] = {
                x = 1204.0, y = 1291.0, z = 100.0, h = 135.0,
            },
        },
    },
    ['workshop'] = {
        name = 'Workshop',
        ipl = 'kq_garage_workshop',
        exits = {
            {x = 1084.5, y = 1323.3, z = 101.25},
            { x = 1097.27, y = 1330.72, z = 101.0, h = 90.0, isBackdoor = true},
        },
        laptop = { x = 1093.47, y = 1334.74, z = 101.25 },
        maxDimensions = { x = 3.5, y = 8.4, z = 2.8},
        slots = {
            [1] = {
                x = 1083.84, y = 1331.89, z = 100.0, h = 185.0,
            },
        },
    },
    ['clubhouse'] = {
        name = 'Clubhouse',
        ipl = 'kq_gang_one',
        exits = {
            {x = 1192.33, y = 1391.66, z = 101.25},
            { x = 1191.32, y = 1397.93, z = 101.0, h = 270.0, isBackdoor = true},
        },
        laptop = { x = 1202.21, y = 1386.18, z = 101.25 },
        maxDimensions = { x = 3.5, y = 8.4, z = 2.8},
        slots = {
            [1] = {
                x = 1203.19, y = 1398.23, z = 100.0, h = 110.0,
            },
            [2] = {
                x = 1197.7, y = 1384.96, z = 100.0, h = 0.0,
            },
            [3] = {
                x = 1194.3, y = 1384.96, z = 100.0, h = 0.0,
            },
            [4] = {
                x = 1198.12, y = 1393.67, z = 100.0, h = 90.0,
            },
        },
    },
}

Last updated