> For the complete documentation index, see [llms.txt](https://arrayscripts.gitbook.io/arrayscripts/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://arrayscripts.gitbook.io/arrayscripts/products/array_shops/configuration.md).

# Configuration

{% hint style="danger" %} <mark style="color:$danger;">**Important:**</mark> After making changes to the configuration, restart the resource using:

`ensure array_shops`
{% endhint %}

## Config Files

{% tabs %}
{% tab title="config.lua" %}
{% code lineNumbers="true" expandable="true" %}

```lua
Array = {}

Array.Framework = "auto" -- auto, esx, qbcore or custom

Array.ServerName = "ARRAY SCRIPTS" -- Your Server Name

Array.MainSettings = {
    MaxItemsInBasket = 500, -- Defines the maximum number of items that can be stored in the basket at the same time.
}

Array.Shops = {
    ["Shop"] = {
        OpenCoords = {
            vector3(373.8479, 325.8646, 103.5664),
            vector3(2557.4858, 382.2304, 108.6229),
            vector3(-3038.9600, 586.0523, 7.9083),
            vector3(-3241.9390, 1001.4739, 12.8306),
            vector3(1961.4166, 3740.6885, 32.3437),
            vector3(2678.9448, 3280.7031, 55.2411),
            vector3(1729.2079, 6414.2251, 35.0372),
            vector3(1135.9027, -982.2978, 46.4158),
            vector3(-1222.8198, -907.0677, 12.3263),
            vector3(-1487.5278, -379.0241, 40.1634),
            vector3(-2968.2405, 390.8862, 15.0431),
            vector3(1165.9738, 2708.9851, 38.1577),
            vector3(1392.5613, 3604.6663, 34.9808),
            vector3(127.8712, -1284.8057, 29.2801),
            vector3(-559.9828, 287.0367, 82.1764),
            vector3(-48.3740, -1757.8970, 29.4210),
            vector3(1163.5685, -323.8983, 69.2051),
            vector3(-707.5093, -914.2662, 19.2110),
            vector3(-1820.5742, 792.4824, 138.1137),
            vector3(1697.9143, 4924.5425, 42.0636),
            vector3(-406.4606, 6062.6182, 31.5001),
            vector3(26.0244, -1346.8495, 29.4970),
        },
        PayType = "moneyandbank", -- moneyandbank or blackmoney
        Blip = {enabled = true, Sprite = 52, Color = 50, Name = "Shop", Scale = 0.6},
        Marker = {DrawDistance = 15.0, Scale = vector3(1.0, 1.0, 1.0), Type = 21, Color = {r = 136, g = 0, b = 255, a = 100}, MoveUpAndDown = false, Rotate = true},
        Categories = {"All", "Consumable Items", "Eat and Drink", "Electronics"},
        Items = {
            ["Medkit"] = {
                Categorie = {"All", "Consumable Items"},
                Itemname = "medkit",
                type = "item",
                Price = 500,
            },
            ["Fishing Rod"] = {
                Categorie = {"All"},
                Itemname = "fishingrod",
                type = "item",
                Price = 5000,
            },
            ["Phone"] = {
                Categorie = {"All", "Electronics"},
                Itemname = "phone",
                type = "item",
                Price = 1500,
            },
            ["Lockpick"] = {
                Categorie = {"All"},
                Itemname = "lockpick",
                type = "item",
                Price = 2000,
            },
            ["Tracker"] = {
                Categorie = {"All", "Electronics"},
                Itemname = "tracker",
                type = "item",
                Price = 3000,
            },
            ["Backpack"] = {
                Categorie = {"All"},
                Itemname = "backpack",
                type = "item",
                Price = 10000,
            },
            ["Water"] = {
                Categorie = {"All", "Eat and Drink"},
                Itemname = "water",
                type = "item",
                Price = 150,
            },
            ["Lemonade"] = {
                Categorie = {"All", "Eat and Drink"},
                Itemname = "lemonade",
                type = "item",
                Price = 300,
            },
            ["Coffee"] = {
                Categorie = {"All", "Eat and Drink"},
                Itemname = "coffee",
                type = "item",
                Price = 380,
            },
            ["Bread"] = {
                Categorie = {"All", "Eat and Drink"},
                Itemname = "bread",
                type = "item",
                Price = 450,
            },
            ["Pizza"] = {
                Categorie = {"All", "Eat and Drink"},
                Itemname = "pizza",
                type = "item",
                Price = 500,
            },
        }
    },
    ["Gun Shop"] = {
        OpenCoords = {
            vector3(810.0884, -2157.6560, 29.6190),
            vector3(1693.3049, 3759.9717, 34.7053),
            vector3(-330.5575, 6084.0181, 31.4548),
            vector3(252.4809, -50.0627, 69.9410),
            vector3(22.0828, -1106.7625, 29.7970),
            vector3(2567.9739, 293.8889, 108.7348),
            vector3(-1118.0948, 2698.8599, 18.5541),
            vector3(842.4122, -1034.0371, 28.1948),
            vector3(-662.2425, -934.9926, 21.8292),
            vector3(-3172.3745, 1087.8945, 20.8387),
            vector3(-1305.4054, -394.2975, 36.6958),
        },
        PayType = "moneyandbank", -- moneyandbank or blackmoney
        Blip = {enabled = true, Sprite = 110, Color = 50, Name = "Gun Shop", Scale = 0.6},
        Marker = {DrawDistance = 15.0, Scale = vector3(1.0, 1.0, 1.0), Type = 21, Color = {r = 136, g = 0, b = 255, a = 100}, MoveUpAndDown = false, Rotate = true},
        Categories = {"All"},
        Items = {
            ["Knife"] = {
                Categorie = {"All"},
                Itemname = "weapon_knife",
                type = "weapon", -- item, weapon
                Price = 25000,
            },
            ["Bat"] = {
                Categorie = {"All"},
                Itemname = "weapon_bat",
                type = "weapon", -- item, weapon
                Price = 30000,
            },
            ["Golfclub"] = {
                Categorie = {"All"},
                Itemname = "weapon_golfclub",
                type = "weapon", -- item, weapon
                Price = 35000,
            },
        }
    },
    ["Black Market"] = {
        OpenCoords = {
            vector3(2461.2617, 1589.1558, 33.0367),
        },
        PayType = "blackmoney", -- moneyandbank or blackmoney
        Blip = {enabled = false, Sprite = 110, Color = 50, Name = "Black Market", Scale = 0.6},
        Marker = {DrawDistance = 15.0, Scale = vector3(1.0, 1.0, 1.0), Type = 21, Color = {r = 136, g = 0, b = 255, a = 100}, MoveUpAndDown = false, Rotate = true},
        Categories = {"All"},
        Items = {
            ["Pistol"] = {
                Categorie = {"All"},
                Itemname = "weapon_pistol",
                type = "weapon", -- item, weapon
                Price = 25000,
            },
            ["Pistol Mk2"] = {
                Categorie = {"All"},
                Itemname = "weapon_pistol_mk2",
                type = "weapon", -- item, weapon
                Price = 50000,
            },
            ["Pisol 50"] = {
                Categorie = {"All"},
                Itemname = "weapon_pistol50",
                type = "weapon", -- item, weapon
                Price = 100000,
            },
        }
    }
}

-- Here you can select your language. If it is not yet available, you can either add it yourself or open a ticket on our Discord.
Array.Locale = "en" -- de or en
Array.Locales = {
    ["de"] = {
        -- Ui
        title = "Shop",
        searchbar = "suchen...",
        products = "Produkte",
        removeall = "Alles Entfernen",
        cash = "Bar",
        bank = "Bank",
        buy = "Kaufen",
        basket = "In den Warenkorb",
        count = "Anzahl",

        -- Notifys
        help_notify = "Drücke E um den Shop zu öffnen!",
        cartempty_notify = "Du musst etwas in den Warenkorb legen!",
        maxcartlimit_notify = "Du kannst nicht mehr als %s in den Warenkorb legen!",
        invaliditemcount_notify = "Üngültige Menge des Items %s!",
        noinventoryspace_notify = "Der Kaufvorgang wurde unterbrochen, da du nicht genügend Platz in deinem Inventar hast.",
        invalidpaymentmethod_notify = "Ungültige Zahlungsart!",
        purchasesuccessful_notify = "Der Einkauf war Erfolgreich!",
        notenoughmoney_notify = "Du hast nicht genug Geld!",
        onlyoneweapon_notify = "Du kannst nur eine Waffe kaufen!",
        buycooldown_notify = "Cooldown aktiv, bitte versuche es erneut!",

        -- Webhook
        title_webhook = "Shop Kauf",
        purchasesuccessful_webhook = "Der Spieler **%s** (ID: **%s**) hat im **%s** mit **%s** eingekauft."
    },
    ["en"] = {
        -- UI
        title = "Shop",
        searchbar = "search...",
        products = "Products",
        removeall = "Remove All",
        cash = "Cash",
        bank = "Bank",
        buy = "Buy",
        basket = "Add to cart",
        count = "Amount",

        -- Notifies
        help_notify = "Press E to open the shop!",
        cartempty_notify = "You need to add something to the cart!",
        maxcartlimit_notify = "You cannot add more than %s to the cart!",
        invaliditemcount_notify = "Invalid item amount %s!",
        noinventoryspace_notify = "The purchase process was interrupted because you do not have enough space in your inventory.",
        invalidpaymentmethod_notify = "Invalid payment method!",
        purchasesuccessful_notify = "Purchase successful!",
        notenoughmoney_notify = "You dont have enough money!",
        onlyoneweapon_notify = "You can only buy one weapon!",
        buycooldown_notify = "Cooldown active, please try again!",

        -- Webhook
        title_webhook = "Shop Purchase",
        purchasesuccessful_webhook = "Player **%s** (ID: **%s**) bought in **%s** with **%s**."
    },
}

Array.HelpNotify = function(key, text)
    if GetResourceState('array_hud') == 'started' then
        exports["array_hud"]:HelpNotify(key, text)
        return
    end

    SetTextComponentFormat('STRING')
    AddTextComponentString(text)
    DisplayHelpTextFromStringLabel(0, 0, 1, -1)

    -- Or your Custom Help Notify:
    -- exports["hud"]:HelpNotify(key, text)
end

Array.ClientNotify = function(title, message, type)
    TriggerEvent("array_hud:notify", title, message, type, 5000)
end

Array.ServerNotify = function(id, title, message, type)
    TriggerClientEvent("array_hud:notify", id, title, message, type, 5000)
end
```

{% endcode %}
{% endtab %}

{% tab title="s\_config.lua" %}
{% code lineNumbers="true" expandable="true" %}

```lua
ArrayServer = {}

ArrayServer.Webhook = {
    enabled = true,
    Name = "Array Scripts Shops",
    Logo = "https://arrayscripts.com/images/Logo.gif",
    Url = "YOUR_WEBHOOK",
    Color = 10181046
}
```

{% endcode %}
{% endtab %}

{% tab title="color\_config.css" %}
{% code lineNumbers="true" expandable="true" %}

```css
:root {
  --main_color: #893AE6;
  --main_background: #0B0414;
  --title_color_2: #551D99;
  --button_color_2: #1c0f2b;
  --icondiv_color_2: #4C2080;
  --timetext_shadow: rgba(148, 60, 255, 0.45);
}
```

{% endcode %}
{% endtab %}
{% endtabs %}

## CSS Themes

{% tabs %}
{% tab title="red.css" %}
{% code lineNumbers="true" expandable="true" %}

```css
:root {
  --main_color: #E63946;
  --main_background: #140404;
  --title_color_2: #991D28;
  --button_color_2: #2B0F12;
  --icondiv_color_2: #80202A;
  --timetext_shadow: rgba(230, 57, 70, 0.45);
}
```

{% endcode %}
{% endtab %}

{% tab title="blue.css" %}
{% code lineNumbers="true" expandable="true" %}

```css
:root {
  --main_color: #3A86FF;
  --main_background: #041014;
  --title_color_2: #1D5D99;
  --button_color_2: #0F1B2B;
  --icondiv_color_2: #205A80;
  --timetext_shadow: rgba(58, 134, 255, 0.45);
}
```

{% endcode %}
{% endtab %}

{% tab title="yellow\.css" %}
{% code lineNumbers="true" expandable="true" %}

```css
:root {
  --main_color: #FFD60A;
  --main_background: #141204;
  --title_color_2: #99811D;
  --button_color_2: #2B260F;
  --icondiv_color_2: #807020;
  --timetext_shadow: rgba(255, 214, 10, 0.45);
}
```

{% endcode %}
{% endtab %}

{% tab title="green.css" %}
{% code lineNumbers="true" expandable="true" %}

```css
:root {
  --main_color: #38D67A;
  --main_background: #04140A;
  --title_color_2: #1D9955;
  --button_color_2: #0F2B1A;
  --icondiv_color_2: #20804C;
  --timetext_shadow: rgba(56, 214, 122, 0.45);
}
```

{% endcode %}
{% endtab %}

{% tab title="orange.css" %}
{% code lineNumbers="true" expandable="true" %}

```css
:root {
  --main_color: #FF8C42;
  --main_background: #140B04;
  --title_color_2: #99541D;
  --button_color_2: #2B180F;
  --icondiv_color_2: #804620;
  --timetext_shadow: rgba(255, 140, 66, 0.45);
}
```

{% endcode %}
{% endtab %}
{% endtabs %}
