Installation
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
Download
Get it free from github - https://github.com/jimathy/jim_bridge
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 here
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.
Jim-Payments (Required/Optional)
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.
Jim-Consumables (Optional)
If
jim-consumables
is installed, the script will attempt to reroute consumablesThe 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 orjim-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
('beanmachine', 'BeanMachine')
;
INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
('beanmachine',0,'recruit','Recruit',50,'{}','{}'),
('beanmachine',1,'novice','Novice',75,'{}','{}'),
('beanmachine',2,'experienced','Experienced',100,'{}','{}'),
('beanmachine',3,'advanced',"Advanced",125,'{}','{}'),
('beanmachine',4,'boss','Manager',150,'{}','{}'),
('beanmachine',5,'owner','Owner',175,'{}','{}')
;
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-BEANMACHINE --
beancoffee = { name = 'beancoffee', label = 'Coffee Beans', weight = 100, type = 'item', image = 'beancoffee.png', unique = false, useable = false, shouldClose = true, description = 'A bag of roasted coffee beans' },
beandonut = { name = 'beandonut', label = 'Donut', weight = 100, type = 'item', image = 'popdonut.png', unique = false, useable = true, shouldClose = true, description = 'Freshly baked donut' },
rhinohorn = { name = 'rhinohorn', label = 'Rhino Horn', weight = 100, type = 'item', image = 'rhinohorn.png', unique = false, useable = false, shouldClose = true, description = 'A rare rhino horn' },
oystershell = { name = 'oystershell', label = 'Oyster Shell', weight = 100, type = 'item', image = 'oyster.png', unique = false, useable = false, shouldClose = true, description = 'Shell from an oyster' },
watermelon = { name = 'watermelon', label = 'Watermelon Slice', weight = 100, type = 'item', image = 'watermelon.png', unique = false, useable = true, shouldClose = true, description = 'Juicy slice of watermelon' },
bigfruit = { name = 'bigfruit', label = 'The Big Fruit', weight = 100, type = 'item', image = 'bigfruit.png', unique = false, useable = true, shouldClose = true, description = 'A mysterious oversized fruit' },
highnoon = { name = 'highnoon', label = 'Highnoon', weight = 100, type = 'item', image = 'highnoon.png', unique = false, useable = true, shouldClose = true, description = 'Strong and bold highnoon coffee' },
speedball = { name = 'speedball', label = 'The SpeedBall', weight = 100, type = 'item', image = 'speedball.png', unique = false, useable = true, shouldClose = true, description = 'High-caffeine speedball drink' },
gunkaccino = { name = 'gunkaccino', label = 'The Gunkaccino', weight = 100, type = 'item', image = 'gunkaccino.png', unique = false, useable = true, shouldClose = true, description = 'Funky-flavored gunkaccino' },
bratte = { name = 'bratte', label = 'The Bratte', weight = 100, type = 'item', image = 'bratte.png', unique = false, useable = true, shouldClose = true, description = 'Creamy bratte coffee drink' },
flusher = { name = 'flusher', label = 'The Flusher', weight = 100, type = 'item', image = 'flusher.png', unique = false, useable = true, shouldClose = true, description = 'Energizing and cleansing brew' },
ecocoffee = { name = 'ecocoffee', label = 'The Eco-ffee', weight = 100, type = 'item', image = 'ecoffee.png', unique = false, useable = true, shouldClose = true, description = 'Eco-friendly brewed coffee' },
caffeagra = { name = 'caffeagra', label = 'Caffeagra', weight = 100, type = 'item', image = 'caffeagra.png', unique = false, useable = true, shouldClose = true, description = 'Bold and powerful coffee shot' },
chocolate = { name = 'chocolate', label = 'Chocolate', weight = 200, type = 'item', image = 'chocolate.png', unique = false, useable = true, shouldClose = false, description = 'Delicious chocolate bar' },
cheesecake = { name = 'cheesecake', label = 'Cheese Cake', weight = 100, type = 'item', image = 'cheesecake.png', unique = false, useable = true, shouldClose = true, description = 'Rich and creamy cheesecake' },
crisps = { name = 'crisps', label = 'Crisps', weight = 100, type = 'item', image = 'chips.png', unique = false, useable = true, shouldClose = true, description = 'Crunchy potato crisps' },
sugar = { name = 'sugar', label = 'Sugar', weight = 100, type = 'item', image = 'sugar.png', unique = false, useable = true, shouldClose = false, description = 'Granulated white sugar' },
orange = { name = 'orange', label = 'Orange', weight = 200, type = 'item', image = 'orange.png', unique = false, useable = false, shouldClose = false, description = 'A fresh, juicy orange' },
milk = { name = 'milk', label = 'Milk', weight = 300, type = 'item', image = 'burger-milk.png', unique = false, useable = true, shouldClose = true, description = 'Carton of milk' },
chickenbreast = { name = 'chickenbreast', label = 'Chicken Breast', weight = 100, type = 'item', image = 'chickenbreast.png', unique = false, useable = true, shouldClose = false, description = 'Raw chicken breast fillet' },
sprunk = { name = 'sprunk', label = 'Sprunk', weight = 100, type = 'item', image = 'sprunk.png', unique = false, useable = true, shouldClose = true, description = 'Can of Sprunk soda' },
sprunklight = { name = 'sprunklight', label = 'Sprunk Light', weight = 100, type = 'item', image = 'sprunklight.png', unique = false, useable = true, shouldClose = true, description = 'Diet version of Sprunk' },
ecola = { name = 'ecola', label = 'eCola', weight = 100, type = 'item', image = 'ecola.png', unique = false, useable = true, shouldClose = true, description = 'Can of eCola soda' },
ecolalight = { name = 'ecolalight', label = 'eCola Light', weight = 100, type = 'item', image = 'ecolalight.png', unique = false, useable = true, shouldClose = true, description = 'Diet eCola soda' },
Last updated