API UO GetScriptName de - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

UO.GetScriptName

ClassicUO • Runtime API

Liest den Anzeigenamen einer aktiven Ausführung.

Genaue Syntax

UO.GetScriptName(ScriptIndex:Any) -> String

Parameter

  • ScriptIndex — Erforderlicher ganzzahliger ScriptIndex ab null aus einem aktuellen GetScriptsList. Negative oder fehlende Indizes liefern den dokumentierten leeren/unbekannten Wert. Keine Gegenstands-Serial, Prozedurnamen oder IDE-Lauf-ID übergeben.

Rückgabewert

String: Anzeigename oder "", wenn der Index fehlt. Auch ein vorhandener Lauf kann ausdrücklich einen leeren Namen haben.

Verhalten

  • Laufende und pausierte Ausführungen zählen; abgeschlossene oder bereits abgebrochene werden ausgeschlossen. Der Aufrufer zählt normalerweise mit. Nur geladene IDE-Tabs sind keine Ausführungen.
  • Indizes sind aktuelle Positionen in Startreihenfolge. Starts und Stopps können Positionen verschieben. Einzelne Aufrufe bilden keinen atomaren Gesamtschnappschuss; vor späteren Steuerbefehlen neu lesen.
  • Das Schließen der Basic IDE entfernt aktive Ausführungen nicht. Diese Befehle betreffen diesen Client, keine anderen Clients oder Windows-Prozesse.
  • GetScriptsList liefert Indizes, GetScriptsCount eine Anzahl, GetScriptState einen dreistufigen Zustand. Werte nicht vertauschen oder jede Zahl ungleich null als true interpretieren.
  • ScriptIndex=0 bezeichnet den ersten aktuellen Lauf, nicht unbedingt den Aufrufer. SetScriptName ändert den Anzeigenamen, nicht den Dateinamen.

Interne Funktionen: vom Aufruf zum Ergebnis

Es folgen tatsächliche Clientmethoden. Die Basic-Beispiele enthalten vollständige Helfer; interne C#-Methodennamen sind keine zusätzlichen Skriptbefehle.

1. ExecuteStealthCompatibility

Die Runtime ruft den registrierten UO-Befehl auf und verpackt das Brückenergebnis als Integer, String oder Array.

String: Anzeigename oder "", wenn der Index fehlt. Auch ein vorhandener Lauf kann ausdrücklich einen leeren Namen haben.

Projektquelle: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; Funktion ExecuteStealthCompatibility.

2. GetScriptName

Die Brücke verwendet den Ausführungsmanager dieses Clients.

ScriptIndex=0 bezeichnet den ersten aktuellen Lauf, nicht unbedingt den Aufrufer. SetScriptName ändert den Anzeigenamen, nicht den Dateinamen.

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

3. GetScriptName

ElementAt(RunningScripts(), index)?.Name ?? string.Empty

Indizes sind aktuelle Positionen in Startreihenfolge. Starts und Stopps können Positionen verschieben. Einzelne Aufrufe bilden keinen atomaren Gesamtschnappschuss; vor späteren Steuerbefehlen neu lesen.

Projektquelle: src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs; Funktion GetScriptName.

Das Schließen der Basic IDE entfernt aktive Ausführungen nicht. Diese Befehle betreffen diesen Client, keine anderen Clients oder Windows-Prozesse.

Beispiele

Erster Aufruf und Ergebnis

# Erster Aufruf und Ergebnis
#
# Liest den Anzeigenamen einer aktiven Ausführung.
#
# String: Anzeigename oder "", wenn der Index fehlt. Auch ein vorhandener Lauf kann ausdrücklich
# einen leeren Namen haben.

SUB Main()
    # Sub Main ausführen. Übergebene 0 ist ein Index; leere Klammern bedeuten keine Argumente.
    # Print-Texte sind Beispielmeldungen.
    # ScriptIndex=0 bezeichnet den ersten aktuellen Lauf, nicht unbedingt den Aufrufer.
    # SetScriptName ändert den Anzeigenamen, nicht den Dateinamen.
    # String: Anzeigename oder "", wenn der Index fehlt. Auch ein vorhandener Lauf kann ausdrücklich
    # einen leeren Namen haben.
    # Erforderlicher ganzzahliger ScriptIndex ab null aus einem aktuellen GetScriptsList. Negative
    # oder fehlende Indizes liefern den dokumentierten leeren/unbekannten Wert. Keine
    # Gegenstands-Serial, Prozedurnamen oder IDE-Lauf-ID übergeben.

    Dim index=0
    Dim name=UO.GetScriptName(index)
    UO.Print(name)
END SUB

Erläuterung der Parameter und Ausführung:

  • Sub Main ausführen. Übergebene 0 ist ein Index; leere Klammern bedeuten keine Argumente. Print-Texte sind Beispielmeldungen.
  • ScriptIndex=0 bezeichnet den ersten aktuellen Lauf, nicht unbedingt den Aufrufer. SetScriptName ändert den Anzeigenamen, nicht den Dateinamen.
  • String: Anzeigename oder "", wenn der Index fehlt. Auch ein vorhandener Lauf kann ausdrücklich einen leeren Namen haben.
  • Erforderlicher ganzzahliger ScriptIndex ab null aus einem aktuellen GetScriptsList. Negative oder fehlende Indizes liefern den dokumentierten leeren/unbekannten Wert. Keine Gegenstands-Serial, Prozedurnamen oder IDE-Lauf-ID übergeben.

