Configuration
🍽️ Restaurant Management System - Configuration Guide
This guide explains all configuration options available in the shared/config.lua
file for the restaurant management system.
🔧 Basic Settings
Config.devMode = true
Config.Inventory = 'qb'
devMode
: Enables debug mode for development testingInventory
: Specifies the inventory system to use (qb, ox, etc.)
🔊 Sound Effects
Config.SoundEffects = {
['fryer'] = {
url = 'https://nanoscripts.cloud/nn_restaurant/frying_sound_effect.mp3',
volume = 0.05
},
['grill'] = {
url = 'https://nanoscripts.cloud/nn_restaurant/grilling_sound_effect.mp3',
volume = 0.8
}
}
url
: Direct link to the sound effect filevolume
: Sound volume level (0.0 to 1.0)
🍟 Fried Food Models
Config.FriedModels = {
['frenchfries'] = {
item = 'frenchfriesbag',
label = 'French Fries Bag',
burntLabel = 'Burnt French Fries',
rewardItem = 'frenchfries',
count = 2,
model = 'sn_frenchfries',
duration = 5000,
-- ... more settings
}
}
item
: Input item required for fryinglabel
: Display name for the itemburntLabel
: Name when item is burntrewardItem
: Item given when cooking is completecount
: Number of items producedmodel
: 3D model to displayduration
: Cooking time in milliseconds
🥩 Meat Models
Config.MeatModels = {
['rawburgerpatty'] = {
item = 'rawburgerpatty',
label = 'Raw Burger Patty',
cookedLabel = 'Burger Patty',
model = 'sn_burgerpattyraw',
cookedModel = 'sn_burgerpatty',
cookedItem = 'cookedburgerpatty',
burntModel = 'sn_burgerpattyburnt',
burntItem = 'sn_burgerpattyburnt',
zOffset = 0.02,
duration = 15000
}
}
item
: Raw meat itemlabel
: Display namecookedLabel
: Name when cookedmodel
: Raw meat 3D modelcookedModel
: Cooked meat 3D modelcookedItem
: Cooked item given to playerburntModel
: Burnt meat 3D modelburntItem
: Burnt item given to playerzOffset
: Height offset for placementduration
: Cooking time in milliseconds
🛒 Shop Items
Config.ShopItems = {
{
id = 'burger_bun',
name = 'Burger Bun',
description = 'A burger bun is a type of bread roll...',
price = 10.00,
category = 'ingredients',
image = 'https://...',
stock = 100,
rating = 4
}
}
id
: Unique item identifiername
: Display namedescription
: Item descriptionprice
: Item pricecategory
: Item category (ingredients, vegetables, etc.)image
: Item image URLstock
: Available quantityrating
: Item rating (1-5)
👨🍳 Cooking Items
Config.CookingItems = {
{
item = 'burgerpatty',
label = 'Burger Patty',
input = true
},
{
item = 'cheese_burger',
label = 'Cheese Burger',
output = true
}
}
item
: Item identifierlabel
: Display nameinput
: Can be used as cooking ingredientoutput
: Can be produced by cooking
🛢️ Oil Pouring
Config.PouringOil = Config.PouringOil = {
item = 'cooking_oil'
}
item
: Oil item required
🏪 Restaurant Configuration
Basic Restaurant Settings
Config.Restaurants = {
['restaurant_name'] = {
coords = vector3(x, y, z),
NpcEnabled = true,
NpcInterval = 50000
}
}
coords
: Restaurant center coordinatesNpcEnabled
: Enable NPC customersNpcInterval
: Time between NPC spawns (milliseconds)
Cooking Stations
CookingStations = {
{
coords = vector3(x, y, z)
}
}
coords
: Location of cooking preparation area
Fryers
Fryers = {
prop = 'sn_fryer',
particle = {
dict = 'core',
anim = 'ent_amb_foundry_heat_haze',
looped = true,
scale = 0.3,
alpha = 5.0,
duration = 15000,
offset = vector3(0.0, 0.0, 0.4),
rotation = vector3(0.0, 0.0, 0.0)
},
coords = {
vector4(x, y, z, heading)
}
}
prop
: Fryer 3D modelparticle
: Visual effects configurationcoords
: Fryer locations with rotation
Grills
Grills = {
[1] = {
particleCoords = vector3(x, y, z),
particle = { /* particle config */ },
intCoords = vector3(x, y, z),
grillCoords = {
['rawburgerpatty'] = {
[1] = {
coords = vector3(x, y, z),
rotation = vector3(x, y, z)
}
}
}
}
}
particleCoords
: Grill particle effect locationintCoords
: Interaction point locationgrillCoords
: Meat slot positions for each meat type
NPC Configuration
NpcModels = {
'a_f_m_business_02',
'a_f_y_eastsa_03'
},
NpcWaitingLocations = {
[1] = vector4(x, y, z, heading)
},
NpcRoutes = {
[1] = {
{coords = vector4(x, y, z, heading)},
{coords = vector4(x, y, z, heading), freeze = true, kiosk = true, wait = 10000}
}
}
NpcModels
: Available NPC modelsNpcWaitingLocations
: Where NPCs wait for ordersNpcRoutes
: NPC movement paths with special actions
📦 Supply Delivery
Config.SupplyDelivery = {
deliveryWaitTime = 10,
deliveryLocations = {
['restaurant_name'] = {
coords = vector3(x, y, z),
heading = 0.0,
label = "Delivery Area"
}
},
boxProp = {
model = 'prop_box_wood02a',
offset = vector3(0.0, 0.0, 0.0),
rotation = vector3(0.0, 0.0, 0.0)
},
unpacking = {
duration = 5000,
animation = {
dict = "mini@repair",
anim = "fixing_a_ped",
flag = 49
}
}
}
deliveryWaitTime
: Time to wait for delivery (seconds)deliveryLocations
: Where supplies are deliveredboxProp
: Supply box 3D model configurationunpacking
: Unpacking animation and duration
🎫 Ticket System
Config.TicketSystem = {
TicketItem = 'restaurant_ticket',
TaxRate = 0.085,
DefaultServerName = 'Staff',
RestaurantInfo = {
name = "BURGER SHOT",
address = "123 Main Street\nDowntown City, ST 12345",
phone = "(555) 123-4567",
website = "www.burgershot.com",
social = "@BurgerShot"
}
}
TicketItem
: Item given to customers as receiptTaxRate
: Sales tax percentage (8.5%)DefaultServerName
: Default server name for ticketsRestaurantInfo
: Restaurant details for receipts
👥 Role Access
Config.RoleAccess = {
Boss = {
overview = true,
general = true,
employees = true,
recipes = true,
menu = true,
pos = true,
display = true,
finance = true
},
Manager = {
overview = true,
general = true,
employees = true,
recipes = true,
menu = true,
pos = true,
display = true,
finance = false
},
Employee = {
overview = false,
general = false,
employees = false,
recipes = false,
menu = false,
pos = false,
display = false,
finance = false
}
}
Boss
: Full access to all management featuresManager
: Most access except financeEmployee
: No management access
🎵 Music System
Config.Musics = {
{
name = "Pixies - Where Is My Mind",
link = 'https://cdn.discordapp.com/attachments/...'
}
}
name
: Song title and artistlink
: Direct link to music file
🗑️ Trash & Dumpsters
TrashCans = {
{
prop = 'prop_bin_07d',
coords = vector3(x, y, z),
rotation = vector3(0.0, 0.0, 0.0),
limit = 20
}
},
Dumpsters = {
vector3(x, y, z)
}
prop
: Trash can 3D modelcoords
: Trash can locationrotation
: Trash can rotationlimit
: Maximum items before fullDumpsters
: Outdoor dumpster locations
🍽️ Plate System
FriesPlates = {
prop = 'prop_food_tray_01',
plates = {
{
plateCoords = {
coords = vector3(x, y, z),
rotation = vector3(0.0, 0.0, 30.0)
},
friesCoords = {
['frenchfries'] = {
coords = vector3(x, y, z),
rotation = vector3(90.0, 0.0, 0.0)
}
},
meatCoords = {
['rawburgerpatty'] = {
coords = vector3(x, y, z),
rotation = vector3(90.0, 0.0, 0.0)
}
}
}
}
}
prop
: Plate/tray 3D modelplateCoords
: Plate placement locationfriesCoords
: Where fries are placed on platemeatCoords
: Where meat is placed on plate
🔧 Creator Tool
Config.Creator = {
Command = "crest",
Job = 'realestate'
}
Command
: Command to open restaurant creatorJob
: Required job to use creator
📝 Notes
All coordinates use
vector3(x, y, z)
orvector4(x, y, z, heading)
Durations are in milliseconds unless specified otherwise
Prices are in dollars/cents
Model names must match your server's available props
URLs for images and sounds must be accessible
For detailed setup instructions, refer to the main documentation.
Last updated