Skip to content

DE API UO ShardPath

Codex edited this page Nov 6, 2026 · 3 revisions

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

UO.ShardPath

Home · C# · IDE · UO API · A–Z · Beispiele · Sprachen

C#-Signaturen

dynamic UO.ShardPath();

Liest den Pfad des aktuellen Profils.

Parameter

Es gibt keine Parameter.

Rückgabewert

string – Text des Bridge-Feldes.CurrentProfilePath; Ohne verfügbare Daten ist ein leerer String möglich. Dies ist kein Verbindungszeichen und kein numerisches ID.

Verhalten

  • ExecuteClientApiCompatibility gibt Bridge.CurrentProfilePath zurück, ohne das Profil oder die Serverauswahl zu ändern.
  • Liest den aktuellen lokalen Status. Es gibt kein Paket, Ziel oder automatische Aktualisierung; Einzelne Lesevorgänge können unterschiedliche Zustände aufweisen.

Eigenständige C#-Skripte

Jedes Beispiel kann als separate Datei .csx gespeichert und in IDE ausgeführt werden. Die UO-Objekt- und Wartefunktionen stellen den Host der aktuellen Spielsitzung bereit. Ersetzen Sie Demo-serial-Namen, Koordinaten und Adressen durch Ihre eigenen.

Einfaches Beispiel

Führe diesen Code als eigene .csx-Datei aus. Die Argumente stehen direkt im Aufruf; ersetze Beispielnamen, Serials und Adressen durch eigene Werte.

Das Ergebnis eines Aufrufs wird im Journal ausgegeben. Zahlen werden nicht in bool umgewandelt; bei Arrays wird die Anzahl der Elemente angezeigt.

object? result = UO.ShardPath();
UO.Print(result is Array values ? "Count: " + values.Length : Convert.ToString(result));

1. Direkter Aufruf – direktes Skript

Parameter und Ablauf:

  • Liest den Pfad des aktuellen Profils.
var value = UO.ShardPath();
UO.Print(value);

2. Explizite Option – Skriptfunktion

Parameter und Ablauf:

  • ExecuteClientApiCompatibility gibt Bridge.CurrentProfilePath zurück, ohne das Profil oder die Serverauswahl zu ändern.
return  RunScenario();
 object? RunScenario()
{
    var value = UO.ShardPath();
    if (Truth(Len(value) > 0))
    {
        UO.TextPrint(value);
    }

    return null;
}

int Len(object? value) => Convert.ToString(value)?.Length ?? 0;
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;

3. Vollständige Hilfsfunktion – Skriptklasse

Parameter und Ablauf:

  • Liest den aktuellen lokalen Status. Es gibt kein Paket, Ziel oder automatische Aktualisierung; Einzelne Lesevorgänge können unterschiedliche Zustände aufweisen.
return  new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
    private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
    private readonly Func<int, Task> WaitAsync;
    private readonly string[] Args;
    private readonly CancellationToken Cancellation;
    private readonly Action Checkpoint;
    public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
    {
        UO = api;
        WaitAsync = wait;
        Args = args;
        Cancellation = cancellation;
        Checkpoint = checkpoint;
    }

     public object? RunScenario()
    {
        var before = UO.ShardPath();
        UO.Wait(500);
        var after = UO.ShardPath();
        UO.Print(before == after);
        return null;
    }
}

Implementierung des Befehls

C# unterscheidet Groß- und Kleinschreibung. Verwenden Sie den genauen UO-Namen. Numerische Flags mit 0 vergleichen; bool nur bei Rückgabetyp bool verwenden.

UO.ShardPath() — UO.ShardPath()

Parameter: Keine Parameter.

Ergebnis: dynamic / Any.

Beim Aufruf:

Interner Implementierungscode; kein eigenständiges Skript.

case "shardpath":

                case "clientprofilepath": return new InjectionValue(bridge.CurrentProfilePath);

Clone this wiki locally