[PAID] [QB] Pizza Shop Job

Preview Video

Purchase Link


PLEASE NOTE PREVIEW IS FOR GABZ-PIZZERIA, IF YOU WISH TO USE THIS LOCATION YOU WILL NEED TO PURCHASE THE ASSET FROM GABZ


Features

  • Highly Configurable Script, Support For Any Mlo Or Building As You Can Move All Of The Locations To Suit Your Needs.

  • Secure Server Events With Duty And Item Checks To Prevent Abuse And Exploits

  • Till System To Sell Food & Drink To Players [billing.lua to edit]


Supported Scripts

Notifications

  • qb-core Notify
  • okokNotify
  • mythic_notify
  • boii_ui notify

Menus

  • qb-menu
  • jixel-menu
  • boii_ui menu
  • ox_lib context menu

Targets

  • qb-target
  • ox_target

Recipes

  • Make 9 Different Types Of Pizza That You Can Create Slices From.
Pepperoni Pizza
Ham And Pineapple Pizza
Chicken And Bacon Pizza
Meat Feast Pizza
Bbq Chicken Pizza
Spicy Sausage Pizza
Super Spicy Meat Feast Pizza
Greek Style Pizza
Vegetable Pizza
  • 16 Ingredients To Make Pizza And 3 Different Types Of Sauces
Pepperoni
Chicken
Sausage
Bacon
Beef
Ham

Mushroom
Olives
Tomatoes
Jalapenos
Chilli Peppers
Onion
Pineapple
Basil

Bbq Sauce
Tomato Sauce
Chilli Sauce
  • 18 Different Types Of Drinks To Create
White Wine
Red Wine
Gin
Whiskey
Vodka
Champagne
Beer
Cider
Lager
Ale
Stout

Coffee
Tea
Hot Chocolate

Kurkakola
Ecola
Orange Soda
Sprunk

Dependencies

QB-Core
QB-Target
QB-Menu
QB-Input
Progressbar
QB-Smallresources - FOR CONSUMABLES

QB-PHONE - FOR BILLING [EDIT BILLING.LUA TO ADD OWN PHONE AND EXPORTS]

OX_LIB

-- billing.lua is non-escrowed to add your own billing and phone exports to.
-- menus.lua is non-escrowed to add your own menu exports to.
-- targets.lua is non-escrowed to add your own target exports to.

Check Out My Other Scripts Below

Job Scripts


Activities Scripts


Script Bundles


Script Update
Version 1.4.0

+Complete refactor of code for easier configuration and editing with new config layout

+New files inside SHARED folder for configuration: config.lua, menus.lua, targets.lua, billing.lua

+Support added for ox_target and ox_lib context menu

+Support added for okokNotify, mythic_notify and boii_ui notify

+Improved animations for various tasks

+Improved code to aid in performance



VERSION 1.4.0 PREVIEW
--Debug Options
Config.DebugPoly = false -- enables red boxes to show polyzone locations

--Knife Break Event
Config.BreakChance = true -- do you want the knife to break sometimes?
Config.CutChance = 10 -- if Config.BreakChance = true what % of chance do you have to get cut from the knife breaking? 
Config.HealthToBeRemovedFromCut = 2 -- amount of health the player loses if Config.BreakChance = true and the knife breaks


--Blip Settings
Config.Blips = {
    {title = 'Pizza Shop', colour = 5, id = 267, coords = vector3(804.13, -743.85, 26.78), scale = 0.8, useblip = true}, -- BLIP FOR VANILLA UNICORN
}

