CES Radar Jammer

#CES Radar Jammer

A standalone radar and plate reader (ALPR) jammer for Wraith ARS 2X. Players fit a dash-mounted jammer to their vehicle, and it blinds or scrambles police radar and plate readers. Police can fight back with interference alerts, an in-car RF meter for tracking jammers, and a handheld sweep that finds and seizes them.

  • Framework: None (standalone)
  • Database: None
  • Requires: Wraith ARS 2X (wk_wars2x)
  • Version: 1.1.0

#Features

  • Jammer unit UI: a dash-mounted detector-style device with MAIN / INFO / SETUP pages, a heat strip and a docked HUD
  • 3 tiers: Basic, Pro and Mil-Spec, each with its own skin, coverage, heat, stealth and durability
  • Radar jamming: block or scramble
  • Plate reader jamming: block or scramble
  • Overheat: units run hot while jamming and lock out when they overheat
  • Tamper damage: heavy crashes can break the unit, which then needs repairing
  • Police interference alerts with FRONT/REAR
  • In-car RF meter: officers track jammers by signal strength and rough direction
  • Handheld RF sweep that finds and confiscates jammers
  • Discord logs for installs, toggles, seizures, strips and more
  • Anti-abuse: per-player limits, install cooldown, rate limiting, admin strip command
  • Sounds, skins, a movable HUD and locales

#Installation

  1. Extract CES_RadarJammer into your resources folder.
  2. Open wk_wars2x/fxmanifest.lua and add this as the last client_script line:
    client_script "@CES_RadarJammer/bridge/wars2x_hook.lua"
  3. In server.cfg, start the jammer before Wraith:
    ensure CES_RadarJammer
    ensure wk_wars2x
  4. (Optional) Discord logs. Either paste your webhook into server/sv_config.lua, or add this to server.cfg:
    set ces_jammer_webhook "https://discord.com/api/webhooks/..."
  5. (Optional) ACE permissions:
    add_ace group.admin cesjammer.admin allow
    add_ace group.police cesjammer.police allow
  6. Restart your server.

Why the extra line in Wraith? Wraith ARS 2X has no way for other scripts to affect it. The hook file runs inside Wraith and filters or scrambles what the radar and plate reader see. It also shares the radar's power state with the RF meter. Wraith's own code is never edited.

#Commands & Keybinds

Command Default key Who Description
/jammer F7 Anyone in a vehicle Open or close the jammer unit
/jammertoggle Unbound Driver Quick power on/off
/jammersweep Unbound Police Sweep the nearest vehicle
/rfscan NUMPAD7 Police Start an RF meter scan (scan mode)
/jammerhud β€” Anyone Move and resize the docked unit and RF meter
/jammerstrip all / <id> β€” Admin / console Remove every jammer, or one player's
/jammerlist β€” Admin / console List installed jammers by owner

#Using the jammer unit

Control MAIN / INFO pages SETUP page
β—€ β–Ά Change page Change page
β–² β–Ό Brightness Choose an option
● Power on/off Confirm (install / remove / repair)
ESC Close Close

To install: driver seat β†’ /jammer β†’ go to SETUP β†’ pick a tier with β–² β–Ό β†’ press OK β†’ stay in the car until the bar fills.

#Jammer tiers

Basic Pro Mil-Spec
Skin Black / orange Silver / blue Stealth red
Jams radar βœ” βœ” βœ”
Jams plate reader βœ– βœ” βœ”
LIDAR flag* βœ– βœ– βœ”
Heat build-up Fast Medium Slow
Harder to sweep β€” 15% 40%
RF signal (stealth) 100% 80% 55%
Crash break chance 60% 40% 20%
Player installable βœ” βœ” Export only

*Wraith ARS 2X has no LIDAR. The flag is there so third-party LIDAR scripts can call IsJammingSystem(vehicle, 'lidar').

Every value is editable in Config.Tiers, and you can add your own tiers.

#Overheat & damage

  • Heat rises while the unit is jamming (engine on) and falls while it's off. At 100% the unit shuts down and locks out for the tier's overheatLockMs.
  • A heavy crash (Config.Tamper.minBodyDamage of body damage in one hit) can break the unit. Bigger hits make it more likely. A broken unit can't power on until it's repaired from SETUP.

#Police tools

#Interference alerts

When a jammed car is in an officer's radar beam or plate camera, there's a chance they get RF INTERFERENCE DETECTED with FRONT or REAR.

#In-car RF meter

