Before You Begin#
Before installing Restaurant Creator, make sure your server meets the minimum requirements. The script detects most integrations by itself, so the list is short.
Requirement | Status | Notes |
|---|---|---|
| Required | Database access for restaurants, staff, orders and finance. |
| Required | Callbacks, zones, progress circles and context menus. |
OneSync | Required | Enabled on the server ( |
Framework | Required | ESX, QBCore or Qbox — detected automatically. |
Inventory | Required | qs-inventory, ox_inventory, qb-inventory, tgiann-inventory, codem-inventory or origen_inventory. Ingredients, dishes and fridges all live in it. |
Target | Optional | ox_target or qb-target. Without one, every point becomes 3D text used with E. |
3D sound | Optional | mx-surround, qs-3dsound or xsound — the sizzle of the fryer, heard by everyone nearby. |
Downloading Restaurant Creator#
After purchasing Restaurant Creator, the resource is automatically linked to your CFX Portal account.
Open Granted Assets
Go to portal.cfx.re/assets/granted-assets and sign in with the same Cfx.re account used at checkout. Another account will not see the asset.
Download the package
Find
Restaurant Creatorin the list, download it and extract it.
After extracting the download, you should have the following folders:
[restaurant]/
├── qs-restaurant-creator/ -- the script
│ ├── config/ -- what you may edit
│ ├── client/custom/ -- bridges to other resources (open)
│ ├── server/custom/ -- bridges to other resources (open)
│ ├── custom/ -- notifications, text UI, sounds (open)
│ ├── database/ -- database.sql and the example restaurants
│ └── locales/ -- 41 languages
├── qs-restaurant-props/ -- burger, pizza and fryer props (required)
├── uniqx_burgershot/ -- example burger restaurant map (optional)
├── pizzeria-ymap/ -- example pizzeria map (optional)
└── [INSTALLATION]/
├── items/ -- item lists for each inventory
└── PNG/ -- item imagesThe folder must be named
qs-restaurant-creator. The interface path and the ox_inventory item export (qs-restaurant-creator.consumable) both use that name.
Installing the Resource#
Move the whole [restaurant] folder into your server's resources directory. qs-restaurant-props is not optional: it streams the grill ingredients, pizza dough, toppings, rolling pin, oven and fryer that the cooking minigames spawn.
Then open server.cfg and make sure every dependency starts before the script:
ensure oxmysql
ensure ox_lib
# Framework
ensure es_extended # or qb-core / qbx_core
# Inventory and target
ensure qs-inventory # or ox_inventory, qb-inventory...
ensure ox_target # optional
# Restaurant Creator
ensure qs-restaurant-props
ensure uniqx_burgershot # optional example map
ensure pizzeria-ymap # optional example map
ensure qs-restaurant-creatorLoad order matters. The framework, inventory and target are detected when the script starts, so anything started after it is not seen.
The Database#
Import qs-restaurant-creator/database/database.sql into your server's database before the first start, with HeidiSQL or any MySQL/MariaDB client. It creates the tables and fills the allowed items list with the 23 default ingredients and dishes and their supply-shop prices.
Tables | Hold |
|---|---|
| Each restaurant: zone, points, stations, blip, owner, open status and image. |
| Staff, the owner flag, and each restaurant's ranks and permissions. |
| The balance of each restaurant and every deposit, withdrawal, sale and expense. |
| The recipes each restaurant has created. |
| The kiosk menu categories and every customer order. |
| The server-wide item whitelist with shop prices, and supply deliveries. |
On later updates the script patches existing tables by itself (new columns and keys), so you only import database.sql once.
Example restaurants (optional)#
database/restaurants.sql adds two ready-made restaurants that match the two example maps: a burger restaurant (Burgershot MLO, with the Big Mac and Big Mac XL recipes) and a pizzeria (with two pizzas), each with its kiosk categories. Import it after database.sql and start both maps. Credits to the original map authors:
Items and Images#
Every ingredient and dish must exist in your inventory. Paste the list for your inventory from Inventory Items (also in [INSTALLATION]/items), and copy the pictures from [INSTALLATION]/PNG into your inventory's image folder.
Inventory | Images go in |
|---|---|
qs-inventory |
|
ox_inventory |
|
qb-inventory |
|
Who Can Use the Creator#
The creator (/restcreator) builds and deletes restaurants and manages the allowed items, so it is restricted. A player gets in through either route:
Automatic, nothing to configure. ESX groups admin and superadmin; QBCore and Qbox permissions god and admin, or the command ace.
Any job and grade listed in Config.CreatorJobs in config/main.lua. grade = false lets every grade of that job in.
Config.CreatorJobs = {
{ job = 'police', grade = { 1, 2, 3 } }, -- only these grades
{ job = 'ambulance', grade = false }, -- every grade
}Configuring the Resource#
Restaurants, menus, prices, staff and recipes are all edited in game. The files only hold server-wide behaviour:
File | Contents |
|---|---|
| Language, price format, creator jobs, target, fridge size, TV screens, POS and supply-shop settings, burger and fries item names, kiosk colours and icons, debug. |
| Patty cook and burn times, the grill camera, props and ingredient layout. |
| Bake and burn times, rolling animation, dough, sauce, cheese and the nine toppings with their items. |
| Fry and burn times, items, fryer props and sound. |
| Preparation time and the drink types (can model, label, item). |
| Eating and drinking animations, props and durations per item. |
| Discord logs, one URL per category. |
The values worth reviewing first:
Config.Locale = 'en' -- ar, de, es, fr, pt, zh... (41 languages)
Config.UseTarget = true -- false = 3D text and the E key
Config.Debug = false -- ships as true: turn it off in production
Config.Intl = { -- how prices look in every menu
locales = 'en-US',
options = { style = 'currency', currency = 'USD', minimumFractionDigits = 0 }
}
Config.DefaultStashData = { maxweight = 1000000, slots = 30 } -- each fridge
Config.ShopSettings = {
deliveryTime = 60, -- seconds until a supply crate arrives
paymentSource = 'choice', -- 'business' | 'player' | 'choice'
}Verifying the Installation#
Restart the server and check the console: no red errors from qs-restaurant-creator and a version line saying whether you are up to date. Then join and work through the first loop:
Open the creator
Type
/restcreator. The window lists every restaurant. If you imported the examples, use Teleport on one of them; otherwise press Create new and follow Building a Restaurant.Make yourself the owner
Pick yourself in the Owner field and save. Walk to the boss menu point and open it: you should see every tab.
Place and cook an order
Order a burger at a kiosk, watch it appear on the kitchen screen, cook it at the burger station in Order Mode, and deliver it at the POS terminal.
Nothing needs a restart from here on. Every restaurant, recipe, price, rank and menu change is saved to the database and synced to all players instantly.



