STG ScriptsDocumentation
Ice Cream

Installation

Install STG Ice Cream on your FiveM server, add the seven treat items to your inventory and start it.

Ice Cream

STG Ice Cream

ESXQBCoreQBOX
View in store

Download the script

Sign in to the Cfx.re portal with the account you used at checkout and download stg-icecream from Granted Assets.

Move the resource

Extract the zip and place the stg-icecream folder inside the [STG] category folder in your resources directory.

resources/
└── [STG]/
    ├── stg_lib/
    └── stg-icecream/

Install the dependencies

Ice Cream needs ox_lib, oxmysql and stg_lib. Skip this step if your server already runs them. The database table stg_icecream_vehicles is created on the first start.

Add the items

Every flavor is an item that customers receive and eat. Pick the tab for your inventory. QBOX servers, and any ESX or QBCore server running ox_inventory, use the ox_inventory tab.

Add these entries to ox_inventory/data/items.lua:

["stg_ice_cream_rocket"] = {
    label = "Rocket Pop",
    weight = 100,
    stack = true,
    close = true,
    description = "Red, white and blue. A summer classic.",
    client = {
        export = 'stg-icecream.eatIceCream'
    }
},

["stg_ice_cream_taco"] = {
    label = "Cocoa Taco",
    weight = 100,
    stack = true,
    close = true,
    description = "Vanilla ice cream in a chocolate shell.",
    client = {
        export = 'stg-icecream.eatIceCream'
    }
},

["stg_ice_cream_berry"] = {
    label = "Berry Crunch Bar",
    weight = 100,
    stack = true,
    close = true,
    description = "Berry ice cream rolled in a crunchy coating.",
    client = {
        export = 'stg-icecream.eatIceCream'
    }
},

["stg_ice_cream_orange"] = {
    label = "Orange Cream Bar",
    weight = 100,
    stack = true,
    close = true,
    description = "Orange sherbet wrapped around vanilla cream.",
    client = {
        export = 'stg-icecream.eatIceCream'
    }
},

["stg_ice_cream_fudge"] = {
    label = "Fudge Pop",
    weight = 100,
    stack = true,
    close = true,
    description = "Rich chocolate fudge on a stick.",
    client = {
        export = 'stg-icecream.eatIceCream'
    }
},

["stg_ice_cream_sandwich"] = {
    label = "Cream Sandwich",
    weight = 100,
    stack = true,
    close = true,
    description = "Vanilla ice cream between two chocolate wafers.",
    client = {
        export = 'stg-icecream.eatIceCream'
    }
},

["stg_ice_cream_cone"] = {
    label = "Sundae Cone",
    weight = 100,
    stack = true,
    close = true,
    description = "Waffle cone topped with chocolate and nuts.",
    client = {
        export = 'stg-icecream.eatIceCream'
    }
},

Add these lines to QBShared.Items in qb-core/shared/items.lua:

stg_ice_cream_rocket   = { name = 'stg_ice_cream_rocket', label = 'Rocket Pop', weight = 100, type = 'item', image = 'stg_ice_cream_rocket.png', unique = false, useable = true, shouldClose = true, description = 'Red, white and blue. A summer classic.' },
stg_ice_cream_taco     = { name = 'stg_ice_cream_taco', label = 'Cocoa Taco', weight = 100, type = 'item', image = 'stg_ice_cream_taco.png', unique = false, useable = true, shouldClose = true, description = 'Vanilla ice cream in a chocolate shell.' },
stg_ice_cream_berry    = { name = 'stg_ice_cream_berry', label = 'Berry Crunch Bar', weight = 100, type = 'item', image = 'stg_ice_cream_berry.png', unique = false, useable = true, shouldClose = true, description = 'Berry ice cream rolled in a crunchy coating.' },
stg_ice_cream_orange   = { name = 'stg_ice_cream_orange', label = 'Orange Cream Bar', weight = 100, type = 'item', image = 'stg_ice_cream_orange.png', unique = false, useable = true, shouldClose = true, description = 'Orange sherbet wrapped around vanilla cream.' },
stg_ice_cream_fudge    = { name = 'stg_ice_cream_fudge', label = 'Fudge Pop', weight = 100, type = 'item', image = 'stg_ice_cream_fudge.png', unique = false, useable = true, shouldClose = true, description = 'Rich chocolate fudge on a stick.' },
stg_ice_cream_sandwich = { name = 'stg_ice_cream_sandwich', label = 'Cream Sandwich', weight = 100, type = 'item', image = 'stg_ice_cream_sandwich.png', unique = false, useable = true, shouldClose = true, description = 'Vanilla ice cream between two chocolate wafers.' },
stg_ice_cream_cone     = { name = 'stg_ice_cream_cone', label = 'Sundae Cone', weight = 100, type = 'item', image = 'stg_ice_cream_cone.png', unique = false, useable = true, shouldClose = true, description = 'Waffle cone topped with chocolate and nuts.' },

Run this query on your database:

INSERT INTO items (name, label)
VALUES
    ('stg_ice_cream_rocket', 'Rocket Pop'),
    ('stg_ice_cream_taco', 'Cocoa Taco'),
    ('stg_ice_cream_berry', 'Berry Crunch Bar'),
    ('stg_ice_cream_orange', 'Orange Cream Bar'),
    ('stg_ice_cream_fudge', 'Fudge Pop'),
    ('stg_ice_cream_sandwich', 'Cream Sandwich'),
    ('stg_ice_cream_cone', 'Sundae Cone');

With Config.ItemStock = true (the default) the owner carries the stock as real items, so every flavor must exist in your inventory. On ox_inventory the server console lists any missing flavor item a few seconds after start.

Add the item images

Copy every image from stg-icecream/[SETUP]/item-images into your inventory's image folder, for example ox_inventory/web/images or qb-inventory/html/images.

Start the script

Make sure [STG] starts after your framework, your inventory, oxmysql and ox_lib in server.cfg:

ensure oxmysql
ensure ox_lib
# your framework: es_extended, qb-core or qbx_core
# your inventory, for example ox_inventory
ensure stg_lib
ensure [STG]

Then restart the whole server.

Nothing happens or the console shows an error? See Common Errors.

Next steps

Still having trouble?

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

Get help on Discord

On this page