Config.CoreSettings = {
    Job = {
        Name = 'pizza', -- name of job in core/shared/jobs.lua
    },
    EventNames = {
        BossMenu = 'qb-bossmenu:client:OpenMenu', -- NAME OF BOSS MENU EVENT TO OPEN MANAGEMENT MENU
        Clothing = 'qb-clothing:client:openOutfitMenu', -- NAME OF BOSS MENU EVENT TO OPEN MANAGEMENT MENU
    },
    Target = {
        Type = 'qb', -- target script name support for qb-target and ox_target 
        --EDIT TARGETS.LUA TO ADD YOUR OWN CUSTOM TARGET SCRIPT        
        --use 'qb' for qb-target
        --use 'ox' for ox_target
        --use 'custom' for custom target 
    },
    Notify = {
        Type = 'qb', -- notification type, support for qb-core notify, okokNotify and boii_ui notify
        --use 'qb' for default qb-core notify
        --use 'okok' for okokNotify
        --use 'mythic' for mythic_notify
        --use 'boii' for boii_ui notify
        Sound = true, -- use sound for OKOK notifications ONLY
        Length = {
            Success = 5000,
            Error = 5000,
        },
    },    
    Menu = {
        Type = 'qb', -- menu script name, support for qb-menu, jixel-menu, boii_ui menu and ox_lib context menu
        --EDIT MENUS.LUA TO ADD YOUR OWN CUSTOM MENU SCRIPT 
        --use 'qb' for qb-menu
        --use 'jixel' for jixel-menu
        --use 'boii' for boii_ui-menu
        --use 'ox' for ox_lib context menu
        --use 'custom' for your own custom menu
    },
    Shop = {
        Type = 'qb', -- support for qb shops and jim shops
        --use 'qb' for qb-shops 
        --use 'jim' for jim-shop
    },
    ProgressBar = {
        Times = {
            PrepareToppings = 5000, -- time it takes to prepare toppings
            PrepareDoughMix = 5000,  -- time it takes to prepare dough
            PrepareDough = 5000,  -- time it takes to prepare dough
            PrepareBase = 5000, -- time it takes to prepare pizza base
            CookPizza = 10000, -- time it takes to cook pizza
            CookFries = 5000, -- time it takes to cook pizza
            FillWaterJug = 5000, -- time it takes to fill water jug
            PourDrinks = 5000, -- time it takes to pour drinks
            WashHands = 5000, -- time in MS to wash hands
            StressReliefFromWashingHands = math.random(1,5), -- stress relief from washing hands
        },
    },
}

