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= true
false nimmt Befehl, Taste und Alarm ganz weg.
commandstring
Was Spieler tippen und wie die Taste in den Spieleinstellungen heißt. Pflicht, zwei Buttons dürfen ihn nicht teilen.
bindstring
Die Standardtaste. Spieler dürfen sie selbst ändern. Leer lässt die Wahl dem Spieler. Nur in der config.lua, nicht im Menü.
labelstring
Name auf dem Button, wenn die Sprache keine Zeile button_<name> hat.
showUIboolean= true
false schickt den Alarm beim Tastendruck, ohne Fenster.
autoCloseboolean= true
Schließt das Fenster nach dem Drücken.

Der Alarm

radiusnumber= 0
Meter. Nur Einheiten darin werden alarmiert. 0 ist die ganze Karte. Gemessen wird einmal beim Drücken.
durationnumber= 120
Sekunden, die der Alarm auf der Karte bleibt. Mindestens 5.
followboolean= true
Der Blip folgt dem Sender, statt am Ort des Drückens zu bleiben.
waypointboolean= true
Setzt allen, die den Alarm bekommen, eine Route. Sie geht mit dem Alarm wieder weg.
cooldownnumber= 0
Sekunden bis zum nächsten Druck. Pro Charakter gezählt, ein Reconnect setzt ihn nicht zurück.
soundstring
Eine Datei in html/assets/sounds ohne .ogg. Leer ist lautlos.
nearbySound / nearbyRadiusboolean / number= true / 10.0
Ein kurzes Klicken für Umstehende, damit ein Druck nicht völlig unsichtbar ist.

Voraussetzungen

jobstable
Wer drücken darf und ab welchem Rang. Siehe Wer drückt, wer hört.
receiverstable
Wer den Alarm bekommt, als Jobnamen. Leer sind es die Jobs aus jobs.
requireOnDutyboolean= true
Nur im Dienst. QBCore und Qbox kennen einen Dienst, auf ESX zählt jeder mit dem Job.
allowedWhenDeadboolean= true
false lehnt ab, solange der Spieler tot ist oder im Last Stand liegt.
itemstring
Das Item, das der Spieler dabeihaben muss. Leer verlangt keins.
consumeboolean= false
Nimmt 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' },

Frage offen geblieben?

Schreib uns im Discord. Mit Konsolen-Auszug, Framework und Script-Version ist die erste Antwort meistens schon die Lösung.

Zum Support