Alamo Studio Logo
Configuration

Catalogs & Items

Define reusable item lists shared across shops.

A catalog is a named bundle of categories + items. Many shop locations can point at the same catalog, so you edit prices and items once and every shop using it updates.

The resource ships with two catalogs: convenience (LTD + 24/7) and liquor (Rob's Liquor).

config.lua
Config.ShopCatalogs = {
    convenience = {
        categories = {
            { id = 'food', label = 'Food' },
            { id = 'drinks', label = 'Drinks' },
            { id = 'tools', label = 'Tools' },
            { id = 'medical', label = 'Medical' },
        },
        items = {
            { name = 'bread', label = 'Bread', price = 5, category = 'food', image = 'bread.png' },
            { name = 'water', label = 'Water Bottle', price = 3, category = 'drinks', image = 'water.png' },
            -- ...
        },
    },

    liquor = {
        categories = {
            { id = 'drinks', label = 'Drinks' },
            { id = 'snacks', label = 'Snacks' },
        },
        items = {
            { name = 'water', label = 'Water Bottle', price = 3, category = 'drinks', image = 'water.png' },
            -- ...
        },
    },
}

Category fields

FieldTypeDescription
idstringInternal id used by items to group themselves. Must be unique in the catalog.
labelstringThe tab name shown in the UI.

Item fields

FieldTypeRequiredDescription
namestringYesThe inventory item name. Must exist in your framework's items.
labelstringYesDisplay name in the UI.
pricenumberYesPrice per unit (validated server-side).
categorystringNoMatches a category id. Omit to leave it uncategorized.
imagestringNoImage file shown in the UI (see below).
name must match a real item in your inventory system. The server grants name via AddItem. A typo means the player pays but gets nothing.

Adding an item

Append a new entry to the catalog's items list:

config.lua
{ name = 'sandwich', label = 'Sandwich', price = 12, category = 'food', image = 'sandwich.png' },
The category must match an id from the same catalog's categories. Add a new category first if you need one.

Item images

The image is loaded by the NUI from the item image folder. Make sure the file exists at:

html/assets/img/<image>

If an image is missing the UI simply shows no thumbnail; the item still works.

Adding a brand-new catalog

config.lua
Config.ShopCatalogs = {
    -- existing catalogs...

    ammunation = {
        categories = {
            { id = 'gear', label = 'Gear' },
        },
        items = {
            { name = 'armor', label = 'Body Armor', price = 500, category = 'gear', image = 'armor.png' },
        },
    },
}

Then point a location at it with catalog = 'ammunation' — see Shop Locations.

Copyright © 2026