Configuration

Main Configuration (config.lua)

Basic Settings

Config.devMode = true          -- Enable debug mode
Config.Framework = 'qb'        -- Framework type (qb/ox)
Config.Inventory = 'qb'        -- Inventory system (qb/ox)

Creator Settings

Config.Creator = {
    Command = "crest",         -- Command to open restaurant creator
    Job = 'realestate'         -- Job required to use creator
}

Fried Models Configuration

Defines items that can be cooked in fryers:

Config.FriedModels = {
    ['frenchfries'] = {
        item = 'frenchfriesbag',           -- Raw item name
        label = 'French Fries Bag',        -- Display name
        burntLabel = 'Burnt French Fries', -- Burnt item name
        rewardItem = 'frenchfries',        -- Cooked item name
        count = 2,                         -- Quantity produced
        model = 'sn_frenchfries',         -- 3D model name
        plateModel = 'sn_frenchfries_extended', -- Plate model
        duration = 5000,                   -- Cooking time (ms)
        offset = vector3(0.0, 0.0, 0.0),  -- Model position offset
        rotation = vector3(0.0, 0.0, 0.0), -- Model rotation
        basketOffset = vector3(0.0, 0.0, 0.2), -- Basket position
        basketRotation = vector3(100.0, 0.0, -16.0), -- Basket rotation
        fryerOffsets = {                   -- Fryer slot positions
            inside = { ... },              -- Inside fryer positions
            basket = { ... }               -- Basket positions
        }
    }
}

Meat Models Configuration

Defines items that can be cooked on grills:

Config.MeatModels = {
    ['rawburgerpatty'] = {
        item = 'rawburgerpatty',          -- Raw item name
        label = 'Raw Burger Patty',       -- Display name
        cookedLabel = 'Burger Patty',     -- Cooked item name
        model = 'sn_burgerpattyraw',      -- Raw model
        cookedModel = 'sn_burgerpatty',   -- Cooked model
        cookedItem = 'cookedburgerpatty', -- Cooked item name
        burntModel = 'sn_burgerpattyburnt', -- Burnt model
        burntItem = 'sn_burgerpattyburnt', -- Burnt item name
        zOffset = 0.02,                   -- Height offset
        duration = 15000,                 -- Cooking time (ms)
        int = {                           -- Interaction settings
            text = 'Pack cooked patty',   -- Interaction text
            progressText = 'Packing...',  -- Progress bar text
            icon = 'fa-solid fa-drumstick-bite', -- Icon
            duration = 2000,              -- Packing time
            animation = { ... }           -- Animation settings
        }
    }
}

Restaurant Configuration

Defines restaurant locations and equipment:

