Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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[i]);
- }
- }
- 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() {
- }
- }
Add Comment
Please, Sign In to add comment