Kartik Scripts

Joint Callouts

Big scenes need more than one service. A joint callout starts with one unit, and when that unit arrives on scene, ERS calls in real player units from the other services.

How it works

  1. The first unit accepts the callout and drives to it as normal.
  2. On arrival, the closest free player unit of each listed service, within 3 km, gets an Assist request: unit name offer.
  3. If they decline or don't answer in time, the request moves on to the next closest unit.
  4. Assisting units drive to the same scene and join the same dispatch call.

Everyone sees the same NPCs and vehicles. Each service gets its own tasks:

Assisting serviceDefault tasks
EMSAssess every patient → stabilise every patient → transport every patient
PoliceSecure the scene → deal with every suspect
TowTow every vehicle
Police (cordon)Close the road (used by scenes that only need traffic control)

Shared outcomes

What one unit does counts for everyone: approaching a person, checking their ID, treating a patient, arresting a suspect, releasing someone and delivering a patient are all synced. For example, the fire unit's "patients to EMS" task ticks when the assisting EMS unit treats them.

When a unit leaves

If the first unit clears the callout or disconnects, the closest remaining unit takes over the scene, so its NPCs and vehicles stay. A prisoner stays with the unit that arrested them.

Solo play

With no other player units online, a joint callout still works on its own. Call AI backup, for example an AI ambulance for the patients.

Joint callouts

CalloutLeadAssist
Shots FiredPoliceEMS
StabbingEMSPolice
Intoxicated PersonEMSPolice
Bus Crash (MCI)EMSFire
Structure FireFireEMS
Major CollisionFireEMS, Tow
Hazmat SpillFirePolice
Person PinnedFireEMS
Overturned TruckTowPolice

Settings

Config.JointCallouts = {
    enabled     = true,
    offerRadius = 3000.0, -- only units within this distance of the scene get the request
    perService  = 1,      -- player units requested per assisting service
}

Make any callout a joint one by adding assist = { 'ambulance', 'tow' } to its entry in Config.Callouts.list.

On this page