FiveM Thought Bubble Notifications | Immersive Roleplay System
Turn π¬ notifications into π narratives.
Links
ποΈ Watch the demonstration video
π Documentation
Introduction
A thought bubble notification system for immersive roleplay.
Traditional FiveM notifications break immersion with meta-gaming information: "Not enough police online" or "You don't have the required skill level." They force players to acknowledge game mechanics instead of staying in character.
mad-thoughts replaces those messages with the character's own inner thoughts. A player who can't pick a lock doesn't see "Lockpicking skill too low" - they think "This lock looks too complex for me..."
Use it as your server's entire notification system, or drop it in for the moments where immersion matters most.
Comes with pre-built scenarios and locations ready to use out of the box - or write your own from scratch. Every trigger, message, and condition lives in one config file.
Features and Benefits
- π Immersive Thought Bubbles - character thoughts displayed above the player's head
- π¨ Rich Customisation - icons, colours, and timing, all configurable
- π Scenario System - automatic thoughts triggered by gameplay conditions
- π¬ Message Variety - random selection avoids repetition
- π Location Awareness - thoughts triggered by area
- π Sequential Thoughts - chain thoughts into a short narrative
- π Server-Wide Thoughts - broadcast to every connected player
- π» Developer-Friendly - simple exports for custom implementation
Built for skill check feedback that doesn't break immersion, subtle environmental storytelling, and replacing meta-gaming notifications with something your players will actually stay in character reading.
Scenarios and Locations
The resource ships with example scenarios and locations, but the real value is in building your own for your server.
Scenario-Based Thoughts
Scenarios trigger automatically based on conditions you define - health status, environmental conditions (rain, thunder, night), player actions (swimming, running), or character needs (hunger, thirst). Each uses a check function plus the standard customisation options (message, icon, colour, duration).
Location-Based Thoughts
Thoughts trigger when a player enters an area you've defined - hospitals, police stations, beaches, landmarks, whole neighbourhoods. Just set coordinates, a trigger radius, and the thought itself.
Both systems are fully configurable through config.lua, or can be disabled entirely if you'd rather trigger thoughts only through exports.
Server-Wide Thoughts
Send a thought to every connected player - from a client script, a server script, or a command.
Dependencies
Support
Join our Discord community for support, regular updates, and to request new features.