Jump to content

myre morty


Recommended Posts

Posted

import java.awt.Color;
import java.awt.Graphics2D;
import org.osbot.rs07.script.Script;
import org.osbot.rs07.script.ScriptManifest;
import org.osbot.rs07.api.map.Position;
import org.osbot.rs07.api.model.RS2Object;
import org.osbot.rs07.api.ui.Skill;
import org.osbot.rs07.api.ui.Tab;

@ScriptManifest(author = "Pildurass", info = "Collects mort myre fungus", name ="Shrooms", version = 1.0, logo = "http://i.imgur.com/xI60cq3.png")
public class Shrooms extends Script {
    public int trips, shroomholder, shroomcount;
    private long startTime;
    private Color bg;
    String state;
    @SuppressWarnings("unused")
    private Color box;
    public int statsX;
    public int statsY;
    public void onStart() {
        trips = (int) getInventory().getAmount(563);
        startTime = System.currentTimeMillis();
        bg = new Color(69, 53, 15, 125);
        box = new Color(0, 0, 0);
        statsX = 313;
        statsY = 344;
    }
    public void onPaint(Graphics2D g1) {
        long millis = System.currentTimeMillis() - startTime;
        Graphics2D g = g1;
        g.setColor(bg);
        g.fillRect(statsX, statsY, 184, 115);
        g.setColor(Color.green);
        g.drawRect(statsX, statsY, 184, 115);
        g.setColor(Color.white);
        g.drawString((new StringBuilder("Fungi Picker v")).append("0.1 | Author : Pildurass").toString(), statsX + 5, statsY + 15);
        g.drawString((new StringBuilder("State: ")).append(status).toString(), statsX + 5, statsY + 30);
        g.drawString((new StringBuilder("Time ran: ")).append(timeToString((int)millis)).toString(), statsX + 5, statsY + 45);
        g.drawString((new StringBuilder("Fungi Gained: ")).append(shroomcount).toString(), statsX + 5, statsY + 60);
        g.drawString((new StringBuilder("Fungi/Hour: ")).append(perHour((int)(shroomcount), System.currentTimeMillis() - millis)).toString(), statsX + 5, statsY + 75);
    }
    public static String perHour(int gained, long startTime)
    {
        int i = (int)(((double)gained * 3600000D) / (double)(System.currentTimeMillis() - startTime));
        return (new StringBuilder()).append(i).toString();
    }
    public static String timeToString(long time)
    {
        int seconds = (int)(time / 1000L) % 60;
        int minutes = (int)((time / 60000L) % 60L);
        int hours = (int)((time / 0x36ee80L));
        return (new StringBuilder(String.valueOf(hours))).append(":").append(minutes).append(":").append(seconds).toString();
    }
    public final Position toGate[] = {
            new Position(3497, 3482, 0), new Position(3481, 3476, 0), new Position(3466, 3473, 0), new Position(3453, 3465, 0), new Position(3444, 3458, 0)
        };
    public final Position toShroomArea[] = {
            new Position(3433, 3450, 0), new Position(3424, 3441, 0), new Position(3466, 3473, 0), new Position(3421, 3439, 0)
        };
    public final Position toBank[] = {
            new Position(3494, 3479, 0), new Position(3502, 3489, 0), new Position(3511, 3480, 0)            
    };
    public final Position toSpot[] = {
            new Position(3421, 3439, 0)            
    };
    public void walkPath(Position path[]) {
        for (int i = 0; i < path.length; i++) {
            localWalker.walk(path);
        }
    }
    public void walkBank() {
        status = "Walking to Bank";
        walkPath(toBank);
        while(myPlayer().isMoving()) {
        }
    }
    public void bank() {
        status="Banking";
        RS2Object banks = objects.closest(new String[] {"Bank booth"});
        localWalker.walk(banks.getPosition());
        while(myPlayer().isMoving()) {
        }
        banks.interact("Bank");        
    }
    public void storeitems() {
          status = "Storing Items";
          shroomholder += 25;
          getInventory().getItem(2970).interact("Deposit-All");
          if (skills.getDynamic(Skill.HITPOINTS) <= 60) {
              getBank().withdraw(379, 3);
          }
    }
    public void openDoor() {
        status = "Opening Door";
        RS2Object portal = objects.closest(new String[] {"Portal"});
          getTabs().open(Tab.INVENTORY);
          new Position(portal.getPosition().getX() - 3, portal.getPosition().getY(), portal.getPosition().getZ()).interact(getBot(), "Walk here");
          getDoorHandler().handleNextObstacle(new Position(portal.getPosition().getX() - 4, portal.getPosition().getY(), portal.getPosition().getZ()));
    }
    public void rechargingPrayer() {
        status = "Recharging Prayer";
        RS2Object altar = objects.closest(new String[] {"Altar"});
          altar.interact("Pray");
          if (skills.getDynamic(Skill.PRAYER) != skills.getStatic(Skill.PRAYER)) {
              altar.interact("Pray");
          }
    }
    public void exiting() {
        status = "Exiting House";
        RS2Object tpFocus = objects.closest(new String[] {"Teleportation focus"});
        RS2Object portal = objects.closest(new String[] {"Kharyrll Portal"});
          localWalker.walk(tpFocus.getPosition());
          portal.interact("Enter");
    }
    public void picking() {
         status = "Picking Fungi";
         shroomcount = (int) getInventory().getAmount(2970) + shroomholder;
        RS2Object fungi = objects.closest(new String[] {"Fungi on log"});
        fungi.interact("Pick");
    }
    public void walktologs() {
         status = "Walking to logs";
         walkPath(toShroomArea);
         while(myPlayer().isMoving()) {
         }
    }
    public void opengate() {
         status = "Opening Gate";
        RS2Object gate = objects.closest(new String[] {"Gate"});
         localWalker.walk(gate.getPosition());
         while (myPlayer().isMoving()){
         }
         gate.interact("Open");
    }
    public void walktobank() {
         status = "Walking to bank";
         walkPath(toBank);
    }
    public void teleporttohouse() {
          status = "Teleporting to house";
          getTabs().open(Tab.MAGIC);
          getInterfaces().getChild(192, 23).interact("Cast");
    }
    public void returntospot() {
         status = "Getting Situated";
         shroomcount = (int) getInventory().getAmount(2970) + shroomholder;
         new Position(3421, 3439, 0).interact(getBot(), "Walk here");
    }
    public void castbloom(){
         status = "Casting bloom";
          getTabs().open(Tab.INVENTORY);
         getInventory().getItem(2963).interact("Cast Bloom");
    }
    public void walktogate() {
         status = "Walking to gate"; 
         walkPath(toGate);
         while (myPlayer().isMoving()) {
         }
    }
    public void eat() {
        status = "Eating";
        getBank().close();
          getTabs().open(Tab.INVENTORY);
        getInventory().interact("Eat", 379);
    }
    public String status = "Initializing...";
    public int onLoop() {
        RS2Object bankss = objects.closest(new String[] {"Bank booth"});
        RS2Object gate = objects.closest(new String[] {"Gate"});
        RS2Object logs = objects.closest(new String[] {"Rotting log"});
        RS2Object fungi = objects.closest(new String[] {"Fungi on log"});
        RS2Object portal = objects.closest(new String[] {"Portal"});
        RS2Object door = objects.closest(13103);
        if (getColorPicker().isColorAt(573, 133, new Color(175, 176, 162))) {
            status = "Toggling Run";
            interfaces.getChild(548, 94).interact("Toggle Run");
            return 500;
        }
        if (getInventory().contains(379)) {
            eat();
            return 500;
        }
        if (bankss != null) {
            if (bankss.isVisible() && getInventory().getAmount(2970) != 0 && !bank.isOpen() && myPosition().getY() > 3473) {
                bank();
                return 2000;
            }
        }
        if (myPosition().getY() < 3457 && myPosition().getY() > 3430 && getInventory().isFull() && skills.getDynamic(Skill.PRAYER) == skills.getStatic(Skill.PRAYER) || myPosition().getY() >= 3625 && myPosition().getY() <= 3640) {
            teleporttohouse();
            return 500;
        }
        if (myPosition().getY() > 3471 && myPosition().getY() <= 3479 && myPosition().getY() >= 3489 && myPosition().getY() <= 3503) {
            walkBank();
            return 500;
        }
        if (getInventory().isFull()) {
                if (portal != null) {
                    if (skills.getDynamic(Skill.PRAYER) == skills.getStatic(Skill.PRAYER) && door != null) {
                        exiting();
                        return 500;
                    }
                    if (skills.getDynamic(Skill.PRAYER) != skills.getStatic(Skill.PRAYER) && door != null && (portal.getPosition().getX() - 3) == myPlayer().getPosition().getX()) {
                        rechargingPrayer();
                        return 500;
                    }
                    if (skills.getDynamic(Skill.PRAYER) != skills.getStatic(Skill.PRAYER) && door != null) {
                        rechargingPrayer();
                        return 500;
                    }
                    if (getDoorHandler().canReachOrOpen(new Position(portal.getPosition().getX() - 4, portal.getPosition().getY(), portal.getPosition().getZ()))) {
                        openDoor();
                        return 500;
                    }
                }
                if (bankss != null && myPosition().getY() > 3473) {
                    if (!getBank().isOpen()) {
                        bank();
                        return 2000;
                    }
                    if (getBank().isOpen()) {
                        storeitems();
                        return 500;
                    }    
                }
        }
        if (fungi != null && !getInventory().isFull() && skills.getDynamic(Skill.PRAYER) != 0 && fungi.getPosition().getX() <= 3423) {
            picking();
            return 500;
        }
        if (myPosition().getY() <= 3457 && myPosition().getY() >= 3443) {
            walktologs();
            return 500;
        }
        if (myPosition().getX() >= 3489 && myPosition().getX() <= 3504 && myPosition().getY() >= 3471 && myPosition().getY() <= 3477) {
            walktobank();
            return 500;
        }
        if (getInventory().isFull() && myPosition().getY() < 3480) {
            teleporttohouse();
            return 500;
        }
        if (gate != null && myPosition().getY() > 3457 && myPosition().getY() <= 3465) {
                opengate();        
                return 500;
        }
        if (logs != null && myPosition().getY() <= 3457) {
            if (myPosition().getY() == 3439 && myPosition().getX() == 3421) {
                castbloom();
                return 1000;
            } else {
                returntospot();
                return 500;
            }
        }
        if (!getInventory().isFull() && skills.getDynamic(Skill.PRAYER) != 0) {
            walktogate();
            return 500;
        }
        if (bank.isOpen()) {
            storeitems();
            return 500;
        }
        return 500;
    }
    public void onExit() {
        
    }
}

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...