SetTransferZone

Kategorie: Objekte / Status
Ab Engineversion: 1.0 OC

Beschreibung

Setzt einen neuen Transferbereich für das aufrufende Objekt. Führt die Suche der Wegfindung durch einen Transferbereich (dieser gilt für die Wegfindung immer als komplett durchlaufbar), werden für den Clonk ControlTransfer-Aufrufe an das Script des Objekts aufgerufen. In diesen sollte mit Hilfe von Befehlen dafür gesorgt werden, dass der Clonk an seine Zielposition kommt.

Syntax

bool SetTransferZone(int x, int y, int width, int height);

Parameter

x:
X-Position der oberen linken Ecke der neuen Transferzone; relativ zum Objektmittelpunkt
y:
Y-Position der oberen linken Ecke der neuen Transferzone; relativ zum Objektmittelpunkt
width:
Breite der neuen Transferzone
height:
Höhe der neuen Transferzone

Anmerkung

Transferzonen müssen neu gesetzt werden, wenn sich das Objekt bewegt. Außerdem sollten sie immer als Antwort auf einen OnSynchronized-Callback der Engine neu gesetzt werden.

Beispiel

protected func Initialize() { return OnSynchronized(); }

protected func OnSynchronized() { return SetTransferZone(-GetX(), -GetY(), LandscapeWidth(), LandscapeHeight());

protected func ControlTransfer(clonk, endx, endy)
  {
  clonk->SetPosition(endx, endy);
  return 1;
  }
Script für ein Cheatobjekt: Ein Spieler, der mit der Maussteuerung an ein Ziel klickt, wird sofort dorthin versetzt.
Sven2, 2003-06