# 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).

{% tabs %}
{% tab title="cl\_config.lua" %}

```lua
Config = {}

Config.Header = {
    title = "RESMONSTUDIO",           -- Title displayed in the header
    name = "Welcomecar"               -- Name of the system in the header
}

Config.Options = {
    Language = 'en',                  -- System language ('en' for English, 'pl' for Polish, etc.)
    UseOldEsx = false,                -- Use old ESX method (true) or new ESX export method (false)

    Overextended = {
        Enabled = false,                -- Enable Overextended support for advanced features
        UseOXInventory = false,         -- Enable OX Inventory integration
        UseOxTarget = false,            -- Use OxTarget for interactions (requires ped/entity positions, not markers)
        TargetIcon = "fa-solid fa-car", -- Icon shown during OxTarget interactions
        TargetText = "Open Welcomecar"  -- Text displayed for OxTarget interactions
    },

    SharedObject = {
        client = "esx:getSharedObject",  -- ESX shared object event for client-side
        server = "esx:getSharedObject"   -- ESX shared object event for server-side
    },

    KeySystem = {
        EnableGiveKeys = false,    -- Enable or disable the key-giving feature
        KeySystem = "jaksam"       -- Key system type ("jaksam" or "msk")
    },

    AdvancedGarages = {
        UseAdvancedGarage = false,        -- Enable or disable advanced garage functionality
        AdvancedGarage = "Hayes Autos"    -- Garage to store the vehicle in if enabled
    },

    VehicleSpawning = {
        SpawnVehicle = false,  -- Automatically spawn the vehicle after granting it
        SpawnCoords = {
            coords = vector3(2533.01, -405.45, 92.58), -- Vehicle spawn location if enabled
            heading = 44.50 -- Vehicle spawn direction
        }
    },

    Positions = {
        [1] = {
            coords = vector3(2522.27, -413.39, 94.12), -- Location for opening the vehicle selection menu

            ped = { 
                enabled = false,           -- Enable or disable the ped
                model = "a_m_m_farmer_01", -- Ped model to spawn
                heading = 328.42           -- Direction the ped faces
            },

            entity = {                     -- Settings for Christmas Tree prop
                enabled = false,           -- Enable or disable the prop
                object = "xm_prop_base_staff_desk_02", -- Prop model
                heading = 137.21            -- Direction the prop faces
            },

            Marker = {
                enabled = true,            -- Enable or disable the marker
                Type = 21,                 -- Marker type (ID for the type of marker)
                Size = vector3(1.0, 1.0, 1.0), -- Size of the marker (X, Y, Z)
                Color = { r = 255, g = 0, b = 0, a = 144 }, -- RGBA color values for the marker
                BobUpAndDown = false,      -- Should the marker bob up and down (true/false)
                FaceCamera = true,         -- Should the marker always face the camera (true/false)
                Rotate = false,            -- Should the marker rotate (true/false)
                TextureDict = nil,         -- Optional texture dictionary for the marker (use nil if not needed)
                TextureName = nil,         -- Optional texture name for the marker (use nil if not needed)
                DrawOnEntities = false     -- Should the marker be drawn on entities (true/false)
            },

            Blip = {
                enabled = true,            -- Enable or disable the blip on the map
                id = 523,                  -- Blip ID (defines the type of blip icon)
                scale = 1.0,               -- Blip size/scale
                color = 75,                -- Blip color (ID for the color)
                Name = "Welcomecar",       -- Blip name (shown on the map)
            }
        },
        -- Add more positions here as needed
    },
}

Config.Vehicles = {
    [1] = { model = "cavalcade2" },  -- First vehicle option (model name)
    [2] = { model = "exemplar" },    -- Second vehicle option (model name)
    [3] = { model = "tailgater2" }   -- Third vehicle option (model name)
}

Config.Plate = {
    UseSpace = false,                 -- Option to include a space between letters and numbers on the license plate (true/false)
    Letters = 3,                      -- Number of letters on the plate (e.g., 'ABCD' if set to 4)
    Numbers = 3,                      -- Number of numbers on the plate (e.g., '1234' if set to 4)
    LetterCharset = "ABCDEFGHIJKLMNOPQRSTUVWXYZ", -- The set of characters that can be used for the letter portion of the plate
    NumberCharset = "0123456789",     -- The set of digits that can be used for the number portion of the plate
    MaxPlates = 9999999               -- Maximum number of unique plates that can be generated (affects randomness and uniqueness)
}

function ShowHelpNotify(msg, E)
    ESX.ShowHelpNotification(msg, E)
    -- exports["rs_hud"]:HelpNotify(msg, E)
end  

function Notify(msg)
    TriggerEvent('esx:showNotification', msg)
    -- TriggerEvent('rs_notify', 'Welcomecar', msg , 'info', 5000)
end
```

