Rapporter og bøder
Hent en hel sagsakt, eller udsted en bøde på en betjents vegne
va_policemdtSe produktet →
Server-exports. Kaldes fra server_script.
GetReport
Hent en hel sagsakt.
caseNumberstringpåkrævetSagsnummeret, fx S-2043.
returnstable | nilnil når sagsnummeret ikke findes.
GetReport har intet rettighedstjek. Det returnerer hele sagsakten — sagsfremstilling, sigtelser, involverede personer, køretøjer, koster og fotos.
Det er de samme data, som aktindsigt beskytter bag en engangskode. Videregiv dem aldrig til spillere uden selv at gate det først.
RegisterNetEvent('mitscript:seSag', function(caseNumber)
local src = source
-- Uden dette lækker du sagsakter til hvem som helst.
if not exports.va_policemdt:HasMdtPermission(src, 'rapportarkiv') then
return
end
local report = exports.va_policemdt:GetReport(caseNumber)
if not report then return end
TriggerClientEvent('mitscript:visSag', src, report)
end)IssueFine
Udsted en bøde på en betjents vegne.
officerIdentifierstringpåkrævetESX-identifier på den betjent, bøden skrives i navn af.
datatablepåkrævetreturnstablelocal res = exports.va_policemdt:IssueFine(officerIdentifier, {
citizenId = 'char1:def…',
caseNumber = 'S-2043',
lines = {
{ paragraf = '§ 118', description = 'Hastighed 92/50', amount = 2500 },
},
})
if res.ok then
print(('%d kr på %d linjer'):format(res.total, res.count))
endBeløb bliver renset
Kun positive heltal accepteres, der er højst 20 linjer pr. bøde, og hvert beløb har et loft. Linjer med ugyldigt beløb springes over — er der ingen gyldige linjer tilbage, returneres { ok = false } og intet skrives.
Register og opkrævning er to ting
billed = false betyder at bøden er registreret i MDT'et, men at betalingsadapteren ikke tog den. Registret står ved magt uanset — opkrævningen er en separat mekanisme, konfigureret i Config.billing.
Bøden sendes som én samlet regning til Config.billing.send, præcis som når en betjent udsteder den fra tabletten.
Et komplet eksempel
Et fartkamera der bøder automatisk.
AddEventHandler('minatk:maalt', function(citizenIdentifier, speed, limit)
if speed <= limit then return end
local res = exports.va_policemdt:IssueFine('char1:atk-system', {
citizenId = citizenIdentifier,
lines = {{
paragraf = '§ 118',
description = ('Hastighed %d/%d (ATK)'):format(speed, limit),
amount = math.floor((speed - limit) * 60),
}},
})
if not res.ok then
print('ATK: bøden kunne ikke skrives')
end
end)