Installing RedM Combat Moves
Requirements
| Required | ||
|---|---|---|
| RedM server | Yes | Any build supporting fx_version 'cerulean' and lua54 'yes' |
| Dependencies | No | None at all |
| Database | No | Nothing is stored |
| Framework | No | Works on VORP, RSG Core, RedEM:RP, QBR and standalone alike |
There is no SQL to import, no build step and no server script. The resource is entirely client-side.
Install
Unzip so the folder is named exactly
rm_combat_moves, inside yourresourcesfolder.A category folder is fine —
resources/[custom]/rm_combat_movesworks. Only the resource folder's own name matters.Add one line to
server.cfg:cfgensure rm_combat_movesRestart the server and join.
Press
PGUPin game, or type/combatmoves. The panel should open over the game.
Check it worked
PGUP opens a styled black panel | the resource is running and the NUI files are being served |
PGUP does nothing but /combatmoves works | the key is taken by something else, or Config.MenuKey was changed |
| The panel opens as plain unstyled text | a file in nui/ did not copy across — see Troubleshooting |
| Neither works | the resource did not start; check the server console |
Then run through the four features: hold C while running, press LALT, double-tap N with a revolver drawn, and press G while holding W.
Before you go live
config.lua ships in a development state. Two changes are worth making before players see it.
Turn off Config.Debug
Config.Debug = falseIt ships as true. With it on, every slide, roll, trick and dive prints a state report to that player's own F8 console. Nothing breaks, but it is noise in every player's console and it makes real errors harder to spot.
What Config.Debug does and does not do
It controls console printing only. The 28 cs_* diagnostic commands and /unstuck are registered by client/debug.lua whether it is on or off, so turning it off does not take them away — and /unstuck keeps working in production, which is what you want. See Debug commands.
Block local bullet time
In server.cfg:
setr combat_slide_allow_timescale "false"Bullet time changes time scale for the whole client, so the player using it sees the world slowed while everyone else sees them moving normally. Config.EnableBulletTimeDuringSlide already ships off, and the convar is what stops a player who turns it back on from getting anything out of it. The menu row still toggles — nothing in menu.lua reads the convar — but the clamp is applied when the slide runs.
It covers the slide only. The dive has its own bullet time, Config.Dive.enableBulletTimeDuringDive, which client/dive.lua reads with no convar check at all — it also ships off, but nothing on the server side stops a player turning the Dive page's Bullet time row on. The other three convars are on Server setup.
Decide on dive invincibility
Config.Dive.enableIFramesDuringDive = true -- ships onThis makes the player bullet, fire and melee proof for the length of a dive — roughly one second. Good for cinematic play, exploitable in serious PvP. There is more on the trade-off in Server setup.
Updating
Replace the folder and restart the resource.
Keep your own config.lua
Copy your values across rather than overwriting the file — releases add settings, so an old config.lua dropped over a new one can leave new keys missing. The in-game menu never writes to the file, so anything you changed there is already gone on restart.
Changing the keys
Every key is set in config.lua, and client/keys.lua ships readable so you can add a name that is not listed. The short version:
Config.MenuKey = 'PGUP'
Config.SlideKey = 'C'
Config.Roll.key = 'LALT'
Config.GunTricks.key = 'N'
Config.Dive.keyboard.diveInput = 'G'Three keys have no raw key hash
K, T and Y are missing from the hash table in client/keys.lua, and every key above is resolved through that table — so none of them can be set to K, T or Y by name, whatever Config.InputMode says.
The one escape hatch is the slide, and only the slide: Config.InputMode = 'keymap' binds through RegisterKeyMapping, which can reach those keys and lets players choose their own. For the menu, roll, tricks and dive keys, pick a different key.
The full picture, including which game action each default key steals and how to give it back, is on Controls.