-
Notifications
You must be signed in to change notification settings - Fork 0
API UO Exec de
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
UO.Exec · UO.Launch · UO.CallSub · UO.FunRunning · UO.SubExists
ClassicUO • Runtime API
Führt einen einzelnen Befehl in Konsolenschreibweise aus, etwa wenn Name oder Argumente als Text zusammengesetzt werden. Direkte Aufrufe wie UO.UseSkill("Hiding") sind meist übersichtlicher. Beliebiger Basic-Quellcode wird nicht ausgewertet.
UO.Exec(parameters:String) -> Unit
-
parameters— Erforderlicher String: Befehlsname und durch Leerzeichen getrennte Argumente, z. B. useskill Hiding. Im String ohne UO., Aufrufklammern oder Kommas; in Basic selbst UO.Exec(...). Leere Eingabe bewirkt nichts.
Unit: kein Wert. Rückgabewerte des aufgerufenen Befehls oder einer lokalen Function werden verworfen. Dafür ist ein direkter Aufruf nötig. Die Rückkehr bestätigt keine Serveraktion.
- Einfache oder doppelte Anführungszeichen gruppieren Argumente mit Leerzeichen. '' erhält ein leeres Argument; '00123' bleibt ein String mit führenden Nullen. Ohne Anführungszeichen werden Zahlen erkannt, andere Tokens bleiben Strings. 2+3 wird nicht berechnet.
- Windows-/UNC-Backslashes bleiben erhalten. Einen abschließenden Backslash direkt vor dem Schlusszeichen verdoppeln oder / verwenden. Ein passendes Anführungszeichen im Argument verdoppeln oder mit Backslash maskieren. Offene Anführungszeichen erzeugen einen Fehler. Print/Msg/Say/ConsolePrint/TextPrint verbinden den Rest zu Text; ColorPrint/CharPrint trennen ihre ersten Argumente davon.
- Zuerst wird ein passender UO-Handler gesucht, dann eine lokale Sub/Function dieser Runtime mit passender Argumentanzahl. Lokale Aufrufe sind synchron. Die Sonderform exec Prozedurname fordert beim Manager eine separate Aufgabe ohne Argumente an. Ein dort unbekannter Name startet nichts. Der Prozedurname ist kein Dateipfad.
- Unbekannte normale Befehle, falsche Argumentanzahl oder Anführungszeichen liefern einen mit Try/Catch abfangbaren Fehler. exec verlangt genau einen nichtleeren Namen. Ein aktiver Lauf wird weder dupliziert noch aus Pause fortgesetzt. Dateien: startscript; Katalog: SubExists/FunRunning. Aliase: sayu→Say, closeuo→CloseHandle, CountOnGround→CountGround, clearignorelist→IgnoreReset, canceltarget→CancelTarget, cancelmove→MoveOff.
Dies sind Implementierungsschritte des Clients, keine zusätzlichen Basic-Befehle. Hilfsprozeduren sind vollständig angegeben.
Einfache oder doppelte Anführungszeichen gruppieren Argumente mit Leerzeichen. '' erhält ein leeres Argument; '00123' bleibt ein String mit führenden Nullen. Ohne Anführungszeichen werden Zahlen erkannt, andere Tokens bleiben Strings. 2+3 wird nicht berechnet.
Windows-/UNC-Backslashes bleiben erhalten. Einen abschließenden Backslash direkt vor dem Schlusszeichen verdoppeln oder / verwenden. Ein passendes Anführungszeichen im Argument verdoppeln oder mit Backslash maskieren. Offene Anführungszeichen erzeugen einen Fehler. Print/Msg/Say/ConsolePrint/TextPrint verbinden den Rest zu Text; ColorPrint/CharPrint trennen ihre ersten Argumente davon.
Projektquelle: external/InjectionScript/src/InjectionScript/Runtime/InjectionRuntime.cs; Funktion Tokenize.
Zuerst wird ein passender UO-Handler gesucht, dann eine lokale Sub/Function dieser Runtime mit passender Argumentanzahl. Lokale Aufrufe sind synchron. Die Sonderform exec Prozedurname fordert beim Manager eine separate Aufgabe ohne Argumente an. Ein dort unbekannter Name startet nichts. Der Prozedurname ist kein Dateipfad.
Unit: kein Wert. Rückgabewerte des aufgerufenen Befehls oder einer lokalen Function werden verworfen. Dafür ist ein direkter Aufruf nötig. Die Rückkehr bestätigt keine Serveraktion.
Projektquelle: external/InjectionScript/src/InjectionScript/Runtime/InjectionRuntime.cs; Funktion Exec / CallNativeSubrutine.
Dies sind Implementierungsschritte des Clients, keine zusätzlichen Basic-Befehle. Hilfsprozeduren sind vollständig angegeben.
# Fertigkeit verwenden
#
# Führt einen einzelnen Befehl in Konsolenschreibweise aus, etwa wenn Name oder Argumente als
# Text zusammengesetzt werden. Direkte Aufrufe wie UO.UseSkill("Hiding") sind meist
# übersichtlicher. Beliebiger Basic-Quellcode wird nicht ausgewertet.
#
# Unit: kein Wert. Rückgabewerte des aufgerufenen Befehls oder einer lokalen Function werden
# verworfen. Dafür ist ein direkter Aufruf nötig. Die Rückkehr bestätigt keine Serveraktion.
SUB Main()
# Hiding ist das einzige UseSkill-Argument. Im Spiel wird die Fertigkeit angefordert; der Server
# entscheidet über Erfolg. Direkt: UO.UseSkill("Hiding").
UO.Exec("useskill Hiding")
END SUBErläuterung der Parameter und Ausführung:
- Hiding ist das einzige UseSkill-Argument. Im Spiel wird die Fertigkeit angefordert; der Server entscheidet über Erfolg. Direkt: UO.UseSkill("Hiding").
# Text an lokale Prozedur übergeben
#
# Führt einen einzelnen Befehl in Konsolenschreibweise aus, etwa wenn Name oder Argumente als
# Text zusammengesetzt werden. Direkte Aufrufe wie UO.UseSkill("Hiding") sind meist
# übersichtlicher. Beliebiger Basic-Quellcode wird nicht ausgewertet.
#
# Unit: kein Wert. Rückgabewerte des aufgerufenen Befehls oder einer lokalen Function werden
# verworfen. Dafür ist ein direkter Aufruf nötig. Die Rückkehr bestätigt keine Serveraktion.
SUB Main()
# SelectSavedRoute ist unten definiert und speichert den Routennamen. 00123 bleibt dank
# Anführungszeichen erhalten. Nach dem synchronen Aufruf gibt Main diesen String zurück; die
# Figur bewegt sich nicht.
UO.Exec("SelectSavedRoute '00123'")
Return UO.GetGlobal("manual", "savedRoute")
END SUB
Sub SelectSavedRoute(name)
UO.SetGlobal("manual", "savedRoute", name)
End SubErläuterung der Parameter und Ausführung:
- SelectSavedRoute ist unten definiert und speichert den Routennamen. 00123 bleibt dank Anführungszeichen erhalten. Nach dem synchronen Aufruf gibt Main diesen String zurück; die Figur bewegt sich nicht.
# Unabhängige Überwachung starten
#
# Führt einen einzelnen Befehl in Konsolenschreibweise aus, etwa wenn Name oder Argumente als
# Text zusammengesetzt werden. Direkte Aufrufe wie UO.UseSkill("Hiding") sind meist
# übersichtlicher. Beliebiger Basic-Quellcode wird nicht ausgewertet.
#
# Unit: kein Wert. Rückgabewerte des aufgerufenen Befehls oder einer lokalen Function werden
# verworfen. Dafür ist ein direkter Aufruf nötig. Die Rückkehr bestätigt keine Serveraktion.
SUB Main()
# Gesamte Datei im Manager/IDE laden, dann Main starten: WeightWatch muss im Katalog stehen.
# Drei Gewichtsmessungen im Abstand von 1000 ms laufen unabhängig. Gleichzeitige Prozeduren
# müssen erlaubt sein; ein erneuter Aufruf hebt keine Pause auf.
UO.Exec("exec WeightWatch")
END SUB
Sub WeightWatch()
Dim sample
For sample = 1 To 3
If UO.Connected() Then
UO.Print("Weight: " & CStr(UO.Weight()))
End If
UO.Wait(1000)
Next
End SubErläuterung der Parameter und Ausführung:
- Gesamte Datei im Manager/IDE laden, dann Main starten: WeightWatch muss im Katalog stehen. Drei Gewichtsmessungen im Abstand von 1000 ms laufen unabhängig. Gleichzeitige Prozeduren müssen erlaubt sein; ein erneuter Aufruf hebt keine Pause auf.
# Dateipfad mit Leerzeichen
#
# Führt einen einzelnen Befehl in Konsolenschreibweise aus, etwa wenn Name oder Argumente als
# Text zusammengesetzt werden. Direkte Aufrufe wie UO.UseSkill("Hiding") sind meist
# übersichtlicher. Beliebiger Basic-Quellcode wird nicht ausgewertet.
#
# Unit: kein Wert. Rückgabewerte des aufgerufenen Befehls oder einer lokalen Function werden
# verworfen. Dafür ist ein direkter Aufruf nötig. Die Rückkehr bestätigt keine Serveraktion.
SUB Main()
# Durch eine vorhandene Basic-Datei mit Main ersetzen. startscript lädt sie und fordert Main an.
# Die inneren Anführungszeichen gehören zur Konsolenform. Fehler in der IDE prüfen; Exec
# bestätigt den Start nicht.
UO.Exec("startscript 'C:\UO Scripts\Gather.bas'")
END SUBErläuterung der Parameter und Ausführung:
- Durch eine vorhandene Basic-Datei mit Main ersetzen. startscript lädt sie und fordert Main an. Die inneren Anführungszeichen gehören zur Konsolenform. Fehler in der IDE prüfen; Exec bestätigt den Start nicht.
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь