Installation
Last updated
Last updated
Do not skim the instructions. You need to follow every step of the Install Guide to make sure you're installing the script correctly
This is required for the script to function, it won't work without it
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
GO TO YOUR server.cfg
The ORDER of the load order is important, check information
# 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.
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.
If jim-consumables
is installed, the script will attempt to reroute consumables
The 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 or jim-consuambles
(if found)
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
GO TO YOUR server.cfg
The ORDER of the load order is important, check information here
# QBCore & Extra stuff
ensure qb-core
ensure [qb]
ensure [standalone] # Place `jim_bridge` here
ensure [voice]
ensure [defaultmaps]
# Extra Jim Stuff
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.
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.
If jim-consumables
is installed, the script will attempt to reroute consumables
The 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 or jim-consuambles
(if found)
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
GO TO YOUR server.cfg
The ORDER of the load order is important, check information here
# Qbox & Extra stuff
ensure ox_lib
ensure qbx_core
ensure ox_target
ensure [ox]
ensure [qbx]
ensure [standalone] # Place `jim_bridge` here
ensure [voice]
ensure [npwd-apps]
ensure qbx_npwd
ensure npwd
# Extra Jim Stuff
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.
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.
If jim-consumables
is installed, the script will attempt to reroute consumables
The 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 or jim-consuambles
(if found)
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
GO TO YOUR server.cfg
The ORDER of the load order is important, check information here
start chat
start sessionmanager
start pe-basicloading
start bob74_ipl
start pma-voice
start oxmysql
start ox_lib
start ox_core
start ox_target
start illenium-appearance
start ox_inventory
ensure [standalone] # Place `jim_bridge` here
# Extra Jim Stuff
ensure [jimextras] # Place `jim-payments` / `jim-consumables` / `jim-jobgarage` / `jim-djbooth` here
ensure [jim] # Place all other jim scripts here
# Extra Other Scripts Here
IF YOU ALREADY HAVE A [jim] FOLDER, PUT IT IN THAT FOLDER YOU DO NOT NEED TO CREATE A NEW ONE.
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.
If jim-consumables
is installed, the script will attempt to reroute consumables
The 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 or jim-consuambles
(if found)
Import the esx_jobs.sql
into your database to add the jobs and their grades
INSERT IGNORE INTO `account_roles` (`name`) VALUES
('novice'),
('experienced'),
('advanced'),
('manager'),
('owner');
INSERT IGNORE INTO `ox_groups` ( `name`, `label`, `colour`, `hasAccount`) VALUES
( 'catcafe', 'Cat Cafe', NULL, 1 );
INSERT IGNORE INTO `ox_group_grades` (`group`, `grade`, `label`, `accountRole`) VALUES
('catcafe', 0, 'Recruit', NULL),
('catcafe', 1, 'Novice', 'novice'),
('catcafe', 2, 'Experienced', 'experienced'),
('catcafe', 3, 'Advanced', 'advanced'),
('catcafe', 4, 'Manager', 'manager'),
('catcafe', 5, 'Owner', 'owner');
Add the lines from qb_jobs.txt
to your qb-core > shared > jobs.lua
['catcafe'] = {
label = 'Cat Cafe',
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 },
},
},
Add the lines from qb_jobs.txt
to your qbx_core > shared > jobs.lua
['catcafe'] = {
label = 'Cat Cafe',
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 },
},
},
Import the ox_jobs.sql
into your database to add the jobs and their grades
INSERT INTO `ox_groups` ( `name`, `label`, `grades`, `hasAccount`, `adminGrade`, `colour` ) VALUES
( 'catcafe', 'Cat Cafe', '["Recruit", "Novice", "Experienced", "Advanced", "Manager"]', '0', 1, NULL )
;
These items work for both old and new qb-inventory
Add the images from _install > images
to your inventory folder
eg. qb-inventory > html > images
If using qb-inventory
or similar, add the lines from qb_items.txt
to your qb-core > shared > items.lua
-- JIM-CATCAFE --
bmochi = { name = "bmochi", label = "Blue Mochi", weight = 100, type = "item", image = "mochiblue.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "A soft blue mochi treat" },
pmochi = { name = "pmochi", label = "Pink Mochi", weight = 100, type = "item", image = "mochipink.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "A soft pink mochi treat" },
gmochi = { name = "gmochi", label = "Green Mochi", weight = 100, type = "item", image = "mochigreen.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "A soft green mochi treat" },
omochi = { name = "omochi", label = "Orange Mochi", weight = 100, type = "item", image = "mochiorange.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "A soft orange mochi treat" },
--Drinks
bobatea = { name = "bobatea", label = "Boba Tea", weight = 100, type = "item", image = "bubbletea.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Classic boba tea with chewy tapioca" },
bbobatea = { name = "bbobatea", label = "Blue Boba Tea", weight = 100, type = "item", image = "bubbleteablue.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Boba tea with a blue fruity twist" },
gbobatea = { name = "gbobatea", label = "Green Boba Tea", weight = 100, type = "item", image = "bubbleteagreen.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Green tea flavored boba" },
pbobatea = { name = "pbobatea", label = "Pink Boba Tea", weight = 100, type = "item", image = "bubbleteapink.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Strawberry pink boba tea" },
obobatea = { name = "obobatea", label = "Orange Boba Tea", weight = 100, type = "item", image = "bubbleteaorange.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Citrus-flavored orange boba" },
nekolatte = { name = "nekolatte", label = "Neko Latte", weight = 100, type = "item", image = "latte.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Creamy latte with cat art" },
catcoffee = { name = "catcoffee", label = "Cat Coffee", weight = 100, type = "item", image = "catcoffee.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Coffee served with a smiley cat" },
sake = { name = "sake", label = "Sake", weight = 100, type = "item", image = "sake.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Traditional Japanese rice wine" },
miso = { name = "miso", label = "Miso Soup", weight = 100, type = "item", image = "miso.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Warm bowl of miso soup" },
cake = { name = "cake", label = "Strawberry Cake", weight = 100, type = "item", image = "cake.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Strawberry frosted cake slice" },
bento = { name = "bento", label = "Bento Box", weight = 500, type = "item", image = "bento.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Boxed meal with rice and sides" },
riceball = { name = "riceball", label = "Neko Onigiri", weight = 100, type = "item", image = "catrice.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Rice ball shaped like a cat" },
nekocookie = { name = "nekocookie", label = "Neko Cookie", weight = 100, type = "item", image = "catcookie.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Sweet cookie shaped like a cat" },
nekodonut = { name = "nekodonut", label = "Neko Donut", weight = 100, type = "item", image = "catdonut.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Cat-themed donut" },
--Ingredients
boba = { name = "boba", label = "Boba", weight = 100, type = "item", image = "boba.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Tapioca pearls for bubble tea" },
flour = { name = "flour", label = "Flour", weight = 100, type = "item", image = "flour.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Baking flour" },
rice = { name = "rice", label = "Bowl of Rice", weight = 100, type = "item", image = "rice.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Plain white rice" },
sugar = { name = "sugar", label = "Sugar", weight = 100, type = "item", image = "sugar.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Sweet granulated sugar" },
nori = { name = "nori", label = "Nori", weight = 100, type = "item", image = "nori.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Dried seaweed sheet" },
blueberry = { name = "blueberry", label = "Blueberry", weight = 100, type = "item", image = "blueberry.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "A handful of blueberries" },
strawberry = { name = "strawberry", label = "Strawberry", weight = 100, type = "item", image = "strawberry.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Fresh strawberry" },
orange = { name = "orange", label = "Orange", weight = 200, type = "item", image = "orange.png", unique = false, useable = false, shouldClose = false, combinable = nil, description = "An orange." },
mint = { name = "mint", label = "Matcha", weight = 100, type = "item", image = "matcha.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Finely ground green tea" },
tofu = { name = "tofu", label = "Tofu", weight = 100, type = "item", image = "tofu.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Soft block of tofu" },
mocha = { name = "mocha", label = "Mocha Meow", weight = 100, type = "item", image = "mochameow.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Chocolate coffee delight" },
cakepop = { name = "cakepop", label = "Cat Cake-Pop", weight = 100, type = "item", image = "cakepop.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Small cake on a stick" },
pancake = { name = "pancake", label = "PawCake", weight = 100, type = "item", image = "pawcakes.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Paw-print shaped pancake" },
pizza = { name = "pizza", label = "Kitty Pizza", weight = 100, type = "item", image = "catpizza.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Cheesy pizza with a cute design" },
purrito = { name = "purrito", label = "Purrito", weight = 100, type = "item", image = "purrito.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Burrito with feline charm" },
noodlebowl = { name = "noodlebowl", label = "Bowl of Noodles", weight = 100, type = "item", image = "noodlebowl.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Hot bowl of noodles" },
noodles = { name = "noodles", label = "Instant Noodles", weight = 100, type = "item", image = "noodles.png", unique = false, useable = false, shouldClose = true, combinable = nil, description = "Uncooked packet of noodles" },
ramen = { name = "ramen", label = "Bowl of Ramen", weight = 100, type = "item", image = "ramen.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Savory ramen bowl" },
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" },
onion = { name = "onion", label = "Onion", weight = 500, type = "item", image = "burger-onion.png", unique = false, useable = false, shouldClose = false, combinable = nil, description = "An onion" },
This applies to any framework using ox_inventory
Currently while using ESX
my scripts only support ox_inventory
Copy and paste the images from _install > images
to your inventory folder
eg. ox_inventory > web > images
Add the ox_items.txt
to your ox_inventory > data > items.lua
--JIM-CATCAFE
["bmochi"] = { label = "Blue Mochi", weight = 200, stack = true, close = true, description = "",
client = { image = "mochiblue.png", event = "jim-catcafe:client:Consume", }
},
["pmochi"] = { label = "Pink Mochi", weight = 200, stack = true, close = true, description = "",
client = { image = "mochipink.png", event = "jim-catcafe:client:Consume", }
},
["gmochi"] = { label = "Green Mochi", weight = 200, stack = true, close = true, description = "",
client = { image = "mochigreen.png", event = "jim-catcafe:client:Consume", }
},
["omochi"] = { label = "Orange Mochi", weight = 200, stack = true, close = true, description = "",
client = { image = "mochiorange.png", event = "jim-catcafe:client:Consume", }
},
["bobatea"] = { label = "Boba Teai", weight = 200, stack = true, close = true, description = "",
client = { image = "bubbletea.png", event = "jim-catcafe:client:Consume", }
},
["bbobatea"] = { label = "Blue Boba Tea", weight = 200, stack = true, close = true, description = "",
client = { image = "bubbleteablue.png", event = "jim-catcafe:client:Consume", }
},
["gbobatea"] = { label = "Green Boba Tea", weight = 200, stack = true, close = true, description = "",
client = { image = "bubbleteagreen.png", event = "jim-catcafe:client:Consume", }
},
["pbobatea"] = { label = "Pink Boba Tea", weight = 200, stack = true, close = true, description = "",
client = { image = "bubbleteapink.png", event = "jim-catcafe:client:Consume", }
},
["obobatea"] = { label = "Orange Boba Tea", weight = 200, stack = true, close = true, description = "",
client = { image = "bubbleteaorange.png", event = "jim-catcafe:client:Consume", }
},
["nekolatte"] = { label = "Neko Latte", weight = 200, stack = true, close = true, description = "",
client = { image = "latte.png", event = "jim-catcafe:client:Consume", }
},
["voodoo"] = { label = "Cat Coffee", weight = 200, stack = true, close = true, description = "",
client = { image = "catcoffee.png", event = "jim-catcafe:client:Consume", }
},
["nekolatte"] = { label = "Neko Latte", weight = 200, stack = true, close = true, description = "",
client = { image = "latte.png", event = "jim-catcafe:client:Consume", }
},
["catcoffee"] = { label = "Cat Coffee", weight = 200, stack = true, close = true, description = "",
client = { image = "catcoffee.png", event = "jim-catcafe:client:Consume", }
},
["sake"] = { label = "Sake", weight = 200, stack = true, close = true, description = "",
client = { image = "sake.png", event = "jim-catcafe:client:Consume", }
},
["miso"] = { label = "Miso Soup", weight = 200, stack = true, close = true, description = "",
client = { image = "miso.png", event = "jim-catcafe:client:Consume", }
},
["cake"] = { label = "Strawberry Cake", weight = 200, stack = true, close = true, description = "",
client = { image = "cake.png", event = "jim-catcafe:client:Consume", }
},
["bento"] = { label = "Bento Box", weight = 200, stack = true, close = true, description = "",
client = { image = "bento.png", event = "jim-catcafe:client:Consume", }
},
["riceball"] = { label = "Neko Onigiri", weight = 200, stack = true, close = true, description = "",
client = { image = "catrice.png", event = "jim-catcafe:client:Consume", }
},
["nekocookie"] = { label = "Neko Cookie", weight = 200, stack = true, close = true, description = "",
client = { image = "catcookie.png", event = "jim-catcafe:client:Consume", }
},
["nekodonut"] = { label = "Neko Donut", weight = 200, stack = true, close = true, description = "",
client = { image = "catdonut.png", event = "jim-catcafe:client:Consume", }
},
["boba"] = { label = "Boba", weight = 200, stack = true, close = true, description = "",
client = { image = "boba.png", event = "jim-catcafe:client:Consume", }
},
["flour"] = { label = "Flour", weight = 200, stack = true, close = true, description = "",
client = { image = "flour.png", event = "jim-catcafe:client:Consume", }
},
["rice"] = { label = "Bowl of Rice", weight = 200, stack = true, close = true, description = "",
client = { image = "rice.png", event = "jim-catcafe:client:Consume", }
},
["sugar"] = { label = "Sugar", weight = 200, stack = true, close = true, description = "",
client = { image = "sugar.png", event = "jim-catcafe:client:Consume", }
},
["nori"] = { label = "Nori", weight = 200, stack = true, close = true, description = "",
client = { image = "nori.png", }
},
["blueberry"] = { label = "Blueberry", weight = 200, stack = true, close = true, description = "",
client = { image = "blueberry.png", event = "jim-catcafe:client:Consume", }
},
["strawberry"] = { label = "Strawberry", weight = 200, stack = true, close = true, description = "",
client = { image = "strawberry.png", event = "jim-catcafe:client:Consume", }
},
["orange"] = { label = "Orange", weight = 200, stack = true, close = true, description = "",
client = { image = "orange.png", }
},
["mint"] = { label = "Matcha", weight = 200, stack = true, close = true, description = "",
client = { image = "matcha.png", }
},
["tofu"] = { label = "Tofu", weight = 200, stack = true, close = true, description = "",
client = { image = "tofu.png", event = "jim-catcafe:client:Consume", }
},
["mocha"] = { label = "Mocha Meow", weight = 200, stack = true, close = true, description = "",
client = { image = "mochameow.png", event = "jim-catcafe:client:Consume", }
},
["cakepop"] = { label = "Cat Cake-Pop", weight = 200, stack = true, close = true, description = "",
client = { image = "cakepop.png", event = "jim-catcafe:client:Consume", }
},
["pancake"] = { label = "PawCake", weight = 200, stack = true, close = true, description = "",
client = { image = "pawcakes.png", event = "jim-catcafe:client:Consume", }
},
["pizza"] = { label = "Kitty Pizza", weight = 200, stack = true, close = true, description = "",
client = { image = "catpizza.png", event = "jim-catcafe:client:Consume", }
},
["purrito"] = { label = "Purrito", weight = 200, stack = true, close = true, description = "",
client = { image = "purrito.png", event = "jim-catcafe:client:Consume", }
},
["noodlebowl"] = { label = "Bowl of Noodles", weight = 200, stack = true, close = true, description = "",
client = { image = "noodlebowl.png", event = "jim-catcafe:client:Consume", }
},
["noodles"] = { label = "Instant Noodles", weight = 200, stack = true, close = true, description = "",
client = { image = "noodles.png", }
},
["ramen"] = { label = "owl of Ramen", weight = 200, stack = true, close = true, description = "",
client = { image = "ramen.png", event = "jim-catcafe:client:Consume", }
},
["milk"] = { label = "Milk", weight = 200, stack = true, close = true, description = "",
client = { image = "burger-milk.png", event = "jim-catcafe:client:Consume", }
},
["onion"] = { label = "Onion", weight = 200, stack = true, close = true, description = "",
client = { image = "burger-onion.png", }
},