Schleife oder Bedingung

# Schleife oder Bedingung
#
# Liest den Anzeigenamen einer aktiven Ausführung.
#
# String: Anzeigename oder "", wenn der Index fehlt. Auch ein vorhandener Lauf kann ausdrücklich
# einen leeren Namen haben.

SUB Main()
    # Eigenständiges Beispiel mit mehreren Befehlen. Arrayindizes beginnen bei null; vor dem Zugriff
    # die Länge prüfen. Wait(250) wartet gegebenenfalls 250 Millisekunden.
    # ScriptIndex=0 bezeichnet den ersten aktuellen Lauf, nicht unbedingt den Aufrufer.
    # SetScriptName ändert den Anzeigenamen, nicht den Dateinamen.
    # String: Anzeigename oder "", wenn der Index fehlt. Auch ein vorhandener Lauf kann ausdrücklich
    # einen leeren Namen haben.
    # Erforderlicher ganzzahliger ScriptIndex ab null aus einem aktuellen GetScriptsList. Negative
    # oder fehlende Indizes liefern den dokumentierten leeren/unbekannten Wert. Keine
    # Gegenstands-Serial, Prozedurnamen oder IDE-Lauf-ID übergeben.

    Dim indices=UO.GetScriptsList()
    For Each index In indices
        Dim name=UO.GetScriptName(index)
        UO.Print(CStr(index) & " = " & name)
    Next
END SUB

Erläuterung der Parameter und Ausführung:

  • Eigenständiges Beispiel mit mehreren Befehlen. Arrayindizes beginnen bei null; vor dem Zugriff die Länge prüfen. Wait(250) wartet gegebenenfalls 250 Millisekunden.
  • ScriptIndex=0 bezeichnet den ersten aktuellen Lauf, nicht unbedingt den Aufrufer. SetScriptName ändert den Anzeigenamen, nicht den Dateinamen.
  • String: Anzeigename oder "", wenn der Index fehlt. Auch ein vorhandener Lauf kann ausdrücklich einen leeren Namen haben.
  • Erforderlicher ganzzahliger ScriptIndex ab null aus einem aktuellen GetScriptsList. Negative oder fehlende Indizes liefern den dokumentierten leeren/unbekannten Wert. Keine Gegenstands-Serial, Prozedurnamen oder IDE-Lauf-ID übergeben.

Vollständige Hilfsfunktion

# Vollständige Hilfsfunktion
#
# Liest den Anzeigenamen einer aktiven Ausführung.
#
# String: Anzeigename oder "", wenn der Index fehlt. Auch ein vorhandener Lauf kann ausdrücklich
# einen leeren Namen haben.

SUB Main()
    # Die vollständige Funktion steht unter Main. Ihre Parameter und Rückgaben sind vom verwendeten
    # API-Befehl zu unterscheiden.
    # DescribeScript prüft den Zustand und verbindet Name und Pfad. Ein Stopp kann dazwischen
    # erfolgen; "missing" stammt vom Helfer, nicht von GetScriptName.
    # String: Anzeigename oder "", wenn der Index fehlt. Auch ein vorhandener Lauf kann ausdrücklich
    # einen leeren Namen haben.
    # Erforderlicher ganzzahliger ScriptIndex ab null aus einem aktuellen GetScriptsList. Negative
    # oder fehlende Indizes liefern den dokumentierten leeren/unbekannten Wert. Keine
    # Gegenstands-Serial, Prozedurnamen oder IDE-Lauf-ID übergeben.

    UO.Print(DescribeScript(0))
END SUB

Function DescribeScript(index) As String
    If UO.GetScriptState(index)=0 Then
        Return "missing"
    End If
    Return UO.GetScriptName(index) & " | " & UO.GetScriptPath(index)
End Function

Erläuterung der Parameter und Ausführung:

  • Die vollständige Funktion steht unter Main. Ihre Parameter und Rückgaben sind vom verwendeten API-Befehl zu unterscheiden.
  • DescribeScript prüft den Zustand und verbindet Name und Pfad. Ein Stopp kann dazwischen erfolgen; "missing" stammt vom Helfer, nicht von GetScriptName.
  • String: Anzeigename oder "", wenn der Index fehlt. Auch ein vorhandener Lauf kann ausdrücklich einen leeren Namen haben.
  • Erforderlicher ganzzahliger ScriptIndex ab null aus einem aktuellen GetScriptsList. Negative oder fehlende Indizes liefern den dokumentierten leeren/unbekannten Wert. Keine Gegenstands-Serial, Prozedurnamen oder IDE-Lauf-ID übergeben.

en · ru · uk · fr · de · it · es · zh-tw · ja · ko

Basic