Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.osbot.rs07.api.map.Position;
- import org.osbot.rs07.api.model.RS2Object;
- import org.osbot.rs07.input.mouse.MiniMapTileDestination;
- import org.osbot.rs07.script.Script;
- import org.osbot.rs07.script.ScriptManifest;
- import org.osbot.rs07.utility.Area;
- import java.awt.*;
- @ScriptManifest(author = "INFERN0!", info = "I made this script!", name = "INFERNO Chopper", version = 1.0, logo = "")
- public class OnyxChopper extends Script {
- private static final int[] WILLOW_ID = {11763, 11759, 11755, 11761};
- private Position[] path = {
- new Position(3090, 3226, 0),
- new Position(3089, 3232, 0),
- new Position(3087, 3243, 0),
- new Position(3092, 3243, 0)
- };
- private static final Area CHOP_AREA = new Area(3089, 3226, 3084, 3239);
- private static final Area BANK_AREA = new Area(3092, 3240, 3092, 3245);
- private enum State {
- CHOP, WALK_TO_BANK, BANK, WALK_TO_CHOP
- };
- private State getState() {
- if (inventory.isFull() && CHOP_AREA.contains(myPlayer()))
- return State.WALK_TO_BANK;
- if (!inventory.isFull() && BANK_AREA.contains(myPlayer()))
- return State.WALK_TO_CHOP;
- if (inventory.isFull() && BANK_AREA.contains(myPlayer()))
- return State.BANK;
- return State.CHOP;
- }
- private void traversePath(Position[] path, boolean reversed) throws InterruptedException {
- if (!reversed) {
- for (int i = 1; i < path.length; i++)
- if (!walkTile(path[i]))
- i--;
- } else {
- for (int i = path.length - 2; i > 0; i--)
- if (!walkTile(path[i]))
- i--;
- }
- }
- private boolean walkTile(Position p) throws InterruptedException {
- mouse.move(new MiniMapTileDestination(bot, p), false);
- sleep(random(150, 250));
- mouse.click(false);
- int failsafe = 0;
- while (failsafe < 10 && myPlayer().getPosition().distance(p) > 2) {
- sleep(200);
- failsafe++;
- if (myPlayer().isMoving())
- failsafe = 0;
- }
- if (failsafe == 10)
- return false;
- return true;
- }
- @Override
- public void onStart() {
- log("INFERN0 IS A BAWZ.");
- }
- @Override
- public int onLoop() throws InterruptedException {
- switch (getState()) {
- case CHOP:
- if (!myPlayer().isAnimating()) {
- RS2Object vein = objects.closest(WILLOW_ID);
- if (vein.interact("CHOP DOWN"))
- sleep(random(1000, 1500));
- }
- break;
- case WALK_TO_BANK:
- traversePath(path, false);
- sleep(random(1500, 2500));
- break;
- case WALK_TO_CHOP:
- traversePath(path, true);
- sleep(random(1500, 2500));
- break;
- case BANK:
- RS2Object bankBooth = objects.closest("Bank booth");
- if (bankBooth != null) {
- if (bankBooth.interact("Bank")) {
- while (!bank.isOpen())
- sleep(250);
- bank.depositAll();
- }
- }
- break;
- }
- return random(200, 300);
- }
- @Override
- public void onExit() {
- log("Thanks for trying INFERN0 Scripts :D");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement