Immersion

Shadow_ME

Roleplay /me messages displayed in 3D above the player.

Version
2.1.1
Resource
SF-Me
Version 2.1.1 Resource SF-Me Frameworks ESX ยท QBCore ยท Standalone Bundled languages 5 Store page View

Overview#

SF-Me replaces the /me line lost in the chat with a message floating in 3D above the player, visible only to those close enough. It adds automatic messages triggered by context, an anti-spam cooldown, colour choice and a message history. It runs with ESX, QBCore, or completely standalone.

3D display

The message floats above the player and only shows within the configured distance.

Colour choice

Players pick their message colour from the allowed palette.

Automatic messages

Contextual messages triggered automatically, for example by the weapon being held.

Anti-spam

A configurable cooldown between two messages.

History

The last messages are kept and can be listed again.

Fade in and out

The message appears and disappears smoothly, with configurable durations.

Optional permissions

Restrict the command to an ACE group, or leave it open to everyone.

File logging

Optionally write every message to a log file.

Installation#

  1. Drop the SF-Me folder into your server resources directory.
  2. Add the ensure line below to your server.cfg.
  3. Adjust the display distance, the duration and the colours in config.lua.
  4. If you want to restrict the command, enable Config.UsePermissions and grant the ACE node.
server.cfg
ensure SF-Me

# Optional: restrict /me to a group
add_ace group.user command.me allow

Configuration#

KeyDefaultWhat it does
Config.DisplayDistance10.0Distance in metres beyond which the message is no longer visible.
Config.DisplayTime8000How long the message stays on screen, in milliseconds.
Config.TextHeight1.0Height of the text above the player head.
Config.Framework'auto'Force esx, qbcore or none.
Config.MeColorโ€”Default colour of the messages.
Config.AvailableColorsโ€”The colours a player is allowed to pick.
Config.EnableCooldownโ€”Enables the anti-spam cooldown.
Config.MeCooldownโ€”Delay in seconds between two messages.
Config.UsePermissionsโ€”Restricts the command to holders of the ACE node.
Config.MePermission'command.me'ACE node checked when permissions are enabled.
Config.MePrefixโ€”Prefix shown in front of the message.
Config.UseCharacterNameโ€”Shows the character name instead of the account name.
Config.EnableFadeEffectโ€”Enables the fade in and fade out effect.
Config.FadeInDurationโ€”Duration of the fade in, in milliseconds.
Config.FadeOutDurationโ€”Duration of the fade out, in milliseconds.
Config.EnableAutoMessagesโ€”Enables the automatic contextual messages.
Config.AutoMessagesโ€”The automatic messages and what triggers them.
Config.AutoMessageColorโ€”Colour used by the automatic messages.
Config.AutoMessageCooldownโ€”Delay between two automatic messages.
Config.ValidWeaponsโ€”Weapons that trigger an automatic message.
Config.IgnoredWeaponsโ€”Weapons that never trigger one.
Config.WeaponFilterModeโ€”Whether the weapon list acts as an allow list or a deny list.
Config.EnableMessageHistoryโ€”Enables keeping the message history.
Config.MaxHistorySizeโ€”Maximum number of messages kept in the history.
Config.EnableLoggingโ€”Enables logging of the messages.
Config.EnableFileLoggingโ€”Also writes the messages to a file on the server.
Config.Localeโ€”Language of the messages.

Commands#

CommandPermissionWhat it does
/me [message]command.meDisplay a roleplay message in 3D above your character.
/mecolorsโ€”List the colours you can use and pick one.
/mehistoryโ€”Show the recent message history.
/shadow_me_reloadAdminReload the configuration without restarting the resource.
/shadow_me_clearhistoryAdminClear the message history.
/shadow_me_resetcooldown [id]AdminReset the cooldown of a player.

Permissions#

ACE nodeGroupAllows
command.meโ€”Allows the use of /me when Config.UsePermissions is enabled.

Exports#

SignatureSideReturns
exports['SF-Me']:SendMeMessage(message)clientSends a /me message from your own resource.
exports['SF-Me']:Display3DMessage(coords, text, duration)clientDisplays any text in 3D at the given coordinates.
exports['SF-Me']:AreAutoMessagesEnabled()clientReturns whether the automatic messages are enabled.
exports['SF-Me']:ToggleAutoMessages(state)clientEnables or disables the automatic messages.
exports['SF-Me']:GetTranslation(key)sharedReturns a translated string by key.

Good to know#

Display3DMessage is usable on its own: it is a generic 3D text helper you can reuse for anything.