JixelPatterns
  • JixelPatterns Documentation
  • Troubleshooting
    • Common Issues
    • Setting Up Locations
    • FAQ
  • Dependency
    • Jim_Bridge
      • Animal Ped Support
      • Script Helpers
      • Loader Functions
      • Callbacks
      • Cameras
      • Context Menus
      • Crafting
      • DrawText
      • Dui Functions
      • Input Creator
      • Inventories
      • Job Functions
      • Make Functions
      • Meta Handlers
      • Notifications
      • Phones
      • Player Functions
      • Poly Zones
      • Progress Bars
      • Scale Entity
      • Shops
      • Skillcheck
      • Society Banking
      • Stash Control
      • Targets
      • Vehicles
      • Wrapper Functions
      • Scaleforms
  • Paid Assets
    • Jim-Mechanic
      • Common Issues
      • Installation
      • Locations
        • Creating a Location
      • Nitrous
      • Harness + Seatbelt
      • Emergency Repair Bench
      • Odometer
      • Speedometer
      • Performance Mods
      • Preview System
      • Repair System
      • Car Lifts
      • Plate Change
      • Push Vehicle
      • Stancer Kit
      • Vehicle Seat Picker
    • Jim-Bakery
      • Installation
    • Jim-BeanMachine
      • Installation
    • Jim-BurgerShot
      • Installation
    • Jim-CatCafe
      • Installation
    • Jim-Henhouse
      • Installation
    • Jim-PizzaThis
      • Installation
    • Jim-Popsdiner
      • Installation
  • Free Assets
    • Jim-Mining
      • Installation
      • How To Use
        • Mining
        • Stone Washing
        • Gold Panning
    • Jim-Recycle
      • Installation
      • How To Use
        • Recycling
        • Dumpster Diving
        • Scrapping
    • Jim-Payments
      • Installation
      • How To Use
    • Jim-Shops
      • Installation
      • How To Use
    • Jim-Boarding
      • Installation
      • How To Use
    • Jim-Trains
      • Installation
      • How To Use
    • Jim-Consumbles
      • Installation
      • How To Use
    • Jim-DJBooth
      • Installation
      • How To Use
    • Jim-JobGarage
      • Installation
      • How To Use
    • Jim-Chairs
      • Installation
    • Jim-Notepad
      • Installation
      • How To Use
Powered by GitBook
On this page
  • Dependency Installation
  • Jim_Bridge
  • Framework Installation
  • Job Installation
  • Item Installation
  1. Paid Assets
  2. Jim-PizzaThis

Installation

PreviousJim-PizzaThisNextJim-Popsdiner

Last updated 2 days ago

Do not skim the instructions. You need to follow every step of the Install Guide to make sure you're installing the script correctly

Dependency Installation

Jim_Bridge

This is required for the script to function, it won't work without it

1

Download

Get it free from github -

2

Extract

Extract jim_bridge and make sure -main is removed from the script folder name

3

Install

Place the extracted jim_bridge folder into /resources/[standalone]

4

Done


Framework Installation

Add the script to the server resources

  • It is highly recommend to put this script folder in a new folder called [jim]

  • Then add ensure [jim] AFTER your other scripts in your server.cfg


Ensure List

GO TO YOUR server.cfg

The ORDER of the load order is important, check information

Resources (EXAMPLE)

# Default & Standalone Resources
# ------------------------------
ensure chat
ensure hardcap
ensure oxmysql
start ox_lib

# ESX Legacy Core
# ----------
ensure [core]
ensure [esx_addons]
start ox_inventory
start ox_target
ensure [standalone] # Place `jim_bridge` here

# ESX Addons
# ----------

# Other
ensure [jimextras]  # Place `jim-payments` / `jim-consumables` / `jim-jobgarage` / `jim-djbooth` here
ensure [jim]        # Place all other jim scripts here

