Jump to content

m6P9aRdAb4Z0

Members
  • Posts

    6
  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by m6P9aRdAb4Z0

  1. osrs 70-99 mining 70-99 agility rs2 60-99 rc always suicided, there is basically no risk if you are using a unique script + not getting reported in-game
  2. Source: import org.osbot.rs07.api.map.Area; import org.osbot.rs07.api.model.GroundItem; import org.osbot.rs07.api.model.RS2Object; import org.osbot.rs07.api.ui.Skill; import org.osbot.rs07.api.ui.Spells.NormalSpells; import org.osbot.rs07.input.mouse.PointDestination; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; import org.osbot.rs07.utility.ConditionalSleep; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.time.Duration; import java.time.Instant; // Requires Kandarin Hard Diary Completed (Seers Bank Teleport), Law Runes, Air Staff, Normal Magic Spellbook. // High Enough Agility/Weight Reduction to NOT fail obstacles (~75+?). @ScriptManifest(name = "SeersAgility", author = "Anonymous", version = 1.0, info = "", logo = "") public class SeersAgility extends Script { private static final Area Stage_1 = new Area(2718, 3479, 2732, 3499), Stage_2 = new Area(2721, 3490, 2730, 3497), Stage_3 = new Area(2704, 3487, 2714, 3498), Stage_4 = new Area(2709, 3476, 2716, 3482), Stage_5 = new Area(2699, 3469, 2716, 3476), Stage_6 = new Area(2690, 3459, 2703, 3466), Stage_7 = new Area(2704, 3464, 2704, 3464); private static final int MARK = 11849; private static Instant start; private static int hopTime; private static PointDestination s1, s2, s3, s4, s5, s6, s7; private static RS2Object obstacle; @Override public void onStart() { Stage_2.setPlane(3); Stage_3.setPlane(2); Stage_4.setPlane(2); Stage_5.setPlane(3); Stage_6.setPlane(2); camera.toTop(); camera.moveYaw(random(0, 7)); hopTime = random(1800, 3600); start = Instant.now(); getExperienceTracker().start(Skill.AGILITY); } private enum State { MARK, WAIT, HOP, CAMERA, STAGE_1, STAGE_2, STAGE_3, STAGE_4, STAGE_5, STAGE_6, STAGE_7 }; private State getState() { if (isGroundItemValid(groundItems.closest(MARK))) return State.MARK; if (Duration.between(start, Instant.now()).getSeconds() > hopTime) return State.HOP; if (Stage_1.contains(myPlayer())) return State.STAGE_1; if (Stage_2.contains(myPlayer())) return State.STAGE_2; if (Stage_3.contains(myPlayer())) return State.STAGE_3; if (Stage_4.contains(myPlayer())) return State.STAGE_4; if (Stage_5.contains(myPlayer())) return State.STAGE_5; if (camera.getPitchAngle() != 67 || camera.getYawAngle() >= 8) return State.CAMERA; if (Stage_6.contains(myPlayer())) return State.STAGE_6; if (Stage_7.contains(myPlayer())) return State.STAGE_7; if (myPlayer().getZ() == 0) System.exit(0); return State.WAIT; } @Override public int onLoop() throws InterruptedException { switch (getState()) { case CAMERA: camera.toTop(); camera.moveYaw(random(0, 7)); break; case MARK: if (groundItems.closest(MARK).interact("Take")) { long c = getInventory().getAmount(MARK); new ConditionalSleep(5000) { @Override public boolean condition() throws InterruptedException { return (getInventory().getAmount(MARK) > c); } }.sleep(); } break; case HOP: if (!myPlayer().isMoving() && !myPlayer().isAnimating() && worlds.hopToP2PWorld()) { start = Instant.now(); hopTime = random(1800, 3600); } break; case STAGE_1: obstacle = objects.closest(11373); if (isObjectValid(obstacle)) { if (obstacle.isVisible()) { if (mouse.isOnCursor(obstacle)) { mouse.click(false); } else { obstacle.interact("Climb-up"); } s1 = new PointDestination(getBot(), mouse.getPosition()); new ConditionalSleep(1000) { @Override public boolean condition() throws InterruptedException { return (myPlayer().isMoving() || myPlayer().isAnimating()); } }.sleep(); if (myPlayer().isMoving() || myPlayer().isAnimating()) { mouse.move(s2); mouse.moveVerySlightly(); new ConditionalSleep(4000) { @Override public boolean condition() throws InterruptedException { return (myPlayer().getZ() != 0); } }.sleep(); } } else if (!myPlayer().isMoving() && !myPlayer().isAnimating()) { camera.toEntity(obstacle); } } break; case STAGE_2: obstacle = objects.closest(11374); if (isObjectValid(obstacle)) { if (obstacle.isVisible()) { if (mouse.isOnCursor(obstacle)) { mouse.click(false); } else { obstacle.interact("Jump"); } s2 = new PointDestination(getBot(), mouse.getPosition()); new ConditionalSleep(1000) { @Override public boolean condition() throws InterruptedException { return (myPlayer().isMoving() || myPlayer().isAnimating()); } }.sleep(); if (myPlayer().isMoving() || myPlayer().isAnimating()) { mouse.move(s3); mouse.moveVerySlightly(); new ConditionalSleep(5000) { @Override public boolean condition() throws InterruptedException { return (myPlayer().getZ() != 3); } }.sleep(); } } else if (!myPlayer().isMoving() && !myPlayer().isAnimating()) { camera.toTop(); camera.moveYaw(random(0, 7)); } } break; case STAGE_3: obstacle = objects.closest(11378); if (isObjectValid(obstacle)) { if (obstacle.isVisible()) { sleep(random(400, 500)); if (mouse.isOnCursor(obstacle)) { mouse.click(false); } else { obstacle.interact("Cross"); } s3 = new PointDestination(getBot(), mouse.getPosition()); new ConditionalSleep(1000) { @Override public boolean condition() throws InterruptedException { return (myPlayer().isMoving() || myPlayer().isAnimating()); } }.sleep(); if (myPlayer().isMoving() || myPlayer().isAnimating()) { mouse.move(s4); mouse.moveVerySlightly(); new ConditionalSleep(5000) { @Override public boolean condition() throws InterruptedException { return (Stage_4.contains(myPlayer())); } }.sleep(); } } else if (!myPlayer().isMoving() && !myPlayer().isAnimating()) { camera.toEntity(obstacle); } } break; case STAGE_4: obstacle = objects.closest(11375); if (isObjectValid(obstacle)) { if (obstacle.isVisible()) { if (mouse.isOnCursor(obstacle)) { mouse.click(false); } else { obstacle.interact("Jump"); } s4 = new PointDestination(getBot(), mouse.getPosition()); new ConditionalSleep(1000) { @Override public boolean condition() throws InterruptedException { return (myPlayer().isMoving() || myPlayer().isAnimating()); } }.sleep(); if (myPlayer().isMoving() || myPlayer().isAnimating()) { mouse.move(s5); mouse.moveVerySlightly(); new ConditionalSleep(4000) { @Override public boolean condition() throws InterruptedException { return (myPlayer().getZ() != 2); } }.sleep(); } } else if (!myPlayer().isMoving() && !myPlayer().isAnimating()) { camera.toEntity(obstacle); } } break; case STAGE_5: obstacle = objects.closest(11376); if (isObjectValid(obstacle)) { if (obstacle.isVisible()) { sleep(random(400, 500)); if (mouse.isOnCursor(obstacle)) { mouse.click(false); } else { obstacle.interact("Jump"); } s5 = new PointDestination(getBot(), mouse.getPosition()); new ConditionalSleep(1000) { @Override public boolean condition() throws InterruptedException { return (myPlayer().isMoving() || myPlayer().isAnimating()); } }.sleep(); if (myPlayer().isMoving() || myPlayer().isAnimating()) { mouse.move(s6); mouse.moveVerySlightly(); if (camera.getYawAngle() >= 8) { camera.moveYaw(random(0, 7)); } new ConditionalSleep(6000) { @Override public boolean condition() throws InterruptedException { return (myPlayer().getZ() != 3); } }.sleep(); } } else if (myPlayer().getX() == 2712 && myPlayer().getY() == 3472) { camera.moveYaw(random(25, 46)); } else if (!myPlayer().isMoving() && !myPlayer().isAnimating()) { camera.toEntity(obstacle); } } break; case STAGE_6: obstacle = objects.closest(11377); if (isObjectValid(obstacle)) { if (obstacle.isVisible()) { sleep(random(400, 500)); if (mouse.isOnCursor(obstacle)) { mouse.click(false); } else { obstacle.interact("Jump"); } s6 = new PointDestination(getBot(), mouse.getPosition()); new ConditionalSleep(1000) { @Override public boolean condition() throws InterruptedException { return (myPlayer().isMoving() || myPlayer().isAnimating()); } }.sleep(); if (myPlayer().isMoving() || myPlayer().isAnimating()) { mouse.move(s7); mouse.moveVerySlightly(); new ConditionalSleep(3000) { @Override public boolean condition() throws InterruptedException { return (myPlayer().getZ() != 2); } }.sleep(); } } else if (!myPlayer().isMoving() && !myPlayer().isAnimating()) { camera.toEntity(obstacle); } } break; case STAGE_7: sleep(random(300, 400)); if (magic.castSpell(NormalSpells.CAMELOT_TELEPORT)) { s7 = new PointDestination(getBot(), mouse.getPosition()); mouse.move(s1); mouse.moveVerySlightly(); new ConditionalSleep(4000) { @Override public boolean condition() throws InterruptedException { return (Stage_1.contains(myPlayer())); } }.sleep(); } break; case WAIT: break; } return gRandom(215, 80); } public void onPaint(Graphics2D g) { g.setColor(Color.WHITE); g.setFont(new Font("Arial", 0, 14)); g.drawString("Duration: " + formatTime(getExperienceTracker().getElapsed(Skill.AGILITY)), 25, 265); g.drawString("", 25, 280); g.drawString("XP/hr: " + getExperienceTracker().getGainedXPPerHour(Skill.AGILITY), 25, 295); g.drawString("", 25, 310); g.drawString("TTL: " + formatTime(getExperienceTracker().getTimeToLevel(Skill.AGILITY)), 25, 325); } private String formatTime(long ms) { long s = ms / 1000, m = s / 60, h = m / 60, d = h / 24; s %= 60; m %= 60; h %= 24; return d > 0 ? String.format("%02d:%02d:%02d:%02d", d, h, m, s) : h > 0 ? String.format("%02d:%02d:%02d", h, m, s) : String.format("%02d:%02d", m, s); } private boolean isObjectValid(RS2Object object) { return object != null && object.exists() && map.canReach(object); } private boolean isGroundItemValid(GroundItem item) { return item != null && map.canReach(item) && item.isVisible() && item.getPosition().distance(myPlayer().getPosition()) <= 7; } } Longest prog: Requires Kandarin Hard Diary completed (Seers Teleport). Also there is no obstacle-fail handling, so have high enough agility (+L75).
  3. Hmm any way I can sort those objects by distance to player? This topic talks about comparators but I'm not sure how to implement it.
  4. I have an area I want to use in my script however it is instanced in-game. My best idea has been to capture the area using getArea(int radius) however I'd like to capture a rectangle if possible. Within the aforementioned area, I want to get all of the non-null objects matching an ID. Then I would like to interact with the first object , and hover over the second object. Any help appreciated
×
×
  • Create New...