Jump to content
View in the app

A better way to browse. Learn more.

OSBot :: 2007 OSRS Botting

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Ibotfishingexp

Members
  • Joined

  • Last visited

Everything posted by Ibotfishingexp

  1. Like balloons said, usually an account is locked when someone is attempting to recover it.
  2. I own an obby mauler and am currently stuck on something with him. He is currently 1/77/1 with 67 hp, 44 cb. I've been leeching nmz with some friends but it's only around 6k an hour in points. At this rate, if I fully committed to it, it'd take me weeks to reach imbued with my current stats. My other option is to get 43 prayer and significantly speed up the process. I'd be 49 cb with 77 str and 66 hp vs having 89 str and 80 hp. With some number crunching, with imbued ring the prayer max would be 38 vs the non pray max of 36. However, my account can gain an additional 10 str levels without leveling due to being range based from getting slayer staff. It would take 2800 games of pc to reach this and my max hit would become 41.6 at level 49 vs 36 without prayer. 43 prayer also opens up fire cape. The trade off is obviously the hp levels but I really cannot decide. The PC commitment is not a big deal since I was going to commit to the same (if not longer) span of time already for imbued. I'd just like some outside opinions. Thanks in advance, ibotfishingexp
  3. OP title. I have a script idea in mind but it's not convential. it's not even for the purpose of botting anything. Does osbot allow private sales?
  4. ^ this is true of course, although you might want to do it in a hard to reach place, like quest related. or in the wildy, since it appears instantly there... anyway, jagex wise it's safer to drop-trade, since they wont have anything. player wise just reg trade, much easier n stuff I just want you to know that coins dropped in wild do not appear instantly. I'm a high risker, and I learned right from the start that people offering to do cash risks tend to scam by dropping their cash shortly before they die. Then, they usually have edgy spawn and run back and pick it up.
  5. Karambwan can be bought for 400 gp from the store in Tai Bwo Wannai and then cooked and sold for upwards of 3k each in world 2. That's the most real fish I can think of.
  6. Ibotfishingexp replied to Syn's topic in Archive
    I hotfixed a script to work. Do some research.
  7. There is no more reason to discuss this topic. OP clearly misses the point that if you want something done right, do it yourself or pay someone to do it right.
  8. I put thi in my notepad than save it as RangeGuilder.groovy but its doesnt appear in my scripts?? "RangingGuilder.groovy" also make sure it's not rangingguilder.txt.groovy you have to actually change it's file type to "all files" .groovy
  9. If this doesn't work for you, then Jagex has changed how ID's work for all players. Click the cog in the top right and choose "advanced" followed by "object info" Stand next to the targets and find the white number next to them. Replace "2513" with that number. Also check the judges npc ID. I can supply a hotfix until the scriptor can fix his script. I've also fixed the issue with the judge. This is a hotfix, I highly recommend you babysit your bot. import java.io.IOException; import java.net.URL; import org.osbot.script.ScriptManifest; import org.osbot.script.rs2.map.Position; import org.osbot.script.rs2.model.NPC; import org.osbot.script.rs2.model.RS2Object; import org.osbot.script.rs2.ui.RS2Interface; import org.osbot.script.rs2.ui.RS2InterfaceChild; import org.osbot.script.rs2.utility.Area; import org.osbot.script.rs2.Client; import javax.imageio.ImageIO; import java.awt.*; @ScriptManifest(name = "RangeGuilder", author = "Rapidz", version = 1.1D, info = "Next generation 07 RuneScape RangeGuilding script, stable and almost flawless.") public class RangeGuilder extends Script { Image background = getImage("http://i.imgur.com/Or2kp76.png"); public long startTime; // Bot starting time private final static int JUDGE = 693; private final static int TARGET = 15545; private final static int BRONZE_ARROW = 882; private final static int LADDER_UP = 2511; private final static int LADDER_DOWN = 2512; private final static int CAMELOT_TELEPORT = 8010; private final static Position RETURN_POSITION = new Position(2670, 3418, 0); public int startRangedExp; public int lastRangedExpPerHour; public int rangedExpToLvl; public long lastExpCheck; private enum State { SHOOT, EQUIP_ARROWS, TALK_TO_JUDGE, RETURNING, ESCAPE } private State state = State.SHOOT; private int xpToLvl(int level, int currentExp) { return Math.round(Math.round((((level+1)*(level)/8)+75*((Math.pow(2, (level+1)/7)-Math.pow(2, 1/7))/(Math.pow(2, 1/7)-1)))-currentExp)); } private int xpPerHour(int currentExp, int startExp) { return Math.round((((currentExp-startExp)*3600)/((System.currentTimeMillis()-this.startTime)/1000))); } public void onStart() { positionScreen(); log("Rapidz RangeGuilder - Version 1.1 Running"); int rangedLvl = this.client.getSkills().getLevel(Skill.RANGED); int rangedExp = this.client.getSkills().getExperience(Skill.RANGED); this.startRangedExp = this.client.getSkills().getExperience(Skill.RANGED); this.startTime = System.currentTimeMillis(); this.rangedExpToLvl = xpToLvl(rangedLvl, rangedExp); this.lastRangedExpPerHour = 0; this.lastExpCheck = System.currentTimeMillis(); } public int onLoop() { switch(state) { case State.SHOOT: onShoot(); break; case State.EQUIP_ARROWS: onEquip(); break; case State.TALK_TO_JUDGE: onTalk(); break; case State.ESCAPE: onEscape(); break; case State.RETURNING: onReturning(); break; } return 0; } public void onMessage(String message) { if (message == "You should probably be behind the hay bales." || message == "You've fired all your arrows, maybe you should talk to the Judge." || message == "Maybe you should ask before using those.") { state = State.RETURNING; } } private void onShoot() { if (searchInterfacesForText("Sorry, you may").isEmpty() && searchInterfacesForText("I suggest").isEmpty() && searchInterfacesForText("Well done").isEmpty()) { if (client.getMyPlayer().isUnderAttack()) { state = State.ESCAPE; return; } else if (client.getInterface(325) == null) { selectEntityOption(closestObject(TARGET), "Fire-at", true, false); sleep(1 + random(5)); } else { selectInterfaceOption(325, 88, "Close", true); } } if (searchInterfacesForText("Sorry, you may").size() >= 1 || searchInterfacesForText("Well done").size() >= 1 ) { state = State.TALK_TO_JUDGE; } else if (searchInterfacesForText("I suggest").size() >= 1) { state = State.EQUIP_ARROWS; } } private void onTalk() { selectEntityOption(closestNPC(JUDGE), "Talk-to", false); sleep(300 + random(50)); waitForClickContinue(); sleep(600 + random(100)); waitForAccept(); sleep(600 + random(100)); waitForClickContinue(); sleep(600 + random(100)); waitForClickContinue(); sleep(500 + random(50)) if (searchInterfacesForText("Oops,").size() >= 1) { log("Ran out of coins, stopped the script.") stop(); } state = State.SHOOT; } private void onEquip() { selectInventoryOption(client.getInventory().getSlotForId(BRONZE_ARROW),"Wield"); state = State.SHOOT; } private void onEscape() { selectEntityOption(closestObject(LADDER_UP), "Climb-up"); while (client.getMyPlayer().getZ() == 0) { selectEntityOption(closestObject(LADDER_UP), "Climb-up"); sleep(3000); } sleep(6000); while (client.getMyPlayer().getZ() == 2) { selectEntityOption(closestObject(LADDER_DOWN), "Climb-down") sleep(2000); } state = State.RETURNING; } private void onReturning() { while (walkExact(RETURN_POSITION, 0) == false) { sleep(6000); } state = State.SHOOT; } private void waitForClickContinue() { int i = 0; sleep(300); while (searchInterfacesForText("Click here to continue").isEmpty()) { if (client.getMyPlayer().isUnderAttack()) { state = State.ESCAPE; return; } if (i >= 20) { return; } sleep(100); i++; } while (clickContinue() == false) { if (client.getMyPlayer().isUnderAttack()) { state = State.ESCAPE; return; } if (i > 25) { return; } sleep(500); i++ } } private void waitForAccept() { int i = 0; sleep(300); while (searchInterfacesForText("Sure, I'll give it a go").isEmpty()) { if (client.getMyPlayer().isUnderAttack()) { state = State.ESCAPE; return; } if (i >= 20) { return; } sleep(100); i++; } while (accept() == false) { if (client.getMyPlayer().isUnderAttack()) { state = State.ESCAPE; return; } if (i >= 25) { return; } sleep(600); i++ } } private boolean clickContinue() { return searchInterfacesForText("Click here to continue").get(0).interact("Continue"); } private boolean accept() { return searchInterfacesForText("Sure, I'll give it a go").get(0).interact("Continue"); } private void positionScreen() { while (!walkExact(RETURN_POSITION)) { sleep(500); } client.rotateCameraToAngle(330); client.rotateCameraPitch(22); } private Image getImage(String url) { try { return ImageIO.read(new URL(url)); } catch(IOException e) { return null; } } private String format(long totalSeconds) { long hours = totalSeconds/3600; long minutes = (totalSeconds-hours*3600)/60; long seconds = totalSeconds-(hours*3600+minutes*60); String hoursS = String.valueOf(hours); if (hours < 10) hoursS = "0" + hoursS; String minutesS = String.valueOf(minutes); if (minutes < 10) minutesS = "0" + minutesS; String secondsS = String.valueOf(seconds); if (seconds < 10) secondsS = "0" + secondsS; return hoursS+":"+minutesS+":"+secondsS; } public void onPaint(Graphics g) { g.drawImage(background, 8, 345, null); int rangedLvl = this.client.getSkills().getLevel(Skill.RANGED); int rangedExp = this.client.getSkills().getExperience(Skill.RANGED); if ((System.currentTimeMillis()-this.lastExpCheck)>2000) { this.lastRangedExpPerHour = xpPerHour(rangedExp, this.startRangedExp); } if ((System.currentTimeMillis()-this.lastExpCheck)>2000) { this.rangedExpToLvl = xpToLvl(rangedLvl, rangedExp); } long runing = (System.currentTimeMillis()-this.startTime)/1000; long timeToRangedLevel = 0; if (this.lastRangedExpPerHour>0) timeToRangedLevel = (this.rangedExpToLvl/this.lastRangedExpPerHour)*3600; g.setColor(Color.WHITE); g.setFont(g.getFont().deriveFont(10.0f)); g.drawString("Rapidz' RangingGuilder - Version 1.1", 25, 365); g.drawString("Ranged level: " + rangedLvl, 25, 395); g.drawString("Time till next level: " + format(timeToRangedLevel), 25, 410); g.drawString("Exp til next level: " + this.rangedExpToLvl, 25, 425); g.drawString("XP/Hour: " + this.lastRangedExpPerHour, 25, 440); g.drawString("Script has been running for: " + format(runing), 25, 455); } public void onExit() { long totalSeconds = (System.currentTimeMillis()-this.startTime)/1000; int hours = (int) (totalSeconds/360); int minutes = (int) ((totalSeconds-(hours*360))/60); int seconds = (int) (totalSeconds-((hours*360)+(minutes*60))); log("Thank you for using Rapidz' RangingGuilder!"); } }
  10. All of my posts in Price check or account selling get locked almost instantly. What am I doing wrong? I cannot seem to find any definitive list of rules I've broken and likewise I do not receive messages notifying me of this. What gives?
  11. Ibotfishingexp replied to Bub's topic in Archive
    Just saw a jmod at ranged guild. Spoke to him for a little and then logged off and back in to make sure I wasn't banned. Thankfully wasn't but they are going HAM on locations.
  12. How does a moderator check to see if you are botting? My two day ban is up and I have no problem finishing the last 15 levels I need legit. However, I am concerned that it won't matter if I do it legit or not and I'll get permabanned. How exactly do they verify that I am human and not a bot? I need range levels without hp, but I am not really interesting in dumping several mil into cannonballs.
  13. Thats not really the scripts fault though. You guys should take care when botting. I babysat the entire time, responding to pms/sending a few out myself. I'm not sure what else would need to be done.
  14. You misunderstand what I am trying to say.
  15. Ibotfishingexp replied to Bub's topic in Archive
    2 day ban at ranged guild.
  16. Banned as well after only 5 hours of using. Bot busting moderate.
  17. Oh wow hahaha. I did Ranged guild for 5 hours last night and woke up banned with a bot busting moderate. See you all in 2 days. I really don't see how they can ban someone just for being at ranged guild. It was my first night there too.
  18. Ibotfishingexp replied to Laz's topic in Releases
    Laz, this should do nicely as proof it works. (Using imgur to strip my EXIF data from the images)
  19. Ibotfishingexp replied to ajwadi's topic in Archive
    Personally. I like the font of your stat helper. Excellent first script, welcome to Osbot.
  20. 12 please Sad to see another person leaving, but real life calls.

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.