Skip to main content
Everything lives in shared/config.lua. Edit, then restart nex_animpos for changes to apply.

Command

Config.Command = "animpos"
Config.CommandSuggestion = "Move your character"
OptionWhat it doesDefault
Config.CommandChat command that toggles positioning mode. Lowercase, no leading slash."animpos"
Config.CommandSuggestionHint text shown beside the command in the chat suggestion list."Move your character"
The command is registered unrestricted — every player can use it. There is no ACE gate in the resource itself.

Controls

Each value in Config.Controls is a FiveM control ID. The defaults map to a standard keyboard layout:
KeyControl IDDefaultDoes
goForward / goBackward32 / 33W / SMove forward / back
goLeft / goRight34 / 35A / DMove left / right
goUp / goDown85 / 48Q / ZMove up / down
rotateLeft / rotateRight174 / 175 / Orbit: rotate character. Free-fly: move character left / right
arrowUp / arrowDown172 / 173 / Free-fly: move character forward / back
boost / slow21 / 36Left Shift / Left CtrlFree-fly: fly fast / slow
lookCapture25Right MouseHold to capture the mouse and look around
blockCommands47GConfirm — lock the position in place
exitMoveMode73XCancel — exit and return to the start
Any control you rebind here is automatically suppressed in-game while positioning, so custom binds won’t trigger vanilla actions.

Rebindable hotkeys

Config.Keybinds = {
    cameraToggle = 'V', -- swap between Orbit and Free-Fly
    recenter     = 'F', -- re-center the camera on the character
}
These two are registered through ox_lib, so players can remap them in Settings → Key Bindings under the FiveM category (they appear as animpos_camtoggle and animpos_recenter).
ox_lib keybind defaults only apply the first time a player joins. Changing Config.Keybinds later won’t move the key for players who already have the bind saved — they need to remap it themselves in Settings → Key Bindings.

Movement

Config.Offsets = {
    x = 0.1, -- left / right step (metres)
    y = 0.1, -- forward / back step
    z = 0.1, -- up / down step
    h = 3,   -- rotation step in degrees
}

Config.MovementSpeed = 0.05

Config.Steps     = { 0.01, 0.05, 0.1, 0.25, 0.5, 1.0 }
Config.StepIndex = 2 -- 0-based index into Config.Steps (-> 0.1)

Config.StepRanges = {
    move     = { min = 0.01, max = 1.0 },
    vertical = { min = 0.01, max = 1.0 },
    rotate   = { min = 1.0,  max = 45.0 }, -- degrees
    speed    = { min = 0.01, max = 0.2 },
}

Config.MaxDistance = 5.0
OptionWhat it doesDefault
Config.OffsetsStarting step distance per axis plus degrees per rotate step. x, y, and z must be one of the Config.Steps stops.x/y/z = 0.1, h = 3
Config.MovementSpeedGlide speed multiplier for held movement. Higher = faster, lower = finer.0.05
Config.StepsStops the move-step slider snaps to (metres).{ 0.01, 0.05, 0.1, 0.25, 0.5, 1.0 }
Config.StepIndexDefault slider stop, 0-based.2 (→ 0.1)
Config.StepRangesMin/max the in-game sliders clamp to for move / vertical / rotate / speed.see above
Config.MaxDistanceHow far the character may stray from the starting point (metres).5.0
These are just the starting values — players can tune step size, speed, FOV, and sensitivity live from the panel while positioning.

Camera

Config.Camera = {
    defaultMode = 'orbit', -- 'orbit' | 'free'
    smoothing   = 14.0,    -- exponential smoothing rate; higher = snappier
    focusHeight = 0.45,    -- orbit target height above the ped root (metres)
    sensitivity = 8.0,     -- mouse-look multiplier
    invertY     = false,   -- invert vertical look

    fov    = 50.0,
    fovMin = 20.0,
    fovMax = 75.0,

    orbit = {
        radius    = 2.8,
        radiusMin = 0.8,
        radiusMax = 8.0,
        pitchMin  = -80.0,
        pitchMax  = 80.0,
        zoomStep  = 0.3,
    },

    free = {
        speed       = 8.0,
        speedMin    = 2.0,
        speedMax    = 30.0,
        boostMult   = 3.0,
        slowMult    = 0.25,
        maxDistance = 30.0, -- how far the fly-cam may stray from the start point
        zoomStep    = 1.0,  -- wheel adjusts fly-speed by this much
    },
}
OptionWhat it doesDefault
defaultModeCamera mode a session starts in: 'orbit' or 'free'.'orbit'
smoothingExponential smoothing rate for all camera motion. Higher = snappier.14.0
focusHeightHeight above the character’s root the orbit camera targets (metres).0.45
sensitivityMouse-look multiplier. Adjustable live from the panel (120).8.0
invertYInvert vertical mouse-look.false
fov / fovMin / fovMaxDefault field of view and the range the FOV slider allows.50.0 / 20.0 / 75.0
orbit.radius (+ min/max)Orbit distance from the character and its zoom limits.2.8 (0.88.0)
orbit.pitchMin / pitchMaxVertical orbit limits in degrees.-80.0 / 80.0
orbit.zoomStepMetres per mouse-wheel notch in orbit mode.0.3
free.speed (+ min/max)Fly speed and the range the wheel can set.8.0 (2.030.0)
free.boostMult / slowMultSpeed multipliers while holding boost / slow.3.0 / 0.25
free.maxDistanceTether: how far the fly-cam may stray from the start point (metres).30.0
free.zoomStepFly-speed change per mouse-wheel notch.1.0

Interface

Config.Accent = '#ffffff'

Config.UI = {
    scale = 1.0, -- root rem scale (bump for 1440p+, lower for 1080p)
}

Config.UIPosition = "center-right"
OptionWhat it doesDefault
Config.AccentSingle accent colour that drives every highlight — active toggle, sliders, Confirm button, logo, focus. Text on top of it auto-contrasts.'#ffffff'
Config.UI.scaleRoot scale of the whole UI. Bump it for 1440p+, lower it for 1080p.1.0
Config.UIPositionWhich corner/edge the control card sits in. One of "top-left", "top-center", "top-right", "center-left", "center", "center-right", "bottom-left", "bottom-center", "bottom-right"."center-right"
Config.UIPosition only moves the control card. The controls/keybind list is always top-left.