Jump to content
Sign in to follow this  
fabiana

myre morty

Recommended Posts

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() {
        
    }
}

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...