Skip to content

API messagebox de

Codex edited this page Sep 26, 2026 · 1 revision

messagebox

ClassicUO / Basic IDE

Home · API · Journal

Integrierte Basic-Funktion ohne UO. Erwartet genau eine Zeichenfolge. messagebox öffnet hier keinen Dialog, wartet auf keine Schaltfläche und liefert keine Benutzerantwort; beide Funktionen verwenden die lokale Spielausgabe.

Genaue Syntax

messagebox(text:String) -> Unit

Parameter

  • text — Nachrichtentext. Zahlen ausdrücklich mit CStr verknüpfen; Namen und Koordinaten werden nicht automatisch eingesetzt. Anführungszeichen begrenzen die Zeichenfolge und werden nicht mitgesendet.

Rückgabewert

Unit: kein Rückgabewert. Als eigene Anweisung aufrufen; das Ergebnis ist weder True/False noch Serial oder Anzahl. Die Rückkehr bestätigt keine Serverantwort.

Verhalten

  • Die Zeile erscheint links unten im Spielfenster und im lokalen Journal. Eine Kopie steht in der IDE-Ausgabe; der Manager zeigt lokale Einträge auch ohne Spielfenster im Systemjournal der Sitzung. Kein Sprachpaket wird gesendet. Für Text über dem Kopf dient UO.CharPrint.
  • Ausgaben erweitern selbst das Journal. Suchergebnis oder letzte Zeile vor einer Diagnoseausgabe speichern. In schnellen Schleifen nur Änderungen melden, nicht jede Iteration.
  • Ohne Farbe gilt Hue 0x03B2. UO.Print(text, color) erwartet zuerst den Text; UO.ColorPrint(color, text) zuerst die Farbe.
  • Integrierte Basic-Funktion ohne UO. Erwartet genau eine Zeichenfolge. messagebox öffnet hier keinen Dialog, wartet auf keine Schaltfläche und liefert keine Benutzerantwort; beide Funktionen verwenden die lokale Spielausgabe.
  • UO.Print · UO.CharPrint · UO.Say · UO.ConColor

Interne Funktionen: vom Aufruf zum Ergebnis

Die Zeile erscheint links unten im Spielfenster und im lokalen Journal. Eine Kopie steht in der IDE-Ausgabe; der Manager zeigt lokale Einträge auch ohne Spielfenster im Systemjournal der Sitzung. Kein Sprachpaket wird gesendet. Für Text über dem Kopf dient UO.CharPrint.

1. Message

Integrierte Basic-Funktion ohne UO. Erwartet genau eine Zeichenfolge. messagebox öffnet hier keinen Dialog, wartet auf keine Schaltfläche und liefert keine Benutzerantwort; beide Funktionen verwenden die lokale Spielausgabe.

Unit: kein Rückgabewert. Als eigene Anweisung aufrufen; das Ergebnis ist weder True/False noch Serial oder Anzahl. Die Rückkehr bestätigt keine Serverantwort.

Projektquelle: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; Funktion Message.

2. PrintClientMessage

Zeigt eine lokale Fortschrittsmeldung oder Abbruchbedingung. Nur Sie sehen sie, andere Spieler nicht.

Die Zeile erscheint links unten im Spielfenster und im lokalen Journal. Eine Kopie steht in der IDE-Ausgabe; der Manager zeigt lokale Einträge auch ohne Spielfenster im Systemjournal der Sitzung. Kein Sprachpaket wird gesendet. Für Text über dem Kopf dient UO.CharPrint.

Projektquelle: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; Funktion PrintClientMessage.

3. Print

Ausgaben erweitern selbst das Journal. Suchergebnis oder letzte Zeile vor einer Diagnoseausgabe speichern. In schnellen Schleifen nur Änderungen melden, nicht jede Iteration.

Unit: kein Rückgabewert. Als eigene Anweisung aufrufen; das Ergebnis ist weder True/False noch Serial oder Anzahl. Die Rückkehr bestätigt keine Serverantwort.

Projektquelle: src/ClassicUO.Client/Game/GameActions.cs; Funktion Print.

