STG ScriptsDocumentation
Pizza Maker

Configuration

Every option in STG Pizza Maker config.lua, from orders, kitchen and delivery van to pizzas, ingredients, delivery spots, vehicle keys and fuel.

All settings live in stg-pizza/config.lua. The target setup lives in stg-pizza/client/editable/target.lua. Both files stay editable in the escrow version. Restart the resource after a change.

Language

Config.Language = "en"

Available: en, de, fr, es, pt, it, nl, pl, sv, no, fi, ar, he, ja, zh. To change a text, edit the matching file in stg-pizza/locales/. The Japanese texts are in jp.lua but use the code ja. Each locale file also holds the short customer messages shown on the order board under dialogs.

Orders

Config.MaxOrder = 8
Config.BannedIngredientChance = 10
Config.MaxBannedIngredients = 1

Prop

Type

Kitchen

Config.PayPerIngredient = true
Config.PizzaBakeTime = 10

Prop

Type

Delivery

Config.MaxPizzaStack = 7
Config.DeliveryVehicle = "foodcar4"
Config.DepositPrice = 500

Prop

Type

Target

Config.Target = true

When true, the kitchen, the van (Put the pizza in the vehicle, Take pizza from the vehicle) and the customers are used through ox_target, or qb-target when ox_target is not running. When false, players use E prompts instead: within 3 metres of the kitchen, near the van and near the customer.

With Config.Target = true and neither ox_target nor qb-target running, the kitchen cannot be opened. Set it to false on servers without a target system.

The target options, icons and distances are defined in stg-pizza/client/editable/target.lua if you want to change them.

Pizza place

Config.PizzaPlace = {
    [1] = {
        coord = vec3(538.1735, 101.6385, 96.5310),
        vehicle_coords = {
            vec4(529.5150, 109.5395, 95.5401, 160.7678)
        },
    }
}

Prop

Type

You can add more pizza places as new entries. Each one gets its own blip.

Blips

Config.Blips = {
    ["restaurant"] = { label = "Pizza Place", sprite = 681, scale = 0.7, color = 5 },
    ["delivery"] = { label = "Pizza Delivery", sprite = 480, scale = 0.7, color = 5 },
}

restaurant marks every pizza place. delivery marks each customer waiting for a pizza.

Prop

Type

Delivery locations

Config.DeliveryLocations = {
    vec4(127.2165, -1028.1885, 28.3573, 339.6569),
    vec4(-48.3728, -1455.6539, 30.9883, 162.0277),
    -- ...
}

Where customers wait for their pizza, with the heading they face. Each order picks a random spot that no other open order uses. Keep more spots than Config.MaxOrder so two orders do not share one. The script ships with 12.

Ingredients

Config.IngredientList = {
    ["sauce"] = { amount = 1, cost = 10 },
    ["cheese"] = { amount = 1, cost = 20 },
    ["pepperoni"] = { amount = 16, cost = 3 },
    ["mushroom"] = { amount = 16, cost = 5 },
    ["onion"] = { amount = 16, cost = 2 },
    ["pepper"] = { amount = 16, cost = 3 },
    ["olive"] = { amount = 16, cost = 5 },
    ["prawn"] = { amount = 16, cost = 7 },
}

Prop

Type

These eight ingredients are the ones in the kitchen. Change amount and cost, but keep the keys as they are.

Pizzas

Config.pizzaList = {
    [1] = {
        name = "margarita",
        label = "Margarita",
        payment = 3500,
        list = { "sauce", "cheese" }
    },
    -- ...
}

The script ships with 8 pizzas: Margarita, Pepperoni Pizza, Veggie Express, Ocean Dream, Dragon Fire, Cheesy Comet, The Supreme and Midnight Special. Each order picks one at random.

Prop

Type

Customers

Config.NpcList = {
    "a_f_m_beach_01",
    "a_f_m_bevhills_01",
    -- ...
}

Config.RandomNames = {
    "Emma Schneider", "Sophie Müller", "Lina Fischer",
    -- ...
}
  • NpcList: ped models used for customers. The model's photo is shown on the order, and the same ped waits at the delivery spot.
  • RandomNames: customer names shown on the order board.

Functions

Config.functions = {
    giveKeys = function(plate, vehicle) ... end,
    removeKeys = function(plate, vehicle) ... end,
    HelpNotify = function(message) lib.showTextUI(message) end,
    HideHelpNotify = function() lib.hideTextUI() end,
    Notify = function(type, message) ... end,
    setFuel = function(vehicle) ... end,
}
  • Notify: shows an ox_lib notification. Replace the body to use your own notification system.
  • HelpNotify and HideHelpNotify: show and hide the E prompts with the ox_lib text UI.
  • setFuel: fills the van when it comes out. Supports ox_fuel, LegacyFuel, cdn-fuel, ps-fuel and stg-fuel, and falls back to the game's own fuel level.

Vehicle keys

giveKeys runs when the van comes out and removeKeys runs when it is returned. Both use the first supported keys resource that is running:

ResourceGive keysRemove keys
qbx_vehiclekeys (QBOX)Client event vehiclekeys:client:SetOwnerServer event qb-vehiclekeys:server:RemoveVehicleKeys
qb-vehiclekeys (QBCore)Client event vehiclekeys:client:SetOwnerClient event vehiclekeys:client:RemoveOwner
qs-vehiclekeysExport GiveKeys(plate, vehicle)Export RemoveKeys(plate, vehicle)
wasabi_carlockExport GiveKey(plate)Export RemoveKey(plate)
t1ger_keysExport GiveKey(plate)Export RemoveKey(plate)
mk_vehiclekeysExport AddKey(plate)Export RemoveKey(plate)
cd_garageClient event cd_garage:AddKeysClient event cd_garage:RemoveKeys
vehicles_keysExport giveKeys(plate)Export removeKeys(plate)
jaksamClient event vehicle:keys:giveKeysClient event vehicle:keys:removeKeys
renzu_vehiclekeysExport GiveKey(plate)Export RemoveKey(plate)

To use another keys resource, add a block with its own call at the top of both functions.

Still having trouble?

Open a ticket on our Discord. Our team answers around 15 hours a day.

Get help on Discord

On this page