{% endtab %}
{% endtabs %}

***

### 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)

{% tabs %}
{% tab title="sv\_config.lua" %}

```lua
CFG = {}

CFG.Webhooks = {
    Color = "16777215",
    Author = "ResmonStudio",
    AuthorURL = "https://i.ibb.co/PZDN7K4/logo.png",
    ThumbURL = "https://i.ibb.co/PZDN7K4/logo.png",
    Username = "RS | Logs",
    Webhooks = {
        welcome = {'PUT_YOUR_WEBHOOK_HERE'},
    }
}
```

{% endtab %}
{% endtabs %}

***

### 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.

{% tabs %}
{% tab title="sh\_languages.lua" %}

```lua
Config.Languages = {
    ['en'] = {  -- English
        ["WelcomeCarMessage"] = "You have already collected the entry vehicle!",
        ["HelpNotificationText"] = "Press [E] to interact",
        ["ShowNotificationMessage"] = "The vehicle with license plate %s has been delivered to your garage.",
        ["SomethingWrong"] = "Something Went Wrong"
    },
    ['de'] = {  -- German
        ["WelcomeCarMessage"] = "Sie haben das Eingangsfahrzeug bereits abgeholt!",
        ["HelpNotificationText"] = "Drücken Sie [E], um zu interagieren",
        ["ShowNotificationMessage"] = "Das Fahrzeug mit dem Nummernschild %s wurde in Ihre Garage geliefert.",
        ["SomethingWrong"] = "Etwas ist schiefgelaufen"
    },
    ['fr'] = {  -- French
        ["WelcomeCarMessage"] = "Vous avez déjà récupéré le véhicule d'entrée !",
        ["HelpNotificationText"] = "Appuyez sur [E] pour interagir",
        ["ShowNotificationMessage"] = "Le véhicule avec la plaque d'immatriculation %s a été livré dans votre garage.",
        ["SomethingWrong"] = "Quelque chose a mal tourné"
    },
    ['es'] = {  -- Spanish
        ["WelcomeCarMessage"] = "¡Ya has recogido el vehículo de entrada!",
        ["HelpNotificationText"] = "Presiona [E] para interactuar",
        ["ShowNotificationMessage"] = "El vehículo con la matrícula %s ha sido entregado a tu garaje.",
        ["SomethingWrong"] = "Algo salió mal"
    },
    ['it'] = {  -- Italian
        ["WelcomeCarMessage"] = "Hai già ritirato il veicolo d'ingresso!",
        ["HelpNotificationText"] = "Premi [E] per interagire",
        ["ShowNotificationMessage"] = "Il veicolo con la targa %s è stato consegnato al tuo garage.",
        ["SomethingWrong"] = "Qualcosa è andato storto"
    },
    ['pt'] = {  -- Portuguese
        ["WelcomeCarMessage"] = "Você já coletou o veículo de entrada!",
        ["HelpNotificationText"] = "Pressione [E] para interagir",
        ["ShowNotificationMessage"] = "O veículo com a placa %s foi entregue na sua garagem.",
        ["SomethingWrong"] = "Algo deu errado"
    },
    ['ru'] = {  -- Russian
        ["WelcomeCarMessage"] = "Вы уже забрали входной транспорт!",
        ["HelpNotificationText"] = "Нажмите [E] для взаимодействия",
        ["ShowNotificationMessage"] = "Транспорт с номерным знаком %s был доставлен в ваш гараж.",
        ["SomethingWrong"] = "Что-то пошло не так"
    },
    ['nl'] = {  -- Dutch
        ["WelcomeCarMessage"] = "Je hebt het instapvoertuig al opgehaald!",
        ["HelpNotificationText"] = "Druk op [E] om te interactieren",
        ["ShowNotificationMessage"] = "Het voertuig met kenteken %s is naar je garage gebracht.",
        ["SomethingWrong"] = "Er is iets mis gegaan"
    }
}
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://resmonstudio.gitbook.io/resmonstudio-or-documentations/assets/rs_welcomecar/configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
