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.

thelegacy0

Members
  • Joined

  • Last visited

Everything posted by thelegacy0

  1. Works perfectly after this update. I've done probably 4k alchs since it was updated, my lastest being a 2 hour stretch and it stopped after running out of alchs. Next time I'll try to get a screeny, but I'm not rich enough to stack up 10k alchs ;P
  2. Strip it to the very basics and see if that works, then work on adding if visible and attackable and stuff. Like, this is all my fighter has: int fighting() { if(!myPlayer().isUnderAttack()) { NPC npc = getNpcs().closest("Guard"); if(npc.exists()) //add loop for finding attackable ones npc.interact("Attack"); else this.stop(); } return 1000; } Start with just attacking, then work on finding out if they're attackable and stuff. Use enums, don't having everything running in your onLoop(). My fighter has eating, teleporting, and attacking and is 75 lines long, finished
  3. thelegacy0 replied to Laz's topic in Releases
    I know, right? I even added a TL;DR :P
  4. thelegacy0 replied to Laz's topic in Releases
    Just say "I use a third-party client to track my xp/hour. I am a hardcore skiller (or if you're doing combat, just say you like to know how long to the next level, etc), and physically seeing my numbers is such motivation for me. If this is a problem, I will receive punishment but don't be too harsh on me, as I am just ambitious!" If they come at you with physical evidence of botting, oops! Otherwise, how're they to tell you're lying? Jagex is pretty lenient if you're "honest". One day I noticed my membership renewed when I didn't want to. I was over 24 hours into my "next month" of my subscription. I messaged them, said this isn't what I wanted, and they cancelled my membership and refunded the monthly fee. They're nice to their honest, dedicated player, because they don't want to lose your business. TL;DR - My client is for XP tracking, not botting, release your own tracker or leave me alone
  5. thelegacy0 replied to Laz's topic in Releases
    Have you guys considered adding a timer for being stuck in a random, so you log out and close the script?
  6. I was looking on the SDN, I guess I should clarify why there aren't any there. Yeah local scripts are probably a dime a dozen with these. Is OSBot just not pushing them or something?
  7. Auto clicker would definitely get you banned due to the camera never moving, and never having random delays. The sleep you use depends on a few other things, and the time I'm using seems universally perfect. It might skip here and there, which is good, because that's what you want. But anyway, alching stuff is really easy to write because it's just left click. The antiban just needs to include: camera movement, random clicks, sometimes skip an alch (like wait 5 seconds), and sometimes look away from the screen, so anywhere from 10 to 120 seconds of inactivity. Not the best exp/hr (I'm getting over 1k alchs/hr with random 3-14 second pauses maybe once per couple minutes) but it's still good for if you don't want to do it. To me, it just seems too easy to not have. That's why I want feedback, to see if I'm overlooking something.
  8. On the SDN, Why don't we have one? I understand that left clicking with subtle camera movements probably has a high ban rate, but seriously, it's not hard to write something up for human attention span... Does anyone have any legitimate reasons for it? I've alched 1k of 4k rune arrows with a script I whipped up... I'll keep toying with the human-like left-clicking powers every now and again, but I don't see why we don't have such a simple script.
  9. if(client.getMyPlayer().isAnimating()) { if(smokingRock()) { //avoid that rock } } ^ In your loop public boolean smokingRock() { RS2Object rock1 = closestObject(15); if(rock1.getModel().getHeight() > 75) { //I THINK they start at 77... Change to 80 if you want if(client.getMyPlayer().isFacing((Character<?>) rock1)) { return true; } } return false; } P.S. in your code you'd want to check for the rock while animating... You have to rewrite your if statements, so that it's if(not animating) click rock, else if(is animating) check for smoking rock. Know what I mean? Edit: if a cast doesn't work, you could try the interactWith boolean. Ents are easier cause they're npcs
  10. There's a tutorial on it http://osbot.org/forum/topic/44536-smoking-rock-detection/?hl=smoking+rock Edit: tutorial is for while you're selecting what to mine. Might wanna change that/add that for when you're already mining.
  11. Did you check the script's forum post and make sure it's up to date? I haven't died anywhere from 30/30/1 to 67/63/40
  12. Thanks for the suggestion guys, I think I'll polish it off and release it, for those of us with lower defence ;) I'll edit my first post for progress.
  13. SDN scripts can't have keyloggers in them, or anything malicious
  14. Hello everyone, I'm going to make a script that fights giant spiders (level 50) in level 3 of the security stronghold. I am open to all criticism and any idea you can throw at me. What it already does: Fights the spiders It does not fight someone else's spider, or attack a spider that has already died Eats lobsters at an adequate hp Teleports to Varrock when you run out of food Waits until after your current fight, even if they are aggressive, it teleports between fights Banks, grabbing runes and food Runs back Just need to incorporate answering all those security question.. Ideas on efficiency? What it needs More frequent random behavior when the spiders are aggressive, since it's practically afk Support all food Support tablets GUI A cool paint Switching styles after a certain period of time, or level up Whatever else you guys want to see!
  15. thelegacy0 replied to Laz's topic in Releases
    Twice now I've gotten stuck in the pillar random.. It picks all 10 correctly, but doesn't leave unless I move the camera to the exit.
  16. thelegacy0 replied to Zach's topic in Releases
    This, please. I'm going to start adding things like this to my scripts that I want running for long periods of time. I think this got me killed yesterday =\ I noticed myself in Lumbridge, but the log showed several SUCCESSFUL randoms, so a not-recognized would do the trick.
  17. thelegacy0 replied to Zach's topic in Releases
    1) 1.7.98 2) [ERROR][04/06/14 12:48:45 AM]: Error on executing script worker! java.lang.NullPointerException at org.osbot.script.rs2.ui.Bank.getItems(bi:38) at org.osbot.script.rs2.ui.Bank.getAmount(bi:83) 3) When checking bank for item, script crashes. Take out the getBank.getAmount(int) line and the script runs fine. This is all I took out - if(client.getBank().getAmount(#)> #) { And no, client.getBank().getItemForName(String).getAmount(int) does not work.
  18. If you're saying it's an object that doesn't change, then checking the object name/ID would be rather useless. However, in the case of mining, I believe you receive a message saying the ore has run out? It's kinda nooby, but using onMessage(String message) can cover you until you figure this out, so you don't stagnate in your script.
  19. Thank you guys, adding (this) to my main class and this.s = s; plus s.client did the trick! Divinity, how do you get your pictures that size? Mine come up microscopic
  20. I'm using multiple classes and I'm struggle with every class using the client and player. Things like client.getMyPlayer() Return null in anything besides my one class. How can I make it so both classes after access to stuff like client.getMyPlayer() and client.moveCameraToEntinty() Without having to write method(Player p) p.getInfo(); Both classes import and extend script. I just want both classes to be able to use client.getMyPlayer(); Answer: see below TWO posts
  21. You're very welcome, keep us posted on your script!
  22. I meant System.out.println(i) literally prints out "1", "2", "3", or "4"
  23. Bank booths are objects. RS2Object bankBooth = closestObjectForName("Bank Booth"); client.moveCameraToEntity(bankBooth); sleep(random(300,600)); bankBooth.interact("Bank"); sleep(random(500,800)); If you want to use an NPC banker, just do NPC and closestNPCForName("Banker"); ALSO When you write a switch statement case FISHING: case WALKING_TO_FISH_AREA: case DOING_NOTHING: Will all do the same thing, it's the same as saying case FISHING && WALKING etc, so if you're trying to switch states, make sure you have break; in there so you define what state does what. Also, in your onLoop(), you want to outline when you're in what state: if(fullInventory()) { if(inBank()) { state = bank } else { state = walking; } } else { if(inFishingArea()) { state = fishing; } else { state = walking; } } I'm so noob, keep editing my post.. case WALKING_TO_BANK: return walkToBank(); break; int walkToBank() { if(BANK_AREA.contains(player)){ NPC bankbooth = closestNPC(BANK_BOOTH_ID); if(bank.isOpen()){ bank.depositAllExcept(303); whatAmIDoing = I_AM.DOING_NOTHING; }else{ if(bankbooth != null){ if(bankbooth.isVisible()){ bankbooth.interact("Bank"); sleep(random(700,800)); }else{ client.moveCameraToEntity(bankbooth); } } } } return 1000; }
  24. Back in 07/08, I used willow longs to get me into the 80s, and I simply sold them to counteract the costs. Back then, you could get willows for 20 ea (like now, but they also sometimes dropped to 10ea) and the shop buys them for a minimum of 16 each, so I sold them to minimize my defecit. You can put them in the bottom row, and hover over "Sell 10" (sell 50 came out around 08 era, best thing ever) and so you just right/left click without moving the mouse, easily sell thousands per minute. So in all I'd say it's pretty worth it, for the few minutes it takes!
  25. Hello everyone. I'm interested in making a script that gets two things done at once, with great exp/hr and even some profit. This is my first script, but my goal is to make something that flawlessly cuts willows, then fletches them into longbows (u), and then sells them to a general store, all while tracking your exp and gold. My idea is to have the script go a little like this: You select when you want to switch. Ex: Cut ~1k willows, fletch for ~30 minutes, sell the longbows (~500 willows/hr on a slow day, ~1500 longbows per hour, so this scenario has the rest being saved for whatever) and then head back to Draynor to start over You select 'Use best axe' or 'Use best axe for level', 'equip axe' if you want/can You select if you want, to teleport to lumbridge general or just walk there (time saver) And finally, when to end. Ex: after 5 hours, after 3 cycles, after you've made 16k (1k bows), or even if you run out of teleports What I have so far: A cutter/banker that I've run for up to four hours consecutively, no problems A fletcher that consistently gets 1500 per hour, and I've fletched over 5k bows with it A script that trades a shop keeper, sells the bows, and leaves Both skilling scripts have some antiban (camera movements, random varations in between clicking/walking/etc, and a random skill hover) but I hope to implement a LOT more, as I wish to run this until I get 99 What I need help with: Weaving the scripts together. I'm going to get some practice on multiple classes soon, but any help is very welcome. NotoriousPP's tutorial showed me packages, Divinity/Pandemic helped me make them all use the current client instance Making things neat, efficient, easy to read/update I'm constantly going over things, making sure there's no redundancy Switching between tasks. I haven't attempted it yet, so maybe I'll figure it out myself. Probably after I learn multiple classes. I've got a pretty good idea on it - woodcutting works, tonight I will attempt to switch over to fletching. The skeleton is set up already. Walking long distances. Is there an easier way than making rectangles from Draynor to Lumbridge? Closing the script on logout. So far, it logs out then logs back in because of the randomEventHandler in the client... Then this process loops until I stop the script, even though my code is 'logoutTab.logout(); stop();' A better paint. I can do simple stuff... Like colored/bordered squares A UI on start. I never got into using straight Java to make pop up boxes and stuff, so I'll need to learn how OSBot handles those. Adding up the gold. I could easily just get the total of the gold when I leave the shop, after the bows are all gone, but is that the most efficient way to do it? Hide/show paint, for client-releated breaks I think that's all.. I will constantly update this page with things I've done, and with anything else I need. Let me know what you guys think, what I'm stupid for doing, or what can be expanded on! As the days go by, I'll post some pictures of what my current scripts are capable of. I fletched what I had, but I'm going to try to get a proggy of each with 2-3k+ for proof of consistency This includes 2 15-20 minute breaks Took a picture with my phone, forgot to take a screenshot *facedesk* numbers were: XP (HR): 238410 36078 Logs (HR): 3517 532 Time: 6:36:29 Level: 74 (+3) I'll try to get another 6+ hour one in soon, but 2 days in a row is sketchy. I do have 5k bows to fletch though

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.