[PAID][QB] Vanilla Unicorn Job


lusty94_vanillaunicorn


Preview Video


Purchase via Tebex


Features

  • Create Beers, Ciders, Wines, Spirits, Fizz and Cocktails to Sell to Players
  • Support for Any MLO or Building.
  • Easily Move All Locations via the Config File.
  • Vehicle Rental System to Deliver Products to Players.
  • Stash System to Store Drinks.
  • Management System for Employees.
  • Inbuilt consumables system
  • input amounts allows for making multiple items at once

Supported Scripts

Notifications

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

Menus

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

Targets

  • qb-target
  • ox_target

Inventories

  • qb-inventory
  • ox_inventory

Config Preview


Config = {}


--
--β–ˆβ–ˆβ•—β–‘β–‘β–‘β–‘β–‘β–ˆβ–ˆβ•—β–‘β–‘β–‘β–ˆβ–ˆβ•—β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•—β–‘β–‘β–‘β–ˆβ–ˆβ•—β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–‘β–‘β–‘β–ˆβ–ˆβ•—β–ˆβ–ˆβ•—
--β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β•β•β•šβ•β•β–ˆβ–ˆβ•”β•β•β•β•šβ–ˆβ–ˆβ•—β–‘β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–‘β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘
--β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β–‘β–ˆβ–ˆβ•‘
--β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–‘β•šβ•β•β•β–ˆβ–ˆβ•—β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–‘β–‘β•šβ–ˆβ–ˆβ•”β•β–‘β–‘β–‘β•šβ•β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘
--β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ•β•β•β•β–ˆβ–ˆβ•‘
--β•šβ•β•β•β•β•β•β•β–‘β•šβ•β•β•β•β•β•β–‘β•šβ•β•β•β•β•β•β–‘β–‘β–‘β–‘β•šβ•β•β–‘β–‘β–‘β–‘β–‘β–‘β•šβ•β•β–‘β–‘β–‘β–‘β•šβ•β•β•β•β•β–‘β–‘β–‘β–‘β–‘β–‘β•šβ•β•


-- Thank you for downloading this script!

-- Below you can change multiple options to suit your server needs.



Config.DebugPoly = false -- enables red boxes to show polyzone locations
Config.DevMode = false -- cancels duty check for testing - set to false for live server


Config.CoreSettings = {
    Job = {
        Name = 'vanilla', -- NAME OF JOB IN CORE/SHARED/JOBS.LUA 
    },
    EventNames = {
        BossMenu = 'qb-bossmenu:client:OpenMenu', -- NAME OF BOSS MENU EVENT TO OPEN MANAGEMENT MENU
        KeysEvent = 'vehiclekeys:client:SetOwner', -- NAME OF KEYS EVENT
        Stress = 'hud:server:RelieveStress', -- name of stress event
        StressAmount = math.random(10,20), -- amount of stress relief from drinking moonshine
    },
    Target = {
        Type = 'qb', -- taregt script name support for qb-target and ox_target        
        -- EDIT TARGETS.LUA TO ADD YOUR OWN 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, mythic_notify, boii_ui notify and ox_lib notify
        --use 'qb' for default qb-core notify
        --use 'okok' for okokNotify
        --use 'mythic' for mythic_notify
        --use 'boii' for boii_ui notify
        --use 'ox' for ox_lib notify
    },
    Inventory = { -- support for qb-inventory and ox_inventory
        Type = 'qb',
        --use 'qb' for qb-inventory
        --use 'ox' for ox_inventory
    },
    VehicleSettings = {
        Model = 'asbo', -- spawn name of vehicle
        Label = 'Asbo', -- name of vehicle for menus
        SpawnCoords = vector4(137.84, -1276.03, 29.3, 301.0), -- spawn coords of vehicle
    },
    Timers = {
        WashHands = 5000, -- time to wash hands
        PrepareDrinks = 5000, -- time to prepare drinks - this is per item - this is multiplied by the amount the player inputs to process at once
        DrinkAlcohol = 5000, -- time to drink
    },
}



Config.Blips = {
    {title = 'Vanilla Unicorn', colour = 5, id = 121, coords = vector3(133.01, -1308.13, 29.03), scale = 0.7, useblip = true}, -- BLIP FOR VANILLA UNICORN
}

