# Config

**File preview**

```lua
Config = {
    Debug = true,
    DebugLevel = {
        'BRIDGE',
        'INFO',
        'CRITICAL',
        'WARNING',
        'SUCCESS',
        'ERROR',
        'SOCIETY',
        'DEBUG',
        'LOD',
        'MENU',
        'FRONTEND',
    },

    Interact = {
        Key = 'E'
    },
    
    MINIGAME = {
        COOLDOWN = 5 * 60 * 1000 -- This is the printer time when it will be restarted.
    },

    -- All settings related to banners app UI.

    UI_SETTINGS = {
        MINIGAME_LINE_THICKNESS = 20, -- Thickness of the line
        MINIGAME_POINTS_PER_LEVEL = 15, -- How many points player needs to get to level up
        MINIGAME_MAX_LEVEL = 3, -- Max level for minigame
        
        APP_LOGO = 'logo.png', -- Can be found in client/ui/web/build/logo.png

        NEED_EDITOR_ITEM_STATE = Config.General.NEED_EDITOR_ITEM_STATE, -- Validate if user needs item for placing banners?
        NEED_EDITOR_ITEM_NAME = Config.General.Items.BANNER_PLACER, -- Which item is needed for placing banners?

        NEED_PRODUCTION_ITEM_STATE = Config.Business.Printers.ProductionItemNeed, -- What item does player need for production?
        NEED_PRODUCTION_ITEM_NAME = Config.Business.Printers.ProductionItem, -- Is item required for production of banners?
    },


    -- Framework events, if you are using adjusted / renamed framework then adjust it in there.

    Events = {
        ['qb-openBossMenu'] = 'qb-bossmenu:client:OpenMenu',
        ['esx-openBossMenu'] = 'esx_society:openBossMenu',
        ['esx:playerLoaded'] = 'esx:playerLoaded',
        ['esx:setJob'] = 'esx:setJob',
        ['esx:playerLogout'] = 'esx:onPlayerLogout',
        ['QBCore:Client:OnPlayerLoaded'] = 'QBCore:Client:OnPlayerLoaded',
        ['QBCore:Client:OnJobUpdate'] = 'QBCore:Client:OnJobUpdate',
    },

    FW = {
        CORE_NAME_QB = 'qb-core', -- Name of qb-core core resource
        CORE_NAME_ESX = 'es_extended', -- Name of es_extended core resource
    },

    Menu = {
        -- MENU POSITIONS: top-left | top-right | bottom-left | bottom-right
        -- HELPKEYS POSITIONS: top-left | top-right | bottom-left | bottom-right
        JobSettings = {
            menuPosition = 'top-right',     --menu position
            helpKeysPosition = 'bottom-right' -- Help keys position for settings menu
        },
        MINIGAME = {
            helpKeysPosition = 'bottom-left' -- Help keys position for controls
        },
        Production = {
            menuPosition = 'top-right' --menu position
        },
        Banners = {
            helpKeysPosition = 'top-right' -- Help keys position for controls
        },
        Billboards = {
            menuPosition = 'top-right' -- menu position
        }
    },


    RemoveBannerDuration = 10 * 1000, -- How long it will take to remove banner?
    PlaceBannerDuration = 1 * 1000, -- How lot it will take to place a banner.

    Framework = nil,
    MysqlType = nil, -- [0 - oxmysql, 1 - ghmattimysql, 2 - mysql-async]

    Notify = Notify.RCORE, -- [ESX - es_extended, QB - qb-core, RCORE - rcore_banners] AUTO_DETECT - Automatic detection will be performed]
    Inventory = Inventories.AUTO_DETECT,   -- [OX - ox_inventory, ESX - es_extended, QB - qb-inventory, MF - mf-inventory, QS - qs-inventory, PS-inventory AUTO_DETECT - Automatic detection will be performed]
    
    EnableTargetInteract = false, -- Enable target for business
    Target = nil, -- ox_target | qb-target

    Locale = 'en', -- Chosoe you language ['en' - english, 'cs' - czech, 'it' - italy, 'de' - germnan]

    Commands = {
        banners = 'banners',
        removeBanners = 'rbanner',
    },

    Animations = {
        REMOVE_BANNER = {   -- Animation used for removing a banner
            dict = 'timetable@maid@cleaning_window@idle_a',
            name = 'idle_a'
        },
        PLACE_BANNER = {    -- Animation used for placing a banner
            dict = 'anim@amb@nightclub@poster@',
            name = 'poster_placement'
        }
    },

    LOD = {
        AREA_DEBUG = true, -- Enable area debug for LOD
        RENDER_DISTANCE = 300.0, -- How far banners are rendered (300)
        RENDER_DISTANCE_TOLERANCE = 150.0, -- How far banners are rendered
        CLOSE_TO_ANY_BANNER_CHECK = 2.5, -- How close player needs to be to any banner to be able to place new one
    },

    KEYS = {
        EDITOR_EXIT = 'Backspace'
    },

    Editor = {
        MODIFIER_BANNER_SCALE = 1.0, -- Modifier scale value for banner itself.
        DEFAULT_BANNER_SCALE = 1.0, -- Default scale for the banner.

        MIN_BANNER_SCALE = 0.0, -- Min scale cannot -1 (negative)
        MAX_BANNER_SCALE = 3.0, -- Max banner scale, recommended to keep it as it is.
        
        CLOSEST_BANNER_CHECK = 2.5, -- Used for checking closest placed banner.
        CHECK_SURFACE_DIST = 8.0, -- Used when placing banners in worrld
        CHECK_BILLBOARD_DIST = 30.0, -- Used when placing banners at billboard.

        KEYS = {
            ExitEditor = 'BACK',
            ExitEditorKeyName = 'Backspace',
            CreateBanner = 'E',
            CreateBannerKeyName = 'E',
            ScaleBannerUp = 'IOM_WHEEL_UP', -- Help keys
            ScaleBannerUpKeyName = 'WheelUp', -- Help keys
            ScaleBannerDown = 'IOM_WHEEL_DOWN', -- Help keys
            ScaleBannerDownKeyName = 'WheelDown', -- Help keys
        }
    },

    Experimental = {
        InitWait = 1500, -- Wait for NUI to be cached before initializing
    },
}
```


---

# 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://documentation.rcore.cz/paid-resources/rcore_banners/configs/config.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.
