January 18, 20179 yr import java.util.List; import org.osbot.rs07.api.Bank; import org.osbot.rs07.api.GroundItems; import org.osbot.rs07.api.Inventory; import org.osbot.rs07.api.Skills; import org.osbot.rs07.api.Walking; import org.osbot.rs07.api.map.Area; import org.osbot.rs07.api.map.Position; import org.osbot.rs07.api.model.Entity; import org.osbot.rs07.api.model.GroundItem; import org.osbot.rs07.api.model.Player; import org.osbot.rs07.api.ui.Skill; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; import org.osbot.rs07.utility.ConditionalSleep; @ScriptManifest(name="shitcowpicker", author="aeondenied", logo="", version=0.0, info="") public class shitcowpicker extends Script { public static Area wildy = new Area(3260, 3258, 3256, 3287); String[] Hide = new String[]{"Cowhide"}; private long startTime; public int onLoop() throws InterruptedException { boolean breaker = false; if (!this.inventory.isFull() && this.skills.getDynamic(Skill.HITPOINTS) > 6 && !this.myPlayer().isUnderAttack()) { if (!wildy.contains((Entity)this.myPlayer())) { this.log("walking randomly"); this.walking.webWalk(new Position[]{wildy.getRandomPosition()}); } breaker = false; int i = 0; while (i < this.Hide.length) { for (GroundItem g : this.groundItems.getAll()) { if (!g.getName().equals(this.Hide[i]) || g == null) continue; if (this.inventory.isFull() || this.skills.getDynamic(Skill.HITPOINTS) <= 6 || this.myPlayer().isUnderAttack()) break; this.log("found item!" + this.Hide[i]); GroundItem a = (GroundItem)this.groundItems.closest(new String[]{this.Hide[i]}); a.interact(new String[]{"Take"}); shitcowpicker.sleep((long)300); do { shitcowpicker.sleep((long)200); } while (this.myPlayer().isAnimating()); breaker = true; break; } if (!(breaker || this.inventory.isFull() || this.skills.getDynamic(Skill.HITPOINTS) <= 6 || this.myPlayer().isUnderAttack())) { ++i; continue; } break; } } else if (this.inventory.isFull() || this.skills.getDynamic(Skill.HITPOINTS) <= 6 || this.myPlayer().isUnderAttack()) { this.walking.webWalk(new Position[]{new Position(3210, 3220, 2)}); this.walking.webWalk(new Position[]{new Position(3210, 3220, 2)}); if (this.bank.open()) { new ConditionalSleep(6000){ public boolean condition() throws InterruptedException { return shitcowpicker.this.bank.isOpen(); } }.sleep(); if (this.skills.getDynamic(Skill.HITPOINTS) <= 6) { this.bank.depositAll(); this.bank.close(); new ConditionalSleep(6000){ public boolean condition() throws InterruptedException { return !shitcowpicker.this.bank.isOpen(); } }.sleep(); } else { this.bank.depositAll(); } } } return 0; } } let me know how to improve it, i am unsure what to do as far as the delays, it will cancel and miss out on grabs just to walk onto the other side and i dont know how to write in to stop walking if back and forth until all the hide is picked up