Buttons
Abschnitt 2: ein Eintrag pro Button, abgelegt unter seinem Namen.
Der Name ist die ID. Spieler sehen ihn nie, aber unter ihm werden die Textzeile button_<name> und die Discord-Zeile log_<name> gesucht und die API spricht einen Button damit an.
Ein Button
['localPanic'] = {
command = 'localPanic',
bind = 'U',
jobs = { ['police'] = 0 }, -- who may press it, and the lowest grade
radius = 100.0, -- 0 alerts everybody with a listed job
duration = 120,
cooldown = 30,
sound = 'localpanic', -- a file in html/assets/sounds
item = 'panicbutton', -- or empty for none
},Befehl und Fenster
enabledboolean= truefalse nimmt Befehl, Taste und Alarm ganz weg.commandstringWas Spieler tippen und wie die Taste in den Spieleinstellungen heißt. Pflicht, zwei Buttons dürfen ihn nicht teilen.
bindstringDie Standardtaste. Spieler dürfen sie selbst ändern. Leer lässt die Wahl dem Spieler. Nur in der config.lua, nicht im Menü.
labelstringName auf dem Button, wenn die Sprache keine Zeile
button_<name> hat.showUIboolean= truefalse schickt den Alarm beim Tastendruck, ohne Fenster.autoCloseboolean= trueSchließt das Fenster nach dem Drücken.
Der Alarm
radiusnumber= 0Meter. Nur Einheiten darin werden alarmiert.
0 ist die ganze Karte. Gemessen wird einmal beim Drücken.durationnumber= 120Sekunden, die der Alarm auf der Karte bleibt. Mindestens 5.
followboolean= trueDer Blip folgt dem Sender, statt am Ort des Drückens zu bleiben.
waypointboolean= trueSetzt allen, die den Alarm bekommen, eine Route. Sie geht mit dem Alarm wieder weg.
cooldownnumber= 0Sekunden bis zum nächsten Druck. Pro Charakter gezählt, ein Reconnect setzt ihn nicht zurück.
soundstringEine Datei in
html/assets/sounds ohne .ogg. Leer ist lautlos.nearbySound / nearbyRadiusboolean / number= true / 10.0Ein kurzes Klicken für Umstehende, damit ein Druck nicht völlig unsichtbar ist.
Voraussetzungen
jobstableWer drücken darf und ab welchem Rang. Siehe Wer drückt, wer hört.
receiverstableWer den Alarm bekommt, als Jobnamen. Leer sind es die Jobs aus
jobs.requireOnDutyboolean= trueNur im Dienst. QBCore und Qbox kennen einen Dienst, auf ESX zählt jeder mit dem Job.
allowedWhenDeadboolean= truefalse lehnt ab, solange der Spieler tot ist oder im Last Stand liegt.itemstringDas Item, das der Spieler dabeihaben muss. Leer verlangt keins.
consumeboolean= falseNimmt eins weg. Das passiert, bevor der Alarm rausgeht, ein fehlgeschlagenes Wegnehmen lässt also keinen Alarm auf der Karte.
Eigene Blips und Animation
blip = false zeichnet für diesen Button keinen Blip, dann bleiben Ton und Meldung. animation = false spielt nichts. Beide dürfen auch ein Block sein, der nur nennt, was anders ist. color gilt für beide Blips, damit ein Alarm immer ein passendes Paar zeichnet.
Lua
blip = { color = 6 }, -- both blips
blip = { color = 6, sprite = 60 }, -- and another icon over the area
blip = { alert = { sprite = 60, color = 1 }, unit = { color = 5 } },
animation = { dict = 'cellphone@', name = 'cellphone_call_listen_base' },