Scripts/resources/[jims]/jim-tequilala/install.md
2024-12-29 20:49:12 +01:00

18 KiB

Thank you for your purchase <3 I hope you have fun with this script and that it brings jobs and RP to your server

If you need support I now have a discord available, it helps me keep track of issues and give better support.

https://discord.gg/xKgQZ6wZvS

Update v1.6.3: - Locale support thanks to Dafke

Update v1.6.2: - Workaround for the HasItem() allowing crafting when items aren't there

Update v1.6.1: - QoL changes to the code - Add item duping protection to item crafting

Update v1.6: - Add built in native "HasItem" event to help optimize the crafting - Change to server side item removal events

Update v1.5: - Fixed warning print demanding the wrong job - New shared file that handles all the functions - Optimized and improved chair code - Optimized loading of props - Built in DJ Booth Fixes - Updated debug prints

Update v1.4: - Improved Checkmark issues causing script to break when crafting - This is a toggle in the config, if it causes issues(like lag) disable it - Added Support for Jim-Shops - Added support for new qb-menu icons - QoL fixes - Improved and optimized loading of targets and props - Upgraded Crafting systems to be more optimised - Added qb-management bossmenu target location - Moved Clock in from board to laptop on bottom bar - This should stop issues with board prop not loading - Change emotes in the install.md that require the contract dlc - Added built-in custom DJ Booth to the stage - Target the closest amp to the drum kit - You can disable this easily in the config - Requires xSound - https://github.com/Xogy/xsound

Update v1.3: - Big rewrite, if you don't notice a change then I've done a good job - More optimized using improved coding

Update v1.2.2: - Fixed alcohol not giving effect

Update v1.2: - Added useDLC config option to enable prop replacements using DLC props - Optimization Update - Now runs at 0.00ms idle

Update v1.1: - Payment systems removed/changed in favour of support for my free payment script jim-payments: https://github.com/jimathy/jim-payments# - Add this script to your server and payment systems will work as normal with extra features - This change removes events from client.lua and server.lua - Added item checkmarks to qb-menu's to show if you have the required items or not - This adds changes to client.lua - QoL Fixes


INSTALLATION

Add the item images to your inventory script

[qb] > qb-inventory > html > images


THESE GO IN YOUR SHARED.LUA IN qb-core:

THIS USES ITEMS FROM VANILLAUNICORN PIZZATHIS AND HENHOUSE, DOUBLE CHECK YOU DON'T HAVE THEM ALREADY

