Wer drückt, wer hört
Zwei Listen, die zwei verschiedene Fragen beantworten.
jobs ist, wer drücken darf, mit dem niedrigsten Rang, der es darf. receivers ist, wer alarmiert wird, ohne Ränge. Den Button eines Sergeants hört jede Streife: jobs = { police = 3 } und receivers leer lassen.
jobs = { ['police'] = 0, ['ambulance'] = 1 },
receivers = { 'police', 'ambulance', 'sheriff' },Wer beim Alarm im falschen Job oder außer Dienst war, bekommt ihn nach, sobald sich das ändert. Ohne Ton und ohne ihm die Route wegzunehmen, der er gerade folgt. Die Reichweite wird einmal beim Drücken gemessen. Wer danach aus dem Kreis fährt, behält den Alarm.
Ohne Framework
Läuft weder ESX noch QBCore noch Qbox, ist ein Job ein ACE-Recht in der server.cfg. Ein Recht schließt alles darunter ein, deshalb ist der Job allein jeder Rang. Geprüft werden nur die Ränge, die ein Button verlangt.
add_ace group.police cs_panicbutton.job.police allow # police, every grade
add_ace group.sgt cs_panicbutton.job.police.3 allow # police, grade 3
add_principal identifier.license:xxxx group.policeOhne Framework gibt es kein Inventar, außer ox_inventory läuft. Leere dann item an den Buttons, der Start-Report nennt sie sonst. Ein eigenes Jobsystem trägst du in Framework.GetJob in der config/framework.lua ein.