Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javafx.scene.paint.Color;
- import org.rspeer.runetek.adapter.component.InterfaceComponent;
- import org.rspeer.runetek.adapter.scene.Npc;
- import org.rspeer.runetek.adapter.scene.Player;
- import org.rspeer.runetek.adapter.scene.SceneObject;
- import org.rspeer.runetek.api.commons.Time;
- import org.rspeer.runetek.api.component.Bank;
- import org.rspeer.runetek.api.component.GrandExchange;
- import org.rspeer.runetek.api.component.Interfaces;
- import org.rspeer.runetek.api.component.tab.Equipment;
- import org.rspeer.runetek.api.component.tab.Inventory;
- import org.rspeer.runetek.api.component.tab.Skills;
- import org.rspeer.runetek.api.movement.Movement;
- import org.rspeer.runetek.api.movement.position.Position;
- import org.rspeer.runetek.api.scene.Npcs;
- import org.rspeer.runetek.api.scene.Players;
- import org.rspeer.runetek.api.scene.SceneObjects;
- import org.rspeer.runetek.providers.RSGrandExchangeOffer;
- import org.rspeer.script.Script;
- import org.rspeer.script.ScriptMeta;
- import org.rspeer.runetek.adapter.component.Item;
- import org.rspeer.ui.Log;
- import org.rspeer.runetek.api.component.tab.Skill;
- import java.util.concurrent.ThreadLocalRandom;
- import org.rspeer.runetek.api.scene.Pickables;
- import org.rspeer.runetek.adapter.scene.Pickable;
- @ScriptMeta(developer = "herr", desc = "progressive miner", name = "progressive miner")
- public class Main extends Script {
- private final Position copperSpot = new Position(3223, 3147, 0);
- public final Position rock1Spot = new Position(3223,3146);
- public final Position rock2Spot = new Position(3222,3147);
- public final Position rock3Spot = new Position(3223,3148);
- public final Position geSpot = new Position(3166,3487);
- private final Position ironDropoffBank = new Position(3043, 3236,0); //bank drop off in the port
- private final Position ironMineSpot = new Position(2972, 3237,0); // the perfect spot for the single iron
- private final Position ironMineRock1 = new Position(2971, 3237,0); // the single iron
- public SceneObject[] ores = new SceneObject[3];
- private final Position copperSpot2 = new Position(2977, 3248, 0); // perfect spot to mine copper in the port
- private SceneObject[] coppers = new SceneObject[3]; //the copper spots in the port
- private final Position copper1Spot = new Position(2978,3248);
- private final Position copper2Spot = new Position(2977,3247);
- private int current = -1;
- private int runnumber = getrandom(20,81);
- private int timer = 250;
- final int PARENT_INDEX = 192;
- final int CHILD_INDEX = 4;
- final String ACTION = "Deposit inventory";
- @Override
- public int loop() {
- Player me = Players.getLocal();
- timer = 500;
- //ores[0] = SceneObjects.getFirstAt(3223, 3146, 0);
- //ores[0] = SceneObjects.getNearest(11361);
- ores[0] = SceneObjects.getFirstAt(rock1Spot);
- ores[1] = SceneObjects.getFirstAt(rock2Spot);
- ores[2] = SceneObjects.getFirstAt(rock3Spot);
- coppers[0] = SceneObjects.getFirstAt(copper1Spot);
- coppers[1] = SceneObjects.getFirstAt(copper2Spot);
- //Log.info(SceneObjects.getFirstAt(rock1Spot).getId());
- if (Skills.getCurrentLevel(Skill.MINING) < 15 || true) { // less than 15
- if (Inventory.isFull()){
- dropInBox();
- }
- else
- minecopper2();
- }
- else if (Skills.getCurrentLevel(Skill.MINING) > 20 || Equipment.contains("Bronze pickaxe")){
- if (geSpot.distance(me) > 10) {
- antiSpamWalk(geSpot, 20, true);
- }
- else {
- Npc banker = Npcs.getNearest("Banker");
- if (banker != null && !Bank.isOpen() && !Inventory.contains("Copper ore")){
- banker.interact("Bank");
- }
- else if (Bank.isOpen()){
- if (Bank.getWithdrawMode() == Bank.WithdrawMode.ITEM){
- Bank.setWithdrawMode(Bank.WithdrawMode.NOTE);
- }
- else if (!Inventory.contains("Copper ore")){
- Bank.withdrawAll("Copper ore");
- Log.info("get the ore!");
- }
- }
- else {
- Npc ex = Npcs.getNearest("Grand Exchange Clerk");
- if (ex != null && !Interfaces.isOpen(465)){
- Log.info("gonna open ge");
- ex.interact("Exchange");
- }
- else if (GrandExchange.isOpen()){
- GrandExchange.createOffer(RSGrandExchangeOffer.Type.SELL);
- Interfaces.getComponent(467,0,0).interact("Offer");
- Interfaces.getComponent(465, 24, 10).interact("-5%");
- Interfaces.getComponent(465, 24, 10).interact("-5%");
- Interfaces.getComponent(465, 24, 10).interact("-5%");
- Interfaces.getComponent(465, 24, 10).interact("-5%");
- }
- }
- }
- }
- else{ // more than 15, time to mine iron
- if (Inventory.isFull()){
- if (ironDropoffBank.distance() > 8) {
- antiSpamWalk(ironDropoffBank, 15, true);
- }
- else {
- SceneObject bank = SceneObjects.getNearest("bank deposit box");
- if (Interfaces.isOpen(192)) {
- InterfaceComponent bankInterface = Interfaces.getComponent(PARENT_INDEX, CHILD_INDEX);
- if(bankInterface != null ) {
- bankInterface.interact(ACTION);
- }
- Log.info("it's open");
- timer += 1000;
- }
- else{ //opens the bank deposit box
- bank.interact("Deposit");
- }
- }
- }
- else if (ironMineSpot.distance(Players.getLocal()) != 0){ //if is not in the mining spot
- antiSpamWalk(ironMineSpot, 15, false);
- }
- else {
- SceneObject iron = SceneObjects.getFirstAt(ironMineRock1);
- if (!Players.getLocal().isAnimating() && iron.getId() != 11364 && false){
- Log.info("time to wait >:)");
- Time.sleepUntil( () ->iron.getId() == 11364, 3000);
- Log.info("done waiting");
- }
- if (!Players.getLocal().isAnimating() && (iron.getColors().length == 1)) {
- iron.interact("mine");
- Log.info("MINE!! " + getrandom(1,100));
- timer += 500;
- }
- }
- }
- if (current != -1) {
- //Log.info(current);
- //Log.info(coppers[current].getColors().length);
- }
- //Log.info(coppers[0].getColors().length);
- if (!Movement.isRunEnabled() && Movement.getRunEnergy() >= runnumber) {
- Movement.toggleRun(true);
- runnumber = getrandom(20,81);
- Log.info("next time ill run at " + runnumber);
- //System.out.println("gotta go fast!");
- }
- return getrandom(timer/2, timer+1 );
- }
- private int getrandom(int r1, int r2) {
- return ThreadLocalRandom.current().nextInt(r1,r2);
- }
- private void minecopper() {
- if (Inventory.isFull())
- {
- Item[] items = Inventory.getItems();
- for (int i = 0; i< 28; i++){
- items[i].interact("drop");
- Time.sleep(getrandom(100,200));
- }
- }
- if (copperSpot.distance(Players.getLocal()) != 0){ //if is not in the mining spot
- antiSpamWalk(copperSpot, 15, false);
- }
- else {
- for (SceneObject ore : ores) {
- if (!Players.getLocal().isAnimating() && (ore.getId() == 11361)) {
- ore.interact("mine");
- timer += 1500;
- break;
- }
- }
- }
- }
- private void minecopper2() {
- Pickable axe = null;
- Player me = Players.getLocal();
- axe = Pickables.getNearest(x -> x.getName().equals("Copper ore")); //to pick up copper ores on the ground
- //Log.info(axe.distance());
- if (axe != null && axe.distance(me) < 10){
- //Log.info("it exists!");
- axe.interact("Take");
- //Movement.walkTo(axe);
- Time.sleep(200);
- if (Players.getLocal().isMoving()){
- timer += 1000;
- }
- }
- else if (copperSpot2.distance(Players.getLocal()) != 0){ //if is not in the mining spot
- antiSpamWalk(copperSpot2, 15, false);
- }
- else if (!Players.getLocal().isAnimating()){
- mineThis(coppers);
- }
- else if (current != -1) {
- if (Players.getLocal().isAnimating() && coppers[current].getColors().length == 0) {
- Log.info("im mining nothing!");
- mineThis(coppers);
- }
- }
- }
- private void antiSpamWalk (Position place, int chance, boolean random){
- if (!Players.getLocal().isMoving()) {
- Movement.walkToRandomized(place);
- }
- int rand = getrandom(0,100);
- if (rand <= chance && random){
- Movement.walkToRandomized(place);
- }
- if (rand <= chance && !random){
- Movement.walkTo(place);
- }
- }
- private void dropInBox(){
- if (ironDropoffBank.distance() > 8) {
- antiSpamWalk(ironDropoffBank, 15, true);
- }
- else {
- SceneObject bank = SceneObjects.getNearest("bank deposit box");
- if (Interfaces.isOpen(192)) {
- InterfaceComponent bankInterface = Interfaces.getComponent(PARENT_INDEX, CHILD_INDEX);
- if(bankInterface != null ) {
- bankInterface.interact(ACTION);
- }
- Log.info("it's open");
- timer += 1000;
- }
- else{ //opens the bank deposit box
- bank.interact("Deposit");
- }
- }
- }
- private boolean sellCopper(){
- /*return collectFinishedOffers(toBank)
- && createOffer(type)
- && setItem(item)
- && setItemPrice(price)
- && setItemQuantity(quantity)
- && GrandExchangeSetup.confirm();*/
- return true;
- }
- private void mineThis(SceneObject[] s){
- for (int i = 0; i < s.length; i++){
- if (s[i].getColors().length == 1) {
- s[i].interact("mine");
- current = i;
- timer += 1500;
- break;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement