# 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](https://github.com/overextended/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](https://github.com/DemiAutomatic/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:

```sql
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**

{% tabs %}
{% tab title="QB Inventory" %}
{% code title="qb-core/shared/items.lua" %}

```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'},	
```

{% endcode %}
{% endtab %}

{% tab title="Ox Inventory" %}
{% code title="ox\_inventory/data/items.lua" fullWidth="false" %}

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

{% endcode %}
{% endtab %}
{% endtabs %}

***

## **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 :smile:


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://moon-store.gitbook.io/docs/advanced-menu-cards-v4/installation-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
