Menüs

Die Liste: öffnen, vorbereiten, schließen und neu befüllen.

Exports

Open

Client
exports.cs_menu:Open(menu)

Öffnet ein Menü. Mit einer id, die schon offen ist, wird es an Ort und Stelle ersetzt statt gestapelt.

menutable
siehe Menü-Felder

Gibt zurückstring die ID

Register

Client
exports.cs_menu:Register(menu)

Baut ein Menü, ohne es zu zeigen. Für das Menü, auf das eine Zeile woanders mit menu = 'id' zeigt.

Gibt zurückstring die ID

Show

Client
exports.cs_menu:Show(id)

Gibt zurückboolean false, wenn es die ID nicht gibt

Close

Client
exports.cs_menu:Close(id)

Schließt eins, oder ohne ID das oberste.

CloseAll

Client
exports.cs_menu:CloseAll()

Focus

Client
exports.cs_menu:Focus(id)

Gibt einem Menü mit preview = true Maus und Tasten.

Gibt zurückboolean false, wenn es das Menü nicht gibt oder es keine Vorschau ist

IsOpen

Client
exports.cs_menu:IsOpen(id)

Ob dieses Menü offen ist, ohne ID ob überhaupt eins.

Gibt zurückboolean

GetOpen

Client
exports.cs_menu:GetOpen()

Gibt zurückstring | nil die ID des Menüs auf dem Schirm

SetOptions

Client
exports.cs_menu:SetOptions(id, options, selected)

Neue Zeilen unter einem offenen Menü. Sie werden über die alten gelegt, eine gleiche Zeile blinkt nicht. Die Callbacks antworten ab dann aus den neuen Zeilen.

idstring
optionstable
selectednumber
optional, die Zeile mit dem Cursor

Eine ID gehört deiner Resource. Zwei Scripts dürfen beide ein main haben, ohne sich zu treffen. Es dürfen mehrere Menüs offen sein, zu sehen ist das oberste und beim Schließen kommt das darunter ohne Animation zurück.

idstring
Optional und nur deine.
titlestring
Die Zeile unter der Überschrift.
brand / accentstring
Die zwei Wörter darüber. Ohne gilt die config.lua.
alignstring= Config.Align
Wo das Fenster sitzt.
visiblenumber= Config.Visible
Zeilen, bevor gescrollt wird.
mouseboolean= false
Hover und Klick. Nimmt auch die Tastatur.
keepInputboolean= Config.KeepInput
Mit Maus: ob der Spieler weiterlaufen kann.
previewboolean= false
Ohne Cursor und Tasten, bis Focus(id).
html / iconsboolean= true
Ob HTML gezeichnet wird und ob Zeilen Icons haben dürfen.
closeOnBackboolean= Config.CloseOnBack
Ob Zurück schließt.
optionstable
Die Zeilen.
onSelectfunction(index, option)
Eine Zeile gewählt.
onChangefunction(index, option)
Cursor bewegt oder Wert geändert.
onBackfunction()
Zurück gedrückt. Danach schließt das Menü, außer bei closeOnBack = false.
onClosefunction()

Zeilen-Felder

label / descriptionstring
Erste und zweite Zeile.
icon / svgstring
Siehe Icons.
rightstring
Kurzer Text rechts, etwa ein Preis.
disabled / static / headingboolean
Gedimmt, in voller Stärke ohne Cursor, oder eine Überschrift mit Linie. Auf den beiden letzten landet der Cursor nie.
arrowboolean
Der Pfeil. An für eine Zeile, die ein anderes Menü öffnet.
closeboolean= true
Ob das Menü nach dem Wählen schließt.
values / defaultIndextable / number
Etwas zum Durchschalten. Gezählt ab 1.
min / max / step / valuenumber
Eine Zahl zum Durchschalten.
checkedboolean
Ein Schalter. Enter schaltet, das Menü bleibt offen.
progressnumber
Ein Balken unter dem Label, 0 bis 100.
inputstring | table
'text', 'number' oder { type, value, placeholder, min, max, maxLength }. Getipptes landet in text auf deiner Zeile. Enter oder ein Klick setzt die Schreibmarke hinein, Enter oder Escape nimmt sie wieder heraus. Solange getippt wird, hält das Fenster die Tastatur, auch ohne Maus.
metadatatable
Details zur gewählten Zeile: { label, value, progress } oder nur Text.
menustring
Öffnet stattdessen dieses Menü.
event / serverEvent / argsstring / any
Statt onSelect.
onSelect / onChangefunction(option)
Nur für diese Zeile.

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