Installation
Install STG Custom Frame on your FiveM server, including the SQL import, the frame item and the in-game photo setup.

STG Custom Frame
Download the script
Sign in to the Cfx.re portal with the account you used at checkout and download stg_customframe from Granted Assets.
Move the resource
Extract the zip and place the stg_customframe folder inside the [STG] category folder in your resources directory. Keep the folder name stg_customframe with the underscore, the frames load their picture from that resource name. The [SETUP] folder next to it holds the SQL file and the item image, it does not go into resources.
resources/
└── [STG]/
├── stg_lib/
└── stg_customframe/Install the dependencies
Custom Frame needs ox_lib, oxmysql and stg_lib version 1.0.3 or newer. Skip this step if your server already runs them.
Import the SQL
Import [SETUP]/stg_customframe.sql into your database. It creates the stg_pictureframe table, where every placed frame is saved with its owner, image link, position and rotation.
Add the item
Players open the frame menu by using the frame item. It is taken when they place a frame and given back when they take it down. Add it to your inventory and copy frame.png from [SETUP]/item-image/ into your inventory's image folder.
INSERT INTO items (name, label)
VALUES
('frame', 'Frame');Add this to qb-core/shared/items.lua:
['frame'] = { name = 'frame', label = 'Frame', weight = 0, type = 'item', image = 'frame.png', unique = false, useable = true, shouldClose = true, description = 'A picture frame. Hang your own image anywhere.' },Add this to ox_inventory/data/items.lua:
['frame'] = {
label = 'Frame',
weight = 0,
stack = false,
close = true,
description = 'A picture frame. Hang your own image anywhere.',
},Set up in-game photos
The camera button in the frame menu opens the phone camera and uploads the picture as the frame image. It needs:
- screenshot-basic running on your server.
- A webhook URL in
STG.webhookinstg_customframe/config/sv_config.lua. The image link is read from a Discord webhook response, see Create a Discord Webhook.
While STG.webhook is empty, the camera button is hidden and players can still use image links.
Start the script
Make sure [STG] starts after your framework, oxmysql and ox_lib in server.cfg:
ensure oxmysql
ensure ox_lib
# your framework: es_extended, qb-core or qbx_core
ensure screenshot-basic
ensure stg_lib
ensure [STG]Then restart the whole server.
Nothing happens or the console shows an error? See Common Errors.
Next steps
Configuration
Render distance, removal rules, admin menu and target system
Dependencies
What needs to start before Custom Frame
Still having trouble?
Open a ticket on our Discord. Our team answers around 15 hours a day.
Custom Frame
Players hang their own pictures anywhere in the world, from an image link or an in-game photo. Frames are saved and stay after a restart.
Configuration
Every option in STG Custom Frame, from language, render distance and removal rules to the admin menu, target system, screenshot webhook and notifications.