Under the QBShared.Items = { --Cocktails ["b52"] = {["name"] = "b52", ["label"] = "B-52", ["weight"] = 200, ["type"] = "item", ["image"] = "b52.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "B-52 Cocktail", ['thirst'] = math.random(20, 30) }, ["brussian"] = {["name"] = "brussian", ["label"] = "Black Russian", ["weight"] = 200, ["type"] = "item", ["image"] = "brussian.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "Black Russian Cocktail", ['thirst'] = math.random(20, 30) }, ["bkamikaze"] = {["name"] = "bkamikaze", ["label"] = "Blue Kamikaze", ["weight"] = 200, ["type"] = "item", ["image"] = "bkamikaze.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "Blue Kamikaze Cocktail", ['thirst'] = math.random(20, 30) }, ["cappucc"] = {["name"] = "cappucc", ["label"] = "Cappuccinotini", ["weight"] = 200, ["type"] = "item", ["image"] = "cappucc.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "Cappuccinotini Cocktail", ['thirst'] = math.random(20, 30) }, ["ccookie"] = {["name"] = "ccookie", ["label"] = "Cranberry Cookie", ["weight"] = 200, ["type"] = "item", ["image"] = "ccookie.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "Cranberry Cookie Cocktail", ['thirst'] = math.random(20, 30) }, ["iflag"] = {["name"] = "iflag", ["label"] = "Irish Flag", ["weight"] = 200, ["type"] = "item", ["image"] = "iflag.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "Irish Flag Cocktail", ['thirst'] = math.random(20, 30) }, ["kamikaze"] = {["name"] = "kamikaze", ["label"] = "Kamikaze", ["weight"] = 200, ["type"] = "item", ["image"] = "kamikaze.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "Kamikase Cocktail", ['thirst'] = math.random(20, 30) }, ["sbullet"] = {["name"] = "sbullet", ["label"] = "Silver Bullet", ["weight"] = 200, ["type"] = "item", ["image"] = "sbullet.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "Silver Bullet Cocktail", ['thirst'] = math.random(20, 30) }, ["voodoo"] = {["name"] = "voodoo", ["label"] = "Voodoo", ["weight"] = 200, ["type"] = "item", ["image"] = "voodoo.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "Voodoo Cocktail", ['thirst'] = math.random(20, 30) }, ["woowoo"] = {["name"] = "woowoo", ["label"] = "Woo Woo", ["weight"] = 200, ["type"] = "item", ["image"] = "woowoo.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "Woowoo Cocktail", ['thirst'] = math.random(20, 30) },

--Drink Ingredients
["orange"] 				 		= {["name"] = "orange",  	     			["label"] = "Orange",	 				["weight"] = 200, 		["type"] = "item", 		["image"] = "orange.png", 		["unique"] = false, 	["useable"] = false, 	["shouldClose"] = false,   	["combinable"] = nil,   ["description"] = "An Orange." },
["lime"] 				 		= {["name"] = "lime",  	     				["label"] = "Lime",	 					["weight"] = 200, 		["type"] = "item", 		["image"] = "lime.png", 		["unique"] = false, 	["useable"] = false, 	["shouldClose"] = false,   	["combinable"] = nil,   ["description"] = "A Lime." },
["chocolate"] 				 	= {["name"] = "chocolate",  		     	["label"] = "Chocolate",	 			["weight"] = 200, 		["type"] = "item", 		["image"] = "chocolate.png", 	["unique"] = false, 	["useable"] = false, 	["shouldClose"] = false,   	["combinable"] = nil,   ["description"] = "Chocolate Bar", ['hunger'] = math.random(20, 30) },

["cranberry"] 				 	= {["name"] = "cranberry",  	     		["label"] = "Cranberry Juice",	 		["weight"] = 200, 		["type"] = "item", 		["image"] = "cranberry.png", 	["unique"] = false, 	["useable"] = true, 	["shouldClose"] = true,   	["combinable"] = nil,   ["description"] = "Cranberry Juice", ['thirst'] = math.random(20, 30) },
["schnapps"] 				 	= {["name"] = "schnapps",  	     			["label"] = "Peach Schnapps",	 		["weight"] = 200, 		["type"] = "item", 		["image"] = "schnapps.png", 	["unique"] = false, 	["useable"] = true, 	["shouldClose"] = true,   	["combinable"] = nil,   ["description"] = "A bottle of Peach Schnapps", ['thirst'] = math.random(20, 30) },
["gin"] 					 	= {["name"] = "gin",  	     				["label"] = "Gin",	 					["weight"] = 200, 		["type"] = "item", 		["image"] = "gin.png", 			["unique"] = false, 	["useable"] = true, 	["shouldClose"] = true,   	["combinable"] = nil,   ["description"] = "A bottle of Gin", ['thirst'] = math.random(20, 30) },
["scotch"] 					 	= {["name"] = "scotch",  	     			["label"] = "Scotch",	 				["weight"] = 200, 		["type"] = "item", 		["image"] = "scotch.png", 		["unique"] = false, 	["useable"] = true, 	["shouldClose"] = true,   	["combinable"] = nil,   ["description"] = "A bottle of Scotch", ['thirst'] = math.random(20, 30) },
["rum"] 					 	= {["name"] = "rum",  	     				["label"] = "Rum",	 					["weight"] = 200, 		["type"] = "item", 		["image"] = "rum.png", 			["unique"] = false, 	["useable"] = true, 	["shouldClose"] = true,   	["combinable"] = nil,   ["description"] = "A bottle of Rum", ['thirst'] = math.random(20, 30) },
["icream"] 					 	= {["name"] = "icream",  	     			["label"] = "Irish Cream",	 			["weight"] = 200, 		["type"] = "item", 		["image"] = "icream.png", 		["unique"] = false, 	["useable"] = true, 	["shouldClose"] = true,   	["combinable"] = nil,   ["description"] = "A bottle of Irish Cream Liquer", ['thirst'] = math.random(20, 30) },
["amaretto"] 					= {["name"] = "amaretto",  	     			["label"] = "Amaretto",	 				["weight"] = 200, 		["type"] = "item", 		["image"] = "amaretto.png", 	["unique"] = false, 	["useable"] = true, 	["shouldClose"] = true,   	["combinable"] = nil,   ["description"] = "A bottle of Amaretto", ['thirst'] = math.random(20, 30) },
["curaco"] 						= {["name"] = "curaco",  	     			["label"] = "Curaco",	 				["weight"] = 200, 		["type"] = "item", 		["image"] = "curaco.png", 		["unique"] = false, 	["useable"] = true, 	["shouldClose"] = true,   	["combinable"] = nil,   ["description"] = "A bottle of Curaco", ['thirst'] = math.random(20, 30) },

--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) },

