Kartik Scripts

Tire Tracks

The Tire Tracks system provides a highly optimized way to track vehicle movements during chases, burnouts, and high-speed skids. This feature adds a new layer of forensic depth to vehicle investigations.

🚀 How it Works

The system monitors the vehicle's traction state and sideways velocity. Evidence is generated dynamically when a vehicle is:

  1. Performing a Burnout: Revving the engine while stationary or at low speeds.
  2. Skidding/Drifting: Moving sideways at speeds above the SkidThreshold.
  3. Losing Traction: High-speed maneuvers that result in significant wheel spin.

⚙️ Performance Optimizations

  • Driver-Only Detection: Logic only runs for the vehicle driver, reducing redundant calculations.
  • Distance Throttling: Evidence markers are spaced out (default 8m) to prevent "marker spam" and maintain server performance.
  • Dynamic Polling: The loop frequency increases only when skidding is detected, staying idle otherwise.

🔬 Forensic Analysis

Investigators can collect tire track impressions to profile a suspect's vehicle.

Metadata Collected

When a track is "lifted" using an Empty Evidence Bag, it generates the following forensic profile:

  • Type: Traction Impression
  • Tire Name: The category of the tire (e.g., Sport Pattern, Offroad Pattern, Muscle Pattern).

[!NOTE] To maintain gameplay balance, the specific vehicle plate and model are not revealed. This encourages investigators to look for vehicle classes rather than just searching for a single license plate.

🧹 Cleanup

Tire tracks are environmentally sensitive:

  • Rain: Tracks will gradually wash away if exposed to the sky during rain.
  • Manual Cleaning: Civilians or criminals can use Industrial Acid to "Hose Down Tracks" and remove evidence from the scene.

🛠️ Configuration

You can adjust the sensitivity in shared/config.lua:

Config.TireTracks = {
    Enabled = true,
    SkidThreshold = 1.8,   -- Minimum sideways speed to trigger tracks
    MinSpeed = 5.0,        -- Minimum speed to drop tracks
    SpawnDistance = 8.0,   -- Distance between markers (in meters)
    BurnoutEnabled = true  -- Whether burnouts leave tracks
}

On this page