Beispiele

Fortschrittsbericht

# Fortschrittsbericht
#
# Integrierte Basic-Funktion ohne UO. Erwartet genau eine Zeichenfolge. messagebox öffnet hier
# keinen Dialog, wartet auf keine Schaltfläche und liefert keine Benutzerantwort; beide
# Funktionen verwenden die lokale Spielausgabe.
#
# Unit: kein Rückgabewert. Als eigene Anweisung aufrufen; das Ergebnis ist weder True/False noch
# Serial oder Anzahl. Die Rückkehr bestätigt keine Serverantwort.

SUB Main()
    # processed=12 ist eine Beispielanzahl bereits bearbeiteter Gegenstände. CStr wandelt sie in
    # Text um. Das Beispiel meldet nur die Anzahl und verschiebt keine Gegenstände.

    VAR processed = 12
    messagebox("Processed item entries: " + CStr(processed))
END SUB

Erläuterung der Parameter und Ausführung:

  • processed=12 ist eine Beispielanzahl bereits bearbeiteter Gegenstände. CStr wandelt sie in Text um. Das Beispiel meldet nur die Anzahl und verschiebt keine Gegenstände.

Warnung bei Übergewicht

# Warnung bei Übergewicht
#
# Integrierte Basic-Funktion ohne UO. Erwartet genau eine Zeichenfolge. messagebox öffnet hier
# keinen Dialog, wartet auf keine Schaltfläche und liefert keine Benutzerantwort; beide
# Funktionen verwenden die lokale Spielausgabe.
#
# Unit: kein Rückgabewert. Als eigene Anweisung aufrufen; das Ergebnis ist weder True/False noch
# Serial oder Anzahl. Die Rückkehr bestätigt keine Serverantwort.

SUB Main()
    # Liest Gewicht und Höchstgewicht. Ein unbekanntes oder null gesetztes Maximum bedeutet kein
    # Übergewicht. Bei weight >= maximum wird einmal ausgegeben und Main beendet; es wird nichts
    # abgelegt.

    VAR weight = UO.Weight()
    VAR maximum = UO.MaxWeight()
    IF maximum > 0 AND weight >= maximum THEN
        messagebox("Too heavy: " + CStr(weight) + "/" + CStr(maximum))
        RETURN
    END IF
END SUB

Erläuterung der Parameter und Ausführung:

  • Liest Gewicht und Höchstgewicht. Ein unbekanntes oder null gesetztes Maximum bedeutet kein Übergewicht. Bei weight >= maximum wird einmal ausgegeben und Main beendet; es wird nichts abgelegt.

Nur Gewichtsänderungen melden

# Nur Gewichtsänderungen melden
#
# Integrierte Basic-Funktion ohne UO. Erwartet genau eine Zeichenfolge. messagebox öffnet hier
# keinen Dialog, wartet auf keine Schaltfläche und liefert keine Benutzerantwort; beide
# Funktionen verwenden die lokale Spielausgabe.
#
# Unit: kein Rückgabewert. Als eigene Anweisung aufrufen; das Ergebnis ist weder True/False noch
# Serial oder Anzahl. Die Rückkehr bestätigt keine Serverantwort.

SUB Main()
    # Main merkt sich das Gewicht, wartet 1000 Millisekunden und ruft den vollständig definierten
    # Helfer ReportWeight auf. Er meldet nur Änderungen und liefert das neue Gewicht für die nächste
    # Prüfung. Keine Endlosschleife.

    VAR previous = UO.Weight()
    UO.Wait(1000)
    previous = ReportWeight(previous, UO.Weight())
END SUB

SUB ReportWeight(previous, current)
    IF previous <> current THEN
        messagebox("Weight changed: " + CStr(current))
    END IF
    RETURN current
END SUB

Erläuterung der Parameter und Ausführung:

  • Main merkt sich das Gewicht, wartet 1000 Millisekunden und ruft den vollständig definierten Helfer ReportWeight auf. Er meldet nur Änderungen und liefert das neue Gewicht für die nächste Prüfung. Keine Endlosschleife.

Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

Clone this wiki locally