Zach488 / qb-burgershot

GNU General Public License v3.0
34 stars 37 forks source link

A Burgershot for QBCore Framework

Preview outdated : https://www.youtube.com/watch?v=9sLa6d6hUXY&t=42s

Please note

Dependencies :

QBCore Framework - https://github.com/qbcore-framework/qb-core

PolyZone - https://github.com/mkafrin/PolyZone

qb-target - https://github.com/BerkieBb/qb-target (Only needed if not using draw text)

qb-input - https://github.com/qbcore-framework/qb-input

qb-menu - https://github.com/qbcore-framework/qb-menu

Map - https://www.gta5-mods.com/maps/burgershot-remastered-gta-v-interior-mod-gtadps

Car - https://www.gta5-mods.com/paintjobs/vapid-speedo-express-burgershot-livery

Copy file into @qb-doorlock --> configs

Copy the burgershot.lua file inside the assets folder into the doorlock configs folder

Insert into @qb-smallresources --> server --> consumables.lua

--Burgershot

--Drinks
QBCore.Functions.CreateUseableItem("burger-softdrink", function(source, item)
    local Player = QBCore.Functions.GetPlayer(source)
    if Player.Functions.RemoveItem(item.name, 1, item.slot) then
        TriggerClientEvent("consumables:client:Drink", source, item.name)
    end
end)

QBCore.Functions.CreateUseableItem("burger-mshake", function(source, item)
    local Player = QBCore.Functions.GetPlayer(source)
    if Player.Functions.RemoveItem(item.name, 1, item.slot) then
        TriggerClientEvent("consumables:client:Drink", source, item.name)
    end
end)

--Food
QBCore.Functions.CreateUseableItem("burger-bleeder", function(source, item)
    local Player = QBCore.Functions.GetPlayer(source)
    if Player.Functions.RemoveItem(item.name, 1, item.slot) then
        TriggerClientEvent("consumables:client:Eat", source, item.name)
    end
end)

QBCore.Functions.CreateUseableItem("burger-moneyshot", function(source, item)
    local Player = QBCore.Functions.GetPlayer(source)
    if Player.Functions.RemoveItem(item.name, 1, item.slot) then
        TriggerClientEvent("consumables:client:Eat", source, item.name)
    end
end)

QBCore.Functions.CreateUseableItem("burger-torpedo", function(source, item)
    local Player = QBCore.Functions.GetPlayer(source)
    if Player.Functions.RemoveItem(item.name, 1, item.slot) then
        TriggerClientEvent("consumables:client:Eat", source, item.name)
    end
end)

QBCore.Functions.CreateUseableItem("burger-heartstopper", function(source, item)
    local Player = QBCore.Functions.GetPlayer(source)
    if Player.Functions.RemoveItem(item.name, 1, item.slot) then
        TriggerClientEvent("consumables:client:Eat", source, item.name)
    end
end)

QBCore.Functions.CreateUseableItem("burger-meatfree", function(source, item)
    local Player = QBCore.Functions.GetPlayer(source)
    if Player.Functions.RemoveItem(item.name, 1, item.slot) then
        TriggerClientEvent("consumables:client:Eat", source, item.name)
    end
end)

QBCore.Functions.CreateUseableItem("burger-fries", function(source, item)
    local Player = QBCore.Functions.GetPlayer(source)
    if Player.Functions.RemoveItem(item.name, 1, item.slot) then
        TriggerClientEvent("consumables:client:Eat", source, item.name)
    end
end)

Insert into @qb-smallresources --> config.lua

Config.ConsumablesEat = {

-- Burgershot 

    ["burger-bleeder"] = math.random(35, 54),
    ["burger-moneyshot"] = math.random(35, 54),
    ["burger-torpedo"] = math.random(35, 54),
    ["burger-heartstopper"] = math.random(35, 54),
    ["burger-meatfree"] = math.random(35, 54),
    ["burger-fries"] = math.random(35, 54),
}

Config.ConsumablesDrink = {

    -- Burgershot 

    ["burger-softdrink"] = math.random(40, 50),
    ["burger-mshake"] = math.random(40, 50),
} 

Insert into @qb-core/shared/items.lua

