Advanced Interrogation
Requirements
Section titled โRequirementsโBefore installing, make sure the following resources are available on your server.
| Dependency | Required | Purpose |
|---|---|---|
| ox_lib | โ Yes | Callbacks, notifications, Text UI support, and shared utilities |
| oxmysql | โ Yes | Recording metadata, placements, tapes, and storage persistence |
| Qbox, QBCore, or ESX | โ Yes | Job authorization and player framework integration |
| ox_inventory or qb-inventory | โ Yes | Recorder, cassette, battery, and magnet items |
| Interaction system | โ Yes | ox_target, qb-target, sleepless_interact v2, or built in Text UI mode |
| FiveManage | Optional | Recommended external audio storage backend |
| object_gizmo | Optional | Alternative 3D placement mode for portable recorders |
Installation Steps
Section titled โInstallation Stepsโ-
Download the resource from your Cfx.re Keymaster after purchase.
-
Extract the folder into your server resources and keep the resource name as
rs_interrogation. -
Install the inventory items using the file that matches your inventory.
| Inventory | Item File |
|---|---|
| ox_inventory | install/items_ox.lua |
| qb-inventory | install/items_qb.lua |
Copy the included item images from install/images/ into the image folder used by your inventory.
interrogation_recorderblank_cassettecassette_taperecorder_batterycassette_magnet- Configure framework, inventory, and interaction detection in
config.lua.
Config.Framework = "auto" -- auto | qbx | qb | esxConfig.Inventory = "auto" -- auto | ox_inventory | qb-inventoryConfig.Target = "auto" -- auto | ox_target | qb-target | sleepless | textui- Choose where recorded audio should be stored.
FiveManage
Section titled โFiveManageโFiveManage is the recommended backend for production servers.
Config.Recording = {storage = "fivemanage",}Add the API key to server.cfg. Use set, not setr, because this value must remain server side.
set rs_interrogation_fivemanage_api_key "your_key_here"Local Files
Section titled โLocal FilesโUse this option if you want audio saved directly inside the resource.
Config.Recording = {storage = "files",}Audio is stored inside rs_interrogation/recordings/.
- Add your police jobs and minimum grades.
Config.Jobs = {police = 0,sheriff = 0,lspd = 0,bcso = 0,sasp = 0,}-
Configure cassette stations and evidence storage boxes using
Config.Placements. -
Add the resource after its required dependencies in
server.cfg.
ensure ox_libensure oxmysql
# Start your framework, inventory, and interaction resources firstensure rs_interrogation- Restart the server.
The database schema from sql/schema.sql is applied automatically when the resource starts. Manual SQL import is normally not required.
Recommended Voice Settings
Section titled โRecommended Voice SettingsโFor cleaner individual microphone tracks, these FiveM voice convars are recommended when they fit your server setup.
setr voice_useNativeAudio truesetr voice_useSendingRangeOnly trueHeadsets are also recommended because each participant records their own microphone while REC is active.
Post Installation Check
Section titled โPost Installation CheckโAfter restarting, verify the following:
- An authorized job can use
interrogation_recorder. - The recorder UI opens and microphone permission is allowed.
- A recording can be stopped and appears in device memory.
- A blank cassette can be dubbed at a configured station.
- Cassette playback works for nearby players.
- A placed recorder returns after a server restart.
- Your selected audio storage backend successfully saves the recording.