Onex
Onex
Home
Products
Documentation
Changelog
Login with FiveM
  • 👋 Welcome
  • Claim Purchase
  • Translations
    • Weaponmeta
    • Voice Interaction
      Integrations
      Installation
      Configuration
      General
      Currency
      Addons
      Features
      Api
Artifacts Tracker
  1. Onex Scripts
  2. Scripts_guides / Self Expression
Ctrl K

SELF-EXPRESSION#

Players speak emotional state keywords aloud to trigger a /me chat message and a matching animation. No commands, menus, or key combinations required.

Config file: shared/self-expression/default.lua

SelfExpressionConfig.enabled#

TypeDefault
booleantrue

Enable or disable the self-expression addon entirely.

SelfExpressionConfig.debug#

TypeDefault
booleanConfig.AddonDebug

Enable debug logging. Follows the global AddonDebug setting by default.

SelfExpressionConfig.meCommandFormat#

TypeDefault
string"me %s"

The chat command format used for the /me output. The %s placeholder is replaced with the state description.

SelfExpressionConfig.animationEnabled#

TypeDefault
booleantrue

When true, a matching animation plays when a state is triggered.

SelfExpressionConfig.animationChance#

TypeDefault
number50

Percentage chance (0–100) that an animation plays when a state is triggered.

SelfExpressionConfig.animationDuration#

TypeDefault
number3000

Duration in milliseconds the animation plays before the character returns to idle.

SelfExpressionConfig.cooldownPerState#

TypeDefault
number10000

Per-state cooldown in milliseconds. A player must wait this long before triggering the same state again.

SelfExpressionConfig.globalCooldown#

TypeDefault
number3000

Global cooldown in milliseconds that applies across all states.

SelfExpressionConfig.layer#

The self-expression addon uses the ambient layer — always active, no proximity context required.

SelfExpressionConfig.layer = { name = "ambient", }

States#

Each state maps to a set of trigger phrases (defined in shared/self-expression/phrases.lua) and a pool of animations. When triggered, one animation is chosen at random from the pool. All six states are enabled by default.

SelfExpressionConfig.states#

SelfExpressionConfig.states = { hungry = { enabled = true, animations = { { dict = "mp_player_inteat@burger", name = "mp_player_int_eat_burger" }, { dict = "amb@world_human_bum_standing@twitchy@idle_a", name = "idle_a" }, { dict = "anim@mp_player_intcelebrationmale@slow_clap", name = "slow_clap" }, }, }, thirsty = { enabled = true, animations = { { dict = "mp_player_intdrink", name = "loop_bottle" }, { dict = "amb@world_human_bum_standing@twitchy@idle_a", name = "idle_a" }, }, }, tired = { enabled = true, animations = { { dict = "amb@world_human_bum_slumped@male@idle_a", name = "idle_a" }, { dict = "anim@mp_player_intcelebrationmale@slow_clap", name = "slow_clap" }, { dict = "mp_sleep", name = "sleep_loop" }, }, }, injured = { enabled = true, animations = { { dict = "random@drunk_driver_1", name = "yourefinished_01" }, { dict = "missminuteman_1ig_2", name = "tasered_2" }, { dict = "amb@world_human_bum_standing@twitchy@idle_a", name = "idle_c" }, }, }, cold = { enabled = true, animations = { { dict = "amb@world_human_bum_standing@twitchy@idle_a", name = "idle_d" }, { dict = "anim@heists@ornate_bank@thermal_charge", name = "thermal_charge" }, }, }, hot = { enabled = true, animations = { { dict = "amb@world_human_bum_standing@twitchy@idle_a", name = "idle_b" }, { dict = "mp_player_int_upperface_sweat", name = "mp_player_int_face_sweat" }, }, }, }

To disable a specific state without removing it, set enabled = false:

SelfExpressionConfig.states.tired.enabled = false

To add a custom state, extend the table with a new key. The key name must match an entry in shared/self-expression/phrases.lua for voice triggers to work.

Last updated 3 months ago

Quick Links

All DocumentationOur Products