An RF meter appears on screen (movable with /jammerhud) while an officer is in an emergency vehicle with the Wraith radar on.

  • Scan mode (default): press NUMPAD7 for a 12-second reading, then wait out a 45-second cooldown.
  • Passive mode: always live. This is the strongest option.
  • The signal bar rises as you get closer. Once the signal is strong enough, arrows show roughly where it's coming from.

To keep it balanced, adjust range, noise, directionMinStrength, scanDurationMs and scanCooldownMs, or turn it off with Config.RFMeter.enabled = false.

#Handheld sweep

Step out next to a vehicle and use /jammersweep. A powered-on jammer is always found by default. A switched-off one is found 70% of the time. Stealthier tiers are harder to find. Found jammers are seized.

#Configuration reference

The main sections of config.lua are:

Section What it controls
Config.Tiers / Config.DefaultTier Tier definitions
Config.Jammer Install / remove / repair times, toggle cooldown, engine requirement, driver-only
Config.Tamper Crash damage threshold and cooldown
Config.Radar / Config.PlateReader block / scramble / off, scramble ranges
Config.Interference Alert chance, roll interval, cooldown, sound
Config.RFMeter Mode, scan length, cooldown, range, restrictions, direction, noise
Config.Detector Sweep restriction (none / emergency / ace), distance, chances, confiscation
Config.AntiAbuse Per-player limit, install cooldown, event rate limit, admin ACE
Config.Discord Which events to log, toggle throttle
Config.Sounds Master and per-sound volume, per-category toggles, which file each of the 13 sounds uses
Config.UI Default skin, dock position, RF meter position, speed unit, device name

The Discord webhook URL goes in server/sv_config.lua or the ces_jammer_webhook convar. It is never sent to players.

#Server (entity handles)

exports.CES_RadarJammer:HasJammer(vehicle)
exports.CES_RadarJammer:IsJammerActive(vehicle)
exports.CES_RadarJammer:GetJammerTier(vehicle)          -- 'basic' | 'pro' | 'military' | nil
exports.CES_RadarJammer:GetJammerHeat(vehicle)          -- 0-100
exports.CES_RadarJammer:InstallJammer(vehicle, tier, ownerServerId)
exports.CES_RadarJammer:RemoveJammer(vehicle)
exports.CES_RadarJammer:SetJammerActive(vehicle, true)
exports.CES_RadarJammer:IsJammingSystem(vehicle, 'radar' | 'plate' | 'lidar')

#Client

exports.CES_RadarJammer:IsVehicleJammed(vehicle)
exports.CES_RadarJammer:IsJammingSystem(vehicle, 'lidar')

State bags: cesJammerInstalled, cesJammerActive, cesJammerTier, cesJammerHeat, cesJammerOverheat, cesJammerBroken

#Customising

  • Sounds: there are 13 sound effects in html/sounds/ (click, powerOn, powerOff, progress, done, error, pulse, overheat, alert, scanStart, tick, sweepFound, sweepClear).
    • To replace one, drop your file (.ogg, .mp3 or .wav) into that folder and set its name in Config.Sounds.files.
    • Use '' for the built-in tone, or false to mute that sound.
    • Balance the loudness with Config.Sounds.volumes.
    • A missing file falls back to the built-in tone.
  • Language: copy locales/en.lua, translate it, and set Config.Locale.
  • HUD position: each player can use /jammerhud. Their layout is saved on their PC.

#Troubleshooting / FAQ

The radar still picks up jammed cars.
The hook isn't loaded. Check that the @CES_RadarJammer line is the last client_script in Wraith's manifest, and that the jammer starts before Wraith. A red F8 warning appears if the hook is missing.

The RF meter never appears.
It needs an emergency-class vehicle, the driver or front passenger seat, and the Wraith radar powered on. In scan mode, press NUMPAD7. It also relies on the hook being loaded.

My jammer keeps shutting off.
It's overheating. Let it cool down, or use a higher tier. The INFO page shows the heat.

The unit says DAMAGED.
It broke in a crash. Go to SETUP β†’ REPAIR UNIT.

The Pro jammer doesn't block the plate reader.
Check that Config.PlateReader.mode isn't 'off' and that the tier has plate = true.

Players can't install more jammers.
They've hit Config.AntiAbuse.maxPerPlayer, or they're still in the install cooldown.

Nothing is posted to Discord.
Set the webhook in server/sv_config.lua or with the ces_jammer_webhook convar, and check Config.Discord.enabled.

It stopped working after a Wraith update.
Add the hook line to Wraith's fxmanifest.lua again.

No ratings yet