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

UO.GetScriptsCount

ClassicUO • Runtime API

Zählt aktive Ausführungen dieses Clients.

Genaue Syntax

UO.GetScriptsCount() -> Integer

Parameter

Keine Parameter.

Rückgabewert

Integer >= 0: Anzahl aktiver Ausführungen einschließlich pausierter. Eine Anzahl, kein Boolean und kein Index.

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.
  • Keine Argumente. Das Zählen sortiert die Liste nicht und verändert keinen Lauf.

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.

Integer >= 0: Anzahl aktiver Ausführungen einschließlich pausierter. Eine Anzahl, kein Boolean und kein Index.

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

2. GetScriptsCount

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

Keine Argumente. Das Zählen sortiert die Liste nicht und verändert keinen Lauf.

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

3. GetScriptsCount

_running.Count(entry => !entry.Value.Cancellation.IsCancellationRequested)

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 GetScriptsCount.

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
#
# Zählt aktive Ausführungen dieses Clients.
#
# Integer >= 0: Anzahl aktiver Ausführungen einschließlich pausierter. Eine Anzahl, kein Boolean
# und kein Index.

SUB Main()
    # Sub Main ausführen. Übergebene 0 ist ein Index; leere Klammern bedeuten keine Argumente.
    # Print-Texte sind Beispielmeldungen.
    # Keine Argumente. Das Zählen sortiert die Liste nicht und verändert keinen Lauf.
    # Integer >= 0: Anzahl aktiver Ausführungen einschließlich pausierter. Eine Anzahl, kein Boolean
    # und kein Index.

    Dim count=UO.GetScriptsCount()
    UO.Print(CStr(count))
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.
  • Keine Argumente. Das Zählen sortiert die Liste nicht und verändert keinen Lauf.
  • Integer >= 0: Anzahl aktiver Ausführungen einschließlich pausierter. Eine Anzahl, kein Boolean und kein Index.

Schleife oder Bedingung

# Schleife oder Bedingung
#
# Zählt aktive Ausführungen dieses Clients.
#
# Integer >= 0: Anzahl aktiver Ausführungen einschließlich pausierter. Eine Anzahl, kein Boolean
# und kein Index.

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.
    # Keine Argumente. Das Zählen sortiert die Liste nicht und verändert keinen Lauf.
    # Integer >= 0: Anzahl aktiver Ausführungen einschließlich pausierter. Eine Anzahl, kein Boolean
    # und kein Index.

    Dim before=UO.GetScriptsCount()
    Wait(250)
    Dim after=UO.GetScriptsCount()
    UO.Print(CStr(after-before))
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.
  • Keine Argumente. Das Zählen sortiert die Liste nicht und verändert keinen Lauf.
  • Integer >= 0: Anzahl aktiver Ausführungen einschließlich pausierter. Eine Anzahl, kein Boolean und kein Index.

Vollständige Hilfsfunktion

# Vollständige Hilfsfunktion
#
# Zählt aktive Ausführungen dieses Clients.
#
# Integer >= 0: Anzahl aktiver Ausführungen einschließlich pausierter. Eine Anzahl, kein Boolean
# und kein Index.

SUB Main()
    # Die vollständige Funktion steht unter Main. Ihre Parameter und Rückgaben sind vom verwendeten
    # API-Befehl zu unterscheiden.
    # HasOtherScripts vergleicht mit 1, weil der Aufrufer normalerweise selbst einen Eintrag belegt.
    # Nur der Helfer liefert true/false.
    # Integer >= 0: Anzahl aktiver Ausführungen einschließlich pausierter. Eine Anzahl, kein Boolean
    # und kein Index.

    If HasOtherScripts() Then
        UO.Print("Other executions are active")
    Else
        UO.Print("No other active executions")
    End If
END SUB

Function HasOtherScripts() As Boolean
    Dim count=UO.GetScriptsCount()
    Return count > 1
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.
  • HasOtherScripts vergleicht mit 1, weil der Aufrufer normalerweise selbst einen Eintrag belegt. Nur der Helfer liefert true/false.
  • Integer >= 0: Anzahl aktiver Ausführungen einschließlich pausierter. Eine Anzahl, kein Boolean und kein Index.

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

Basic