Configuration


1. Configure cl_config.lua

In this section, you will configure the client-side configuration file cl_config.lua. Follow the instructions below to set it up according to your framework (ESX or QBcore).

Config = {}

Config.Header = {
    title = "RESMONSTUDIO",          -- Title displayed in the header of the UI.                      
    name = "Vehinspect"              -- The name of the system (used for identification within the header).
}

Config.Options = {
    Language = 'en',                 -- The default language for all messages and notifications. 'en' stands for English.
    UseNewEsx = true,                -- Whether to use the newer version of ESX (EssentialMode). Set to `true` to enable.
    UseVersionCheck = true,          -- Whether to perform version checks for resource compatibility (set to `true` to enable).
    
    Overextended = {
        Enabled = false,              -- Enable or disable Overextended support for features like OxTarget.
        UseOXInventory = false,       -- Enable integration with OX Inventory system for interactions.
        UseOxTarget = false,          -- Enable or disable OxTarget integration for interactive elements.
        TargetIcon = "fa-solid fa-wrench",  -- The icon shown when interacting with vehicles or objects.
        TargetText = "Inspect Vehicle",    -- The text shown during interaction with a vehicle.
    },
    
    SharedObject = {
        client = "esx:getSharedObject",  -- The shared object used for client-side communication with ESX.
        server = "esx:getSharedObject"   -- The shared object used for server-side communication with ESX.
    },

    TUV = {                           -- Configuration settings related to the Technical Vehicle Inspection (TUV).
        MinDays = 1,                  -- The minimum number of days a vehicle can have before needing inspection.
        MaxDays = 30,                 -- The maximum number of days a vehicle’s inspection is valid.
        Givetuv = {                   -- Settings for giving a vehicle TUV (inspection certificate).
            allowed = { ["police"] = true, ["mechanic"] = true },  -- Jobs allowed to issue TUV (e.g., police and mechanic).
            UseMoney = { enabled = true, cost = 500 }   -- Whether giving TUV requires a monetary fee. If enabled, the cost is 500.
        },
        Removetuv = {                 -- Settings for removing a vehicle’s TUV (inspection certificate).
            allowed = { ["police"] = true, ["mechanic"] = true },  -- Jobs allowed to remove TUV (e.g., police and mechanic).
            UseMoney = { enabled = true, cost = 1500 }  -- Whether removing TUV requires a monetary fee. If enabled, the cost is 1500.
        },
        Locktuv = {                   -- Settings for locking a vehicle’s TUV (making it unchangeable).
            allowed = { ["police"] = true },  -- Only 'police' job can lock the TUV.
            UseMoney = { enabled = true, cost = 5000 }  -- Whether locking the TUV requires a fee. If enabled, the cost is 5000.
        },
        Relocktuv = {                 -- Settings for relocking a vehicle’s TUV (preventing changes again).
            allowed = { ["police"] = true },  -- Only 'police' job can relock the TUV.
            UseMoney = { enabled = true, cost = 10000 }  -- Whether relocking the TUV requires a fee. If enabled, the cost is 10000.
        }
    },
    
    UseItem = {
        enabled = true,                -- Enable or disable the item-based interaction for vehicle inspection.
        item = 'inspect',              -- The name of the item that triggers the inspection action when used.
        allowed = {                    -- Job restrictions for using the item to inspect vehicles.
            enabled = true,            -- Whether job-based restrictions are enabled.
            ["police"] = true,         -- Allow police job to use the inspection item.
            ["mechanic"] = true        -- Allow mechanic job to use the inspection item.
        },
    },

    Command = {
        enabled = true,                -- Enable or disable the command-based interaction for vehicle inspection.
        command = "inspect",           -- The command that triggers vehicle inspection when typed in chat.
        key = "F9",                    -- The keyboard key binding to trigger the inspection command.
        allowed = {                    -- Job-based restrictions for using the command.
            enabled = true,            -- Whether job restrictions are enabled for the command.
            ["police"] = true,         -- Allow the police job to use the command.
            ["mechanic"] = true        -- Allow the mechanic job to use the command.
        }
    },
    
    Positions = {
        [1] = {
            enabled = true,             -- Enable or disable the position for vehicle inspection.
            coords = vector3(-68.24, -1333.27, 29.28),  -- Coordinates in the game world where the inspection position is located.
            allowed = {                 -- Job restrictions for interacting at this position.
                enabled = true,         -- Whether job-based restrictions apply to this position.
                Useallowjob = { ["police"] = true, ["mechanic"] = true }  -- Which jobs are allowed to interact at this position.
            },

            ped = { 
                enabled = false,         -- Set to true if a ped (NPC) should be spawned at this position.
                model = "a_m_m_hasjew_01", -- The model (character) of the ped to spawn at this position.
                heading = 186.21          -- The heading (direction) the ped will face.
            },
    
            entity = {
                enabled = false,         -- Set to true if an object (prop) should be spawned at this position.
                object = "prop_office_desk_01", -- The model of the object (prop) to spawn at this position.
            },
            
            marker = {                   -- Settings for a marker that appears at the position.
                enabled = true,          -- Whether the marker is visible at this position.
                type = 21,               -- The type of marker (ID).
                drawDistance = 15.0,     -- The distance at which the marker will be visible to the player.
                scale = vector3(1.0, 1.0, 1.0),  -- The scale (size) of the marker.
                color = { red = 255, green = 0, blue = 0, alpha = 100 },  -- The color and transparency of the marker.
                moveUpAndDown = false,   -- Whether the marker should move up and down.
                rotate = true            -- Whether the marker should rotate.
            },
            blip = {                     -- Settings for the blip on the map at this position.
                enabled = true,          -- Whether the blip is visible on the map.
                sprite = 446,            -- The sprite ID for the blip icon.
                scale = 0.7,             -- The size of the blip on the map.
                color = 27,              -- The color of the blip.
                display = 4,             -- The display mode of the blip (e.g., when in range).
                shortRange = true,       -- Whether the blip is visible only when close to the player.
                text = 'TüV Inspection'  -- The text label for the blip.
            }
        },
    }
}

-- Function to show a help notification
function ShowHelpNotify(msg, E)
    ESX.ShowHelpNotification(msg, E)
    -- exports["rs_hud"]:HelpNotify(msg, E)
end  

-- Function to show a notification
function Notify(msg)
    TriggerEvent('esx:showNotification', msg)
    -- TriggerEvent('rs_notify', 'Vehicle - Inspection', msg , 'info', 5000)
end

2. Configure sv_config.lua

In this section, you will configure the server-side configuration file sv_config.lua. Follow the instructions below to set it up according to your framework (ESX or QBcore)


3. Select Languages in sh_languages.lua

In the sh_languages.lua file, you can manage all available language options. To set your preferred language and its corresponding translations, navigate to cl_config.lua and specify your desired locale. This allows you to customize the different languages.

Last updated