Skip to content

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'  },
}