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 identifierlabel
: Display nameinput
: Can be used as cooking ingredientoutput
: 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 identifiername
: Display namedescription
: Item descriptionprice
: Item pricecategory
: Item category (ingredients, vegetables, dairy, sides, beverages)image
: Item image URLstock
: Available quantityrating
: 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
ordrink
)hunger
: Hunger points restored (food items)thirst
: Thirst points restored (drink items)anim
: Animation configurationdict
: Animation dictionaryanim
: Animation nameduration
: Animation duration (-1 for infinite)object
: Animation object modelbone
: Bone attachment pointoffsets
: Position and rotation offsets
All configuration files are loaded automatically when the resource starts.
Last updated