Spark Scripts

Graffiti system

Graffiti system
  • Graffiti system
  • Graffiti system

€15.00

Add to Basket

SS-GRAFFITI — Graffiti Script for FiveM

Full graffiti system for your FiveM server: players spray custom text on walls, choose fonts and colors, and admins manage everything from a dedicated menu. Discord webhook logs every spray with player info and exact text.


Features for players

  • Spray graffiti — Use a spray can item to place text on walls. Aim at a valid surface, choose your text, font, and color in the UI, scale with the mouse wheel, then confirm to spray.
  • Multiple fonts — Several fonts included (from the stream folder). You can add or change fonts in the config; each has a display name and scale/width.
  • Colors — Pick from presets or use a color picker. Default color is configurable.
  • Remove graffiti — Use a cloth item near a spray to wipe it. Only your own spray or (depending on logic) any spray within range.
  • Text rulesBlacklist: words that are always blocked. Whitelist: if the list is empty, players can write anything except blacklisted words; if you add words (e.g. crew names), only those words are allowed.
  • Auto-delete — Sprays can automatically disappear after a set time (e.g. 48 hours) so the map doesn’t fill up forever.
  • Hints — In-game hints (e.g. scroll = scale, E = spray, Backspace = cancel) in English.

Features for admins

  • Admin menu — Open with a configurable command (default: /graffitimenu). Requires ACE permission.
  • Spray list — See all sprays with distance to you, author ID, and “time ago”. List is built from server data and survives script restarts.
  • Teleport — Teleport to any spray from the list (no confirmation in the UI).
  • Remove — Remove a single spray or clear all sprays (e.g. /graffiticlear). Useful for cleaning the server or moderating.
  • Permissions — Configurable admin groups (e.g. admin, superadmin) so only allowed groups can use the menu and clear command.

Discord webhook

  • New graffiti — Each time a player places a spray, the script can send an embed to your Discord channel with:
  • Player name
  • Player ID
  • Identifier
  • Exact graffiti text (what they wrote)
  • Coordinates
  • Other events — Optionally log removals, admin clears, and blacklisted-word attempts (if the script supports it).
  • Customisation — Embed title, color, and date format are configurable. Leave the webhook URL empty to disable logging.

Configuration (config.lua)

Everything is controlled from one file:

  • Webhook — Discord webhook URL and embed color.
  • Commands — Admin menu command and clear-all command.
  • Items — Item names for spray can and cloth (e.g. s_spray, s_cloth). You add the actual items in ox_inventory or your inventory script.
  • Fonts — List of fonts (value = .gfx filename without extension). You can add or remove entries to match your stream folder.
  • Text — Min/max length for graffiti text; blacklist and whitelist words.
  • Scale — Default scale, step, min, and max for spray size.
  • Distances — Max distance to place a spray, to see sprays, and to remove a spray.
  • Time — Auto-delete sprays after X seconds (e.g. 48 hours).
  • Admin — Which ACE groups can use the admin menu and clear command.
  • Alerts — Optional notifications when a spray is removed (server/player/start), if supported by the script.

No need to edit encrypted files; all of the above is in the editable config.


Requirements

  • FiveM server (Cerulean, Lua 5.4).
  • ESX (Legacy or compatible).
  • ox_lib — Used for UI and hints (shared_script '@ox_lib/init.lua').
  • Dependency — /assetpacks (or the script’s stated dependency) for fonts.
  • OX_Inventory — Add the spray and cloth items with the same names as in the config.
Back to category