-
Notifications
You must be signed in to change notification settings - Fork 0
API wait de
ClassicUO / Basic IDE
Hält das aktuelle Skript für eine Anzahl Millisekunden an. Zwischen Zustandsprüfungen verwenden, um eine ständig laufende Schleife zu vermeiden.
wait(ms:Integer) -> Unit
-
ms— Ganzzahlige Millisekunden: 1000 ist eine Sekunde. 0..2147483647 verwenden. Keine Schritte, Sekunden oder Zeitgrenze für eine Serverbestätigung.
Unit: kein Ergebnis. Als eigene Anweisung aufrufen. Eine abgelaufene Wartezeit bestätigt weder Gegenstandsbewegung noch Zauberabschluss oder Verbindung; den Zustand gesondert prüfen.
- Die aktuelle Prozedur wartet, während Spielschleife und andere Skripte weiterlaufen. Skriptabbruch unterbricht die Wartezeit über das Abbruchtoken. Systemplanung und Handler können die tatsächliche Dauer verlängern; keine Garantie für exakte Frame-Zeiten. Für asynchrone Aufgaben gibt es Basic Delay mit Await.
- UO.Wait zerlegt positive Zeiten in Abschnitte bis 25 ms und prüft dazwischen UO-Ereignisse. wait und sleep rufen dieselbe Basic-Funktion auf und bedienen vorhandene Engine-Timer und Callbacks, lösen aber selbst keine alten UO-Ereignisse aus. Bei UO.SetEvent sind die Namen nicht vollständig austauschbar.
- Null erzeugt keine echte Verzögerung und eignet sich nicht zur Taktung einer schnellen Schleife. Negative Zeit bedeutet nicht unendlich: UO.Wait begrenzt sie auf 0; wait/sleep können sie bei aktiven Callbacks ablehnen, während die Client-Brücke ohne diese nicht wartet. Nur nichtnegative Werte verwenden.
- Basic.WaitUntil · Basic.Timers · Delay
Hält das aktuelle Skript für eine Anzahl Millisekunden an. Zwischen Zustandsprüfungen verwenden, um eine ständig laufende Schleife zu vermeiden.
Ganzzahlige Millisekunden: 1000 ist eine Sekunde. 0..2147483647 verwenden. Keine Schritte, Sekunden oder Zeitgrenze für eine Serverbestätigung.
UO.Wait zerlegt positive Zeiten in Abschnitte bis 25 ms und prüft dazwischen UO-Ereignisse. wait und sleep rufen dieselbe Basic-Funktion auf und bedienen vorhandene Engine-Timer und Callbacks, lösen aber selbst keine alten UO-Ereignisse aus. Bei UO.SetEvent sind die Namen nicht vollständig austauschbar.
Projektquelle: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; Funktion Wait.
Die aktuelle Prozedur wartet, während Spielschleife und andere Skripte weiterlaufen. Skriptabbruch unterbricht die Wartezeit über das Abbruchtoken. Systemplanung und Handler können die tatsächliche Dauer verlängern; keine Garantie für exakte Frame-Zeiten. Für asynchrone Aufgaben gibt es Basic Delay mit Await.
Null erzeugt keine echte Verzögerung und eignet sich nicht zur Taktung einer schnellen Schleife. Negative Zeit bedeutet nicht unendlich: UO.Wait begrenzt sie auf 0; wait/sleep können sie bei aktiven Callbacks ablehnen, während die Client-Brücke ohne diese nicht wartet. Nur nichtnegative Werte verwenden.
Projektquelle: external/InjectionScript/src/InjectionScript/Runtime/Interpreter.Timers.cs; Funktion WaitWithTimers.
Ganzzahlige Millisekunden: 1000 ist eine Sekunde. 0..2147483647 verwenden. Keine Schritte, Sekunden oder Zeitgrenze für eine Serverbestätigung.
Die aktuelle Prozedur wartet, während Spielschleife und andere Skripte weiterlaufen. Skriptabbruch unterbricht die Wartezeit über das Abbruchtoken. Systemplanung und Handler können die tatsächliche Dauer verlängern; keine Garantie für exakte Frame-Zeiten. Für asynchrone Aufgaben gibt es Basic Delay mit Await.
Projektquelle: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; Funktion Wait.
# wait — 1
#
# Hält das aktuelle Skript für eine Anzahl Millisekunden an. Zwischen Zustandsprüfungen
# verwenden, um eine ständig laufende Schleife zu vermeiden.
#
# Unit: kein Ergebnis. Als eigene Anweisung aufrufen. Eine abgelaufene Wartezeit bestätigt weder
# Gegenstandsbewegung noch Zauberabschluss oder Verbindung; den Zustand gesondert prüfen.
SUB Main()
# 250 ist eine Viertelsekunde. Die nächste Anweisung folgt danach; Delay complete ist
# Beispieltext und kein Rückgabewert.
wait(250)
UO.Print("Delay complete")
END SUBErläuterung der Parameter und Ausführung:
- 250 ist eine Viertelsekunde. Die nächste Anweisung folgt danach; Delay complete ist Beispieltext und kein Rückgabewert.
# wait — 2
#
# Hält das aktuelle Skript für eine Anzahl Millisekunden an. Zwischen Zustandsprüfungen
# verwenden, um eine ständig laufende Schleife zu vermeiden.
#
# Unit: kein Ergebnis. Als eigene Anweisung aufrufen. Eine abgelaufene Wartezeit bestätigt weder
# Gegenstandsbewegung noch Zauberabschluss oder Verbindung; den Zustand gesondert prüfen.
SUB Main()
# WaitForOnline ist vollständig definiert. 20 erlaubt höchstens zwanzig Pausen von je 250 ms.
# Vor den Pausen und nach der letzten wird die Verbindung geprüft. Der Helfer liefert Connected
# (1/0); der Wartebefehl liefert nichts und stellt keine Verbindung her.
RETURN WaitForOnline(20)
END SUB
SUB WaitForOnline(checks)
WHILE checks > 0
IF UO.Connected() THEN
RETURN 1
END IF
wait(250)
checks = checks - 1
WEND
RETURN UO.Connected()
END SUBErläuterung der Parameter und Ausführung:
- WaitForOnline ist vollständig definiert. 20 erlaubt höchstens zwanzig Pausen von je 250 ms. Vor den Pausen und nach der letzten wird die Verbindung geprüft. Der Helfer liefert Connected (1/0); der Wartebefehl liefert nichts und stellt keine Verbindung her.
# wait — 3
#
# Hält das aktuelle Skript für eine Anzahl Millisekunden an. Zwischen Zustandsprüfungen
# verwenden, um eine ständig laufende Schleife zu vermeiden.
#
# Unit: kein Ergebnis. Als eigene Anweisung aufrufen. Eine abgelaufene Wartezeit bestätigt weder
# Gegenstandsbewegung noch Zauberabschluss oder Verbindung; den Zustand gesondert prüfen.
SUB Main()
# Die Schleife liest das Gewicht genau dreimal mit zwei Pausen von 500 ms dazwischen, ohne
# abschließende Pause. Ausgabe beim ersten Lesen und bei Änderungen. previous speichert einen
# Vergleichswert und verändert nicht das Spielgewicht.
VAR previous = -1
VAR checks = 0
WHILE checks < 3
VAR weight = UO.Weight()
IF weight <> previous THEN
UO.Print("Weight: " + CStr(weight))
previous = weight
END IF
checks = checks + 1
IF checks < 3 THEN
wait(500)
END IF
WEND
END SUBErläuterung der Parameter und Ausführung:
- Die Schleife liest das Gewicht genau dreimal mit zwei Pausen von 500 ms dazwischen, ohne abschließende Pause. Ausgabe beim ersten Lesen und bei Änderungen. previous speichert einen Vergleichswert und verändert nicht das Spielgewicht.
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь