MyProjects / Groovy-scripts / Flax Spinner.groovy
Flax Spinner.groovy
Raw
startup

delay = 0
status = 0


GameTick
 
if(delay > 0){
    delay--
    return
    }  
    
if (client.localPlayer.animationIdleTicks < 2){
delay = 2
return
}


if(client.getEnergy() > 20){
	def runEnabled = client.getVarpValue(173) == 1
	if(!runEnabled){
		ccOp(WidgetInfo.MINIMAP_TOGGLE_RUN_ORB.id)
		}
	}
	
def obj = findNearestObject(14889)
def stairs = findNearestObject(16672)
def bankBooth = findNearestObject(18491, 27291)

if(status == 0){
	if(getPlayerLocation().getX() == 3207 && getPlayerLocation().getY() == 3214){
		def door = findNearestWallObject(1543)
		if(door && door.worldLocation.distanceTo(getPlayerLocation()) <= 2){
			gameObjectOp1(door)
			delay = 2
			return
			}
		}

	else{
		if(obj && obj.worldLocation.distanceTo(getPlayerLocation()) > 3){
			walkToWorldPoint(3207, 3214)
			delay = 2
			return
	}
	}
	//if(findItem(ItemID.FLAX) != -1){
	if(isInInventory(ItemID.FLAX) == true){
		if(client.localPlayer.animation != -1){
		delay = 3
		return
				}
		
		def widget = client.getWidget(17694735)
		if(widget){
			ccOp(17694736)
			delay = 1
			return
			}

		if(obj){
			gameObjectOp2(obj)
			delay = 3
			return
			}	

	}
	if(isInInventory(ItemID.FLAX) == false){
		status = 1
	}
	}
	


if(status == 1){
	if(getPlayerLocation().getX() == 3208 && getPlayerLocation().getY() == 3214){
		def door = findNearestWallObject(1543)
		if(door && door.worldLocation.distanceTo(getPlayerLocation()) <= 2){
			gameObjectOp1(door)
			delay = 3
			return
			}
		}

	else{
		if(stairs && stairs.worldLocation.distanceTo(getPlayerLocation()) > 2){
			walkToWorldPoint(3208, 3214)
		delay = 2
		return
	}
	}
    
  if(stairs){
    gameObjectOp2(stairs)
		delay = 3
    status = 2
		return
		}	
}

if(status == 2){
	if(isBankOpen() && (isInInventory(ItemID.BOW_STRING))==true){
		depositInventory()
		withdraw(ItemID.FLAX, 28)
		status = 3
		return
	}
	if(bankBooth){
		gameObjectOp2(bankBooth)
		delay = 5
		return
		}	
		}

if(status == 3){
	gameObjectOp1(findNearestObject(16673))
	delay = 5
	status = 0
	return
	}