# Config File

{% code title="Config File" %}

```lua
Config = {}

Config.Debug = false

Config.Language = 'en' -- Just 'pt' or 'en' for now

-- EVENTS & EXPORTS
-- Open Insurance Input | Client Event: BrunoScripts:Insurance:Client:OpenInsuranceInput & Client Export: exports['bs-insurance']:OpenInsuranceInput
-- Open Check Insurance Input | Client Event: BrunoScripts:Insurance:Client:OpenCheckInsuranceInput & Client Export: exports['bs-insurance']:OpenCheckInsuranceInput
-- Open Insurance Menu | Client Event: BrunoScripts:Insurance:Client:OpenInsuranceMenu & Client Export: exports['bs-insurance']:OpenInsuranceMenu

Config.Utils = {
    RunSQL = false, -- Creates the table in the database when starting the script (Once used turn false to prevent the script from trying to load the table every time it starts)
    MenuColor = '#74c0fc', -- Add here what color should the menu have (See link for Colors Hex - https://v6.mantine.dev/theming/colors/#default-colors)
    Currency = '€', -- Here you can put whatever you want as your Currency. This is just for the simbol at menus
    Insurers = {
        'bsinsurance'
        -- You can add more jobs here
    },
    BuiltIn = {
        UseBuiltInBossMenu = false, -- true or false | If you want to use the Built-In Boss Menu or not (Add Locations in Config.Locations)
        UseBuiltInShop = false, -- true or false | If you want to use the Built-In Shop system or not (Add Shops at Config.Shops)
        UseBuiltInDutyChanger = false, -- true of false | If you want to use the Built-In Duty Changer or not (IMPORTANT: Only works with QBCore)
        Garage = {
            UseGarage = false, -- true of false | If you want to use the Built-In Garage or not (Add Garages at Config.Locations and Vehicles at Config.Vehicles)
            FuelResource = 'none' -- Only works if UseGarage = true and supports any fuel resource that use SetFuel export | Use 'none' to disable
        },
        ActionsMenu = {
            UseActionsMenu = false, -- true or false | If you want to use the Actions Menu with some Mechanic functionalities or not
            ActionsMenuKey = 'f4' -- Put here what key you want to use to open Actions Menu | Only works if Config.Utils.UseActionsMenu = true
        },
        Billing = {
            UseBuiltInBilling = false, -- true or false | If you want to use the Built In Billing or use bs-lib Billing funcion
            PayToSociety = true, -- true or false | If you want the Bill value to go to society or not
            PayToInsurer = true, -- true or false | If you want the Insurer to receive a percentage of the insurance or not
            InsurerPercentage = 25, -- Percentage | If you want Insurer to receive a Percentage of the Bill value | IMPORTANT: Only works if PayToInsurer is true
            UseOkOkBankingTransactions = false -- true or false | Add Okok Banking transactions | IMPORTANT: Only works if you have okokBanking (QBCore: https://okok.tebex.io/package/5126430 | ESX: https://okok.tebex.io/package/5126428) or not
        }
    },
    Commands = {
        UseCommand = false, -- Enabled (true) or Disabled (false)
        CommandName = 'insurance' -- the Command name if UseCommand = true
    },
    Items = {
        InsuranceTool = 'insurancepaper', -- USABLE ITEM NAME or false
        InsuranceVerifier = {
            Item = 'insuranceverifier',
            Jobs = { 'police', 'sheriff' } -- You can add more jobs here
        }
    },
    InsuranceTypes = {
        --[X] = {label = "INSURANCE LABEL", price = PRICE, job = 'JOB NAME' }, [X] MUST BE UNIQUE
        [1] = { label = "Insurance #1", price = 1000, job = 'bsinsurance'  },
        [2] = { label = "Insurance #2", price = 500,  job = 'bsinsurance' },
        -- Add more insurances here, and you can label it what you want
    }
}

Config.Locations = {
    BossMenus = {
        -- JOB NAME = { vector4(x, y, z, h) },
        bsinsurance = { vector4(-832.7, -268.99, 39.0, 0.0) }
        -- You can add more locations
    },
    Duty = {
        bsinsurance = { vector4(-835.05, -260.11, 38.83, 120.9) }
        -- You can add more locations
    },
    Requests = {
        -- JOB NAME = { vector4(x, y, z, h) },
        bsinsurance = { vector4(-833.32, -271.26, 38.9, 119.15) }
        -- You can add more locations
    },
    Garages = {
        -- JOB NAME (Example: bennys) = {
        --     {
        --         Blip = { Enable = true (Have Blip) or false (No Blip), Id = BLIP ID, Color = BLIP COLOR, Scale = BLIP SCALE (0.6 is recommended), Text = 'BLIP AND MENU LABEL' }, Blips IDs: https://docs.fivem.net/docs/game-references/blips/#blips | Blips Colors: https://docs.fivem.net/docs/game-references/blips/#blip-colors
        --         Markers = {
        --             Take = { Location = vector3(0.0, 0.0, 0.0), Id = MARKER ID, Color = { r = R, g = G, b = B, a = ALPHA (Marker Transparency max is 255) } }, -- Markers IDs: https://docs.fivem.net/docs/game-references/markers
        --             Store = { Location = vector3(0.0, 0.0, 0.0), Id = MARKER ID, Color = { r = R, g = G, b = B, a = ALPHA (Marker Transparency max is 255) } }, -- Markers IDs: https://docs.fivem.net/docs/game-references/markers
        --         },
        --         SpawnCoords = {
        --             vector4(0.0, 0.0, 0.0, 0.0),
        --             If you want vehicles to spawn in more than one coord then add more coordinates here
        --         }
        --     }
        -- }

        -- IMPORTANT: One job can have more than 1 garage, so if you want just add more garages in the job garage table like this:

        -- JOB NAME (Example: bennys) = {
        --     {
        --         Blip = { Enable = true (Have Blip) or false (No Blip), Id = BLIP ID, Color = BLIP COLOR, Scale = BLIP SCALE (0.6 is recommended), Text = 'BLIP AND MENU LABEL' }, Blips IDs: https://docs.fivem.net/docs/game-references/blips/#blips | Blips Colors: https://docs.fivem.net/docs/game-references/blips/#blip-colors
        --         Markers = {
        --             Take = { Location = vector3(0.0, 0.0, 0.0), Id = MARKER ID, Color = { r = R, g = G, b = B, a = ALPHA (Marker Transparency max is 255) } }, -- Markers IDs: https://docs.fivem.net/docs/game-references/markers
        --             Store = { Location = vector3(0.0, 0.0, 0.0), Id = MARKER ID, Color = { r = R, g = G, b = B, a = ALPHA (Marker Transparency max is 255) } }, -- Markers IDs: https://docs.fivem.net/docs/game-references/markers
        --         },
        --         SpawnCoords = {
        --             vector4(0.0, 0.0, 0.0, 0.0),
        --             If you want vehicles to spawn in more than one coord then add more coordinates here
        --         }
        --     },
        --     {
        --         Blip = { Enable = true (Have Blip) or false (No Blip), Id = BLIP ID, Color = BLIP COLOR, Scale = BLIP SCALE (0.6 is recommended), Text = 'BLIP AND MENU LABEL' }, Blips IDs: https://docs.fivem.net/docs/game-references/blips/#blips | Blips Colors: https://docs.fivem.net/docs/game-references/blips/#blip-colors
        --         Markers = {
        --             Take = { Location = vector3(0.0, 0.0, 0.0), Id = MARKER ID, Color = { r = R, g = G, b = B, a = ALPHA (Marker Transparency max is 255) } }, -- Markers IDs: https://docs.fivem.net/docs/game-references/markers
        --             Store = { Location = vector3(0.0, 0.0, 0.0), Id = MARKER ID, Color = { r = R, g = G, b = B, a = ALPHA (Marker Transparency max is 255) } }, -- Markers IDs: https://docs.fivem.net/docs/game-references/markers
        --         },
        --         SpawnCoords = {
        --             vector4(0.0, 0.0, 0.0, 0.0),
        --             If you want vehicles to spawn in more than one coord then add more coordinates here
        --         }
        --     }
        -- }

        bsinsurance = {
            {
                Blip = { Enable = true, Id = 357, Color = 32, Scale = 0.6, Text = 'BS Insurance Co. Garage' },
                Markers = {
                    Take = { Location = vector3(-851.36, -252.35, 39.65), Id = 36, Color = { r = 31, g = 94, b = 255, a = 90 } },
                    Store = { Location = vector3(-857.74, -259.86, 39.55), Id = 36, Color = { r = 255, g = 0, b = 0, a = 90 } },
                },
                SpawnCoords = {
                    vector4(-859.69, -246.0, 39.51, 30.0),
                    vector4(-863.53, -238.61, 39.52, 30.0)
                }
            }
        }
        -- You can add more locations
    }
}

Config.Vehicles = {
    -- JOB NAME = {
    --     [GRADE] = {
    --         VEHICLE MODEL = { label = 'VEHICLE LABEL', description = 'VEHICLE DESCRIPTION', colours = { PRIMARY COLOUR FROM Config.Paints, SECONDARY COLOUR FROM Config.Paints }, livery = 0, extras = { [0] = false }, plate = 'CUSTOM VEHICLE PLATE or false to RANDOM PLATE', menuIcon = 'ICON FROM https://fontawesome.com/v6/search?o=r&m=free' }, 
    --     }
    -- }

    bsinsurance = {
        [0] = { -- Job Grade that will have access to this vehicle
            -- VEHICLE MODEL = { label = 'VEHICLE LABEL', description = 'VEHICLE DESCRIPTION', colours = { PRIMARY COLOUR FROM Config.Paints, SECONDARY COLOUR FROM Config.Paints }, livery = 0, extras = { [0] = false }, plate = 'CUSTOM VEHICLE PLATE or false to RANDOM PLATE', menuIcon = 'ICON FROM https://fontawesome.com/v6/search?o=r&m=free' }, 
            -- Random Plate example:
            flatbed     = { label = 'MTL Flatbed',      description = 'An amazing Tow Truck.',             colours = { 0, 0 }, livery = 0, extras = { [1] = false, [2] = false, [3] = false }, plate = false, menuIcon = 'fa-solid fa-truck'  },
            comet7      = { label = 'Pfister Comet',    description = 'The perfect Pfister for Bosses.',   colours = { 0, 0 }, livery = 0, extras = { [1] = false, [2] = false, [3] = false }, plate = 'BS CO 02', menuIcon = 'fa-solid fa-car'    },
            castigator  = { label = 'Canis Castigator', description = 'The perfect SUV for Bosses.',       colours = { 0, 0 }, livery = 0, extras = { [1] = false, [2] = false, [3] = false }, plate = 'BS CO 03', menuIcon = 'fa-solid fa-car'    },
            niobe       = { label = 'Übermacht Niobe',  description = 'The perfect Übermacht for Bosses.', colours = { 0, 0 }, livery = 0, extras = { [1] = false, [2] = false, [3] = false }, plate = 'BS CO 04', menuIcon = 'fa-solid fa-car'    },
        },
    }
}

Config.Shops = {
    -- {
    --     Blip = { Enable = true (Have Blip) or false (No Blip), Id = BLIP ID, Color = BLIP COLOR, Scale = BLIP SCALE (0.6 is recommended), Text = 'BLIP LABEL' }, Blips IDs: https://docs.fivem.net/docs/game-references/blips/#blips | Blips Colors: https://docs.fivem.net/docs/game-references/blips/#blip-colors
    --     Target = { Icon = 'TARGET ICON', Label = 'TARGET LABEL', Distance = TARGET DISTANCE (Adjust according to NPC Coords) },
    --     NPC = { useNPC = true (NPC and Target) or false (Just Target), model = 'NPC MODEL', coords = vector4(0.0, 0.0, 0.0, 0.0), minusOne = true (Removes a coordinate from the z-axis value to make it easier to configure NPCs ) or false (Don't remove a coordinate from z-axis value) }, NPC Models: https://docs.fivem.net/docs/game-references/ped-models
    --     Jobs = { ['JOB NAME'] = JOB GRADE THAT HAVE ACCESS, ['JOB NAME'] = JOB GRADE THAT HAVE ACCESS }, Support one job or more, just add the jobs you want in this table
    --     Products = {
    --         { item = 'ITEM NAME',       label = 'ITEM LABEL',           price = ITEM PRICE },
    --     }
    -- }
    -- See examples below

    {
        Blip = { Enable = true, Id = 52, Color = 32, Scale = 0.6, Text = 'BS Insurance Co. Shop' },
        Target = { Icon = 'fa-solid fa-basket-shopping', Label = 'Open BS Insurance Co. Shop', Distance = 2.5 },
        NPC = { useNPC = true, model = 's_f_y_movprem_01', coords = vector4(-829.6299, -271.8515, 38.9157, 117.6390), minusOne = true },
        Jobs = { ['bsinsurance'] = 0, ['staff'] = 0 },
        Products = {
            { item = 'insurancepaper',      label = 'Insurance Paper',              price = 1 },
            { item = 'insuranceverifier',   label = 'Insurance Verifier Tablet',    price = 1 },
        }
    },
}
```

{% endcode %}


---

# 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://bruno-scripts.gitbook.io/docs.bruno-scripts/paid-scripts/insurance/config-file.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.
