🍟Ns-McDonalds

McDonalds Job

-----INSTALLATION-----

STEP 1 - Unzip and Add Script To Server

Unzip the script folder within your server resources folder. Ensure script in server.cfg ... "ensure ns-mcdonalds". ( NOTE : Please don't change the script name or folder name.)

STEP 2 - Script Configuration

When you open the config file you'll see a lines of codes to configure it to your server.

STEP 2.1 - Dependency Configuration

Menu = "qb", -- "qb" or "ox"
Notify = "okok", -- "qb" or "okok" or "infinity" or "rr" or "t"
Fuel = "LegacyFuel", -- "LegacyFuel" or "ps-fuel"

STEP 2.2 - Job Configuration

-- Job
Job = "mcdonalds",
autoClock = { enter = true, exit = false, }, -- Turning these on will detect if the person has the job and auto clock them on or off
zones = { -- Clockin/out zone
    vector2(-570.67, -855.2),
    vector2(-571.47, -905.38),
    vector2(-621.8, -905.4),
    vector2(-622.75, -855.99)
},

This is an auto clock in and out feature which you can enable or disable.

"enter = true": automatically clocks in worker with job "mcdonalds"

"exit = true": automatically clocks out worker with job "mcdonalds"

STEP 2.3 - Location Configuration

Locations = {
	tables = { -- Locations of tables with stashes
		[1] = vector3(-587.7, -877.02, 25.8),
		[2] = vector3(-589.48, -876.99, 25.78),
		[3] = vector3(-588.19, -873.36, 25.05),
		[4] = vector3(-581.7, -874.67, 25.83),
		[5] = vector3(-581.85, -877.55, 25.82),
    	},
	refillmachines = { -- Locations of soda machines
		[1] = vector4(-583.43, -884.93, 26.3, 359.77),
		[2] = vector4(-581.48, -879.74, 26.44, 270.06),
		[3] = vector4(-588.44, -892.01, 26.19, 183.28),
		[4] = vector4(-587.72, -891.79, 26.2, 183.28),
	},
	blenders = { -- Locations of blenders to make milkshakes
		[1] = vector4(-590.47, -887.66, 26.06, 118.49),
		[2] = vector4(-583.53, -896.1, 26.14, 180.06),
	},
	register = { -- Locations of cash register to fine customers
		[1] = vector4(-584.14, -880.44, 26.07, 360.0),
		[2] = vector4(-582.04, -880.44, 26.07, 360.0),
		[3] = vector4(-579.11, -879.92, 26.07, 360.0),
	},
	clockin = { -- Locations of where workers can clockin and bosses can access boss menu
		[1] = vector4(-588.04, -880.71, 26.95, 186.54)
	},
	Meat = {[1] = vector4(-580.25, -891.24, 25.95, 180.27),}, -- Meat Cooking Locations
	Food = {[1] = vector4(-582.16, -895.98, 26.91, 182.18),}, -- Food Preparing Locations
	Sides = {[1] = vector4(-586.23, -896.0, 26.8, 183.75),} -- Sides Frying Locations
},

Since there are multiple McDonald MLOs in Fivem, the locations are simplified as much as possible within config.lua. Here you can add as many locations of a task as you want. There is no need to change anything within client/object.lua.

STEP 2.4 - Consumable Configuration

Consumable = { -- How much food and drink percentage gets filled up by item, and how long to consume item.
    combomeal = {drink = 30, food = 50, time = 7},
    bigmac = {drink = 0, food = 50, time = 3},
    mcchicken = {drink = 0, food = 50, time = 3},
    mcroyaldeluxe = {drink = 0, food = 50, time = 3},
    cbo = {drink = 0, food = 50, time = 3},
    quarterpounder = {drink = 0, food = 50, time = 3},
    chickendeluxe = {drink = 0, food = 50, time = 3},
    bigdoublecheese = {drink = 0, food = 50, time = 3},
    mcfish = {drink = 0, food = 50, time = 3},
    
    sfries = {drink = 0, food = 30, time = 2},
    lfries = {drink = 0, food = 40, time = 3},
    mcnuggets4 = {drink = 0, food = 40, time = 3},
    mcnuggets9 = {drink = 0, food = 50, time = 3},
    
    mcvmilkshake = {drink = 50, food = 0, time = 4},
    mcsmilkshake = {drink = 50, food = 0, time = 4},
    mccmilkshake = {drink = 50, food = 0, time = 4},
    
    mccocacup = {drink = 40, food = 0, time = 3},
    mcspritecup = {drink = 40, food = 0, time = 3},
    mcfantacup = {drink = 40, food = 0, time = 3},
}

Here you can adjust all food and drinks. You can change how long it takes to consume item, and how much food/ drink percentage the item fills.

STEP 2.5 - Map Configuration

MapEdit = { -- This is set for the mlo used in preview.
	DeleteProps = { -- Deletes props
		[1] = {coords = vector3(-587.52, -876.81, 25.76), hash = -446181301},
		[2] = {coords = vector3(-581.94, -877.6, 25.76), hash = -446181301},
		[3] = {coords = vector3(-587.43, -873.39, 25.98), hash = -1455204349},
		[4] = {coords = vector3(-582.04, -877.62, 25.79), hash = -2054442544},
		[5] = {coords = vector3(-581.94, -877.6, 25.76), hash = -446181301},
		[6] = {coords = vector3(-581.83, -877.68, 25.78), hash = -521383735},
		[7] = {coords = vector3(-587.41, -876.87, 25.78), hash = -521383735},
		[8] = {coords = vector3(-587.62, -876.83, 25.79), hash = -2054442544},
		[9] = {coords = vector3(-583.24, -880.37, 25.96), hash = -446181301},
		[10] = {coords = vector3(-583.14, -880.38, 26.08), hash = 910205311},
		[11] = {coords = vector3(-583.34, -880.35, 26.08), hash = 910205311},
		[12] = {coords = vector3(-580.09, -890.44, 25.44), hash = 2064772359},
		[13] = {coords = vector3(-579.91, -890.98, 26.41), hash = 2064772359},
		[14] = {coords = vector3(-579.62, -887.57, 25.33), hash = -177104014},
		[15] = {coords = vector3(-588.4, -890.95, 25.07), hash = 1167668471},
	},
	proptable = { -- Spawns props
		{ prop = "plateau1", coords = vector4(-587.02, -873.39, 27.01, 9.64) },
		{ prop = "plateau1", coords = vector4(-581.87, -874.48, 26.78, 107.33) },
		{ prop = "plateau2", coords = vector4(-581.86, -877.57, 26.81, 86.77) },
		{ prop = "plateau1", coords = vector4(-587.45, -877.06, 26.78, 6.37) },
		{ prop = "plateau2", coords = vector4(-589.28, -877.07, 26.78, 6.37) },
		{ prop = "filetofish", coords = vector4(-584.6, -883.53, 27.53, 90.0) },
		{ prop = "bigtasty", coords = vector4(-582.89, -883.6, 27.54, 90.0) },
		{ prop = "triplecheese", coords = vector4(-583.8, -883.58, 27.54, 90.0) },
		{ prop = "prop_cooker_03", coords = vector4(-580.25, -891.24, 25.95, 180.27) },
		{ prop = "plateauvide", coords = vector4(-583.15, -880.32, 26.99, 357.09) },
		{ prop = "prop_laptop_jimmy", coords = vector4(-588.04, -880.71, 26.99, 6.54) },
	}
} -- Purpose is to replace default burgershot logo props with mcdonalds provided in stream folder.

Here you can delete a certain prop at a location and also spawn any props. As shown within the preview video, with the MLO I have used, I deleted all BurgerShot GTA props placed on tables and slabs, and replaced them with my own.

Here are the custom props provided within my script:

STEP 2.6 - Chair Configuration

You are able to configure the chair sit and stand locations within client/chairs.lua. For more support join our discord.

STEP 3 - Inventory Images

Add your images to your inventory script, e.g:

[qb] > qb-inventory > html > images

STEP 4 - Add Items to QbCore

In [qb] > qb-core > shared> items.lua

-- McDonalds items	
["combomeal"] 	   		= {["name"] = "combomeal", 			["label"] = "Combo Meal", 				["weight"] = 10000, 	["type"] = "item", 		["image"] = "combomeal.png", 			["unique"] = false, 	["useable"] = true, 	["shouldClose"] = false,   		["combinable"] = nil,   	["description"] = ""},
["bigmac"] 		 	= {["name"] = "bigmac", 			["label"] = "Big Mac", 					["weight"] = 1000, 		["type"] = "item", 		["image"] = "bigmac.png", 		    	["unique"] = false, 	["useable"] = true, 	["shouldClose"] = false,   		["combinable"] = nil,   	["description"] = ""},
["mcchicken"]    		= {["name"] = "mcchicken", 			["label"] = "McChicken", 				["weight"] = 1000, 		["type"] = "item", 		["image"] = "mcchicken.png", 			["unique"] = false, 	["useable"] = true, 	["shouldClose"] = false,   		["combinable"] = nil,   	["description"] = ""},
["mcroyaldeluxe"] 		= {["name"] = "mcroyaldeluxe", 		        ["label"] = "McRoyal Deluxe", 			["weight"] = 1000, 		["type"] = "item", 		["image"] = "mcroyaldeluxe.png", 		["unique"] = false, 	["useable"] = true, 	["shouldClose"] = false,   		["combinable"] = nil,   	["description"] = ""},
["cbo"] 			= {["name"] = "cbo", 	    		        ["label"] = "CBO", 						["weight"] = 1000, 		["type"] = "item", 		["image"] = "cbo.png", 			    	["unique"] = false, 	["useable"] = true, 	["shouldClose"] = false,   		["combinable"] = nil,   	["description"] = ""},
["quarterpounder"] 		= {["name"] = "quarterpounder", 	        ["label"] = "Quarter Pounder", 			["weight"] = 1000, 		["type"] = "item", 		["image"] = "quarterpounder.png", 		["unique"] = false, 	["useable"] = true, 	["shouldClose"] = false,   		["combinable"] = nil,   	["description"] = ""},
["chickendeluxe"] 		= {["name"] = "chickendeluxe", 		        ["label"] = "Chicken Deluxe", 			["weight"] = 1000, 		["type"] = "item", 		["image"] = "bigchickensupreme.png", 	["unique"] = false, 	["useable"] = true, 	["shouldClose"] = false,   		["combinable"] = nil,   	["description"] = ""},
["bigdoublecheese"] 		= {["name"] = "bigdoublecheese", 	        ["label"] = "Big Double Cheese", 		["weight"] = 1000, 		["type"] = "item", 		["image"] = "bigdoublecheese.png", 		["unique"] = false, 	["useable"] = true, 	["shouldClose"] = false,   		["combinable"] = nil,   	["description"] = ""},
["mcfish"] 		 	= {["name"] = "mcfish", 			["label"] = "Filet-o-Fish", 			["weight"] = 1000, 		["type"] = "item", 		["image"] = "mcfish.png", 				["unique"] = false, 	["useable"] = true, 	["shouldClose"] = false,   		["combinable"] = nil,   	["description"] = ""},

["sfries"] 		 	= {["name"] = "sfries", 			["label"] = "Small Fries", 				["weight"] = 300, 		["type"] = "item", 		["image"] = "fries.png", 				["unique"] = false, 	["useable"] = true, 	["shouldClose"] = false,   		["combinable"] = nil,   	["description"] = ""},
["lfries"] 		 	= {["name"] = "lfries", 			["label"] = "Large Fries", 				["weight"] = 100, 		["type"] = "item", 		["image"] = "fries.png", 				["unique"] = false, 	["useable"] = true, 	["shouldClose"] = false,   		["combinable"] = nil,   	["description"] = ""},	
["mcnuggets4"] 		 	= {["name"] = "mcnuggets4", 		        ["label"] = "Chicken Nugget 4pcs", 		["weight"] = 4000, 		["type"] = "item", 		["image"] = "nuggets.png", 			["unique"] = false, 	["useable"] = true, 	["shouldClose"] = false,   		["combinable"] = nil,   	["description"] = ""},
["mcnuggets9"] 		 	= {["name"] = "mcnuggets9", 		        ["label"] = "Chicken Nugget 9pcs", 		["weight"] = 9000, 		["type"] = "item", 		["image"] = "nuggets.png", 			["unique"] = false, 	["useable"] = true, 	["shouldClose"] = false,   		["combinable"] = nil,   	["description"] = ""},
["mcemptyscup"] 		= {["name"] = "mcemptyscup", 		        ["label"] = "Empty Soda Cup", 			["weight"] = 100, 		["type"] = "item", 		["image"] = "mccup.png", 				["unique"] = false, 	["useable"] = true, 	["shouldClose"] = false,   		["combinable"] = nil,   	["description"] = ""},
["mcemptymcup"] 		= {["name"] = "mcemptymcup", 		        ["label"] = "Empty Milkshake Cup", 		["weight"] = 100, 		["type"] = "item", 		["image"] = "mcmcup.png", 				["unique"] = false, 	["useable"] = true, 	["shouldClose"] = false,   		["combinable"] = nil,   	["description"] = ""},
["mccocacup"] 		 	= {["name"] = "mccocacup", 			["label"] = "Coca Cola", 				["weight"] = 1000, 		["type"] = "item", 		["image"] = "mccupcoca.png", 				["unique"] = false, 	["useable"] = true, 	["shouldClose"] = false,   		["combinable"] = nil,   	["description"] = ""},
["mcspritecup"] 		= {["name"] = "mcspritecup", 		        ["label"] = "Sprite", 					["weight"] = 1000, 		["type"] = "item", 		["image"] = "mccupsprite.png", 				["unique"] = false, 	["useable"] = true, 	["shouldClose"] = false,   		["combinable"] = nil,   	["description"] = ""},
["mcfantacup"] 		 	= {["name"] = "mcfantacup", 		        ["label"] = "Fanta", 					["weight"] = 1000, 		["type"] = "item", 		["image"] = "mccupfanta.png", 				["unique"] = false, 	["useable"] = true, 	["shouldClose"] = false,   		["combinable"] = nil,   	["description"] = ""},
["mcvmilkshake"] 		= {["name"] = "mcvmilkshake", 		        ["label"] = "Vanilla Milkshake", 		["weight"] = 2000, 		["type"] = "item", 		["image"] = "mcmcup.png", 				["unique"] = false, 	["useable"] = true, 	["shouldClose"] = false,   		["combinable"] = nil,   	["description"] = ""},
["mcsmilkshake"] 		= {["name"] = "mcsmilkshake", 		        ["label"] = "Strawberry Milkshake", 	["weight"] = 2000, 		["type"] = "item", 		["image"] = "mcmcup.png", 				["unique"] = false, 	["useable"] = true, 	["shouldClose"] = false,   		["combinable"] = nil,   	["description"] = ""},
["mccmilkshake"] 		= {["name"] = "mccmilkshake", 		        ["label"] = "Chocolate Milkshake", 		["weight"] = 2000, 		["type"] = "item", 		["image"] = "mcmcup.png", 				["unique"] = false, 	["useable"] = true, 	["shouldClose"] = false,   		["combinable"] = nil,   	["description"] = ""},

["slicedpotatoes"] 		= {["name"] = "slicedpotatoes",		        ["label"] = "Sliced Potatoes",			["weight"] = 500, 		["type"] = "item", 		["image"] = "slicedpotatoes.png", ["unique"] = false, 	["useable"] = false,	["shouldClose"] = false,	["combinable"] = nil,	["description"] = ""},
["slicedonions"] 		= {["name"] = "slicedonions",		        ["label"] = "Sliced Onions",			["weight"] = 500, 		["type"] = "item", 		["image"] = "slicedonions.png", ["unique"] = false, 	["useable"] = false,	["shouldClose"] = false,	["combinable"] = nil,	["description"] = ""},
["slicedtomatoes"] 		= {["name"] = "slicedtomatoes",		        ["label"] = "Sliced Tomatoes",			["weight"] = 500, 		["type"] = "item", 		["image"] = "slicedtomatoes.png", ["unique"] = false, 	["useable"] = false,	["shouldClose"] = false,	["combinable"] = nil,	["description"] = ""},
["cheese"] 			= {["name"] = "cheese",				["label"] = "Sliced Cheese",			["weight"] = 500, 		["type"] = "item", 		["image"] = "slicedcheese.png", ["unique"] = false, 	["useable"] = false,	["shouldClose"] = false,	["combinable"] = nil,	["description"] = ""},
["rawchicken"] 			= {["name"] = "rawchicken",			["label"] = "Chicken",					["weight"] = 500, 		["type"] = "item", 		["image"] = "rawchickenbreast.png", ["unique"] = false, 	["useable"] = false,	["shouldClose"] = false,	["combinable"] = nil,	["description"] = ""},
["chickenpatty"] 		= {["name"] = "chickenpatty",		        ["label"] = "Cooked Chicken Patty",		["weight"] = 500, 		["type"] = "item", 		["image"] = "chickenpatty.png", ["unique"] = false, 	["useable"] = false,	["shouldClose"] = false,	["combinable"] = nil,	["description"] = ""},
["batteredfish"] 		= {["name"] = "batteredfish",  	                ["label"] = "Battered Fish",	 		["weight"] = 200, 		["type"] = "item", 		["image"] = "batteredfish.png", 		["unique"] = false, 	["useable"] = false, 	["shouldClose"] = false,   	["combinable"] = nil,   ["description"] = ""},
["rawfish"] 			= {["name"] = "rawfish",  	    	        ["label"] = "Fish",	 					["weight"] = 200, 		["type"] = "item", 		["image"] = "fish.png", 		["unique"] = false, 	["useable"] = false, 	["shouldClose"] = false,   	["combinable"] = nil,   ["description"] = ""},
["rawbeef"] 			= {["name"] = "rawbeef",			["label"] = "Raw Beef",					["weight"] = 500, 		["type"] = "item", 		["image"] = "rawbeef.png", ["unique"] = false, 	["useable"] = false,	["shouldClose"] = false,	["combinable"] = nil,	["description"] = ""},  
["beefpatty"] 			= {["name"] = "beefpatty",			["label"] = "Beef Patty",				["weight"] = 500, 		["type"] = "item", 		["image"] = "beefpatty.png", ["unique"] = false, 	["useable"] = false,	["shouldClose"] = false,	["combinable"] = nil,	["description"] = ""}, 
["frozennugget"] 		= {["name"] = "frozennugget",		        ["label"] = "Frozen Nuggets",			["weight"] = 500, 		["type"] = "item", 		["image"] = "frozennuggets.png", ["unique"] = false, 	["useable"] = false,	["shouldClose"] = false,	["combinable"] = nil,	["description"] = ""}, 
["burgerbun"] 			= {["name"] = "burgerbun",			["label"] = "Burger Bun",				["weight"] = 500, 		["type"] = "item", 		["image"] = "burgerbun.png", ["unique"] = false, 	["useable"] = false,	["shouldClose"] = false,	["combinable"] = nil,	["description"] = ""},
["bacon"] 			= {["name"] = "bacon",  	     	        ["label"] = "Bacon",					["weight"] = 100, 		["type"] = "item", 		["image"] = "bacon.png", 			["unique"] = false, 	["useable"] = false, 	["shouldClose"] = false,   	["combinable"] = nil,   ["description"] = ""},
["lettuce"] 	 		= {["name"] = "lettuce",       		        ["label"] = "Lettuce",	 				["weight"] = 100, 		["type"] = "item", 		["image"] = "lettuce.png", 		["unique"] = false, 	["useable"] = false, 	["shouldClose"] = false,   	["combinable"] = nil,   ["description"] = ""},
["pickle"] 	 		= {["name"] = "pickle",       		        ["label"] = "Pickle",	 				["weight"] = 100, 		["type"] = "item", 		["image"] = "pickle.png", 		["unique"] = false, 	["useable"] = false, 	["shouldClose"] = false,   	["combinable"] = nil,   ["description"] = ""},
["vicecream"] 			= {["name"] = "vicecream",  	                ["label"] = "Vanilla Ice Cream",		["weight"] = 100, 		["type"] = "item", 		["image"] = "icecreamtub.png", 		["unique"] = false, 	["useable"] = true, 	["shouldClose"] = true,   	["combinable"] = nil,   ["description"] = ""},
["sicecream"] 			= {["name"] = "sicecream",  	                ["label"] = "Strawberry Ice Cream",		["weight"] = 100, 		["type"] = "item", 		["image"] = "icecreamtub.png", 		["unique"] = false, 	["useable"] = true, 	["shouldClose"] = true,   	["combinable"] = nil,   ["description"] = ""},
["cicecream"] 			= {["name"] = "cicecream",  	                ["label"] = "Chocolate Ice Cream",		["weight"] = 100, 		["type"] = "item", 		["image"] = "icecreamtub.png", 		["unique"] = false, 	["useable"] = true, 	["shouldClose"] = true,   	["combinable"] = nil,   ["description"] = ""},

STEP 5 - Add Job to QbCore (Optional)

Whichever job you use, make sure to write its name in the config file...

["mcdonalds"] = {
		label = "McDonalds",
		defaultDuty = true,
		grades = {
			['0'] = {name = 'Cooker',payment = 1500},
			['1'] = {name = 'Cashier',payment = 2000},
			['2'] = {name = 'Manager',isboss = true,payment = 2500},
			['3'] = {name = 'Owner',isboss = true,payment = 3000},
		},
	},

Preview Video

TEBEX

Link to Purchase Escrow ($5.99): https://ns-scripts.tebex.io/package/5790083 Link to Purchase Open Source ($14.99): https://ns-scripts.tebex.io/package/5790683

Discord

Discord Link

Last updated