Everything lives in shared/config.lua. Edit, then restart nex_animpos for changes to apply.
Command
Config.Command = "animpos"
Config.CommandSuggestion = "Move your character"
| Option | What it does | Default |
|---|
Config.Command | Chat command that toggles positioning mode. Lowercase, no leading slash. | "animpos" |
Config.CommandSuggestion | Hint 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:
| Key | Control ID | Default | Does |
|---|
goForward / goBackward | 32 / 33 | W / S | Move forward / back |
goLeft / goRight | 34 / 35 | A / D | Move left / right |
goUp / goDown | 85 / 48 | Q / Z | Move up / down |
rotateLeft / rotateRight | 174 / 175 | ← / → | Orbit: rotate character. Free-fly: move character left / right |
arrowUp / arrowDown | 172 / 173 | ↑ / ↓ | Free-fly: move character forward / back |
boost / slow | 21 / 36 | Left Shift / Left Ctrl | Free-fly: fly fast / slow |
lookCapture | 25 | Right Mouse | Hold to capture the mouse and look around |
blockCommands | 47 | G | Confirm — lock the position in place |
exitMoveMode | 73 | X | Cancel — 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
| Option | What it does | Default |
|---|
Config.Offsets | Starting 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.MovementSpeed | Glide speed multiplier for held movement. Higher = faster, lower = finer. | 0.05 |
Config.Steps | Stops the move-step slider snaps to (metres). | { 0.01, 0.05, 0.1, 0.25, 0.5, 1.0 } |
Config.StepIndex | Default slider stop, 0-based. | 2 (→ 0.1) |
Config.StepRanges | Min/max the in-game sliders clamp to for move / vertical / rotate / speed. | see above |
Config.MaxDistance | How 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
},
}
| Option | What it does | Default |
|---|
defaultMode | Camera mode a session starts in: 'orbit' or 'free'. | 'orbit' |
smoothing | Exponential smoothing rate for all camera motion. Higher = snappier. | 14.0 |
focusHeight | Height above the character’s root the orbit camera targets (metres). | 0.45 |
sensitivity | Mouse-look multiplier. Adjustable live from the panel (1–20). | 8.0 |
invertY | Invert vertical mouse-look. | false |
fov / fovMin / fovMax | Default 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.8–8.0) |
orbit.pitchMin / pitchMax | Vertical orbit limits in degrees. | -80.0 / 80.0 |
orbit.zoomStep | Metres 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.0–30.0) |
free.boostMult / slowMult | Speed multipliers while holding boost / slow. | 3.0 / 0.25 |
free.maxDistance | Tether: how far the fly-cam may stray from the start point (metres). | 30.0 |
free.zoomStep | Fly-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"
| Option | What it does | Default |
|---|
Config.Accent | Single accent colour that drives every highlight — active toggle, sliders, Confirm button, logo, focus. Text on top of it auto-contrasts. | '#ffffff' |
Config.UI.scale | Root scale of the whole UI. Bump it for 1440p+, lower it for 1080p. | 1.0 |
Config.UIPosition | Which 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.