Transform your streets into a living canvas
Vigi Spray is the most advanced, high-performance graffiti system available for FiveM. Players can freehand paint on any wall, precisely mask areas with tape, use stencils from URL or gallery, and express their creativity in real-time.
Packed with a fully integrated admin dashboard, advanced permission systems, real-time syncing, and zero lag. This is the ultimate tool for gangs, street artists, and law enforcement roleplay. Everything you need, nothing you don’t.

Showcase
Core Features Trailer:
Stencil System Update:
Professional Masking Tape Updates:
What’s Inside (Updated to v1.0.29)
The Ultimate Creative Toolset
- Freehand Spray Painting - Paint on ANY flat surface in the world.
- LIVE Syncing - Watch other players spray and draw in real-time!
- Professional Masking Tape - Outline perfect polygons. Features Angle Snapping, immersive Dynamic 3D Dimensions, and a highly visual Holographic Workspace Grid (Rule of Thirds) to help players scale their art perfectly!
- Depth Adjustment - Players can use their scroll wheel to move the spray slightly off the wall, perfectly fixing Z-fighting on uneven surfaces!
- Color & Pressure System - Pick any hex color, shake the can to build pressure, and watch the paint sputter when running empty.
Local Sketchbook & Gallery Imports
- Personal Sketchbook - Players can save their custom drawings locally and carry them across sessions in their “My Carnet”.
- In-Game Stencil Gallery - Browse and select pre-defined high-res stencils provided by the server.
- Dynamic Reveal Animation - Watch the stencil art appear progressively as you spray over it.
- Player URL Import - (Optional) Allow players to paste their own URLs (Imgur, Discord) to instantly paint logos, with configurable limits, cooldowns, and admin blocking!
Immersive Cleaning Mechanics
- Dual Cleaning System - Erase mistakes precisely while painting, or use a sponge animation to scrub away rival tags!
- Sponge Durability & Wear Widget - Sponges degrade over time! Real-time UI widgets show the exact wear percentage of the cleaning sponge during use.
Powerful Roleplay & Gang Integrations
Vigi Spray integrates effortlessly with your server’s ecosystem!
- Advanced Permissions System - Restrict spraying/cleaning to specific Jobs, Gangs, Discord Roles, or even “Boss Only” grades directly from the config.
- Built-in Gang Support - Automatically reward Gang XP when tagging in Turf Zones, or decrease rival loyalty when scrubbing their tags. Supports op-crime natively.
- Custom Exports & Events - Supports ANY custom framework via extensive public exports (
onTagCreated, onTagCleaned, external condition checks).
Extreme Performance (Zero Lag)
- Atlas Rendering Engine - We render all visible tags via a single optimized texture atlas. Endless graffiti, zero FPS drops. Support for HD Texture sizes and WebP image optimization.
- Latent Event Sync - Large images and stencils are streamed via chunked latent events. Your server network will never bottleneck, even with massive stencils.
- Zero Dependencies - No xSound or external libraries required. Spatial audio is built entirely within NUI!
The Most Advanced Admin Panel in FiveM
- World Map Switcher - Real-time Leaflet map with clustering. Instantly switch between Atlas, Satellite, and Roads views with a sleek collapsible UI.
- Blacklist System - Full in-game UI to instantly ban/unban griefers from using spray cans via Discord ID, License, or Server ID.
- Click-to-Delete Tool - Admins can enter a special holographic visualizer mode to just point and click to eradicate bad tags instantly in-game.
- Search, Filter & Sort - Find tags by artist name, date, or distance from your current location! Bulk-delete them instantly.
API for Developers
Vigi Spray offers a robust API for integrating with your own systems (Police alerts, custom gang turfs, etc.)
Server Events (Triggered automatically):
AddEventHandler('vigi_spray:server:onTagCreated', function(source, tagId, tagData, turfIndex)
-- React when a tag is placed
end)
AddEventHandler('vigi_spray:server:onTagCleaned', function(source, tagId, tagData, turfIndex)
-- React when a tag is fully scrubbed away
end)
Server/Client Exports:
exports['vigi_spray']:DeleteTag(tagId)
exports['vigi_spray']:GetNearbyTags(coords, radius)
exports['vigi_spray']:GetTagInfo(tagId)
exports['vigi_spray']:IsStencilTag(tagId)
exports['vigi_spray']:GetAllStencils()
Configuration
Everything is configurable via config.lua:
- Framework & Inventory (Auto-detects ESX, QBCore, Ox, Quasar, Codem, etc.)
- Item names, prop models, and bone attachments.
- Spray distance, brush sizes (thin → fat cap).
- Cleaning speeds, eraser size, and sponge durability parameters.
- Discord Webhooks with image embeds.
- Max tags, render distance, and auto-expiration (clean up tags older than X days).
Fully Localized: Available out-of-the-box in English, French, Spanish, German, Italian, Portuguese (BR & PT), Russian, and Arabic!
Purchase
|
|
| Code is accessible |
No (Escrowed) |
| Subscription-based |
No |
| Lines (approx) |
~15,000 |
| Requirements |
ESX, QBCore or Qbox |
| Support |
Yes |