Config.Restaurants = {
    ['restaurant_name'] = {
        coords = vector3(x, y, z),        -- Restaurant center
        CookingStations = {               -- Cooking station locations
            { coords = vector3(x, y, z) }
        },
        Speakers = {                      -- Music speaker locations
            vector3(x, y, z)
        },
        Fridges = {                       -- Fridge locations
            vector3(x, y, z)
        },
        TrashCans = {                     -- Trash can locations
            {
                prop = 'prop_bin_07d',    -- Trash can model
                coords = vector3(x, y, z), -- Position
                rotation = vector3(x, y, z), -- Rotation
                limit = 10                 -- Max items
            }
        },
        Dumpsters = {                     -- Dumpster locations
            vector3(x, y, z)
        },
        Spatulas = {                      -- Spatula locations
            prop = 'sn_spatula',          -- Spatula model
            objects = {
                {
                    coords = vector3(x, y, z), -- Position
                    rotation = vector3(x, y, z) -- Rotation
                }
            }
        },
        NpcEnabled = true,                -- Enable NPC customers
        NpcModels = {                     -- NPC model names
            'a_f_m_business_02'
        },
        NpcInterval = 60000,              -- NPC spawn interval (ms)
        NpcWaitingLocations = {           -- NPC waiting spots
            [1] = vector4(x, y, z, heading)
        },
        NpcRoutes = {                     -- NPC movement routes
            [1] = {
                {coords = vector3(x, y, z), heading = 0.0},
                {coords = vector3(x, y, z), freeze = true, kiosk = true, wait = 10000}
            }
        },
        Fryers = {                        -- Fryer configuration
            prop = 'sn_fryer',            -- Fryer model
            particle = {                   -- Cooking particle effects
                dict = 'core',            -- Particle dictionary
                anim = 'ent_amb_foundry_heat_haze', -- Particle animation
                looped = true,            -- Loop particle
                scale = 0.3,              -- Particle scale
                alpha = 7.0,              -- Particle opacity
                duration = 10000,         -- Particle duration
                offset = vector3(0.0, 0.0, 0.4), -- Position offset
                rotation = vector3(0.0, 0.0, 0.0) -- Rotation
            },
            coords = {                    -- Fryer locations
                vector4(x, y, z, heading)
            }
        },
        Grills = {                        -- Grill configuration
            [1] = {
                particleCoords = vector3(x, y, z), -- Particle position
                particle = { ... },        -- Particle settings
                intCoords = vector3(x, y, z), -- Interaction position
                grillCoords = {            -- Grill slot positions
                    ['rawburgerpatty'] = {
                        [1] = {
                            coords = vector3(x, y, z), -- Position
                            rotation = vector3(x, y, z) -- Rotation
                        }
                    }
                }
            }
        },
        FriesPlates = {                   -- Plate configuration
            prop = 'prop_food_tray_01',   -- Plate model
            plates = {
                {
                    plateCoords = {       -- Plate position
                        coords = vector3(x, y, z),
                        rotation = vector3(x, y, z)
                    },
                    friesCoords = {       -- Fries positions on plate
                        ['frenchfries'] = {
                            coords = vector3(x, y, z),
                            rotation = vector3(x, y, z)
                        }
                    },
                    meatCoords = {        -- Meat positions on plate
                        ['rawburgerpatty'] = {
                            coords = vector3(x, y, z),
                            rotation = vector3(x, y, z)
                        }
                    }
                }
            }
        }
    }
}

Music Configuration

Config.Musics = {
    {
        name = "Song Name",               -- Display name
        link = 'https://...'              -- Audio file URL
    }
}

Supply Delivery Configuration

Config.SupplyDelivery = {
    deliveryWaitTime = 10,                -- Delivery wait time (seconds)
    deliveryLocations = {                 -- Delivery locations
        ['restaurant_name'] = {
            coords = vector3(x, y, z),    -- Delivery position
            heading = 0.0,                -- Delivery heading
            label = "Delivery Area"       -- Display name
        }
    },
    boxProp = {                          -- Delivery box settings
        model = 'prop_box_wood02a',      -- Box model
        offset = vector3(0.0, 0.0, 0.0), -- Position offset
        rotation = vector3(0.0, 0.0, 0.0) -- Rotation
    },
    unpacking = {                        -- Unpacking settings
        duration = 5000,                 -- Unpacking time (ms)
        animation = { ... },             -- Unpacking animation
        progressBar = {                  -- Progress bar settings
            label = "Unpacking Supplies",
            duration = 5000
        }
    }
}

Ticket System Configuration

Config.TicketSystem = {
    TicketItem = 'restaurant_ticket',     -- Ticket item name
    MetadataStructure = {                 -- Ticket data structure
        receiptNumber = '',               -- Receipt number
        orderType = '',                   -- Order type
        tableNumber = '',                 -- Table number
        serverName = '',                  -- Server name
        items = {},                       -- Order items
        subtotal = 0,                     -- Subtotal
        tax = 0,                          -- Tax amount
        total = 0,                        -- Total amount
        paymentMethod = '',               -- Payment method
        amountPaid = 0,                   -- Amount paid
        change = 0,                       -- Change given
        timestamp = '',                   -- Timestamp
        restaurantName = ''               -- Restaurant name
    },
    TaxRate = 0.085,                     -- Tax rate (8.5%)
    DefaultServerName = 'Staff',         -- Default server name
    RestaurantInfo = {                   -- Restaurant information
        name = "BURGER SHOT",            -- Restaurant name
        address = "123 Main Street",      -- Address
        phone = "(555) 123-4567",        -- Phone number
        website = "www.burgershot.com",  -- Website
        social = "@BurgerShot"           -- Social media
    }
}

Role Access Configuration

