GetPath

Kategorie: Landschaft
Ab Engineversion: 4.9.10.7 [334] LC

Beschreibung

Sucht mittels des auch für die Clonk-Wegfindung benutzten Algorithmus einen Weg zwischen zwei Punkten der Landschaft und gibt eine Map mit Wegpunkten und Länge zurück. Wird kein Weg gefunden, wird nil zurückgegeben. Die zurückgegebene Map hat folgende Struktur:
Schlüssel Datentyp Beschreibung
Length int Länge des gefundenen Weges, wie bei GetPathLength
Waypoints array Array mit Wegpunkten
Die Wegpunkte haben dabei folgende Struktur:
Schlüssel Datentyp Beschreibung
X int X-Koordinate des Wegpunkts
Y int Y-Koordinate des Wegpunkts
TransferTarget object Transferzielobjekt. nur gesetzt, falls vorhanden.

Syntax

map GetPath (int iFromX, int iFromY, int iToX, int iToY);

Parameter

iFromX:
X-Koordinate der Startposition
iFromY:
Y-Koordinate der Startposition
iToX:
X-Koordinate der Zielposition
iToY:
Y-Koordinate der Zielposition

Anmerkung

Diese Funktion kann aufgrund der Mapsyntax nur ab #strict 3 verwendet werden. In älteren Versionen kann GetPathLength verwendet werden.

Beispiel

var path = GetPath(GetX(), GetY(), GetX(FindBase(GetOwner())), GetY(FindBase(GetOwner())));
if (path)
{
    Log("Anzahl der Wegpunkte: %d, Pfadlänge: %d", GetLength(path.Waypoints), path.Length);
}
else
{
    Log("Kein Pfad gefunden!");
}
        
Loggt die Anzahl der Wegpunkte und die Pfadlänge zur ersten Basis des Besitzers des aufrufenden Objekts, falls ein Weg gefunden wurde.
Siehe auch: GetPathLength
Fulgen, Oktober 2019