Scripts · Raven PoliceJob

Raven PoliceJob — Installation

  1. Add the resource

    Place the folder in resources as rv_policejob.

  2. Ensure dependencies first
    ensure oxmysql
    ensure ox_lib
    ensure ox_inventory
    # Optional standalone Raven Dispatch (same family as built-in):
    # ensure rv_dispatch
    
    ensure rv_policejob

    Mini-dispatch is built into rv_policejob. Default: Config.Compatibility.Dispatch = 'rv_dispatch'. Aliases raven-dispatch / rv_policedispatch resolve to the same Raven family; if no external resource is started, the integrated dispatch is used.

  3. Inventory items & images
    • Copy PNGs from install/images/ → ox_inventory/web/images/ (or your inventory images folder)
    • Paste items from install/ITEMSen.lua into ox_inventory/data/items.lua (Spanish labels: ITEMSes.lua)
    • Weapons / flashbang: see install/weapon.md and install/WEAPONS.lua
    • Details: install/items.md and install/images/README.md
    • Optional SQL dumps live in install/sql/ — most MDT / procedure tables auto-create on start
  4. Configure config.lua
    • Config.Locale — 'en' or 'es' (and other locale files)
    • Config.Compatibility — garage, keys, inventory, voice, medical, dispatch, target
    • Jobs, stations, grades, webhooks as needed
    • AI traffic stops (optional): Config.AINPC.apiKey or set ai_npc_api_key "sk-..." in server.cfg
  5. Restart

    ensure rv_policejob (or full server restart). Database tables for MDT / procedure are created automatically.

Compatibility (Config.Compatibility)

Switch integrations from config only — no core edits. Use 'auto' to detect the first available resource (Dispatch prefers Raven first).

Config.Compatibility = {
    Garage = 'auto',
    VehicleKeys = 'auto',
    Inventory = 'auto',
    Voice = 'auto',
    Medical = 'auto',
    Dispatch = 'rv_dispatch', -- recommended default
    Target = 'auto',
}
  • Garage — esx_garage, qb-garages, qbx_garages, jg-advancedgarages, cd_garage, qs-advancedgarages, okokGarage, …
  • VehicleKeys — qb-vehiclekeys, qbx_vehiclekeys, qs-vehiclekeys, wasabi_carlock, …
  • Inventory — ox_inventory, qb-inventory, qs-inventory, ps-inventory, codem-inventory, core_inventory, esx
  • Voice — pma-voice, mumble-voip, saltychat
  • Medical — wasabi_ambulance, ars_ambulancejob, qb-ambulancejob, qbx_ambulancejob, esx_ambulancejob
  • Dispatch — rv_dispatch (default, integrated), ps-dispatch, cd_dispatch, qs-dispatch, core_dispatch, codem_dispatch
  • Target — ox_target, qb-target (falls back to drawtext if none)

Checklist

  • OneSync enabled
  • oxmysql / ox_lib before rv_policejob
  • Items + images from install/ loaded
  • Config.Jobs match your framework jobs
  • Config.Compatibility matches your stack
  • Officer can clock on duty at a station
Important

Without item images from install/images/, inventory icons for bodycam, evidence, badge, drone, flashbang, and related tools will be missing. Flashbang needs both WEAPON_FLASHBANG.png and raven_flashbang.png.