Skip to content

API UO SayU de

Codex edited this page Sep 26, 2026 · 1 revision

UO.SayU

ClassicUO / Basic IDE

Home · API · Journal

Sendet normale Sprache des Charakters an den Server, etwa eine Anfrage an einen Bankier oder einen Tierbefehl.

Genaue Syntax

UO.SayU(text:Any) -> 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

  • Ein verbundener Charakter ist erforderlich. Text wird als normale Sprache ohne Auswertung des Basic-Befehlspräfixes gesendet. bank und Shadow follow me sind Beispielformulierungen; an Server und Tiernamen anpassen. Reichweite, Berechtigung und NPC-Reaktion bestimmt der Server. Der Aufruf wartet auf kein Gump und garantiert keine Aktion.
  • Ab Protokollversion 2.0.0 wird Unicode-Sprache gesendet, davor ASCII. SayU erzwingt kein Unicode im alten Protokoll. Ohne Farbe gilt SpeechHue des Profils; auch 0xFFFF bei UO.UOSayColor wählt diesen Wert. Der Text wird nicht als Skriptcode ausgeführt.
  • UO.Print · UO.CharPrint · UO.Say · UO.ConColor

Interne Funktionen: vom Aufruf zum Ergebnis

Ein verbundener Charakter ist erforderlich. Text wird als normale Sprache ohne Auswertung des Basic-Befehlspräfixes gesendet. bank und Shadow follow me sind Beispielformulierungen; an Server und Tiernamen anpassen. Reichweite, Berechtigung und NPC-Reaktion bestimmt der Server. Der Aufruf wartet auf kein Gump und garantiert keine Aktion.

1. ExecuteLegacyManualAlias

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

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/InjectionApiUO.cs; Funktion ExecuteLegacyManualAlias.

2. SendServerSpeech

Sendet normale Sprache des Charakters an den Server, etwa eine Anfrage an einen Bankier oder einen Tierbefehl.

Ein verbundener Charakter ist erforderlich. Text wird als normale Sprache ohne Auswertung des Basic-Befehlspräfixes gesendet. bank und Shadow follow me sind Beispielformulierungen; an Server und Tiernamen anpassen. Reichweite, Berechtigung und NPC-Reaktion bestimmt der Server. Der Aufruf wartet auf kein Gump und garantiert keine Aktion.

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

3. Say

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

Ab Protokollversion 2.0.0 wird Unicode-Sprache gesendet, davor ASCII. SayU erzwingt kein Unicode im alten Protokoll. Ohne Farbe gilt SpeechHue des Profils; auch 0xFFFF bei UO.UOSayColor wählt diesen Wert. Der Text wird nicht als Skriptcode ausgeführt.

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

Beispiele

Einen Bankier ansprechen

# Einen Bankier ansprechen
#
# Sendet normale Sprache des Charakters an den Server, etwa eine Anfrage an einen Bankier oder
# einen Tierbefehl.
#
# 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()
    # Connected wird vor dem Senden geprüft. bank ist gesprochener Text, kein API-Name.
    # Normalerweise ist ein geeigneter NPC in der Nähe nötig; die Formulierung gegebenenfalls
    # ersetzen.

    IF UO.Connected() THEN
        UO.SayU("bank")
    END IF
END SUB

Erläuterung der Parameter und Ausführung:

  • Connected wird vor dem Senden geprüft. bank ist gesprochener Text, kein API-Name. Normalerweise ist ein geeigneter NPC in der Nähe nötig; die Formulierung gegebenenfalls ersetzen.

Tier über seinen Namen ansprechen

# Tier über seinen Namen ansprechen
#
# Sendet normale Sprache des Charakters an den Server, etwa eine Anfrage an einen Bankier oder
# einen Tierbefehl.
#
# 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()
    # petName ist der eigene Tiername, hier Shadow. Daraus entsteht Shadow follow me. Das Tier soll
    # Ihnen folgen; UO.Follow dagegen bewegt Ihren Charakter.

    VAR petName = "Shadow"
    IF UO.Connected() THEN
        UO.SayU(petName + " follow me")
    END IF
END SUB

Erläuterung der Parameter und Ausführung:

  • petName ist der eigene Tiername, hier Shadow. Daraus entsteht Shadow follow me. Das Tier soll Ihnen folgen; UO.Follow dagegen bewegt Ihren Charakter.

Bank nur bei Übergewicht anfordern

# Bank nur bei Übergewicht anfordern
#
# Sendet normale Sprache des Charakters an den Server, etwa eine Anfrage an einen Bankier oder
# einen Tierbefehl.
#
# 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()
    # RequestBankIfHeavy prüft Verbindung und ein bekanntes positives Höchstgewicht. Nur bei
    # Übergewicht sendet es bank und gibt 1 für eine gesendete Anfrage zurück, sonst 0. Dies ist der
    # Rückgabewert des Helfers, nicht des Sprachbefehls.

    RETURN RequestBankIfHeavy()
END SUB

SUB RequestBankIfHeavy()
    IF NOT UO.Connected() THEN
        RETURN 0
    END IF
    VAR maximum = UO.MaxWeight()
    IF maximum <= 0 OR UO.Weight() < maximum THEN
        RETURN 0
    END IF
    UO.SayU("bank")
    RETURN 1
END SUB

Erläuterung der Parameter und Ausführung:

  • RequestBankIfHeavy prüft Verbindung und ein bekanntes positives Höchstgewicht. Nur bei Übergewicht sendet es bank und gibt 1 für eine gesendete Anfrage zurück, sonst 0. Dies ist der Rückgabewert des Helfers, nicht des Sprachbefehls.

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

Clone this wiki locally