229 lines
15 KiB
Markdown
229 lines
15 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
|
|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
# INSTALLATION
|
|
|
|
Check the `Config.lua` for the settings you need to change
|
|
|
|
To enable or disable a location, toggle `zoneEnable` in their Locations table
|
|
|
|
## Inventory Images
|
|
Add the item images to your inventory script
|
|
|
|
`[qb]` > `qb-inventory` > `html` > `images`
|
|
|
|
## Items.lua
|
|
|
|
Under the QBShared.Items = {
|
|
|
|
--Jim-BeanMachine
|
|
["beancoffee"] = {["name"] = "beancoffee", ["label"] = "Coffe Beans", ["weight"] = 100, ["type"] = "item", ["image"] = "beancoffee.png", ["unique"] = false, ["useable"] = false, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(20, 30) },
|
|
["beandonut"] = {["name"] = "beandonut", ["label"] = "Donut", ["weight"] = 100, ["type"] = "item", ["image"] = "popdonut.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(20, 30) },
|
|
["rhinohorn"] = {["name"] = "rhinohorn", ["label"] = "Rhino Horn", ["weight"] = 100, ["type"] = "item", ["image"] = "rhinohorn.png", ["unique"] = false, ["useable"] = false, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "" },
|
|
["oystershell"] = {["name"] = "oystershell", ["label"] = "Oyster Shell", ["weight"] = 100, ["type"] = "item", ["image"] = "oyster.png", ["unique"] = false, ["useable"] = false, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "" },
|
|
["watermelon"] = {["name"] = "watermelon", ["label"] = "WaterMelon Slice", ["weight"] = 100, ["type"] = "item", ["image"] = "watermelon.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(20, 30), ['thirst'] = math.random(20, 30) },
|
|
|
|
["bigfruit"] = {["name"] = "bigfruit", ["label"] = "The Big Fruit", ["weight"] = 100, ["type"] = "item", ["image"] = "bigfruit.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['thirst'] = math.random(20, 30) },
|
|
["highnoon"] = {["name"] = "highnoon", ["label"] = "Highnoon", ["weight"] = 100, ["type"] = "item", ["image"] = "highnoon.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['thirst'] = math.random(20, 30) },
|
|
["speedball"] = {["name"] = "speedball", ["label"] = "The SpeedBall", ["weight"] = 100, ["type"] = "item", ["image"] = "speedball.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['thirst'] = math.random(20, 30) },
|
|
["gunkaccino"] = {["name"] = "gunkaccino", ["label"] = "The Gunkaccino", ["weight"] = 100, ["type"] = "item", ["image"] = "gunkaccino.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['thirst'] = math.random(20, 30) },
|
|
["bratte"] = {["name"] = "bratte", ["label"] = "The Bratte", ["weight"] = 100, ["type"] = "item", ["image"] = "bratte.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['thirst'] = math.random(20, 30) },
|
|
["flusher"] = {["name"] = "flusher", ["label"] = "The Flusher", ["weight"] = 100, ["type"] = "item", ["image"] = "flusher.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['thirst'] = math.random(20, 30) },
|
|
["ecocoffee"] = {["name"] = "ecocoffee", ["label"] = "The Eco-ffee", ["weight"] = 100, ["type"] = "item", ["image"] = "ecoffee.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['thirst'] = math.random(20, 30) },
|
|
["caffeagra"] = {["name"] = "caffeagra", ["label"] = "Caffeagra", ["weight"] = 100, ["type"] = "item", ["image"] = "caffeagra.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['thirst'] = math.random(20, 30) },
|
|
|
|
["chocolate"] = {["name"] = "chocolate", ["label"] = "Chocolate", ["weight"] = 200, ["type"] = "item", ["image"] = "chocolate.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = false, ["combinable"] = nil, ["description"] = "Chocolate Bar", ['hunger'] = math.random(10, 20) },
|
|
["cheesecake"] = {["name"] = "cheesecake", ["label"] = "Cheese Cake", ["weight"] = 100, ["type"] = "item", ["image"] = "cheesecake.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = 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) },
|
|
["sugar"] = {["name"] = "sugar", ["label"] = "Sugar", ["weight"] = 100, ["type"] = "item", ["image"] = "sugar.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = false, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(10, 20) },
|
|
["orange"] = {["name"] = "orange", ["label"] = "Orange", ["weight"] = 200, ["type"] = "item", ["image"] = "orange.png", ["unique"] = false, ["useable"] = false, ["shouldClose"] = false, ["combinable"] = nil, ["description"] = "An Orange." },
|
|
["milk"] = {["name"] = "milk", ["label"] = "Milk", ["weight"] = 300, ["type"] = "item", ["image"] = "burger-milk.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "Carton of Milk", ['thirst'] = math.random(10, 20) },
|
|
["chickenbreast"] = {["name"] = "chickenbreast", ["label"] = "Chicken Breast", ["weight"] = 100, ["type"] = "item", ["image"] = "chickenbreast.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = false, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(10, 20) },
|
|
|
|
["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) },
|
|
|
|
## Jobs
|
|
Under the QBShared.Jobs = {
|
|
|
|
['beanmachine'] = {
|
|
label = 'Bean Machine',
|
|
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 },
|
|
},
|
|
},
|
|
|
|
|
|
## Payment Systems
|
|
The payment system that is being used is my free script, jim-payments
|
|
|
|
This system supports receipts being handed out to wokers who are clocked in and working
|
|
They can then trade this in at the bank for rewards
|
|
|
|
Grab it at: https://github.com/jimathy/jim-payments
|
|
|
|
# qb-management:
|
|
|
|
Update to the latest github version
|
|
Make sure the job "beanmachine" has been added to the database
|
|
The menu's targets should be accessible to bosses at clockin areas
|
|
|
|
## Emotes
|
|
Custom emotes currently run through dpemotes, its the easier option and adds extra emotes for you to use :)
|
|
|
|
These go in your [standalone] > dpemotes > client > AnimationList.lua
|
|
At about line 1666, place these under DP.PropEmotes = {
|
|
|
|
|
|
["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, }},
|
|
["crisps"] = {"amb@world_human_drinking@coffee@male@idle_a", "idle_c", "Crisps", 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, }},
|
|
["bmcoffee1"] = {"amb@world_human_drinking@coffee@male@idle_a", "idle_c", "Coffee2", AnimationOptions =
|
|
{ Prop = 'prop_fib_coffee', PropBone = 28422, PropPlacement = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
|
|
EmoteLoop = true, EmoteMoving = true, }},
|
|
["bmcoffee2"] = {"amb@world_human_drinking@coffee@male@idle_a", "idle_c", "Coffee3", AnimationOptions =
|
|
{ Prop = 'ng_proc_coffee_01a', PropBone = 28422, PropPlacement = {0.0, 0.0, -0.06, 0.0, 0.0, 0.0},
|
|
EmoteLoop = true, EmoteMoving = true, }},
|
|
["bmcoffee3"] = {"amb@world_human_drinking@coffee@male@idle_a", "idle_c", "Coffee3", AnimationOptions =
|
|
{ Prop = 'v_club_vu_coffeecup', PropBone = 28422, PropPlacement = {0.0, 0.0, -0.06, 0.0, 0.0, 0.0},
|
|
EmoteLoop = true, EmoteMoving = true, }},
|
|
["milk"] = {"mp_player_intdrink", "loop_bottle", "Milk", AnimationOptions =
|
|
{ Prop = "v_res_tt_milk", PropBone = 18905, PropPlacement = {0.10, 0.008, 0.07, 240.0, -60.0},
|
|
EmoteMoving = true, EmoteLoop = true, }},
|
|
["donut2"] = {"mp_player_inteat@burger", "mp_player_int_eat_burger", "Donut2", AnimationOptions =
|
|
{ Prop = 'prop_donut_02', PropBone = 18905, PropPlacement = {0.13, 0.05, 0.02, -50.0, 100.0, 270.0},
|
|
EmoteMoving = true, EmoteLoop = true, }},
|
|
|
|
--------------------------------------------------------------------------------------------------
|
|
|
|
## Jim-Consumables item setup - (Optional) - (https://github.com/jimathy/jim-consumables)
|
|
- Support for new `Jim-Consumables` automated adding of items and emotes
|
|
- Start `jim-consumables` BEFORE this script and set `Config.JimConsumables` to `true` for it to work
|
|
- In Jim-Beanmachine's `config.lua` set `JimConsumables` to true
|
|
- Restart/Ensure Jim-Beanmachine
|
|
|
|
- Restart Jim-Consumables
|
|
|
|
--------------------------------------------------------------------------------------------------
|
|
|
|
## Changelog
|
|
|
|
### v1.4.4:
|
|
- Add "Multi-Craft" option in the config.lua
|
|
- Split-Stack item exploit fix
|
|
- Optional: Support for new `Jim-Consumables` automated item adding events
|
|
- (Start `jim-consumables` BEFORE this script and set `Config.JimConsumables` to `true` for it to work)
|
|
- (https://github.com/jimathy/jim-consumables)
|
|
- Change/Add support for creating jobGarages in (https://github.com/jimathy/jim-jobgarage)
|
|
|
|
### v1.4.3
|
|
- Added image icons to ox_lib menus
|
|
- Added Version Update check
|
|
|
|
### v1.4.2
|
|
- Improved `OX_Lib` Context support (better layout for ingredients)
|
|
- Improved `OX_Inv` support
|
|
- Added `OX_Lib` Progressbar suppport
|
|
- *Basic* `OX_Lib` notification support (Set `Config.Notify = "ox"`)
|
|
- Improved script stopping/restarting events
|
|
- Added more options to blip creation
|
|
- Locale fixes
|
|
- Updated shared functions to give more info and be more optimized
|
|
- Merged built-in eating events into one optimized event
|
|
- Fix emote references for jim-consumables and built in events ("bmcoffee1" not "bmcoffee")
|
|
|
|
### v1.4.1
|
|
- Add support for OX Lib's Context menu
|
|
- Updated emote code in built-in consumable events
|
|
|
|
### v1.4
|
|
- Support for changing Core name
|
|
- Support added for OX_Target
|
|
- Support added for OX_Inventory
|
|
- Added autoClock variable to locations config
|
|
- This helps define if leaving or entering the zone clocks in or out
|
|
|
|
### v1.3.4
|
|
- Updated install.md
|
|
- Included instructions to make use of Jim-Consuambles if wanted
|
|
- Add de.lua locale
|
|
- Updated built-in client and server Hasitem events to be more accurate
|
|
- Support for different job roles at each location
|
|
- Fix for built in job garages letting anyone grab a vehicle
|
|
|
|
### v1.3.3
|
|
- Locale support thanks to Dafke
|
|
|
|
### v1.3.2
|
|
- Workaround for the `HasItem()` allowing crafting when items aren't there
|
|
|
|
### v1.3.1
|
|
- Made the `HasItem` functions built in, so no edits to core needed
|
|
- This allows optimizations + makes crafting menus open/load much faster
|
|
- Add item duping protection to item crafting
|
|
|
|
### v1.3
|
|
- New Location supported, the free MLO - https://www.gta5-mods.com/maps/mlo-bean-machine-fivem-sp
|
|
- Rewrote the locations and how they are handled in the client to allow easier additions of new locations
|
|
- Rewrote the chair code to be more optimzed and handle multiple locations better
|
|
- Rewrote the garage.lua to support new functions
|
|
- Added shared function file to optimize code and improve loading of props and blips
|
|
- Made use of new custom lookEnt() event to make player look towards points of interactions.
|
|
|
|
### v1.2.1
|
|
- Added support ps-progressbar
|
|
|
|
### v1.2
|
|
- Added Support for Crafting CheckMarks
|
|
- 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
|
|
- Added Job Garages for deliveries to both default locations
|
|
- QoL fixes
|
|
- Improved and optimized loading of targets and props
|
|
- UncleJust changes
|
|
- Slushie machine prop now added to separate the Soda's and Slushie targets
|
|
- Added Prepared Food Stash to the fridge
|
|
- Gabz Changes
|
|
- Added Prepared Food Stash to the Donut Counter
|
|
- Upgraded Crafting systems to be more optimised
|
|
- Changed "Donut" menu to be a shop instead of just grabbing them
|
|
- Added simple support for Toys/Prizes
|
|
- BossMenu is now accessible from the same areas as clock in targets
|
|
|
|
### v1.1.1
|
|
- Fixed typo breaking coffee menu
|
|
- Fixed type making "crisps" unusable
|
|
|
|
### v1.1
|
|
- Fix for item check callback
|
|
- Added support for grabbing images from inventory script
|
|
- You need to set your inventory image folder link in the config if not using qb-inventory
|
|
|
|
### v1.0.2
|
|
- Added config option for zones
|
|
- zoneEable, enables or disables the chosen zone and its map blip
|
|
- Added Debug messages to server.lua
|
|
- helps..debug..any issues with the script
|
|
- Missed chocolate completely from the list
|
|
- Even the item check in client.lua was missing it.
|
|
- Added more Custom Emotes
|
|
- Didn't know there were acutal extra BM Coffee Props |