IF YOU ALREADY HAVE A [jim] FOLDER, PUT IT IN THAT FOLDER YOU DO NOT NEED TO CREATE A NEW ONE.


  • This is the default system for payments in the script but can easily be changed in client.lua

  • When triggered gets a list of the nearest players and lets you choose which one to charge

  • I class it as optional because you don't specifically need it if you have another you want to use.


  • If jim-consumables is installed, the script will attempt to reroute consumables

  • The server side will automatically add the items to jim-consumables (edit any values you wish there)

  • When used the item will trigger the jim-script:client:consume event which detects wether to use built in event's or jim-consuambles (if found)

Add the script to the server resources

  • It is highly recommend to put this script folder in a new folder called [jim]

  • Then add ensure [jim] AFTER your other scripts in your server.cfg


Ensure List

GO TO YOUR server.cfg

The ORDER of the load order is important, check information here

Resources (EXAMPLE)

# QBCore & Extra stuff
ensure qb-core
ensure [qb]
ensure [standalone] # Place `jim_bridge` here
ensure [voice]
ensure [defaultmaps]


# Extra Jim Stuff
ensure [jimextras]  # Place `jim-payments` / `jim-consumables` / `jim-jobgarage` / `jim-djbooth` here
ensure [jim]        # Place all other jim scripts here

IF YOU ALREADY HAVE A [jim] FOLDER, PUT IT IN THAT FOLDER YOU DO NOT NEED TO CREATE A NEW ONE.


  • This is the default system for payments in the script but can easily be changed in client.lua

  • When triggered gets a list of the nearest players and lets you choose which one to charge

  • I class it as optional because you don't specifically need it if you have another you want to use.


  • If jim-consumables is installed, the script will attempt to reroute consumables

  • The server side will automatically add the items to jim-consumables (edit any values you wish there)

  • When used the item will trigger the jim-script:client:consume event which detects wether to use built in event's or jim-consuambles (if found)


Add the script to the server resources

  • It is highly recommend to put this script folder in a new folder called [jim]

  • Then add ensure [jim] AFTER your other scripts in your server.cfg


Ensure List

GO TO YOUR server.cfg

The ORDER of the load order is important, check information here

Resources (EXAMPLE)

# Qbox & Extra stuff
ensure ox_lib
ensure qbx_core
ensure ox_target
ensure [ox]
ensure [qbx]
ensure [standalone] # Place `jim_bridge` here
ensure [voice]

ensure [npwd-apps]
ensure qbx_npwd
ensure npwd

# Extra Jim Stuff
ensure [jimextras]  # Place `jim-payments` / `jim-consumables` / `jim-jobgarage` / `jim-djbooth` here
ensure [jim]        # Place all other jim scripts here

IF YOU ALREADY HAVE A [jim] FOLDER, PUT IT IN THAT FOLDER YOU DO NOT NEED TO CREATE A NEW ONE.


  • This is the default system for payments in the script but can easily be changed in client.lua

  • When triggered gets a list of the nearest players and lets you choose which one to charge

  • I class it as optional because you don't specifically need it if you have another you want to use.


  • If jim-consumables is installed, the script will attempt to reroute consumables

  • The server side will automatically add the items to jim-consumables (edit any values you wish there)

  • When used the item will trigger the jim-script:client:consume event which detects wether to use built in event's or jim-consuambles (if found)


Add the script to the server resources

  • It is highly recommend to put this script folder in a new folder called [jim]

  • Then add ensure [jim] AFTER your other scripts in your server.cfg


Ensure List

GO TO YOUR server.cfg

The ORDER of the load order is important, check information here

Resources (EXAMPLE)

start chat
start sessionmanager
start pe-basicloading
start bob74_ipl
start pma-voice
start oxmysql
start ox_lib
start ox_core
start ox_target
start illenium-appearance
start ox_inventory
ensure [standalone] # Place `jim_bridge` here

# Extra Jim Stuff
ensure [jimextras]  # Place `jim-payments` / `jim-consumables` / `jim-jobgarage` / `jim-djbooth` here
ensure [jim]        # Place all other jim scripts here

# Extra Other Scripts Here

