SetTransferZone

Kategorie: Objekte / Status
Ab Engineversion: 4.6.5.0 CP

Beschreibung

Setzt einen neuen Transferbereich für ein 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 iX, int iY, int iWdt, int iHgt, object pObj);

Parameter

iX:
X-Position der oberen linken Ecke der neuen Transferzone; relativ zum Objektmittelpunkt
iY:
Y-Position der oberen linken Ecke der neuen Transferzone; relativ zum Objektmittelpunkt
iWdt:
Breite der neuen Transferzone
iHgt:
Höhe der neuen Transferzone
pObj:
[opt] Objekt, dessen Transferzone geändert werden soll. 0 bei lokalem Aufruf.

Anmerkung

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

Beispiel

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

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

protected func ControlTransfer(pClonk, iToX, iToY)
  {
  SetPosition(iToX, iToY, pClonk);
  return(1);
  }
Script für ein Cheatobjekt: Ein Spieler, der mit der Maussteuerung an ein Ziel klickt, wird sofort dorthin versetzt.
Sven2, Juni 2003