Emotes: config files
These files stay readable in every build (escrow too), so you can change them. Shown as shipped in version 1.0.3.
config.lua
lua
-- lumo-emotes | config.lua
--
-- Animation tables live in shared/animations/*.lua and use the RPEmotes table
-- shape, so packs written for dpemotes/rpemotes drop in unchanged.
Config = Config or {}
Config.Debug = false
-- ── Framework ─────────────────────────────────────────────────────────────────
-- 'auto' picks qbx_core > qb-core > es_extended > standalone. Force one with
-- 'qbx' | 'qb' | 'esx' | 'standalone'. Only framework/*.lua reads these.
Config.Framework = 'auto'
-- 'auto' picks qb-target > ox_target (used by the sit-on-any-chair module).
-- Force with 'qb' | 'ox' | 'none'.
Config.Target = 'auto'
-- ── Keys & commands ───────────────────────────────────────────────────────────
Config.OpenMenu = 'F3' -- menu keybind, or false to skip the keymapping
Config.EmoteWheelKey = 'Z' -- favourites wheel (hold), or false
Config.CancelEmote = 'X' -- cancel key, e.g. 'X'; false when another resource owns X and calls exports['lumo-emotes']:CancelIfActive()
Config.CancelHintKey = 'X' -- key shown in the "X Cancel" hint while an emote plays, or false to hide it
Config.EmoteCommand = 'e' -- /e <name>
Config.OpenCommand = 'emotemenu'
Config.AnimAdjustCommand = 'animpos' -- live offset tuner for the running emote
Config.EmoteCreatorCommand = 'emotecreator' -- two-ped creator studio
Config.CancelCommand = 'emotestop'
Config.QuickSlots = 7 -- number of bindable quick-emote slots
-- ── Behaviour ─────────────────────────────────────────────────────────────────
Config.DisarmPlayer = true -- holster weapon when an emote starts
Config.CancelOnNewEmote = false -- hard-stop the old emote before starting a new one
Config.DisableIdleCam = true
-- Emotes whose animation dictionary starts with one of these strip a freemode ped to
-- underwear while they play (shower emotes); the outfit comes back on Stop. Looks only:
-- the saved skin is never touched. {} = off.
Config.UndressDicts = { 'mp_safehouseshower@' }
Config.DisablePreviews = false -- hover previews on a cloned ped beside the menu
Config.HideHudInMenu = true -- hide the HUD and minimap while the emote menu is open
Config.EnablePlaceAnimation = true -- aim-and-place any emote in the world
Config.FreezeEntityOnPlace = true
Config.PlaceDistance = 20.0
Config.PlaceMaxHeight = 2.0
Config.BlockAnimposAfterPlace = true
Config.CustomGunStyles = true
Config.DisablePropCollision = false
Config.ServerSideSpawn = false -- spawn emote props server-side (networked)
Config.SharedMaxDistance = 5.0 -- max distance for a paired-emote request
Config.SharedTimeout = 15 -- seconds before a pending request expires
Config.SharedAcceptKey = 'E' -- accept an incoming paired-emote request
Config.SharedDeclineKey = 'Y' -- decline an incoming paired-emote request
Config.SharedStartDelay = 600 -- preload buffer before both clients start (ms)
Config.EditDancesSpeed = true -- speed control on every dance
Config.AnimMaxSpeed = 2.0
Config.AnimMinSpeed = 0.1
Config.AnimSpeedStep = 0.1
-- ── Persistence ───────────────────────────────────────────────────────────────
-- With a framework these save per character; standalone saves per Rockstar licence
-- (with oxmysql) or per machine (KVP).
Config.CharacterSpecific = {
expression = true,
walkstyle = true,
weaponstyle = true,
favorites = true,
keybinds = true,
settings = false,
}
-- ── Default UI settings (a player can change these in the menu) ────────────────
Config.DefaultSettings = {
dock = 'left', -- left | center | right
scale = 100, -- 60-130
previews = true, -- hover preview ped
performanceMode = false, -- disables previews + heavy transitions
compact = false, -- denser grid
wheel = true, -- enable the favourites wheel
}
-- ── Optional modules ──────────────────────────────────────────────────────────
Config.Modules = {
Pointing = true,
Handsup = false, -- provided by qb-smallresources on X
Ragdoll = true,
Crouch = true,
Crawl = true,
Holstering = false,
IdleAnimations = false,
DisableCombatRoll = false,
DisableLeaning = false,
SitAnyChair = true, -- needs qb-target or ox_target
}
-- Defaults offered the first time each command is seen. Ragdoll, crouch and
-- crawl ship UNBOUND on purpose: whatever you pick collides with something on a
-- QBCore server (sprint, cover, another resource's crouch), and an accidental
-- crawl is genuinely disruptive. Set them yourself in
-- Settings > Key Bindings > FiveM, or put a key here for a fresh install.
--
-- Note: FiveM stores a keybind the first time a command name is registered and
-- never re-reads the default. Changing a value here only affects players who
-- have never seen that command. To push a new default to everyone, rename the
-- command instead.
Config.ModuleKeys = {
Pointing = 'B',
Handsup = '',
Ragdoll = '',
Crouch = '',
Crawl = '',
}
-- Animations that must never play inside a vehicle (by emote name).
Config.AnimationsBlacklistedInVehicles = {}
Config.AnimalPeds = {
'a_c_poodle', 'a_c_pug', 'a_c_westy', 'a_c_chop',
'a_c_husky', 'a_c_retriever', 'a_c_shepherd', 'a_c_rottweiler',
}
-- Weapons that accept a custom aim style.
Config.Weapons = {
'WEAPON_PISTOL', 'WEAPON_APPISTOL', 'WEAPON_PISTOL50', 'WEAPON_MARKSMANPISTOL',
'WEAPON_MACHINEPISTOL', 'WEAPON_FLAREGUN', 'WEAPON_STUNGUN', 'WEAPON_REVOLVER',
'WEAPON_DOUBLEACTION', 'WEAPON_NAVYREVOLVER', 'WEAPON_MINISMG', 'WEAPON_MICROSMG',
'WEAPON_TECPISTOL', 'WEAPON_DBSHOTGUN',
}
-- ── Streamed animation packs ──────────────────────────────────────────────────
-- Each key matches a file in shared/animations/creators/. Flip one to true only
-- if the matching .ycd files are actually present in stream/ — a missing
-- dictionary just makes the emote do nothing.
Config.Creators = {
['Lumo_AnimProps'] = true, -- matching animations and props ship in both editions
['Pazeee_FreeFootBallEmote'] = false,
['Pazeee_FireworkEmotePack'] = false,
['Pazeee_VehicleFunnyEmote'] = false,
['Pazeee_CatUAI'] = false,
['Pazeee_CR7SIU'] = false,
['Pazeee_DonaldTrumpDance'] = false,
['Pazeee_FortnitePack_1'] = false,
['Pazeee_FunHide'] = false,
['Pazeee_GaramDanMaduDance'] = false,
['Pazeee_KawaikuteGomenDance'] = false,
['Pazeee_NewFortniteDancePackV2'] = false,
['Pazeee_PUBGDanceItsMyLife'] = false,
['Pazeee_PUBGHaidilaoDance'] = false,
['Pazeee_PUBGNastyGirl'] = false,
['Pazeee_SnowEmotePack'] = false,
['Pazeee_SquidGameRoundAndRound'] = false,
['Pazeee_WaitDance'] = false,
['Pazeee_PUBGMeninaDoJob'] = false,
['Pazeee_RatDance'] = false,
['Pazeee_TrashCanEmotePack'] = false,
['Pazeee_Dances'] = false,
['Pazeee_FortniteDancePackV4'] = false,
['Pazeee_CarryFunnyEmotePack'] = false,
['Pazeee_FortniteDancePackV5'] = false,
['Pazeee_FortniteDancePackV6'] = false,
['Pazeee_NewFortniteDancePackV3'] = false,
['Pazeee_SixFunnyEmotePack'] = false,
['Pazeee_NewRoleplayEmotePack'] = false,
['Pazeee_PunishmentFunnyEmotePack'] = false,
['Pazeee_DancePackV7'] = false,
['Pazeee_FlagEmotePack'] = false,
['Pazeee_SnowEmotePackV2'] = false,
}
-- ── Menu categories ───────────────────────────────────────────────────────────
-- `key` is the registry bucket; `icon` is a name the NUI knows how to draw.
Config.Categories = {
{ key = 'favorites', label = 'Favorites', icon = 'star' },
{ key = 'all', label = 'All', icon = 'grid' },
{ key = 'emotes', label = 'Emotes', icon = 'person' },
{ key = 'props', label = 'Props', icon = 'box' },
{ key = 'dances', label = 'Dances', icon = 'music' },
{ key = 'shared', label = 'Shared', icon = 'users' },
{ key = 'invehicle', label = 'In Vehicle', icon = 'car' },
{ key = 'animal', label = 'Animal', icon = 'paw' },
{ key = 'walks', label = 'Walk Styles', icon = 'walk' },
{ key = 'expressions', label = 'Expressions', icon = 'face' },
{ key = 'weaponstyles',label = 'Weapon Styles',icon = 'weapon' },
}