📄Installation Guide
Do not skim the instructions. You need to follow every step of the Install Guide to make sure you're installing the script correctly
Dependencies
1. Add the script to your server resources
We highly recommend putting jim-catcafe in a new folder called [jim]
NOTE: IF YOU ALREADY HAVE A [jim] FOLDER PUT IT IN THAT FOLDER YOU DO NOT NEED TO CREATE A NEW ONE.
Then add ensure [jim] after your other scripts have started in your server.cfg
2. Items
Add the images from the images folder in to your
INVENTORY > HTML > IMAGES
The following code block goes into 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"] = "", ['hunger'] = math.random(40, 50) },
["pmochi"] = {["name"] = "pmochi", ["label"] = "Pink Mochi", ["weight"] = 100, ["type"] = "item", ["image"] = "mochipink.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(40, 50) },
["gmochi"] = {["name"] = "gmochi", ["label"] = "Green Mochi", ["weight"] = 100, ["type"] = "item", ["image"] = "mochigreen.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(40, 50) },
["omochi"] = {["name"] = "omochi", ["label"] = "Orange Mochi", ["weight"] = 100, ["type"] = "item", ["image"] = "mochiorange.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(40, 50) },
--Drinks
["bobatea"] = {["name"] = "bobatea", ["label"] = "Boba Tea", ["weight"] = 100, ["type"] = "item", ["image"] = "bubbletea.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['thirst'] = math.random(40, 50) },
["bbobatea"] = {["name"] = "bbobatea", ["label"] = "Blue Boba Tea", ["weight"] = 100, ["type"] = "item", ["image"] = "bubbleteablue.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['thirst'] = math.random(40, 50) },
["gbobatea"] = {["name"] = "gbobatea", ["label"] = "Green Boba Tea", ["weight"] = 100, ["type"] = "item", ["image"] = "bubbleteagreen.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['thirst'] = math.random(40, 50) },
["pbobatea"] = {["name"] = "pbobatea", ["label"] = "Pink Boba Tea", ["weight"] = 100, ["type"] = "item", ["image"] = "bubbleteapink.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['thirst'] = math.random(40, 50) },
["obobatea"] = {["name"] = "obobatea", ["label"] = "Orange Boba Tea", ["weight"] = 100, ["type"] = "item", ["image"] = "bubbleteaorange.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['thirst'] = math.random(40, 50) },
["nekolatte"] = {["name"] = "nekolatte", ["label"] = "Neko Latte", ["weight"] = 100, ["type"] = "item", ["image"] = "latte.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['thirst'] = math.random(20, 30) },
["catcoffee"] = {["name"] = "catcoffee", ["label"] = "Cat Coffee", ["weight"] = 100, ["type"] = "item", ["image"] = "catcoffee.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['thirst'] = math.random(20, 30) },
["sake"] = {["name"] = "sake", ["label"] = "Sake", ["weight"] = 100, ["type"] = "item", ["image"] = "sake.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['thirst'] = math.random(40, 50) },
["miso"] = {["name"] = "miso", ["label"] = "Miso Soup", ["weight"] = 100, ["type"] = "item", ["image"] = "miso.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(40, 50) },
["cake"] = {["name"] = "cake", ["label"] = "Strawberry Cake", ["weight"] = 100, ["type"] = "item", ["image"] = "cake.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(40, 50) },
["bento"] = {["name"] = "bento", ["label"] = "Bento Box", ["weight"] = 500, ["type"] = "item", ["image"] = "bento.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(40, 50) },
["riceball"] = {["name"] = "riceball", ["label"] = "Neko Onigiri", ["weight"] = 100, ["type"] = "item", ["image"] = "catrice.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(40, 50) },
["nekocookie"] = {["name"] = "nekocookie", ["label"] = "Neko Cookie", ["weight"] = 100, ["type"] = "item", ["image"] = "catcookie.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(40, 50) },
["nekodonut"] = {["name"] = "nekodonut", ["label"] = "Neko Donut", ["weight"] = 100, ["type"] = "item", ["image"] = "catdonut.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(40, 50) },
--Ingredients
["boba"] = {["name"] = "boba", ["label"] = "Boba", ["weight"] = 100, ["type"] = "item", ["image"] = "boba.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(40, 50) },
["flour"] = {["name"] = "flour", ["label"] = "Flour", ["weight"] = 100, ["type"] = "item", ["image"] = "flour.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(40, 50) },
["rice"] = {["name"] = "rice", ["label"] = "Bowl of Rice", ["weight"] = 100, ["type"] = "item", ["image"] = "rice.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(40, 50) },
["sugar"] = {["name"] = "sugar", ["label"] = "Sugar", ["weight"] = 100, ["type"] = "item", ["image"] = "sugar.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(40, 50) },
["nori"] = {["name"] = "nori", ["label"] = "Nori", ["weight"] = 100, ["type"] = "item", ["image"] = "nori.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "" },
["blueberry"] = {["name"] = "blueberry", ["label"] = "Blueberry", ["weight"] = 100, ["type"] = "item", ["image"] = "blueberry.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(40, 50) },
["strawberry"] = {["name"] = "strawberry", ["label"] = "Strawberry", ["weight"] = 100, ["type"] = "item", ["image"] = "strawberry.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(40, 50) },
["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"] = "" },
["tofu"] = {["name"] = "tofu", ["label"] = "Tofu", ["weight"] = 100, ["type"] = "item", ["image"] = "tofu.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(40, 50) },
["mocha"] = {["name"] = "mocha", ["label"] = "Mocha Meow", ["weight"] = 100, ["type"] = "item", ["image"] = "mochameow.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['thirst'] = math.random(40, 50) },
["cakepop"] = {["name"] = "cakepop", ["label"] = "Cat Cake-Pop", ["weight"] = 100, ["type"] = "item", ["image"] = "cakepop.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(40, 50) },
["pancake"] = {["name"] = "pancake", ["label"] = "PawCake", ["weight"] = 100, ["type"] = "item", ["image"] = "pawcakes.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(40, 50) },
["pizza"] = {["name"] = "pizza", ["label"] = "Kitty Pizza", ["weight"] = 100, ["type"] = "item", ["image"] = "catpizza.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(40, 50) },
["purrito"] = {["name"] = "purrito", ["label"] = "Purrito", ["weight"] = 100, ["type"] = "item", ["image"] = "purrito.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(40, 50) },
["noodlebowl"] = {["name"] = "noodlebowl", ["label"] = "Bowl of Noodles", ["weight"] = 100, ["type"] = "item", ["image"] = "noodlebowl.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(40, 50) },
["noodles"] = {["name"] = "noodles", ["label"] = "Instant Noodles", ["weight"] = 100, ["type"] = "item", ["image"] = "noodles.png", ["unique"] = false, ["useable"] = false, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "" },
["ramen"] = {["name"] = "ramen", ["label"] = "Bowl of Ramen", ["weight"] = 100, ["type"] = "item", ["image"] = "ramen.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "", ['hunger'] = math.random(40, 50) },
["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(35, 54) },
["onion"] = {["name"] = "onion", ["label"] = "Onion", ["weight"] = 500, ["type"] = "item", ["image"] = "burger-onion.png", ["unique"] = false, ["useable"] = false, ["shouldClose"] = false, ["combinable"] = nil, ["description"] = "An onion"},
2. Job
The following code block goes into 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 },
},
},
If using QB-Management:
Update to the latest GitHub version
Make sure the job "treybakery" has been added to your database
The menu's targets should be accessible to bosses from the clock-in spot
3. Emotes
The following code block goes into your
If using DP-Emotes by DullPear
DPEMOTES > CLIENT > ANIMATIONLIST.LUA in DP.PropEmotes
If using RP-Emotes by TayMcKenzie
RPEMOTES > CLIENT > AnimationListCustom.lua
If using Jim-Consumables - By Jim
JIM-CONSUMABLES > CONFIG.lua under Emotes
--Jim-CatCafe
["uwu1"] = {"amb@world_human_drinking@coffee@male@idle_a", "idle_c", "", AnimationOptions =
{ Prop = 'uwu_sml_drink', PropBone = 28422, PropPlacement = {0.0, 0.0, 0.0, 0.0, 0.0, 130.0},
EmoteLoop = true, EmoteMoving = true, }},
["uwu2"] = {"amb@world_human_drinking@coffee@male@idle_a", "idle_c", "", AnimationOptions =
{ Prop = 'uwu_lrg_drink', PropBone = 28422, PropPlacement = {0.03, 0.0, -0.08, 0.0, 0.0, 130.0},
EmoteLoop = true, EmoteMoving = true, }},
["uwu3"] = {"amb@world_human_drinking@coffee@male@idle_a", "idle_c", "", AnimationOptions =
{ Prop = 'uwu_cup_straw', PropBone = 28422, PropPlacement = {0.0, 0.0, 0.0, 0.0, 0.0, 130.0},
EmoteLoop = true, EmoteMoving = true, }},
["uwu4"] = {"amb@world_human_drinking@coffee@male@idle_a", "idle_c", "", AnimationOptions =
{ Prop = 'uwu_mug', PropBone = 28422, PropPlacement = {0.0, 0.0, 0.0, 0.0, 0.0, 130.0},
EmoteLoop = true, EmoteMoving = true, }},
["uwu5"] = {"mp_player_inteat@burger", "mp_player_int_eat_burger", "", AnimationOptions =
{ Prop = 'uwu_pastry', PropBone = 18905, PropPlacement = {0.16, 0.06, -0.03, -50.0, 16.0, 60.0},
EmoteMoving = true, }},
["uwu6"] = {"mp_player_inteat@burger", "mp_player_int_eat_burger", "", AnimationOptions =
{ Prop = 'uwu_cookie', PropBone = 18905, PropPlacement = {0.16, 0.08, -0.01, -225.0, 20.0, 60.0},
EmoteMoving = true, }},
["uwu7"] = {"mp_player_inteat@burger", "mp_player_int_eat_burger", "", AnimationOptions =
{ Prop = 'uwu_sushi', PropBone = 18905, PropPlacement = {0.18, 0.03, 0.02, -50.0, 16.0, 60.0},
EmoteMoving = true, }},
["uwu8"] = {"amb@world_human_seat_wall_eating@male@both_hands@idle_a", "idle_c", "", AnimationOptions =
{ Prop = 'uwu_eggroll', PropBone = 60309, PropPlacement = {0.10, 0.03, 0.08, -95.0, 60.0, 0.0},
EmoteMoving = true, }},
["uwu9"] = {"anim@scripted@island@special_peds@pavel@hs4_pavel_ig5_caviar_p1", "base_idle", "", AnimationOptions =
{ Prop = "uwu_salad_bowl", PropBone = 60309, PropPlacement = {0.0, 0.0300, 0.0100, 0.0, 0.0, 0.0},
SecondProp = 'uwu_salad_spoon', SecondPropBone = 28422, SecondPropPlacement = {0.0, 0.0 ,0.0, 0.0, 0.0, 0.0},
EmoteLoop = true, EmoteMoving = true, }},
["uwu10"] = {"mp_player_inteat@burger", "mp_player_int_eat_burger", "", AnimationOptions =
{ Prop = 'uwu_sandy', PropBone = 18905, PropPlacement = {0.16, 0.08, 0.05, -225.0, 20.0, 60.0},
EmoteMoving = true, }},
["uwu11"] = {"amb@world_human_drinking@coffee@male@idle_a", "idle_c", "", AnimationOptions =
{ Prop = 'uwu_cupcake', PropBone = 28422, PropPlacement = {0.0, 0.0, -0.03, 0.0, 0.0, 130.0},
EmoteLoop = true, EmoteMoving = true, }},
["uwu12"] = {"amb@world_human_drinking@coffee@male@idle_a", "idle_c", "", AnimationOptions =
{ Prop = 'uwu_btea', PropBone = 28422, PropPlacement = {0.02, 0.0, -0.05, 0.0, 0.0, 130.0},
EmoteLoop = true, EmoteMoving = true, }},
["uwu13"] = {"mp_player_inteat@burger", "mp_player_int_eat_burger", "", AnimationOptions =
{ Prop = 'uwu_gdasik', PropBone = 18905, PropPlacement = {0.16, 0.08, 0.02, -225.0, 20.0, 60.0},
EmoteMoving = true, }},
4. Jim-Consumables
This is Optional - Jim-Consumables is a lightweight resource designed to create your consumables on the fly when you're adjusting buffs and or how much hunger or thirst the item fills.
The following code block goes into your Config under Consumables. Some of these items are already in there by default
--Jim-CatCafe-Alcohol
["sake"] = { emote = "uwu7", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "alcohol", stats = { thirst = math.random(10,20), canOD = true }},
--Jim-CatCafe-Drinks
["bobatea"] = { emote = "uwu12", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "drink", stats = { thirst = math.random(40, 50), }},
["bbobatea"] = { emote = "uwu12", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "drink", stats = { thirst = math.random(40, 50), }},
["gbobatea"] = { emote = "uwu12", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "drink", stats = { thirst = math.random(40, 50), }},
["obobatea"] = { emote = "uwu12", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "drink", stats = { thirst = math.random(40, 50), }},
["pbobatea"] = { emote = "uwu12", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "drink", stats = { thirst = math.random(40, 50), }},
["nekolatte"] = { emote = "uwu2", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "drink", stats = { thirst = math.random(20, 30), }},
["mocha"] = { emote = "uwu1", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "drink", stats = { thirst = math.random(40, 50), }},
["catcoffee"] = { emote = "uwu4", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "drink", stats = { thirst = math.random(20, 30), }},
--Jim-CatCafe-Food
["bento"] = { emote = "uwu7", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "food", stats = { hunger = math.random(40, 50), }},
["blueberry"] = { emote = "sandwich", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "food", stats = { hunger = math.random(10, 20), }},
["cake"] = { emote = "sandwich", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "food", stats = { hunger = math.random(40, 50), }},
["nekocookie"] = { emote = "uwu6", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "food", stats = { hunger = math.random(40, 50), }},
["nekodonut"] = { emote = "uwu5", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "food", stats = { hunger = math.random(40, 50), }},
["riceball"] = { emote = "sandwich", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "food", stats = { hunger = math.random(40, 50), }},
["miso"] = { emote = "uwu9", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "food", stats = { hunger = math.random(40, 50), }},
["bmochi"] = { emote = "uwu13", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "food", stats = { hunger = math.random(40, 50), }},
["pmochi"] = { emote = "uwu13", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "food", stats = { hunger = math.random(40, 50), }},
["gmochi"] = { emote = "uwu13", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "food", stats = { hunger = math.random(40, 50), }},
["omochi"] = { emote = "uwu13", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "food", stats = { hunger = math.random(40, 50), }},
["strawberry"] = { emote = "sandwich", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "food", stats = { hunger = math.random(10, 20), }},
["rice"] = { emote = "sandwich", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "food", stats = { hunger = math.random(10, 20), }},
["cakepop"] = { emote = "sandwich", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "food", stats = { hunger = math.random(40, 50), }},
["pizza"] = { emote = "sandwich", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "food", stats = { hunger = math.random(40, 50), }},
["pancake"] = { emote = "sandwich", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "food", stats = { hunger = math.random(40, 50), }},
["purrito"] = { emote = "uwu8", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "food", stats = { hunger = math.random(40, 50), }},
["noodlebowl"] = { emote = "uwu9", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "food", stats = { hunger = math.random(40, 50), }},
["ramen"] = { emote = "uwu9", canRun = false, time = math.random(5000, 6000), stress = math.random(2, 4), heal = 0, armor = 0, type = "food", stats = { hunger = math.random(10, 20), }},
Last updated