QBShared.Items = {
    -- Burger Shot
    -- Food
    ["burger-bleeder"]               = {["name"] = "burger-bleeder",                ["label"] = "Bleeder",                  ["weight"] = 250,       ["type"] = "item",      ["image"] = "bs_the-bleeder.png",           ["unique"] = false,     ["useable"] = true,     ["shouldClose"] = true,    ["combinable"] = nil,   ["description"] = "Sates Hunger."},
    ["burger-moneyshot"]             = {["name"] = "burger-moneyshot",              ["label"] = "Moneyshot",                ["weight"] = 300,       ["type"] = "item",      ["image"] = "bs_money-shot.png",            ["unique"] = false,     ["useable"] = true,     ["shouldClose"] = true,    ["combinable"] = nil,   ["description"] = "Sates Hunger."},
    ["burger-torpedo"]               = {["name"] = "burger-torpedo",                ["label"] = "Torpedo",                  ["weight"] = 310,       ["type"] = "item",      ["image"] = "bs_torpedo.png",               ["unique"] = false,     ["useable"] = true,     ["shouldClose"] = true,    ["combinable"] = nil,   ["description"] = "Sates Hunger."},
    ["burger-heartstopper"]          = {["name"] = "burger-heartstopper",           ["label"] = "Heartstopper",             ["weight"] = 2500,      ["type"] = "item",      ["image"] = "bs_the-heart-stopper.png",     ["unique"] = false,     ["useable"] = true,     ["shouldClose"] = true,    ["combinable"] = nil,   ["description"] = "Sates Hunger."},
    ["burger-meatfree"]              = {["name"] = "burger-meatfree",               ["label"] = "MeatFree",             ["weight"] = 125,       ["type"] = "item",          ["image"] = "bs_meat-free.png",             ["unique"] = false,     ["useable"] = true,     ["shouldClose"] = true,    ["combinable"] = nil,   ["description"] = "Sates Hunger."},
    ["burger-fries"]                 = {["name"] = "burger-fries",                  ["label"] = "Fries",                ["weight"] = 125,       ["type"] = "item",          ["image"] = "bs_fries.png",                 ["unique"] = false,     ["useable"] = true,     ["shouldClose"] = true,    ["combinable"] = nil,   ["description"] = "Sates Hunger."},
        -- Drinks

    ["burger-softdrink"]             = {["name"] = "burger-softdrink",              ["label"] = "Soft Drink",               ["weight"] = 125,       ["type"] = "item",      ["image"] = "bs_softdrink.png",         ["unique"] = false,     ["useable"] = true,     ["shouldClose"] = true,    ["combinable"] = nil,   ["description"] = "An Ice Cold Drink."},
    ["burger-mshake"]                = {["name"] = "burger-mshake",                 ["label"] = "Milkshake",                ["weight"] = 125,       ["type"] = "item",      ["image"] = "bs_milkshake.png",         ["unique"] = false,     ["useable"] = true,     ["shouldClose"] = true,    ["combinable"] = nil,   ["description"] = "Hand-scooped for you!"},

    --Ingredients
    ["burger-bun"]                   = {["name"] = "burger-bun",                    ["label"] = "Bun",          ["weight"] = 125,       ["type"] = "item",                  ["image"] = "bs_bun.png",                   ["unique"] = false,     ["useable"] = false,    ["shouldClose"] = true,    ["combinable"] = nil,   ["description"] = "An Ingredient"},
    ["burger-meat"]                  = {["name"] = "burger-meat",                   ["label"] = "Cooked Patty",             ["weight"] = 125,       ["type"] = "item",      ["image"] = "bs_patty.png",                 ["unique"] = false,     ["useable"] = false,    ["shouldClose"] = true,    ["combinable"] = nil,   ["description"] = "An Ingredient"},
    ["burger-lettuce"]               = {["name"] = "burger-lettuce",                ["label"] = "Lettuce",              ["weight"] = 125,       ["type"] = "item",          ["image"] = "bs_lettuce.png",               ["unique"] = false,     ["useable"] = false,    ["shouldClose"] = true,    ["combinable"] = nil,   ["description"] = "An Ingredient"},
    ["burger-tomato"]                = {["name"] = "burger-tomato",                 ["label"] = "Tomato",               ["weight"] = 125,       ["type"] = "item",          ["image"] = "bs_tomato.png",                ["unique"] = false,     ["useable"] = false,    ["shouldClose"] = true,    ["combinable"] = nil,   ["description"] = "An Ingredient"},
    ["burger-raw"]                   = {["name"] = "burger-raw",                    ["label"] = "Raw Patty",                ["weight"] = 125,       ["type"] = "item",      ["image"] = "bs_patty_raw.png",             ["unique"] = false,     ["useable"] = false,    ["shouldClose"] = true,    ["combinable"] = nil,   ["description"] = "An Ingredient"},
    ["burger-potato"]                = {["name"] = "burger-potato",                 ["label"] = "Bag of Potatoes",      ["weight"] = 1500,      ["type"] = "item",          ["image"] = "bs_potato.png",                ["unique"] = false,     ["useable"] = false,    ["shouldClose"] = true,    ["combinable"] = nil,   ["description"] = "An Ingredient"},
    ["burger-mshakeformula"]         = {["name"] = "burger-mshakeformula",          ["label"] = "Milkshake Formula",        ["weight"] = 125,       ["type"] = "item",      ["image"] = "bs_ingredients_icecream.png", ["unique"] = false,  ["useable"] = false,    ["shouldClose"] = true,    ["combinable"] = nil,   ["description"] = "An Ingredient"},
    ["burger-sodasyrup"]             = {["name"] = "burger-sodasyrup",              ["label"] = "Soda Syrup",       ["weight"] = 125,       ["type"] = "item",              ["image"] = "bs_ingredients_hfcs.png",  ["unique"] = false,     ["useable"] = false,    ["shouldClose"] = true,    ["combinable"] = nil,   ["description"] = "An Ingredient"},
    ["burger-toy1"]                  = {["name"] = "burger-toy1",                   ["label"] = "Action Figure",            ["weight"] = 50,        ["type"] = "item",      ["image"] = "burger-toy1.png",      ["unique"] = true,  ["useable"] = false,    ["shouldClose"] = false,    ["combinable"] = nil,   ["description"] = "An Action Figure From the late 90's"},
    ["burger-toy2"]                  = {["name"] = "burger-toy2",                   ["label"] = "Pink Teddy",               ["weight"] = 50,        ["type"] = "item",      ["image"] = "burger-toy2.png",          ["unique"] = true,  ["useable"] = false,    ["shouldClose"] = false,    ["combinable"] = nil,   ["description"] = "A Fluffy Pink Teddy from the Atic"},
    ["burger-murdermeal"]            = {["name"] = "burger-murdermeal",             ["label"] = "Murder Meal",              ["weight"] = 125,       ["type"] = "item",      ["image"] = "burger-box.png",           ["unique"] = false,     ["useable"] = true,     ["shouldClose"] = true,    ["combinable"] = nil,   ["description"] = "An Amazing Murder Meal with a chance of a toy."},

    ["burger-coupon25"]              = {["name"] = "burger-coupon25",           ["label"] = "Burgershot Coupon 25% Off",                ["weight"] = 15,        ["type"] = "item",      ["image"] = "bs_coupon-25.png",             ["unique"] = false,     ["useable"] = false,    ["shouldClose"] = false,    ["combinable"] = nil,   ["description"] = "25% Off Coupon "},
    ["burger-coupon15"]              = {["name"] = "burger-coupon15",           ["label"] = "Burgershot Coupon 15% Off",                ["weight"] = 15,        ["type"] = "item",      ["image"] = "bs_coupon-fifteen.png",            ["unique"] = false,     ["useable"] = false,    ["shouldClose"] = false,    ["combinable"] = nil,   ["description"] = "15% Off Coupon "},
    ["burger-coupon10"]              = {["name"] = "burger-coupon10",           ["label"] = "Burgershot Coupon 10% Off",                ["weight"] = 15,        ["type"] = "item",      ["image"] = "bs_coupon-ten.png",            ["unique"] = false,     ["useable"] = false,    ["shouldClose"] = false,    ["combinable"] = nil,   ["description"] = "10% Off Coupon "},

}

Insert into @qb-core/shared/jobs.lua

QBShared.Jobs = {
    ["burgershot"] = {
        label = "Burgershot Employee",
        defaultDuty = true,
        offDutyPay = false,
        grades = {
            ['0'] = {
                name = "Trainee",
                payment = 50
            },
            ['1'] = {
                name = "Employee",
                payment = 75
            },
            ['2'] = {
                name = "Burger Flipper",
                payment = 100
            },
            ['3'] = {
                name = "Manager",
                payment = 125
            },
            ['4'] = {
                name = "CEO",
                isboss = true,
                payment = 150
            },
        },
    },
}       

Insert into @qb-management/client - cl_config.lua

Config.BossMenus = {

    ['burgershot'] = {
        vector3(-1192.04, -902.476, 13.998),
    },
}

Config.BossMenuZones = {

    ['burgershot'] = {
        { coords = vector3(-1192.04, -902.476, 13.998), length = 1.15, width = 2.6, heading = 353.0, minZ = 43.59, maxZ = 44.99 },
    },
}