221 lines
18 KiB
Markdown
221 lines
18 KiB
Markdown
|
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),
|