Dependencies
Required
- ml_bridge: framework and inventory abstraction. Download from https://portal.cfx.re
- ox_lib: cache handles,
lib.callback,lib.disableControls. Download from https://github.com/communityox/ox_lib
ml_recoil runs entirely from camera and weapon natives. It has no database, no inventory items and no UI, so oxmysql is not required.
Framework
ml_recoil reads player and skill data only through ml_bridge, so it works on every supported framework with the same config. Pick the matching server.cfg block.
1ensure qbx_core
2ensure ox_lib
3ensure ml_bridge
4ensure ml_recoil1ensure qb-core
2ensure ox_lib
3ensure ml_bridge
4ensure ml_recoil1ensure es_extended
2ensure ox_lib
3ensure ml_bridge
4ensure ml_recoil1ensure ox_lib
2ensure ml_bridge
3ensure ml_recoilml_bridge detects the active framework at runtime. No framework name is set anywhere in ml_recoil, so the same build runs on ESX, QBCore, QBox and Standalone.
Optional
ml_skills
When ml_skills is started, ml_recoil reads the player's betterAccuracy effect through exports.ml_skills:GetActiveEffect('betterAccuracy') and lowers recoil by 10% per rank, down to a 0.1 floor. The lookup is wrapped in pcall and gated on GetResourceState, so a missing ml_skills changes nothing.
The skill multiplier is resolved in client/main_open.lua / server/server_open.lua. With no skill system wired in, those hooks return 1.0 and recoil runs at its configured baseline.
DGM weapon pack
Config.Weapons ships profiles for the optional DGM Apoc weapon pack (WEAPON_DGM*). Those entries are inert if the pack is not installed and can be deleted from the config. No resource dependency is declared for them.