void fnJump(object oDest) { object oMe=OBJECT_SELF; if (GetArea(oMe)!=GetArea(oDest)||GetDistanceBetween(oMe,oDest)>3.0) { // jump AssignCommand(oMe,ClearAllActions(TRUE)); AssignCommand(oMe,JumpToObject(oDest)); DelayCommand(0.8,fnJump(oDest)); } // jump } // fnJump() void main() { object oWizard=OBJECT_SELF; object oMe=GetPCSpeaker(); object oWP=GetWaypointByTag("PLANESHIFT_ASTRAL"); AssignCommand(oWizard,TakeGoldFromCreature(200,oMe)); AssignCommand(oMe,fnJump(oWP)); }