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