Config.DrinkItems = {
    ["vubeer"] = math.random(25,35), -- amount of thirst to replenish when drinking
    ["vuale"] = math.random(25,35),
    ["vulager"] = math.random(25,35),
    ["vucider"] = math.random(25,35),
    ["vustout"] = math.random(25,35),
    ["glass_whitewine"] = math.random(35,50),
    ["glass_redwine"] = math.random(35,50),
    ["glass_pinkrose"] = math.random(35,50),
    ["glass_prosecco"] = math.random(35,50),
    ["glass_champagne"] = math.random(35,50),
    ["gintonic"] = math.random(35,50),
    ["strawberryvodkalemonade"] = math.random(45,60),
    ["bananadaiquiri"] = math.random(45,60),
    ["summerfruitpunch"] = math.random(45,60),
    ["pineapplemojito"] = math.random(45,60),
    ["bloodymary"] = math.random(45,60),
    ["cosmopolitan"] = math.random(45,60),
    ["pinacolada"] = math.random(45,60),
    ["sexonthebeach"] = math.random(45,60),
    ["longislandicedtea"] = math.random(45,60),
}


Config.InteractionLocations = {
    JobAreas = {
        { Name = "vuDuty",                      Location = vector3(128.54, -1279.3, 29.65),   Width = 0.4,  Height = 0.4,  Heading = 30.0,   MinZ = 29.5,  MaxZ = 30,     Icon = 'fa-solid fa-user-clock',       Label = 'Toggle Duty',                  Job = 'vanilla',      Size = vec3(0.4,0.4,0.5),     Event = 'lusty94_vanillaunicorn:client:ToggleDuty',},
        { Name = "vuBossMenu",                  Location = vector3(95.94, -1292.97, 29.1),    Width = 0.4,  Height = 0.6,  Heading = 300.0,  MinZ = 29.0,  MaxZ = 29.5,   Icon = 'fa-solid fa-user-edit',        Label = 'Open Management Menu',         Job = 'vanilla',      Size = vec3(0.6,0.4,0.5),     Event = Config.CoreSettings.EventNames.BossMenu,},
        { Name = "vuPayment1",                  Location = vector3(129.17, -1284.97, 29.5),   Width = 0.5,  Height = 0.5,  Heading = 120.0,  MinZ = 29.25, MaxZ = 29.5,   Icon = 'fa-solid fa-cash-register',    Label = 'Charge Customer',              Job = 'vanilla',      Size = vec3(0.4,0.4,0.5),     Event = 'lusty94_vanillaunicorn:bill',},
        { Name = "vuIngredientsFridge",         Location = vector3(129.83, -1280.76, 28.75),  Width = 0.6,  Height = 1.5,  Heading = 120.0,  MinZ = 28.0,  MaxZ = 29.0,   Icon = 'fa-solid fa-box-open',         Label = 'Open Ingredients Fridge',      Job = 'vanilla',      Size = vec3(1.4,0.6,1.0),     Event = 'lusty94_vanillaunicorn:client:IngredientsFridge',},
    },
    PreparationAreas = {
        { Name = "vuHandWash",                  Location = vector3(130.30, -1286.20, 29.2),   Width = 0.6,  Height = 0.8,  Heading = 120.0,  MinZ = 29.0,  MaxZ = 29.5,   Icon = 'fa-solid fa-hand-sparkles',           Label = 'Wash Hands',                   Job = 'vanilla',      Size = vec3(0.6,0.8,0.5),     Event = 'lusty94_vanillaunicorn:client:WashHands',},
        { Name = "vuCocktails",                 Location = vector3(128.75, -1284.16, 29.35),  Width = 0.4, Height = 0.75,  Heading = 120.0,  MinZ = 29.25, MaxZ = 29.5,   Icon = 'fa-solid fa-martini-glass-citrus',    Label = 'Pour Cocktails',               Job = 'vanilla',      Size = vec3(0.75,0.4,0.25),   Event = 'lusty94_vanillaunicorn:client:PrepareCocktailsMenu',},
        { Name = "vuBeers",                     Location = vector3(128.2, -1283.0, 29.35),    Width = 0.8,  Height = 0.5,  Heading = 120.0,  MinZ = 29.25, MaxZ = 29.5,   Icon = 'fa-solid fa-beer-mug-empty',          Label = 'Pour Draughts',                Job = 'vanilla',      Size = vec3(0.8,0.4,0.25),    Event = 'lusty94_vanillaunicorn:client:PrepareBeersMenu',},
        { Name = "vuSpirits",                   Location = vector3(129.60, -1279.97, 29.35),  Width = 0.4,  Height = 0.8,  Heading = 300.0,  MinZ = 29.25, MaxZ = 29.5,   Icon = 'fa-solid fa-wine-glass',              Label = 'Pour Wines & Spirits',         Job = 'vanilla',      Size = vec3(0.8,0.4,0.25),    Event = 'lusty94_vanillaunicorn:client:PrepareSpiritsMenu',},
    },
    StorageAreas = {
        { Name = "vuStorageFridge",             Location = vector3(129.68, -1285.59, 28.86),   Width = 0.8, Height = 0.8,  Heading = 120.0,  MinZ = 28.0,  MaxZ = 29.25,  Icon = 'fa-solid fa-box',                     Label = 'Open Storage Fridge',          Job = 'vanilla',      Size = vec3(0.8,0.8,1.25),    Event = 'lusty94_vanillaunicorn:client:StorageFridge',},
        
    },
    Props = {
        {
            Model = 'prop_parkingpay',
            Coords = vector4(135.71, -1277.13, 29.34, 294.88),
            Icon = 'fa-solid fa-car',
            Label = 'Get Work Vehicle',
            Distance = 1.0,
            Event = 'lusty94_vanillaunicorn:client:OpenGarageMenu',

        },
    },
}


