Retro Hidden Mic
Common problems and their solutions. If you find a matching issue below, follow the provided fix.
I can’t open the wiretap panel / no target option appears
Section titled “I can’t open the wiretap panel / no target option appears”The panel only opens at a command center, and the option is hidden unless your job and grade match. Check:
- You defined at least one entry in
Config.CommandCenters. - Your player’s job name matches a key in that center’s
jobstable (comparison is case-sensitive). - Your grade is greater than or equal to the minimum grade.
Config.CommandCenters = { { name = "LSPD Police Station", targetCoords = vector4(440.0, -980.0, 30.6, 187.4622), antennaCoords = vector3(425.0, -980.0, 45.0), jobs = { ['police'] = 0 }, -- job = minimum grade },}I hear nothing when listening to a bug
Section titled “I hear nothing when listening to a bug”The live audio feed runs entirely through pma-voice. If you hear no audio:
- Make sure
pma-voiceis installed and started beforers_hiddenmic. - Add
setr voice_enableUi 0to yourserver.cfg(the script renders its own visualization). - A target must actually be within the bug’s listening range (
Config.BugListenRange,Config.BugPlayerListenRange, orConfig.BugVehicleListenRange). - Check the signal isn’t being killed by distance, speed, a roof penalty, or a nearby jammer.
”No player nearby” / “No vehicle nearby” when planting
Section titled “”No player nearby” / “No vehicle nearby” when planting”Player and vehicle bugs are planted through the target option on the entity, not by using the item alone. Aim your target at the player or vehicle, choose the wire option, and stay within Config.DistanceInteract (default 2.0).
Items do nothing when used
Section titled “Items do nothing when used”- Verify the item names in your inventory match the config names exactly:
room_bug,player_bug,vehicle_bug,bug_jammer,bug_signal_amplifier. - Make sure you added the items from the correct file in
INSTALL/inventory/for your inventory. - Confirm
Config.Frameworkmatches your actual framework so usable items register correctly.
Config.BugItem = 'room_bug'Config.BugPlayerItem = 'player_bug'Config.BugVehicleItem = 'vehicle_bug'Config.JammerSetup.Item = 'bug_jammer'Config.AmplifierSetup.Item = 'bug_signal_amplifier'The scanner doesn’t detect bugs
Section titled “The scanner doesn’t detect bugs”- The scanner is the weapon set in
Config.ScanerWeapon(defaultWEAPON_DIGISCANNER). It must be equipped in hand. - The bug must be within scanning range and its signal alive (a dead battery or a jammer can hide it).
- To detect moving bugs (players/vehicles) with directional color indication, enable it:
Config.EnableDirectionalScannerForDynamicBugs = trueHow do I remove a detected bug?
Section titled “How do I remove a detected bug?”While the scanner is on the bug, press the key set in Config.KeyRemoveBug. Change the key and its on-screen label here:
Config.KeyRemoveBug = { KeyId = 182, -- Control ID KeyLabel = 'L', -- Label shown in the prompt}Bugs die too quickly / never run out of battery
Section titled “Bugs die too quickly / never run out of battery”Battery life is per device type, in seconds. Increase the values, or change auto-removal behaviour:
Config.BatteryLife = { Surface = 7200, -- 2 hours Player = 5400, -- 1.5 hours Vehicle = 3600, -- 1 hour}
Config.RemoveBugOnBatteryEmpty = false -- true = bug is deleted when the battery hits 0Signal is always weak or cuts out
Section titled “Signal is always weak or cuts out”Signal strength is reduced by distance, speed, and obstruction. Tune these:
Config.DefaultMaxSignalDistancedistance at which the signal hits 0% (raise per-center withmaxSignalDistance).Config.SpeedPenaltyThreshold/Config.SpeedPenaltyMultiplierpenalty for fast-moving player/vehicle bugs.Config.EnableRoofPenalty/Config.RoofSignalPenaltypenalty under roofs, tunnels, and overpasses.- Deploy a Signal Amplifier near the bug to extend range, or add a
Config.StaticAmplifiersrelay.
A bug disappears from the map but is still planted
Section titled “A bug disappears from the map but is still planted”That’s the signal threshold system, not a bug. When a device’s signal drops below these values, the NUI hides parts of it:
Config.SignalHideMapThreshold = 20 -- Hide from the map below 20%Config.SignalHidePlayersThreshold = 15 -- Hide player list below 15%Config.SignalHideWaveformThreshold = 5 -- Hide the speaking waveform below 5%A jammer is killing my own bugs
Section titled “A jammer is killing my own bugs”That’s intended. A jammer cuts signal for every bug inside its radius. Reduce its reach or strength:
Config.JammerSetup = { Range = 40.0, -- Smaller radius (m) Penalty = 100, -- 100 = total cut; lower it for partial interference}Audio channels collide with my phone / dispatch
Section titled “Audio channels collide with my phone / dispatch”Bugs use pma-voice call channels starting at Config.BaseCallChannel. If another script uses overlapping channels, move the base value:
Config.BaseCallChannel = 9000 -- Raise this above any range used by other scriptsWrong language is showing
Section titled “Wrong language is showing”Set Config.Locale to one of the included locale files. To translate, edit the matching file in locales/.
Config.Locale = 'en' -- 'en', 'pl', 'ar', 'cn', 'de', 'es', 'fr', 'hu', 'it', 'ja', 'pt', 'sv', 'zh-tw'Logs aren’t being sent
Section titled “Logs aren’t being sent”- Check
Config.Webhooks.Enabled = trueinconfig/webhooks.lua. - Confirm
LogSystemmatches the backend you configured ('discord','ox','datadog','fivemanage'). - For Discord, set
DefaultURL(used as a fallback when a specific action URL is empty).
Config.Webhooks = { Enabled = true, LogSystem = 'discord', DefaultURL = "https://discord.com/api/webhooks/...",}