Opkald
Opret, læs og luk opkald på kortet
va_policemdtSe produktet →
Server-exports. Kaldes fra server_script.
Udkald er den mest oplagte integration: dit alarmscript, panikknap eller ANPG-station rejser et opkald, og det lander på kortet hos alle betjente på vagt.
Opkald lever kun i hukommelsen — de er flygtig radiotrafik, ikke sagsdata. De udløber efter Config.shotSpotter.callTtl (standard 600 sekunder) og overlever ikke en genstart af ressourcen.
CreateCall
Rejs et opkald på kortet.
titlestringpåkrævetKort overskrift, fx Indbrudsalarm.
locationstringpåkrævetStedbetegnelse som mennesker læser, fx Vangelico, Portola Dr.
prioritystringstandard: mellemhoej, mellem eller lav. Styrer farven på kortet og hvor kraftigt betjentenes alarm slår ud.
xnumberpåkrævetVerdenskoordinat.
ynumberpåkrævetVerdenskoordinat.
returnstableDet oprettede opkald.
local call = exports.va_policemdt:CreateCall(
'Indbrudsalarm', 'Vangelico, Portola Dr', 'hoej', 1234.5, -567.8
)
if call.assigned then
print(('Patrulje %s rykker ud'):format(call.assigned.plate))
endHvad der sker automatisk
Opkaldet sendes til alle betjente der er logget ind, og forsøger at hive den næste ledige patruljevogn ind efter tur — så belastningen fordeles i stedet for altid at ramme den første vogn på tavlen. Bliver en vogn tildelt, får dens besætning dispatch-beskeden i radioen.
assigned er nil, når ingen vogn stod på status patrulje. Antag aldrig at feltet findes.
GetCalls
Alle aktive opkald, nyeste først.
returnstable[]Array af opkald i samme form som CreateCall returnerer.
for _, call in ipairs(exports.va_policemdt:GetCalls()) do
print(('[%s] %s — %s'):format(call.priority, call.title, call.location))
endOprydningen af udløbne opkald sker ved læsning. Et script der aldrig kalder GetCalls, ser ikke listen skrumpe af sig selv.
CloseCall
Luk et opkald og frigiv dets tildelte vogn.
idstringpåkrævetOpkaldets id, fx call-7.
returnsbooleanfalse når intet opkald havde det id — typisk fordi det allerede er udløbet.
if not exports.va_policemdt:CloseCall(call.id) then
print('Opkaldet var allerede væk')
endLuk dine egne opkald, når kilden er ovre — en butiksalarm der nulstiller sig selv, bør også lukke sit opkald. Ellers optager det plads på kortet indtil det udløber, og den tildelte vogn bliver hængende på udrykning.
Et komplet eksempel
En butiksalarm der rejser et opkald og rydder op efter sig selv.
AddEventHandler('minealarmer:udloest', function(butik, coords)
local call = exports.va_policemdt:CreateCall(
'Indbrudsalarm', butik, 'hoej', coords.x, coords.y
)
-- Alarmen nulstiller sig selv efter fem minutter.
SetTimeout(5 * 60 * 1000, function()
exports.va_policemdt:CloseCall(call.id)
end)
end)