Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 02/27/2023 in all areas

  1. Start the script in varrock south east mine. it will mine the copper / iron ore automatically and drop the ores on the ground when inventory is full. does not drop gems/geodes. demo: glhf 🙂 import com.epicbot.api.shared.APIContext; import com.epicbot.api.shared.GameType; import com.epicbot.api.shared.entity.details.Locatable; import com.epicbot.api.shared.model.Tile; import com.epicbot.api.shared.script.LoopScript; import com.epicbot.api.shared.script.ScriptManifest; import com.epicbot.api.shared.util.paint.frame.PaintFrame; import com.epicbot.api.shared.util.time.Time; import com.epicbot.api.shared.webwalking.model.RSBank; import com.epicbot.api.shared.webwalking.model.WebPath; import java.awt.Graphics2D; @ScriptManifest(name = "VarrockEastMine", gameType = GameType.OS) public class VarrockEastMine extends LoopScript { // constants private final int DELAY_BETWEEN_ORE_CLICKS = 900; private final Tile TILE_MINE_AREA = new Tile(3287,3364); // varrock east mine private final int[] COPPER_ROCKS = {11161,10943}; private final int[] IRON_ROCKS = {11364,11365}; // global variables private String status = "Starting"; private int[] currentRocks = {}; boolean settedOres = false; String currentOre = "Copper"; private int invtSpace = 28; @Override public boolean onStart(String... strings) { Time.sleep(20000); return true;//getAPIContext().client().isLoggedIn() ; } @Override protected int loop() { setOres(); if ( isInvtFull()) { dropOres(); }else{ doMine(); } return 1337; // delay for 1.337 seconds } // tasks private void doMine(){ status = "Mining "+currentOre; while (!isInvtFull() && isRunning() && !isPaused() && !isStopping()){ if ( !getAPIContext().localPlayer().isAnimating() && !getAPIContext().localPlayer().isMoving() ) { getAPIContext().objects().query().id(currentRocks).results().nearest().interact("Mine"); Time.sleep(1800); //System.out.println("Mining. Free invt="+(28-getAPIContext().inventory().getCount())); } Time.sleep(DELAY_BETWEEN_ORE_CLICKS); } //if (isInvtFull()) { // System.out.println("Full invt"); //} }; private void dropOres(){ status = "Dropping ores"; getAPIContext().inventory().dropAll(436,440); // copper and iron ores } private void setOres(){ if (settedOres) return; if (getAPIContext().skills().mining().getCurrentLevel()>14){ currentRocks = IRON_ROCKS; settedOres = true; currentOre ="Iron"; }else{ currentRocks = COPPER_ROCKS; } } // checks private boolean isInvtFull(){ invtSpace = 28-getAPIContext().inventory().getCount(); return invtSpace ==0; }; //todo worldHopIfCrowded //todo dismissRandomEvent @Override protected void onPaint(Graphics2D g, APIContext ctx) { PaintFrame frame = new PaintFrame("VarrockE mine"); frame.addLine("Status", status); frame.addLine("Free space", invtSpace); frame.draw(g, 0, 170, ctx); } }
    1 point
×
×
  • Create New...