Config.InteractionLocations = {
    JobAreas = {
        Duty = {
            Location = {
                Location = vector3(811.43, -749.82, 26.29),
                Width = 1.6,
                Height = 0.4,
                Heading = 0.0,
                MinZ = 26,
                MaxZ = 27.2,
                Icon = 'fa-solid fa-clipboard',
                Label = 'Toggle Duty',
                Size = vec3(1.6,0.4,1), -- only used for ox_target
            },
        },
        BossMenu = {
            Location = {
                Location = vector3(797.0, -751.45, 32.09),
                Width = 0.6,
                Height = 0.6,
                Heading = 0.0,
                MinZ = 31,
                MaxZ = 32,
                Icon = 'fa-solid fa-users',
                Label = 'Open Management Menu',
                Size = vec3(0.6,0.6,1), -- only used for ox_target
            },
        },
        ClothingLockers = {
            Location = {
                Location = vector3(810.47, -758.63, 31.5),
                Width = 1.0,
                Height = 5.0,
                Heading = 120,
                MinZ = 31,
                MaxZ = 33,
                Icon = 'fa-solid fa-shirt',
                Label = 'Change Clothing',
                Size = vec3(1.0,5.0,2), -- only used for ox_target
            },
        },
        Payment = {
            Location = {
                Location = vector3(811.22, -751.95, 26.51),
                Width = 0.4,
                Height = 0.4,
                Heading = 94.66,
                MinZ = 26.5,
                MaxZ = 27,
                Icon = 'fa-solid fa-money-bill',
                Label = 'Charge Customer',
                Size = vec3(0.4,0.4,0.5), -- only used for ox_target
            },
            CashSymbol = '£',
        },
    },
    Preparation = {
        WashHands = {
            Station1 = {
                Location = {
                    Location = vector3(809.39, -760.09, 26.78),
                    Width = 0.5,
                    Height = 0.5,
                    Heading = 275,
                    MinZ = 26.5,
                    MaxZ = 27,
                    Icon = 'fa-solid fa-hands',
                    Label = 'Wash Hands',
                    Size = vec3(0.5,0.5,0.5), -- only used for ox_target
                },
            },
            Station2 = {
                Location = {
                    Location = vector3(813.42, -755.5, 27.58),
                    Width = 0.5,
                    Height = 0.5,
                    Heading = 180,
                    MinZ = 26.5,
                    MaxZ = 27,
                    Icon = 'fa-solid fa-hands',
                    Label = 'Wash Hands',
                    Size = vec3(0.5,0.5,0.5), -- only used for ox_target
                },
            },
            Station3 = {
                Location = {
                    Location = vector3(813.62, -758.34, 26.64),
                    Width = 0.5,
                    Height = 0.5,
                    Heading = 180,
                    MinZ = 26.5,
                    MaxZ = 27,
                    Icon = 'fa-solid fa-hands',
                    Label = 'Wash Hands',
                    Size = vec3(0.5,0.5,0.5), -- only used for ox_target
                },
            },
        },
        Meat = {
            Location = {
                Location = vector3(809.22, -761.41, 27.47),
                Width = 0.9,
                Height = 0.5,
                Heading = 93,
                MinZ = 26.5,
                MaxZ = 27,
                Icon = 'fa-solid fa-hand-point-up',
                Label = 'Prepare Fresh Meat',
                Size = vec3(0.9,0.5,0.5), -- only used for ox_target
            },
        },
        Dough = {
            Location = {
                Location = vector3(807.76, -756.95, 27.51),
                Width = 0.5,
                Height = 0.9,
                Heading = 0.0,
                MinZ = 26.5,
                MaxZ = 27,
                Icon = 'fa-solid fa-hand-point-up',
                Label = 'Prepare Dough',
                Size = vec3(0.5,0.9,0.5), -- only used for ox_target
            },
        },
        Base = {
            Location = {
                Location = vector3(806.22, -757.41, 28.28),
                Width = 0.6,
                Height = 0.6,
                Heading = 0.0,
                MinZ = 26.18,
                MaxZ = 27.38,
                Icon = 'fa-solid fa-hand-point-up',
                Label = 'Prepare Pizza Base',
                Size = vec3(0.6,0.6,0.5), -- only used for ox_target
            },
        },
        Toppings = {
            Location = {
                Location = vector3(810.35, -765, 27.39),
                Width = 0.6,
                Height = 0.6,
                Heading = 0.0,
                MinZ = 26.58,
                MaxZ = 27,
                Icon = 'fa-solid fa-hand-point-up',
                Label = 'Prepare Fresh Toppings',
                Size = vec3(0.6,0.6,0.5), -- only used for ox_target
            },
        },
        Fries = {
            Location = {
                Location = vector3(807.95, -761.17, 26.74),
                Width = 1.2,
                Height = 0.9,
                Heading = 0.0,
                MinZ = 26.58,
                MaxZ = 27,
                Icon = 'fa-solid fa-hand-point-up',
                Label = 'Cook Fresh Fries',
                Size = vec3(0.6,0.6,0.5), -- only used for ox_target
            },
        },
        Drinks = {
            Water = {
                Location = {
                    Location = vector3(809.45, -765.02, 26.71),
                    Width = 0.5,
                    Height = 0.7,
                    Heading = 180,
                    MinZ = 26.5,
                    MaxZ = 27,
                    Icon = 'fa-solid fa-hand-point-up',
                    Label = 'Collect Fresh Water',
                    Size = vec3(0.5,0.7,0.5), -- only used for ox_target
                },
            },
            Beers = {
                Location = {
                    Location = vector3(814.14, -749.35, 26.78),
                    Width = 0.6,
                    Height = 0.9,
                    Heading = 180,
                    MinZ = 26.78,
                    MaxZ = 27.48,
                    Icon = 'fa-solid fa-hand-point-up',
                    Label = 'Pour Draught Beers',
                    Size = vec3(0.6,0.9,0.7), -- only used for ox_target
                },
            },
            Spirits = {
                Location = {
                    Location = vector3(813.93, -750.22, 27.78),
                    Width = 0.6,
                    Height = 0.7,
                    Heading = 180,
                    MinZ = 26.78,
                    MaxZ = 27.48,
                    Icon = 'fa-solid fa-hand-point-up',
                    Label = 'Pour Spirits',
                    Size = vec3(0.6,0.7,0.7), -- only used for ox_target
                },
            },
            HotDrinks = {
                Location = {
                    Location = vector3(811.21, -764.27, 26.78),
                    Width = 0.6,
                    Height = 0.6,
                    Heading = 0,
                    MinZ = 26.78,
                    MaxZ = 27.48,
                    Icon = 'fa-solid fa-hand-point-up',
                    Label = 'Pour Hot Drinks',
                    Size = vec3(0.6,0.6,0.7), -- only used for ox_target
                },
            },
            FizzyDrinks = {
                Location = {
                    Location = vector3(811.29, -765.26, 26.7),
                    Width = 0.6,
                    Height = 0.6,
                    Heading = 0,
                    MinZ = 26.78,
                    MaxZ = 27.48,
                    Icon = 'fa-solid fa-hand-point-up',
                    Label = 'Pour Fizzy Drinks',
                    Size = vec3(0.6,0.6,0.7), -- only used for ox_target
                },
            },
        },
        Oven = {
            Location = {
                Location = vector3(814.05, -752.89, 26.78),
                Width = 1.2,
                Height = 2.1,
                Heading = 0.0,
                MinZ = 26.18,
                MaxZ = 27.38,
                Icon = 'fa-solid fa-hand-point-up',
                Label = 'Cook Fresh Pizza',
                Size = vec3(1.2,2.1,0.5), -- only used for ox_target
            },
        },
    },
    Storage = {
        BeerFridge = {
            Location = {
                Location = vector3(814.09, -749.07, 26.78) ,
                Width = 0.6,
                Height = 2.5,
                Heading = 0.0,
                MinZ = 25.98,
                MaxZ = 26.83,
                Icon = 'fa-solid fa-box',
                Label = 'Open Drinks Fridge',
                Size = vec3(0.6,2.5,1), -- only used for ox_target
                StashSlots = 64,
                StashSize = 100000000,
            },
        },
        Toppings = {
            Location = {
                Location = vector3(811.94, -755.57, 26.78),
                Width = 1.6,
                Height = 0.6,
                Heading = 0.0,
                MinZ = 26.58,
                MaxZ = 27.68,
                Icon = 'fa-solid fa-box',
                Label = 'Open Toppings Storage',
                Size = vec3(1.6,0.6,1), -- only used for ox_target
                StashSlots = 64,
                StashSize = 100000000,
            },
        },
        Ingredients = {
            Location = {
                Location = vector3(806.2, -764.92, 26.78),
                Width = 0.6,
                Height = 1.5,
                Heading = 0.0,
                MinZ = 26,
                MaxZ = 27.5,
                Icon = 'fa-solid fa-box',
                Label = 'Open Ingredients Storage',
                Size = vec3(0.6,1.5,1), -- only used for ox_target
                StashSlots = 64,
                StashSize = 100000000,
            },
            Store = {
                Location = {
                    Location = vector3(806.3, -761.74, 26.78),
                    Width = 2.0,
                    Height = 1.0,
                    Heading = 90.0,
                    MinZ = 26,
                    MaxZ = 28.2,
                    Icon = 'fa-solid fa-box',
                    Label = 'Open Ingredients Fridge',
                    Size = vec3(2.0,1.0,2.2), -- only used for ox_target
                },
                Items = {
                    label = "Fresh Ingredients", 
                    slots = 15,
                    items = {
                        [1] = {name = "mushroom", price = 0, amount = 100000, info = {}, type = "item", slot = 1,},
                        [2] = {name = "olives", price = 0, amount = 100000, info = {}, type = "item", slot = 2,},
                        [3] = {name = "tomatoes", price = 0, amount = 100000, info = {}, type = "item", slot = 3,},
                        [4] = {name = "jalapenos", price = 0, amount = 100000, info = {}, type = "item", slot = 4,},
                        [5] = {name = "chillipeppers", price = 0, amount = 100000, info = {}, type = "item", slot = 5,},
                        [6] = {name = "onion", price = 0, amount = 100000, info = {}, type = "item", slot = 6,},
                        [7] = {name = "pineapple", price = 0, amount = 100000, info = {}, type = "item", slot = 7,},
                        [8] = {name = "potatoes", price = 0, amount = 100000, info = {}, type = "item", slot = 8,},
                        [9] = {name = "mozarellacheese", price = 0, amount = 100000, info = {}, type = "item", slot = 9,},
                        [10] = {name = "fetacheese", price = 0, amount = 100000, info = {}, type = "item", slot = 10,},
                        [11] = {name = "basil", price = 0, amount = 100000, info = {}, type = "item", slot = 11,},
                        [12] = {name = "bbqsauce", price = 0, amount = 100000, info = {}, type = "item", slot = 12,},
                        [13] = {name = "tomatosauce", price = 0, amount = 100000, info = {}, type = "item", slot = 13,},
                        [14] = {name = "chillisauce", price = 0, amount = 100000, info = {}, type = "item", slot = 14,},
                        [15] = {name = "flour", price = 0, amount = 100000, info = {}, type = "item", slot = 15,},
                    },
                },
            },
        },
        MeatFridge = {
            Location = {
                Location = {
                    Location = vector3(803.52, -757.35, 26.78),
                    Width = 1.0,
                    Height = 2.0,
                    Heading = 90.0,
                    MinZ = 26,
                    MaxZ = 27.5,
                    Icon = 'fa-solid fa-box',
                    Label = 'Open Meat Fridge',
                    Size = vec3(1.0,2.0,2.2), -- only used for ox_target
                },
                Items = {
                    label = "Fresh Meats", 
                    slots = 6,
                    items = {
                        [1] = {name = "pepperoni", price = 0, amount = 100000, info = {}, type = "item", slot = 1,},
                        [2] = {name = "chicken", price = 0, amount = 100000, info = {}, type = "item", slot = 2,},
                        [3] = {name = "sausage", price = 0, amount = 100000, info = {}, type = "item", slot = 3,},
                        [4] = {name = "bacon", price = 0, amount = 100000, info = {}, type = "item", slot = 4,},
                        [5] = {name = "beef", price = 0, amount = 100000, info = {}, type = "item", slot = 5,},
                        [6] = {name = "ham", price = 0, amount = 100000, info = {}, type = "item", slot = 6,},
                    },
                },
            },
        },
        PizzaTrays = {
            Tray1 = {
                Location = {
                    Location = vector3(810.87, -753.79, 26.61),
                    Width = 0.6,
                    Height = 0.6,
                    Heading = 0.0,
                    MinZ = 26.78,
                    MaxZ = 27.58,
                    Icon = 'fa-solid fa-box',
                    Label = 'Open Collection Tray 1',
                    Size = vec3(0.6,0.6,0.8), -- only used for ox_target
                    StashSlots = 5,
                    StashSize = 250000,
                },                
            },
            Tray2 = {
                Location = {
                    Location = vector3(810.86, -754.67, 26.61),
                    Width = 0.6,
                    Height = 0.6,
                    Heading = 0.0,
                    MinZ = 26.78,
                    MaxZ = 27.58,
                    Icon = 'fa-solid fa-box',
                    Label = 'Open Collection Tray 2',
                    Size = vec3(0.6,0.6,0.8), -- only used for ox_target
                    StashSlots = 5,
                    StashSize = 250000,
                },                
            },
        },
        Cupboards = {
            Glass = {
                Location = {
                    Location = vector3(813.65, -751.22, 26.78),
                    Width = 0.4,
                    Height = 1.0,
                    Heading = 0.0,
                    MinZ = 26,
                    MaxZ = 28,
                    Icon = 'fa-solid fa-box',
                    Label = 'Open Glass Shelf',
                    Size = vec3(0.4,1.0,2), -- only used for ox_target
                },
                Items = {
                    label = "Glass Shelf",
                    slots = 6,
                    items = {
                        [1] = { name = "pintglass", price = 0, amount = 10000, info = {}, type = "item", slot = 1,},
                        [2] = { name = "tumblerglass", price = 0, amount = 10000, info = {}, type = "item", slot = 2,},
                        [3] = { name = "wineglass", price = 0, amount = 10000, info = {}, type = "item", slot = 3,},
                        [4] = { name = "champagneflute", price = 0, amount = 10000, info = {}, type = "item", slot = 4,},
                        [5] = { name = "cup", price = 0, amount = 10000, info = {}, type = "item", slot = 5,},
                        [6] = { name = "emptywaterjug", price = 0, amount = 10000, info = {}, type = "item", slot = 6,},
                    }
                },                  
            },
            Cup = {
                Location = {
                    Location = vector3(811.48, -764.66, 27.29),
                    Width = 0.5,
                    Height = 1.0,
                    Heading = 0.0,
                    MinZ = 27.5,
                    MaxZ = 28,
                    Icon = 'fa-solid fa-box',
                    Label = 'Open Cup & Mug Cupboard',
                    Size = vec3(0.5,1.0,1.5), -- only used for ox_target
                },   
                Items = {
                    label = "Cup Shelf",
                    slots = 3,
                    items = {
                        [1] = { name = "cup", price = 0, amount = 10000, info = {}, type = "item", slot = 1,},
                        [2] = { name = "emptywaterjug", price = 0, amount = 10000, info = {}, type = "item", slot = 2,},
                        [3] = { name = "pintglass", price = 0, amount = 10000, info = {}, type = "item", slot = 3,},
                    }
                },             
            },
            Knife = {
                Location = {
                    Location = vector3(808.45, -765.01, 26.49),
                    Width = 0.7,
                    Height = 0.5,
                    Heading = 180,
                    MinZ = 26.5,
                    MaxZ = 27,
                    Icon = 'fa-solid fa-box',
                    Label = 'Open Knife Drawer',
                    Size = vec3(0.5,1.0,1.5), -- only used for ox_target
                },
                Items = {
                    label = "Knife Drawer",
                    slots = 1,
                    items = {
                        [1] = { name = "kitchenknife", price = 0, amount = 10000, info = {}, type = "item", slot = 1,},
                    }
                },             
            },
        },
    },
}