Config.Animations = {
    WashingHands = { 
        AnimDict = 'mp_arresting', 
        Anim = 'a_uncuff', 
        Flag = 11, 
    },
    PrepareDrinks = { 
        AnimDict = 'amb@prop_human_parking_meter@female@base', 
        Anim = 'base_female', 
        Flag = 49, 
    },
    DrinkAlcohol = {
        AnimDict = "amb@world_human_drinking@coffee@male@idle_a",
        Anim = "idle_c", 
        Flags = 49,
        Prop = 'prop_whiskey_bottle',
        Bone = 28422,
        Pos = vec3(0.01, -0.01, -0.06),
        Rot = vec3(0.0, 0.0, 0.0),
    },
}


Config.Language = {
    ProgressBar = {
        WashHands = 'Washing hands',
        PrepareDrinks = 'Pouring drink',
        DrinkAlcohol = 'Taking a sip',
    },
    Notifications = {
        Duty = 'You must be clocked on duty to proceed!',
        Busy = 'You are already doing something!',
        Cancelled = 'Action cancelled!',
        Failed = 'Action failed!',
        CantCarry = 'You cant carry anymore!',
        MissingItems = 'You are missing items - check the requirements!',
        NotEnough = 'You dont have enough to do that or you are missing other items!',
        TooMuch = 'You cant process that much at once!',
        InvalidAmount = 'You have entered an invalid amount!',
    },
}


DEPENDENCIES



Check Out My Other Scripts Below

Job Scripts


Activities Scripts


Drug Scripts


Script Bundles

Free Scripts

Code is accessible Yes/All OS
Subscription-based No
Lines (approximately) 2000+
Requirements qb-core, qb-target, qb-menu, qb-input, qb-inventory, progressbar, ox_lib
Support Yes

Script Update

Version 1.2.0

  • Added support for ox_invnetory
  • Improved code for various funcions, events and notifications
  • Added support for jim-consumables with a new file in server/consumables.lua
  • Changed unnecessary file structure and removed files that aren’t needed
  • Restructured menus file to prevent repeat code

Script Update
Version 2.0.0

  • Complete re-write of events / callbacks to improve performance, add new features and improve security
  • Complete re-write of target function to improve performance
  • Improved config layout
  • Removed qb-menu because ox_lib has more features
  • Added Language section for custom translations
  • Removed ped for garage and swapped for prop instead
  • Improved prop spawning and added targetEntity isntead of targetModel
  • Improved shops and stashes - ox_inventory users - this resource now creates the shops and stashes automatically, remove any previous snippets to work correctly
  • Improved notification function
  • Added input amounts for every event allowing players to make multiple items
  • Improved method of obtaining glasses for drinks - now select which type and how many you want from input dialog
  • Improved all callbacks for item amount checks
  • Improved events for item giving and reduced code to improve performance
  • Removed qb-input for billing input because ox_lib has more features
  • Added item images to menus
  • Improved resource start and stop event handles
  • Removed annoying server print in wrong location causing console spam
  • Added in built consumables system for drinks
  • Updated README file
  • will get a V2 preview video made up soon for this as quite a bit has changed from previous versions
1 Like