Skip to content

Usage

Creating a Scene

  1. Aim your crosshair at any in-world surface (wall, ground, vehicle, etc.) within 6 metres.
  2. Type /scene [text] in chat, optionally including your message directly in the command.
  3. The scene editor opens - customise font, colour, background, rotation and duration.
  4. Aim at the surface where you want the scene to appear and press Enter to place it.
  5. The scene appears in-world for all nearby players and expires automatically after the configured number of hours.

Quick re-use

The editor pre-fills from your last 5 created scenes. Select a history entry to instantly restore that style and text.

Commands

CommandAccessDescription
/scene [text]All playersOpen the scene editor, optionally with pre-filled text
/scenestaff [text]Admin onlyOpen the editor in staff mode (scene is flagged as staff-created)
/scenedeleteAll playersDelete the nearest scene within 5 m of your crosshair
/hidescenesAll playersToggle local visibility of all scenes (setting persists across sessions)

Graffiti Mode

  1. Have a spray_can item in your inventory and use it.
  2. The graffiti creator opens - type your text and customise the style.
  3. Aim at a wall surface and confirm. A 30-second progress bar plays while spraying.
  4. One spray_can is consumed per graffiti placed.

Removing Graffiti

  • Have a spray_remover item in your inventory.
  • Target the graffiti in-world and select Remove Graffiti (appears within 2 m).
  • A 25-second progress bar plays. One spray_remover is consumed on success.

Scene Editor Options

OptionDescription
TextThe message displayed (max 200 characters, emojis stripped)
FontFont family for the text
Font sizeText size
Font colorText colour
Backgroundsolid for a coloured box, or a custom image URL
Background colorFill colour when background is solid
Rotation typerotateTorwards - always face the player; rotateKeep - fixed facing; rotateGround - align to surface
DistanceMaximum render distance in metres
Hours visibleHow long the scene persists before expiring (default 1)
PresetLoad a saved style preset

Configuration

FileOptionDefaultDescription
editable/sv_config.luaLogWebhookUrl""Discord webhook URL for scene creation/deletion logs
editable/sh_presets.luaSCENE_PRESETSDefault empty sceneStyle presets selectable in the editor
editable/sh_progressbars.luaSPRAYING_GRAFFITI_PROG_DURATION30000Graffiti spray progress bar duration (ms)
editable/sh_progressbars.luaREMOVING_GRAFFITI_PROG_DURATION25000Graffiti removal progress bar duration (ms)

Server Event

Other resources can listen for scene creation:

lua
AddEventHandler("prp-scenes:server:sceneCreated", function(source, sceneId, sceneData)
    -- source: player server ID
    -- sceneId: database ID of the new scene
    -- sceneData: full scene data table
end)