IF YOU ALREADY HAVE A [jim] FOLDER, PUT IT IN THAT FOLDER YOU DO NOT NEED TO CREATE A NEW ONE.


  • This is the default system for payments in the script but can easily be changed in client.lua

  • When triggered gets a list of the nearest players and lets you choose which one to charge

  • I class it as optional because you don't specifically need it if you have another you want to use.


  • If jim-consumables is installed, the script will attempt to reroute consumables

  • The server side will automatically add the items to jim-consumables (edit any values you wish there)

  • When used the item will trigger the jim-script:client:consume event which detects wether to use built in event's or jim-consuambles (if found)

Job Installation

Import the esx_jobs.sql into your database to add the jobs and their grades

INSERT INTO `jobs` (name, label) VALUES
	('pizzathis', 'Pizza This')
;

INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
	('pizzathis',0,'recruit','Recruit',12,'{}','{}'),
	('pizzathis',1,'novice','Novice',24,'{}','{}'),
	('pizzathis',2,'experienced','Experienced',36,'{}','{}'),
	('pizzathis',3,'advanced',"Advanced",48,'{}','{}'),
	('pizzathis',4,'boss','Manager',0,'{}','{}')
;

Add the lines from qb_jobs.txt to your qb-core > shared > jobs.lua

['pizzathis'] = {
    label = 'Pizza This',
    defaultDuty = true,
    grades = {
        ['0'] = { name = 'Recruit', payment = 50 },
        ['1'] = { name = 'Novice', payment = 75 },
        ['2'] = { name = 'Experienced', payment = 100 },
        ['3'] = { name = 'Advanced', payment = 125 },
        ['4'] = { name = 'Manager', isboss = true, payment = 150 },
    },
},

Add the lines from qb_jobs.txt to your qbx_core > shared > jobs.lua

['pizzathis'] = {
    label = 'Pizza This',
    defaultDuty = true,
    grades = {
        [0] = { name = 'Recruit', payment = 50 },
        [1] = { name = 'Novice', payment = 75 },
        [2] = { name = 'Experienced', payment = 100 },
        [3] = { name = 'Advanced', payment = 125 },
        [4] = { name = 'Manager', isboss = true, payment = 150 },
    },
},

Import the ox_jobs.sql into your database to add the jobs and their grades

INSERT IGNORE INTO `account_roles` (`name`) VALUES
('novice'),
('experienced'),
('advanced'),
('manager'),
('owner');

INSERT IGNORE INTO `ox_groups` ( `name`, `label`, `colour`, `hasAccount`) VALUES
( 'pizzathis', 'Pizza This', NULL, 1 );

INSERT IGNORE INTO `ox_group_grades` (`group`, `grade`, `label`, `accountRole`) VALUES
('pizzathis', 0, 'Recruit', NULL),
('pizzathis', 1, 'Novice', 'novice'),
('pizzathis', 2, 'Experienced', 'experienced'),
('pizzathis', 3, 'Advanced', 'advanced'),
('pizzathis', 4, 'Manager', 'manager'),
('pizzathis', 5, 'Owner', 'owner');

Item Installation

These items work for both old and new qb-inventory

Item Images

Add the images from _install > images to your inventory folder

  • eg. qb-inventory > html > images

Item Data

If using qb-inventory or similar, add the lines from qb_items.txt to your qb-core > shared > items.lua

