Installation Guide

Steps to Setup


Step 1: Install Dependencies

To ensure the script functions correctly, you need to install three dependencies:

1. ox_lib (Essential Library)

  • Download: ox_lib

  • Installation Steps:

    1. Download ox_lib from the GitHub link above.

    2. Place the ox_lib folder inside your main qb directory.

    3. Open your server.cfg file and add the following line, ensuring it starts right before qb-core:

      start ox_lib

2. moon-menu_props (Menu Stand Props)

  • Included: This resource is included with the asset download from Keymaster.

  • Installation Steps:

    1. Extract and place the moon-menu_props folder inside your resources directory.

3. object_gizmo (Object Manipulation Tool)

  • Download: object_gizmo

  • Installation Steps:

    1. Download object_gizmo from the GitHub link above.

    2. Place the object_gizmo folder inside your resources directory > [standalone] .


Step 2: SQL Modifications

You must execute the SQL code to set up the necessary database tables.

Instructions

  1. Open your database management tool (e.g., phpMyAdmin or HeidiSQL).

  2. Select Your Database.

  3. Run the following SQL query in your database to create the moon_menus table:

CREATE TABLE `moon_menus` (
	`id` INT(11) NOT NULL AUTO_INCREMENT,
	`cafe` TEXT NOT NULL COLLATE 'utf8mb3_general_ci',
	`label` TEXT NOT NULL COLLATE 'utf8mb3_general_ci',
	`prop_model` TEXT NOT NULL COLLATE 'utf8mb3_general_ci',
	`webhook` TEXT NULL DEFAULT NULL COLLATE 'utf8mb3_general_ci',
	`coords` LONGTEXT NOT NULL COLLATE 'utf8mb4_bin',
	`menupages` LONGTEXT NOT NULL COLLATE 'utf8mb4_bin',
	PRIMARY KEY (`id`) USING BTREE,
	CONSTRAINT `coords` CHECK (json_valid(`coords`)),
	CONSTRAINT `menupages` CHECK (json_valid(`menupages`))
)
COLLATE='utf8mb3_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=49
;

This table will store all the Data related to the Script

Step 3: Add Items to Inventory

qb-core/shared/items.lua
['bakersstand'] = {['name'] = 'bakersstand', ['label'] = 'Bakers Menu', ['weight'] = 500, ['type'] = 'item', ['image'] = 'bakersstand.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'A delicious bakery menu'},
['beanstand'] = {['name'] = 'beanstand', ['label'] = 'Bean Machine Menu', ['weight'] = 500, ['type'] = 'item', ['image'] = 'beanstand.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'A menu for all coffee lovers'},
['bahamasstand'] = {['name'] = 'bahamasstand', ['label'] = 'Bahamas Mamas Menu', ['weight'] = 500, ['type'] = 'item', ['image'] = 'bahamasstand.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Exotic drinks and cocktails menu'},
['burgerstand'] = {['name'] = 'burgerstand', ['label'] = 'BurgerShot Menu', ['weight'] = 500, ['type'] = 'item', ['image'] = 'burgerstand.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'All the best burgers in town'},
['hornystand'] = {['name'] = 'hornystand', ['label'] = 'Hornys Menu', ['weight'] = 500, ['type'] = 'item', ['image'] = 'hornystand.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'A spicy menu for daring customers'},
['limestand'] = {['name'] = 'limestand', ['label'] = 'Limeys Menu', ['weight'] = 500, ['type'] = 'item', ['image'] = 'limestand.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'A menu with a fresh lime twist'},
['pizzastand'] = {['name'] = 'pizzastand', ['label'] = 'Pizza This Menu', ['weight'] = 500, ['type'] = 'item', ['image'] = 'pizzastand.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Pizza for all your cravings'},
['rustystand'] = {['name'] = 'rustystand', ['label'] = 'Rusty Menu', ['weight'] = 500, ['type'] = 'item', ['image'] = 'rustystand.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'A rustic menu with unique flavors'},
['tequilastand'] = {['name'] = 'tequilastand', ['label'] = 'Tequilala Menu', ['weight'] = 500, ['type'] = 'item', ['image'] = 'tequilastand.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'A menu filled with the finest tequila'},
['upnatomstand'] = {['name'] = 'upnatomstand', ['label'] = 'Up an Atom Menu', ['weight'] = 500, ['type'] = 'item', ['image'] = 'upnatomstand.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Classic American fast food menu'},
['uwustand'] = {['name'] = 'uwustand', ['label'] = 'Cat Cafe Menu', ['weight'] = 500, ['type'] = 'item', ['image'] = 'uwustand.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Cute and cozy drinks and snacks'},
['vanillastand'] = {['name'] = 'vanillastand', ['label'] = 'Vanilla Unicorn Menu', ['weight'] = 500, ['type'] = 'item', ['image'] = 'vanillastand.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'For all the thirsty out there'},
['yellowjackstand'] = {['name'] = 'yellowjackstand', ['label'] = 'Yellow Jack Menu', ['weight'] = 500, ['type'] = 'item', ['image'] = 'yellowjackstand.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'A local favorite for a good time'},	

Step 4: Configuration

  • Adjust configurations as needed to match your server setup.

  • Make Sure you Dont Change From Auto to Anything in The Config File The Script Will Choose Automatically


Thank You for Buying You guys are The Best 😄

Last updated