Config.Ingredients = {
    --MEATS
    Pepperoni = 1, -- amount of pepperoni reuquired to make sliced pepperoni
    SlicedPepperoni = 5,  -- amount of sliced pepperoni given
    Chicken = 1, -- amount of chicken required to make diced chicken
    DicedChicken = 5,  -- amount of dicked chicken given
    Sausage = 1,  -- amount of sausage required to make diced sausage
    DicedSausage = 5,  -- amount of diced sausage given
    Bacon = 1, -- amount of bacon required to make sliced bacon
    SlicedBacon = 5, -- amount of sliced bacon given
    Beef = 1, -- amount of beef required to make ground beef
    GroundBeef = 5,  -- amount of ground beef given
    Ham = 1, -- amount of ham required to make sliced ham
    SlicedHam = 5,  -- amount of sliced ham given

    --VEGETABLES/FRUITS
    Mushroom = 1, -- amount of mushroom required to make sliced mushroom
    SlicedMushroom = 3, -- amount of sliced mushroom given
    Olives = 1, -- amount of olives required to make sliced olives
    SlicedOlives = 3,  -- amount of sliced olives given
    Tomatoes = 1, -- amount of tomatoes required to make sliced tomatoes
    SlicedTomatoes = 5, -- amount of sliced tomatoes given
    Jalapenos = 1, -- amount of jalapenos required to make diced jalapenos
    DicedJalapenos = 10,  -- amount of diced jalapeons given
    ChilliPepper = 1,  -- amount of chilli pepper required to make diced chilli pepper
    DicedChilliPepper = 5,  -- amount of diced chilli pepper given
    Onion = 1,  -- amount of onion required to make sliced onion
    SlicedOnion = 5,  -- amount of sliced onion given
    Pineapple = 1, -- amount of pineapple required to make pineapple chunks
    PineappleChunks = 10,  -- amount of pineapple chunks given


    FlourRequiredToMakeDoughMix = 1, -- amount of flour required to make dough mix
    WaterRequiredToMakeDoughMix = 1, -- -- amount of water required to make dough mix
    DoughMixAmountReceived = 1, -- amount of dough mix given

    DoughMixRequiredToMakePizzaBase = 1, -- amount of dough mix required to make pizza base
    PizzaBaseAmountReceived = 1, -- amount of pizza base given

    PotatoesRequiredToMakeFries = 1, -- amount required to prepare raw fries
    RawFriesAmountReceieved = 2, -- amount of raw fries given

    RawFriesRequiredToCookFries = 5, -- amount required to cook fries
    CookedFriesAmountReceived = 1, -- amount of cooked given

    AmountOfSlicesToBeGiven = 7, -- amount given when opening pizza box

}

|-------------------------------------|----------------------------|
| Code is accessible | Yes / Files inside SHARED FOLDER |
| Subscription-based | No |
| Lines (approximately) | 1500+ |
| Requirements | qb-core, qb-target, qb-menu, qb-input, progressbar, qb-smalresources |
| Support | Yes / Discord |

1 Like