-- JIM-PIZZATHIS --
	--BEERS
	ambeer 						= { name = "ambeer",  	    	 		label = "AM Beer",		 			weight = 100, 		type = "item", 		image = "ambeer.png", 		unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['thirst'] = math.random(40, 50) },
	dusche 						= { name = "dusche",  	    	 		label = "Dusche Gold",		 		weight = 100, 		type = "item", 		image = "dusche.png", 		unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['thirst'] = math.random(40, 50) },
	logger 						= { name = "logger",  	    	 		label = "Logger Beer",		 		weight = 100, 		type = "item", 		image = "logger.png", 		unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['thirst'] = math.random(40, 50) },
	pisswasser 					= { name = "pisswasser",  	    	 	label = "Pißwasser",		 		weight = 100, 		type = "item", 		image = "pisswaser1.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['thirst'] = math.random(40, 50) },
	pisswasser2 				= { name = "pisswasser2",  	    	 	label = "Pißwasser Stout",		 	weight = 100, 		type = "item", 		image = "pisswaser2.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['thirst'] = math.random(40, 50) },
	pisswasser3 				= { name = "pisswasser3",  	    	 	label = "Pißwasser Pale Ale",		weight = 100, 		type = "item", 		image = "pisswaser3.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['thirst'] = math.random(40, 50) },
	--SODA
	sprunk 						= { name = "sprunk",  	    	 		label = "Sprunk",		 			weight = 100, 		type = "item", 		image = "sprunk.png", 		unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['thirst'] = math.random(20, 30) },
	sprunklight 				= { name = "sprunklight",  	    	 	label = "Sprunk Light",		 		weight = 100, 		type = "item", 		image = "sprunklight.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['thirst'] = math.random(20, 30) },
	ecola 						= { name = "ecola",  	    	 		label = "eCola",		 			weight = 100, 		type = "item", 		image = "ecola.png", 		unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['thirst'] = math.random(20, 30) },
	ecolalight 					= { name = "ecolalight",  	    	 	label = "eCola Light",		 		weight = 100, 		type = "item", 		image = "ecolalight.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['thirst'] = math.random(20, 30) },
	--WINES
	amarone 					= { name = "amarone",  	    	 		label = "Amarone",		 			weight = 100, 		type = "item", 		image = "amarone.png", 		unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['thirst'] = math.random(20, 30) },
	barbera 					= { name = "barbera",  	    			label = "Barbera D'Asti",		 	weight = 100, 		type = "item", 		image = "barbera.png", 		unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['thirst'] = math.random(20, 30) },
	dolceto 					= { name = "dolceto",  	    	 		label = "Dolcetto D'Alba",		 	weight = 100, 		type = "item", 		image = "dolceto.png", 		unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['thirst'] = math.random(20, 30) },
	housered 					= { name = "housered",					label = "House Red Wine",		 	weight = 100, 		type = "item", 		image = "housered.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['thirst'] = math.random(20, 30) },
	housewhite 					= { name = "housewhite",  	    	 	label = "House White Wine",		 	weight = 100, 		type = "item", 		image = "housewhite.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['thirst'] = math.random(20, 30) },
	rosso 						= { name = "rosso",  	    	 		label = "Rosso Del Montalcino",	 	weight = 100, 		type = "item", 		image = "rosso.png", 		unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['thirst'] = math.random(20, 30) },
	--DESSERTS
	tiramisu 					= { name = "tiramisu",					label = "Tiramisu",	 				weight = 100, 		type = "item", 		image = "tiramisu.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['hunger'] = math.random(20, 30) },
	gelato 						= { name = "gelato",  	    	 		label = "Choc and Vanilla Gelato",	weight = 100, 		type = "item", 		image = "gelato.png", 		unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['hunger'] = math.random(20, 30) },
	medfruits 					= { name = "medfruits",  	    	 	label = "Fresh Fruit Medly",	 	weight = 100, 		type = "item", 		image = "medfruits.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['hunger'] = math.random(20, 30) },
	--PASTA
	bolognese 					= { name = "bolognese",  	    	 	label = "Bolognese",	 			weight = 100, 		type = "item", 		image = "bolognese.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['hunger'] = math.random(20, 30) },
	calamari 					= { name = "calamari",					label = "Calamari Marinara",		weight = 100, 		type = "item", 		image = "calamari.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['hunger'] = math.random(20, 30) },
	meatball 					= { name = "meatball",					label = "Homemade Meatballs",		weight = 100, 		type = "item", 		image = "meatball.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['hunger'] = math.random(20, 30) },
	alla 						= { name = "alla",						label = "Alla Vodka",	 			weight = 100, 		type = "item", 		image = "alla.png", 		unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['hunger'] = math.random(20, 30) },
	pescatore 					= { name = "pescatore",  	    		label = "Pescatore",			 	weight = 100, 		type = "item", 		image = "pescatore.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['hunger'] = math.random(20, 30) },
	--PIZZA SLICES
	capricciosa 				= { name = "capricciosa",  	    	 	label = "Capriccosa",	 			weight = 100, 		type = "item", 		image = "capricciosa.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['hunger'] = math.random(20, 30) },
	diavola 					= { name = "diavola",  	    	 		label = "Diavola",	 				weight = 100, 		type = "item", 		image = "diavola.png", 		unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['hunger'] = math.random(20, 30) },
	marinara 					= { name = "marinara",					label = "Marinara",	 				weight = 100, 		type = "item", 		image = "marinara.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['hunger'] = math.random(20, 30) },
	margherita 					= { name = "margherita",  	    	 	label = "Margherita",	 			weight = 100, 		type = "item", 		image = "margherita.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['hunger'] = math.random(20, 30) },
	prosciuttio 				= { name = "prosciuttio",  	    		label = "Prosciuttio E Funghi",		weight = 100, 		type = "item", 		image = "proscuttio.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['hunger'] = math.random(20, 30) },
	vegetariana 				= { name = "vegetariana",  	    	 	label = "Vegetariana",				weight = 100, 		type = "item", 		image = "vegetariana.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", ['hunger'] = math.random(20, 30) },
	--PIZZA BOXES
	capricciosabox 				= { name = "capricciosabox",  	     	label = "Boxed Capriccosa",	 		weight = 100, 		type = "item", 		image = "pizzabox.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", },
	diavolabox 					= { name = "diavolabox",  	    		label = "Boxed Diavola",	 		weight = 100, 		type = "item", 		image = "pizzabox.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", },
	marinarabox 				= { name = "marinarabox",  	    		label = "Boxed Marinara",	 		weight = 100, 		type = "item", 		image = "pizzabox.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", },
	margheritabox 				= { name = "margheritabox",  	     	label = "Boxed Margherita",	 		weight = 100, 		type = "item", 		image = "pizzabox.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", },
	prosciuttiobox 				= { name = "prosciuttiobox",  	    	label = "Boxed Prosciuttio E Funghi",weight = 100, 		type = "item", 		image = "pizzabox.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", },
	vegetarianabox 				= { name = "vegetarianabox",  	     	label = "Boxed Vegetariana",		weight = 100, 		type = "item", 		image = "pizzabox.png", 	unique = false, 	useable = true, 	shouldClose = true,   	combinable = nil,   description = "", },
	--INGREDIENTS
	pizzabase 					= { name = "pizzabase",  	     		label = "Pizza Base",	 			weight = 100, 		type = "item", 		image = "base2.png", 		unique = false, 	useable = false, 	shouldClose = false,   	combinable = nil,   description = "", },
	pizzadough 					= { name = "pizzadough",  	    		label = "Pizza Dough",	 			weight = 100, 		type = "item", 		image = "pizzadough.png", 	unique = false, 	useable = false, 	shouldClose = false,   	combinable = nil,   description = "", },
	mozz 						= { name = "mozz",						label = "Mozzeralla",	 			weight = 100, 		type = "item", 		image = "mozz.png", 		unique = false, 	useable = false, 	shouldClose = false,   	combinable = nil,   description = "", },
	sauce 						= { name = "sauce",  	   			  	label = "Tomato Sauce",	 			weight = 100, 		type = "item", 		image = "sauce.png", 		unique = false, 	useable = false, 	shouldClose = false,   	combinable = nil,   description = "", },
	salami 						= { name = "salami",  	    			label = "Salami",					weight = 100, 		type = "item", 		image = "salami.png", 		unique = false, 	useable = false, 	shouldClose = false,   	combinable = nil,   description = "", },
	ham 						= { name = "ham",  	     				label = "Ham",						weight = 100, 		type = "item", 		image = "ham.png", 			unique = false, 	useable = false, 	shouldClose = false,   	combinable = nil,   description = "", },
	squid 						= { name = "squid",  	   			  	label = "Calamari",					weight = 100, 		type = "item", 		image = "squid.png", 		unique = false, 	useable = false, 	shouldClose = false,   	combinable = nil,   description = "", },
	pizzmushrooms 				= { name = "pizzmushrooms",  	     	label = "Mushrooms",				weight = 100, 		type = "item", 		image = "mushrooms.png", 	unique = false, 	useable = false, 	shouldClose = false,   	combinable = nil,   description = "", },
	olives 						= { name = "olives",  	   			  	label = "Olives",					weight = 100, 		type = "item", 		image = "olives.png", 		unique = false, 	useable = false, 	shouldClose = false,   	combinable = nil,   description = "", },
	basil 						= { name = "basil",  	   			  	label = "Basil",					weight = 100, 		type = "item", 		image = "basil.png", 		unique = false, 	useable = false, 	shouldClose = false,   	combinable = nil,   description = "", },

	meat 						= { name = "meat",						label = "Meat",	 					weight = 200, 		type = "item", 		image = "meat.png", 		unique = false, 	useable = false, 	shouldClose = false,   	combinable = nil,   description = "A slab of Meat", },
	pasta 						= { name = "pasta",  	     			label = "Bag of Pasta",	 			weight = 200, 		type = "item", 		image = "pasta.png", 		unique = false, 	useable = false, 	shouldClose = false,   	combinable = nil,   description = "A bag of Pasta", },

	lettuce 	 			 	 = { name = "lettuce",       			label = "Lettuce",	 				weight = 100, 		type = "item", 		image = "lettuce.png", 		unique = false, 	useable = false, 	shouldClose = false,   	combinable = nil,   description = "Some big taco brother"},

This applies to any framework using ox_inventory

Currently while using ESX my scripts only support ox_inventory

Item Images

Copy and paste the images from _install > images to your inventory folder

  • eg. ox_inventory > web > images

Item Data

Add the ox_items.txt to your ox_inventory > data > items.lua

-- JIM-PIZZATHIS --
    -- BEERS
    ['ambeer'] = {
        label = "AM Beer",
        weight = 100,
        stack = true,
        close = true,
        description = "A classic American lager.",
        client = {
            image = "ambeer.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['dusche'] = {
        label = "Dusche Gold",
        weight = 100,
        stack = true,
        close = true,
        description = "Smooth golden German beer.",
        client = {
            image = "dusche.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['logger'] = {
        label = "Logger Beer",
        weight = 100,
        stack = true,
        close = true,
        description = "Full-bodied local brew.",
        client = {
            image = "logger.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['pisswasser'] = {
        label = "Pißwasser",
        weight = 100,
        stack = true,
        close = true,
        description = "Cheap and cheerful lager.",
        client = {
            image = "pisswaser1.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['pisswasser2'] = {
        label = "Pißwasser Stout",
        weight = 100,
        stack = true,
        close = true,
        description = "Dark and rich stout.",
        client = {
            image = "pisswaser2.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['pisswasser3'] = {
        label = "Pißwasser Pale Ale",
        weight = 100,
        stack = true,
        close = true,
        description = "Crisp and hoppy pale ale.",
        client = {
            image = "pisswaser3.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    -- SODA
    ['sprunk'] = {
        label = "Sprunk",
        weight = 100,
        stack = true,
        close = true,
        description = "Fizzy and radioactive green.",
        client = {
            image = "sprunk.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['sprunklight'] = {
        label = "Sprunk Light",
        weight = 100,
        stack = true,
        close = true,
        description = "Zero sugar. Same kick.",
        client = {
            image = "sprunklight.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['ecola'] = {
        label = "eCola",
        weight = 100,
        stack = true,
        close = true,
        description = "That classic cola taste.",
        client = {
            image = "ecola.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['ecolalight'] = {
        label = "eCola Light",
        weight = 100,
        stack = true,
        close = true,
        description = "Less sugar. More fizz.",
        client = {
            image = "ecolalight.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    -- WINES
    ['amarone'] = {
        label = "Amarone",
        weight = 100,
        stack = true,
        close = true,
        description = "Bold Italian red wine.",
        client = {
            image = "amarone.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['barbera'] = {
        label = "Barbera D'Asti",
        weight = 100,
        stack = true,
        close = true,
        description = "Smooth and fruity red.",
        client = {
            image = "barbera.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['dolceto'] = {
        label = "Dolcetto D'Alba",
        weight = 100,
        stack = true,
        close = true,
        description = "Dry wine with character.",
        client = {
            image = "dolceto.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['housered'] = {
        label = "House Red Wine",
        weight = 100,
        stack = true,
        close = true,
        description = "Generic but gets the job done.",
        client = {
            image = "housered.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['housewhite'] = {
        label = "House White Wine",
        weight = 100,
        stack = true,
        close = true,
        description = "Basic dry white wine.",
        client = {
            image = "housewhite.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['rosso'] = {
        label = "Rosso Del Montalcino",
        weight = 100,
        stack = true,
        close = true,
        description = "Premium aged red.",
        client = {
            image = "rosso.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    -- DESSERTS
    ['tiramisu'] = {
        label = "Tiramisu",
        weight = 100,
        stack = true,
        close = true,
        description = "Coffee-flavored Italian dessert.",
        client = {
            image = "tiramisu.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['gelato'] = {
        label = "Choc and Vanilla Gelato",
        weight = 100,
        stack = true,
        close = true,
        description = "Creamy Italian-style ice cream.",
        client = {
            image = "gelato.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['medfruits'] = {
        label = "Fresh Fruit Medly",
        weight = 100,
        stack = true,
        close = true,
        description = "A mix of fresh Mediterranean fruits.",
        client = {
            image = "medfruits.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    -- PASTA
    ['bolognese'] = {
        label = "Bolognese",
        weight = 100,
        stack = true,
        close = true,
        description = "Pasta with rich meat sauce.",
        client = {
            image = "bolognese.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['calamari'] = {
        label = "Calamari Marinara",
        weight = 100,
        stack = true,
        close = true,
        description = "Pasta topped with squid in red sauce.",
        client = {
            image = "calamari.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['meatball'] = {
        label = "Homemade Meatballs",
        weight = 100,
        stack = true,
        close = true,
        description = "Nonna's favorite meatball recipe.",
        client = {
            image = "meatball.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['alla'] = {
        label = "Alla Vodka",
        weight = 100,
        stack = true,
        close = true,
        description = "Creamy vodka-tomato pasta sauce.",
        client = {
            image = "alla.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['pescatore'] = {
        label = "Pescatore",
        weight = 100,
        stack = true,
        close = true,
        description = "Seafood pasta in tomato sauce.",
        client = {
            image = "pescatore.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    -- PIZZA SLICES
    ['capricciosa'] = {
        label = "Capriccosa",
        weight = 100,
        stack = true,
        close = true,
        description = "Mushroom, ham, and artichoke pizza.",
        client = {
            image = "capricciosa.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['diavola'] = {
        label = "Diavola",
        weight = 100,
        stack = true,
        close = true,
        description = "Spicy salami-topped pizza.",
        client = {
            image = "diavola.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['marinara'] = {
        label = "Marinara",
        weight = 100,
        stack = true,
        close = true,
        description = "Tomato, garlic, and oregano pizza.",
        client = {
            image = "marinara.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['margherita'] = {
        label = "Margherita",
        weight = 100,
        stack = true,
        close = true,
        description = "Classic tomato and mozzarella pizza.",
        client = {
            image = "margherita.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['prosciuttio'] = {
        label = "Prosciuttio E Funghi",
        weight = 100,
        stack = true,
        close = true,
        description = "Ham and mushroom pizza.",
        client = {
            image = "proscuttio.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['vegetariana'] = {
        label = "Vegetariana",
        weight = 100,
        stack = true,
        close = true,
        description = "Loaded with grilled vegetables.",
        client = {
            image = "vegetariana.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    -- PIZZA BOXES
    ['capricciosabox'] = {
        label = "Boxed Capriccosa",
        weight = 100,
        stack = true,
        close = true,
        description = "Takeaway box of Capriccosa pizza.",
        client = {
            image = "pizzabox.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['diavolabox'] = {
        label = "Boxed Diavola",
        weight = 100,
        stack = true,
        close = true,
        description = "Takeaway box of Diavola pizza.",
        client = {
            image = "pizzabox.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['marinarabox'] = {
        label = "Boxed Marinara",
        weight = 100,
        stack = true,
        close = true,
        description = "Takeaway box of Marinara pizza.",
        client = {
            image = "pizzabox.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['margheritabox'] = {
        label = "Boxed Margherita",
        weight = 100,
        stack = true,
        close = true,
        description = "Takeaway box of Margherita pizza.",
        client = {
            image = "pizzabox.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['prosciuttiobox'] = {
        label = "Boxed Prosciuttio E Funghi",
        weight = 100,
        stack = true,
        close = true,
        description = "Takeaway box of ham & mushroom pizza.",
        client = {
            image = "pizzabox.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['vegetarianabox'] = {
        label = "Boxed Vegetariana",
        weight = 100,
        stack = true,
        close = true,
        description = "Takeaway box of veggie pizza.",
        client = {
            image = "pizzabox.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    -- INGREDIENTS
    ['pizzabase'] = {
        label = "Pizza Base",
        weight = 100,
        stack = true,
        close = false,
        description = "A pre-baked pizza base, ready to top.",
        client = {
            image = "base2.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['pizzadough'] = {
        label = "Pizza Dough",
        weight = 100,
        stack = true,
        close = false,
        description = "Unbaked pizza dough ball.",
        client = {
            image = "pizzadough.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['mozz'] = {
        label = "Mozzeralla",
        weight = 100,
        stack = true,
        close = false,
        description = "Fresh mozzarella cheese.",
        client = {
            image = "mozz.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['sauce'] = {
        label = "Tomato Sauce",
        weight = 100,
        stack = true,
        close = false,
        description = "Zesty tomato base for pizzas.",
        client = {
            image = "sauce.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['salami'] = {
        label = "Salami",
        weight = 100,
        stack = true,
        close = false,
        description = "Slices of spicy salami.",
        client = {
            image = "salami.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['ham'] = {
        label = "Ham",
        weight = 100,
        stack = true,
        close = false,
        description = "Thin slices of cured ham.",
        client = {
            image = "ham.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['squid'] = {
        label = "Calamari",
        weight = 100,
        stack = true,
        close = false,
        description = "Fresh squid rings, cleaned.",
        client = {
            image = "squid.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['pizzmushrooms'] = {
        label = "Mushrooms",
        weight = 100,
        stack = true,
        close = false,
        description = "Sliced mushrooms for pizza.",
        client = {
            image = "mushrooms.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['olives'] = {
        label = "Olives",
        weight = 100,
        stack = true,
        close = false,
        description = "Black olives, pitted.",
        client = {
            image = "olives.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['basil'] = {
        label = "Basil",
        weight = 100,
        stack = true,
        close = false,
        description = "Aromatic fresh basil leaves.",
        client = {
            image = "basil.png",
            event = "jim-pizzathis:client:Consume",
        },
    },

    ['meat'] = {
        label = "Meat",
        weight = 200,
        stack = true,
        close = false,
        description = "A slab of raw meat.",
        client = {
            image = "meat.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['pasta'] = {
        label = "Bag of Pasta",
        weight = 200,
        stack = true,
        close = false,
        description = "Uncooked dried pasta.",
        client = {
            image = "pasta.png",
            event = "jim-pizzathis:client:Consume",
        },
    },
    ['lettuce'] = {
        label = "Lettuce",
        weight = 100,
        stack = true,
        close = false,
        description = "Crisp and leafy lettuce.",
        client = {
            image = "lettuce.png",
            event = "jim-pizzathis:client:Consume",
        },
    }

(Required/Optional)

(Optional)

(Required/Optional)

(Optional)

(Required/Optional)

(Optional)

(Required/Optional)

(Optional)

https://github.com/jimathy/jim_bridge
here
Jim-Payments
Jim-Consumables
Jim-Payments
Jim-Consumables
Jim-Payments
Jim-Consumables
Jim-Payments
Jim-Consumables