Skip to main content

Listeners

Editable bridge hooks for Wasabi Police Job V2 (wasabi_police_v2). These are not exports.

Files

  • Client: bridge/listeners/client.lua
  • Server: bridge/listeners/server.lua

Undefined listener names resolve to a no-op. Keep listener implementations non-blocking.


Client listeners

ListenerParametersCalled when
onCufftype, positionThe local player is cuffed.
onUncuffnoneThe local player is uncuffed.
onSurrendermodeThe local player surrenders.
onTacklenoneThe local player is tackled.
onEscortmodeThe local player is escorted.
onSearchnoneThe local player is searched.
onTrafficStopvehicleNet, outcomeA traffic stop begins for the local player's vehicle.
onEvidenceCollecttype, evidenceIdEvidence is collected.
onCCTVViewviewing, cameraIdCCTV viewing starts or stops.
onJailsentenceThe local player is jailed.
onReleasenoneThe local player is released.
onGSRpositiveThe local player's GSR result is received.
onRadarFlashspeed, unitA radar or speed trap detects the local vehicle.
onDutyChangeonDutyDuty status changes.
AntiCheatStateenabledPolice V2 enters or leaves an anti-cheat-sensitive action.

Blocking hooks

Return true from these hooks to block or hide the corresponding behavior:

function listeners.shouldBlockCuff()
return false
end

function listeners.shouldBlockSurrender()
return false
end

function listeners.shouldHideHud()
return false
end

Example

function listeners.onDutyChange(onDuty)
print(('Police duty changed: %s'):format(onDuty))
end

Server listeners

ListenerParametersCalled when
onArrestsource, by, stationA player is arrested and booked.
onJailsource, by, sentence, reasonA player is jailed.
onReleasesource, by, reasonA player is released.
onFineIssuedsource, by, amount, reasonAn officer issues a fine.
onLicenseChangesource, by, license, grantedA license is granted or revoked.
onSpeedTrapTriggeredsource, postId, speed, fineA persistent speed trap triggers.
onCuffsource, by, typeA player is cuffed.
onUncuffsource, byA player is uncuffed.
onEvidenceCreatedtype, coords, metadataWorld evidence is created.
onEvidenceLinkedevidenceId, suspectIdentifier, byEvidence is linked to a suspect.
onDutyChangesource, onDuty, jobDuty status changes.
onPanicsource, coordsAn officer activates panic.
onGSRsource, by, positiveA GSR test resolves.
onTrackersource, by, appliedA tracker is applied or removed.
onSpikeStripPlacesource, coordsA spike strip is placed.
onSpikeStripRemovesourceA spike strip is removed.
onCCTVDestroyedcameraId, reporterSource, attackerSourceA CCTV camera is destroyed.
onCCTVViewsource, cameraIdA player begins viewing CCTV.
function listeners.onFineIssued(source, by, amount, reason)
-- Forward to your audit or analytics system.
end