Config.RoleAccess = {
    Boss = {                             -- Boss permissions
        overview = true,                  -- Access overview
        general = true,                   -- Access general settings
        employees = true,                 -- Access employee management
        recipes = true,                   -- Access recipe management
        menu = true,                      -- Access menu management
        pos = true,                       -- Access POS systems
        display = true,                   -- Access display systems
        finance = true                    -- Access finance
    },
    Manager = {                          -- Manager permissions
        overview = true,
        general = true,
        employees = true,
        recipes = true,
        menu = true,
        pos = true,
        display = true,
        finance = false                   -- No finance access
    },
    Employee = {                         -- Employee permissions
        overview = false,                 -- No overview access
        general = false,
        employees = false,
        recipes = false,
        menu = false,
        pos = false,
        display = false,
        finance = false
    }
}

Model Configuration

Config.Models = {
    ["prop_tv_flat_03b"] = {            -- TV model settings
        DefaultVolume = 0.5,             -- Default volume
        Range = 20.0,                    -- Audio range
        Target = "tvscreen",             -- Target element
        Scale = 0.027,                   -- Model scale
        Offset = vector3(-0.320, -0.070, 0.210) -- Position offset
    }
}

Sound Effects Configuration

Config.SoundEffects = {
    ['fryer'] = {                        -- Fryer sound effects
        url = 'https://...',             -- Audio file URL
        volume = 0.05                    -- Volume level
    },
    ['grill'] = {                        -- Grill sound effects
        url = 'https://...',             -- Audio file URL
        volume = 0.8                     -- Volume level
    }
}

Cooking Items Configuration (config_cookingitems.lua)

Defines all items that can be used in cooking:

Config.CookingItems = {
    {
        item = 'burgerpatty',            -- Item name
        label = 'Burger Patty',          -- Display name
        input = true                      -- Can be used as ingredient
    },
    {
        item = 'cheese_burger',          -- Item name
        label = 'Cheese Burger',         -- Display name
        output = true                     -- Is a cooked product
    }
}

Options:

  • item: Item identifier

  • label: Display name

  • input: Can be used as cooking ingredient

  • output: Is a cooked/finished product


Shop Items Configuration (config_shopitems.lua)

Defines items available in the supply shop:

Config.ShopItems = {
    {
        id = 'burger_bun',               -- Item ID
        name = 'Burger Bun',             -- Display name
        description = 'A burger bun...',  -- Item description
        price = 10.00,                   -- Price
        category = 'ingredients',         -- Item category
        image = 'https://...',           -- Image URL
        stock = 100,                     -- Available stock
        rating = 4                       -- Item rating (1-5)
    }
}

Options:

  • id: Unique item identifier

  • name: Display name

  • description: Item description

  • price: Item price

  • category: Item category (ingredients, vegetables, dairy, sides, beverages)

  • image: Item image URL

  • stock: Available quantity

  • rating: Item rating (1-5 stars)


Usables Configuration (config_usables.lua)

Defines how items can be consumed:

Config.Usables = {
    ['frenchfries'] = {                  -- Item name
        type = 'food',                   -- Item type (food/drink)
        hunger = 20,                     -- Hunger restoration
        anim = {                         -- Animation settings
            dict = 'mp_player_inteat@burger', -- Animation dictionary
            anim = 'mp_player_int_eat_burger', -- Animation name
            duration = -1,               -- Animation duration (-1 = infinite)
            object = 'prop_cs_burger_01', -- Animation object
            bone = 60309,                -- Bone attachment
            offsets = {0.0, 0.0, -0.02, 30.0, 0.0, 0.0} -- Position/rotation
        }
    },
    ['cola'] = {                         -- Drink item
        type = 'drink',                  -- Item type
        thirst = 50,                     -- Thirst restoration
        anim = { ... }                   -- Animation settings
    }
}

Options:

  • type: Item type (food or drink)

  • hunger: Hunger points restored (food items)

  • thirst: Thirst points restored (drink items)

  • anim: Animation configuration

    • dict: Animation dictionary

    • anim: Animation name

    • duration: Animation duration (-1 for infinite)

    • object: Animation object model

    • bone: Bone attachment point

    • offsets: Position and rotation offsets


All configuration files are loaded automatically when the resource starts.

Last updated