["crisps"] 						= {["name"] = "crisps",  	    			["label"] = "Crisps",					["weight"] = 100, 		["type"] = "item", 		["image"] = "chips.png", 		["unique"] = false, 	["useable"] = true, 	["shouldClose"] = true,   	["combinable"] = nil,   ["description"] = "", ['hunger'] = math.random(20, 30) },

Under the QBShared.Jobs = {

['tequilala'] = {
	label = 'Tequilala',
	defaultDuty = false,
	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 },
    },
},

Custom emotes currently run through dpemotes, its the easier option and adds extra emotes for you to use :) THESE REQUIRE THE LATEST DLC

These go in your [standalone] > dpemotes > client > AnimationList.lua At about line 1666, place these under DP.PropEmotes = {

--Jim-Tequilala
["whiskeyb"] = {"mp_player_intdrink", "loop_bottle", "(Don't Use) Whiskey Bottle", AnimationOptions =
{    Prop = "prop_cs_whiskey_bottle", PropBone = 60309, PropPlacement = {0.0, 0.0, 0.0, 0.0, 0.0},
	EmoteMoving = true, EmoteLoop = true }},
["rumb"] = {"mp_player_intdrink", "loop_bottle", "(Don't Use) Rum Bottle", AnimationOptions =
{    Prop = "prop_rum_bottle", PropBone = 18905, PropPlacement = {0.03, -0.18, 0.10, 240.0, -60.0},
	EmoteMoving = true, EmoteLoop = true }},
["icream"] = {"mp_player_intdrink", "loop_bottle", "Irish Cream Bottle", AnimationOptions =
{    Prop = "prop_bottle_brandy", PropBone = 18905, PropPlacement = {0.00, -0.26, 0.10, 240.0, -60.0},
	EmoteMoving = true, EmoteLoop = true }},
["ginb"] =  {"mp_player_intdrink", "loop_bottle", "(Don't Use) Gin Bottle", AnimationOptions =
{    Prop = "prop_tequila_bottle", PropBone = 18905, PropPlacement = {0.00, -0.26, 0.10, 240.0, -60.0},
	EmoteMoving = true, EmoteLoop = true }},
["vodkab"] = {"mp_player_intdrink", "loop_bottle", "(Don't Use) Vodka Bottle", AnimationOptions =
{   Prop = 'prop_vodka_bottle', PropBone = 18905, PropPlacement = {0.00, -0.26, 0.10, 240.0, -60.0},
	EmoteMoving = true, EmoteLoop = true }},

["guitarelectric3"] = {"amb@world_human_musician@guitar@male@idle_a", "idle_b", "Guitar Electric 3", AnimationOptions = { Prop = 'prop_el_guitar_02', PropBone = 24818, PropPlacement = {-0.1, 0.31, 0.1, 0.0, 20.0, 150.0}, EmoteMoving = true, EmoteLoop = true }}, ["guitarelectric4"] = {"amb@world_human_musician@guitar@male@idle_a", "idle_b", "Guitar Electric 4", AnimationOptions = { Prop = 'vw_prop_casino_art_guitar_01a', PropBone = 24818, PropPlacement = {-0.1, 0.31, 0.1, 0.0, 20.0, 150.0}, EmoteMoving = true, EmoteLoop = true }}, ["guitarelectric5"] = {"amb@world_human_musician@guitar@male@idle_a", "idle_b", "Guitar Electric 5", AnimationOptions = { Prop = 'sf_prop_sf_el_guitar_02a', PropBone = 24818, PropPlacement = {-0.1, 0.31, 0.1, 0.0, 20.0, 150.0}, EmoteMoving = true, EmoteLoop = true }},

["drummer"] = {"anim@scripted@freemode_npc@fix_astu_prod_drums@", "art_ig2_drums_p1", "Drummer", AnimationOptions = { Prop = 'sf_prop_sf_drum_stick_01a', PropBone = 60309, PropPlacement = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}, SecondProp = 'sf_prop_sf_drum_stick_01a', SecondPropBone = 28422, SecondPropPlacement = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}, EmoteMoving = false, EmoteLoop = true }}, ["crisps"] = {"amb@world_human_drinking@coffee@male@idle_a", "idle_c", "Chrisps", AnimationOptions = { Prop = 'v_ret_ml_chips2', PropBone = 28422, PropPlacement = {0.01, -0.05, -0.1, 0.0, 0.0, 90.0}, EmoteLoop = true, EmoteMoving = true, }}, ["beer1"] = {"mp_player_intdrink", "loop_bottle", "Dusche", AnimationOptions = { Prop = "prop_beerdusche", PropBone = 18905, PropPlacement = {0.04, -0.14, 0.10, 240.0, -60.0}, EmoteMoving = true, EmoteLoop = true, }}, ["beer2"] = {"mp_player_intdrink", "loop_bottle", "Logger", AnimationOptions = { Prop = "prop_beer_logopen", PropBone = 18905, PropPlacement = {0.03, -0.18, 0.10, 240.0, -60.0}, EmoteMoving = true, EmoteLoop = true, }}, ["beer3"] = {"mp_player_intdrink", "loop_bottle", "AM Beer", AnimationOptions = { Prop = "prop_beer_amopen", PropBone = 18905, PropPlacement = {0.03, -0.18, 0.10, 240.0, -60.0}, EmoteMoving = true, EmoteLoop = true, }}, ["beer4"] = {"mp_player_intdrink", "loop_bottle", "Pisswasser1", AnimationOptions = { Prop = "prop_beer_pissh", PropBone = 18905, PropPlacement = {0.03, -0.18, 0.10, 240.0, -60.0}, EmoteMoving = true, EmoteLoop = true, }}, ["beer5"] = {"mp_player_intdrink", "loop_bottle", "Pisswasser2", AnimationOptions = { Prop = "prop_amb_beer_bottle", PropBone = 18905, PropPlacement = {0.12, 0.008, 0.03, 240.0, -60.0}, EmoteMoving = true, EmoteLoop = true, }}, ["beer6"] = {"mp_player_intdrink", "loop_bottle", "Pisswasser3", AnimationOptions = { Prop = "prop_cs_beer_bot_02", PropBone = 18905, PropPlacement = {0.12, 0.008, 0.03, 240.0, -60.0}, EmoteMoving = true, EmoteLoop = true, }}, ["ecola"] = {"mp_player_intdrink", "loop_bottle", "E-cola", AnimationOptions = { Prop = "prop_ecola_can", PropBone = 18905, PropPlacement = {0.12, 0.008, 0.03, 240.0, -60.0}, EmoteMoving = true, EmoteLoop = true, }}, ["sprunk"] = {"mp_player_intdrink", "loop_bottle", "Sprunk", AnimationOptions = { Prop = "v_res_tt_can03", PropBone = 18905, PropPlacement = {0.12, 0.008, 0.03, 240.0, -60.0}, EmoteMoving = true, EmoteLoop = true, }},


Within the config.lua of qb-bossmenu This adds the boss menu location to the laptop on the bottom floor bar (there isn't any kind of office)

['tequilala'] = vector3(-561.27, 289.53, 82.18),