Leaderboard
Popular Content
Showing content with the highest reputation on 08/26/14 in all areas
-
2 points
-
Before buying, please ensure you check-out with the correct script. Swapping scripts is not possible. View in store $4,99 for lifetime use - Link to Sand Crabs script thread (better exp/h!) - Requirements: Camelot tabs / runes in main tab of bank Designated food in main tab of bank ~ 20-30+ combat level Features: CLI Support! (new!) Supports Ranged & Melee Attractive & fully customisable GUI Attractive & Informative paint Supports any food Custom cursor On-screen paint path and position debugging Supports [Str/Super Str/Combat/Super combat/Ranged/Attack/Super attack] Potions Collects ammo if using ranged Stops when out of [ammo/food/potions] or if something goes wrong Supports tabs / runes for banking Option to hop if bot detects cannon Global cannon detection Option to hop if there are more than X players Refreshes rock crab area when required Avoids market guards / hobgoblins (optional) Automatically loots caskets / clues / uncut diamonds Enables auto retaliate if you forgot to turn it on No slack time between combat Flawless path walking Advanced AntiBan (now built into client) Special attack support Screenshot button in paint GUI auto-save feature Dynamic signatures ...and more! How to start from CLI: You need a save file! Make sure you have previously run the script and saved a configuration through the startup interface (gui). Run with false parameters eg "abc" just so the script knows you don't want the gui loaded up and want to work with the save file! Example: java -jar "osbot 2.4.67.jar" -login apaec:password -bot username@[member=RuneScape].com:password:1234 -debug 5005 -script 421:abc Example GUI: Gallery: FAQ: Check out your own progress: http://ramyun.co.uk/rockcrab/YOUR_NAME_HERE.png Credits: @Dex for the amazing animated logo @Bobrocket for php & mysql enlightenment @Botre for inspiration @Baller for older gfx designs @liverare for the automated authing system1 point
-
APA Combat Assistant Predict hits, track exp, speedrun quests, and more! FREE! GET THE SCRIPT NOW BY CLICKING HERE! This script is all you need for legitimate playing! FEATURES: It has an XP bar for each skill, compact & 100% hideable. You can choose the bars you want. It will only show what you want it to show! Customisable Timer with integrated exp counter. This allows you a custom timer for timing speed runs, calculating legit exp rates and more! There are 2 buttons: Reset - This puts the timer back to 0. simple enough. Lap - this freezes the current timer and runs the timer in the background. The script will save the exp you've gained as well as the time you've lapped. Perfect for exp/hour calculations and plenty more! % Bars. Visually shows your current health, prayer and run small but visible bars. These are at the top left of the screen. The feature you've all been waiting for! The next hit prediction counter. This nifty little display will show you your next hit to an accuracy of +- 1 dmg up to 1 second before it is displayed ingame! What's more? It will stack combo hits! for example, it will add the two hits from a DDS/MSB/DBow spec and combine them into 1 counter! (Calculated via exp drop) Here's a couple of snippets of it working: Solves randoms. When you need to solve a random, just resume the script and it'll do it for you. Note that the client actually does this so I haven't programmed it. Any errors with this I cannot deal with, however you can report the error on the client support page. Food consumer - This is completely optional and is an extensional GUI which allows you to eat food when you get below a certain health threshold, perfect when you're going afk. Other features: Hides automatically if you are in your bank Causes NO lag/fps drop Live stat and exp data Isn't macroing, so I don't believe you can get banned for using this. (unless you use it to solve randoms / food consumer) Perfect if you want to go afk. Script will keep you logged in by playing the client-integrated antiban, and will solve any randoms should they be encountered. Get it FREE on the sdn now! Link is at the top. ENJOY!1 point
-
I will be giving out 1 and 2 day free trials for my Staking Odds Calculator script. COMPLETE STEP 1 FOR A ONE DAY FREE TRIAL! COMPLETE BOTH STEP 1 AND STEP 2 FOR A TWO DAY FREE TRIAL! Step 1) Go to THIS THREAD and post this: Step 2) After you complete step one, go to THIS THREAD and press1 point
-
Updated for OSBot 2's API! Hello again everyone! I hope you enjoyed my first tutorial, and I hope you'll enjoy this on as well. All feedback is appreciated, so feel free to post your thoughts! This tutorial will use some of my methods for simple banking and path walking! We’ll expand upon our script we were working on last time, so you'll need the source. Step I: Converting to a Banking Script Now as we all know, this script isn’t only boring, it will keep trying to click the rocks after we mine them, even if that vein isn’t ready! To remedy this, we’ll be searching for the rocks using object IDs instead of names. Since we’ll be using specific IDs, we have to choose what and where we’ll be mining! For this second tutorial, we’ll make a script that mines tin in the mines south-east of Varrock: Finding Object IDs Finding object IDs in OSBot is very simple, stand near the object you want the ID of, press Settings: Then press Advanced Settings: Then finally press Object Info: This will lag your client a lot, but don’t worry, you can shut it off as soon as you get the IDs. To get the ID, just look for the number near/on the object you’re looking for: Note: Some objects and NPCs in Runescape have deviations of themselves (like tin), so the same object/NPC may have different IDs (make sure to get all the IDs of whatever you’re using). Now that we have tin’s ID, we’ll make a constant in our script: private static final int[] TIN_ID = { 7140, 7141, 7142 }; We’ll put this line right after this: public class BasicMiner extends Script { Now that we have the object ID found and defined, let’s change our original code to use the ID instead of a name, simply by changing this line: RS2Object vein = objects.closest("Rocks”); to this: RS2Object vein = objects.closest(TIN_ID); Step II: Area Based State For this script, we’ll see which state we should be in with the help of OSBot’s Area class, which is defined as Area(int x1, int y1, int x2, int y2). Simply stand on two opposite corners and fill in the x and y. For the areas, put this after our path variable: private static final Area MINE_AREA = new Area(3277, 3358, 3293, 3371); private static final Area BANK_AREA = new Area(3250, 3419, 3257, 3423); Step II: Path Making The first step to path walking, would be path making! We’ll be making a path by enabling the “Player Position” setting (same place we enabled Object Info): Now, I like to open notepad, or some other text editor while finding my path, so do that now. Alright, finding a path to the bank is pretty simple, but can be slightly confusing at first. Start at the tin veins, and add the position you’re current at (this will be used when we reverse the path to walk from the bank back): Then act like you’re walking to the bank, but only press ONCE on the minimap. Let your player walk to that position and stop, then write down your first position to that path. Then keep doing that until you’re in the bank, here’s what I got: 3283, 3363 3290, 3374 3292, 3386 3290, 3374 3291, 3401 3287, 3413 3282, 3427 3270, 3429 3256, 3429 3254, 3421 To turn this path into something we can use in our script, we’ll be using an array (collection of a type of variable). We’ll put this line of code right after where we defined TIN_ID: private Position[] path = { new Position(3283, 3363, 0), new Position(3290, 3374, 0), new Position(3292, 3386, 0), new Position(3290, 3374, 0), new Position(3291, 3401, 0), new Position(3287, 3413, 0), new Position(3282, 3427, 0), new Position(3270, 3429, 0), new Position(3256, 3429, 0), new Position(3254, 3421, 0) }; Yay! We now have a full path from the mines to the bank, which we’ll reverse to go from the bank to the mines (saving us a step)! Step IV: Path Walking Now that we have a path, let’s put it to use! First of all, let’s change our enum by removing the DROP constant, and adding WALK_TO_BANK, BANK, WALK_TO_MINES: private enum State { MINE, WALK_TO_BANK, BANK, WALK_TO_MINE }; Now it’s time to change our getState() function to return what exact state we should be in: private State getState() { if (inventory.isFull() && MINE_AREA.contains(myPlayer())) return State.WALK_TO_BANK; if (!inventory.isFull() && BANK_AREA.contains(myPlayer())) return State.WALK_TO_MINE; if (inventory.isFull() && BANK_AREA.contains(myPlayer())) return State.BANK; return State.MINE; } Now that the script knows what state we should be in, let’s handle the actual path walking, with a pretty simple method to traverse the whole path: 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++; } } You can put this method after getState() if you’d like, and the walkTile(path) will be underlined red, because we’re about to make that method too! I’ll explain this method, as it may look confusing: If the path isn’t reversed, we’ll iterate through the path starting at position 1 (note that arrays start at 0, but remember, our 0 is in the mine) until we end in the bank. If the path is reversed, we’ll simply do the opposite! We’ll start at the 2nd to last position (path.length - 2) and continue to decrease through the path until we end up back in the mine! The reason we aren’t using OSBot’s walk() method is because, well, it doesn’t work nicely at all. It tends to continue clicking the position til you’re there, and many other problems can happen. So here’s the walkTile(Position p) method, put this after the traversePath() method: private boolean walkTile(Position p) throws InterruptedException { client.moveMouse(new MinimapTileDestination(bot, p), false); sleep(random(150, 250)); client.pressMouse(); 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; } Simply put, we move the mouse to where the tile is on the minimap, then press the mouse button. After that, we’ll sit around and wait until we’re pretty close to the tile we’re walking to. I also implemented a simple failsafe here, just incase we misclicked or something, that will reclick the same position until we're actually near that position. Step V: Preparing for Banking Now let’s actually make the walking states actually walk, by changing our onLoop() to this: @Override public int onLoop() throws InterruptedException { switch (getState()) { case MINE: if (!myPlayer().isAnimating()) { RS2Object vein = objects.closest(TIN_ID); if (vein != null) { if (vein.interact("Mine")) sleep(random(1000, 1500)); } } break; case WALK_TO_BANK: traversePath(path, false); sleep(random(1500, 2500)); break; case WALK_TO_MINE: traversePath(path, true); sleep(random(1500, 2500)); break; } return random(200, 300); } Step VI: Banking Now that we’ve managed to walk to and from the bank, let’s actually do some banking! If we’re in the bank state, that means we’re already in the bank! Now, let’s add this case to our onLoop() function (as seen above), by simply adding this after the last “break;” and before the ‘}’: case BANK: RS2Object bankBooth = objects.closest("Bank booth"); if (bankBooth != null) { if (bankBooth.interact("Bank")) { while (!bank.isOpen()) sleep(250); bank.depositAll(); } } break; This looks for the bank booth, if it isn’t null and if we actually managed to click on it, we’ll wait til it’s open, then deposit everything except our pickaxe, which is hardcoded so you’ll have to change this to whatever pickaxe you’re using. We’ll automatically detect which pickaxe we’re using in the next tutorial. Conclusion If you managed to get through this whole tutorial without error, congratulations! If not, you can find the full source here. I hope you've learned something from this, and if you didn’t, don’t worry! Programming takes time to learn, look this over a few times, I promise you’ll get it! Thanks for viewing my second tutorial, stay tuned for future tutorials!1 point
-
MailCurseCaster v0.9.1 Yay! My third published script! Using curse on the Monk of Zamorak in Varrock is a very easy way to get your magic lvl up. So I made this script. Also I finally added some paint, will update my other scripts. If there will be demand, I can publish a Aubury's rune shop script, that I used to buy my runes. What my script does: casts Curse checks if you still have body runes, if not it logs out both compiled jar and source code published Enjoy! Notes: I just noticed there is another curse caster available, but I've already made this script, so here you goUpdates: v1 - initial releaseDownload (v1) Precompiled JAR: http://tmp.martincernac.cz/mailcursecaster/MailCurseCaster.jar?v1 Source (if you don't trust me): http://tmp.martincernac.cz/mailcursecaster/MailCurseCaster.java?v1 Screenshot1 point
-
Average Interval: How often your bot will break Interval Deviation: This setting will change how far the break interval be by (+/-) So if you set your average interval to 60 minutes & your interval deviation to 15 minutes Your bot will break every 45-75 minutes. Average break time: How long the bot will break for Break time deviation: decides the difference the bot will break from your average break time by (+/-) So if you set your bot to break for 60 minutes & your break time deviation to 15 minutes Your bot will break for 45-75 minutes. If your looking not to get banned, setting break settings will help you by a lot. Here are some settings that I practice around with. So my bot will break every 211-357 minutes And will break for 43-87 minutes. For an extra tick of faith, you should change these settings every 3-7 days.1 point
-
Recently @Wax A has made me a signature (thanks!) I would rate it 9/10, what do you guys think?1 point
-
Well, it's been a fun run. I just don't feel like I fit in here anymore. Now that I'm not botting, I don't have much to do, and the forums are fairly slow, so I'll be resigning for now. I might still be active on the forums, but probably not, just going to focus on other things for now. Thank you for the wonderful year, I'll catch you guys later. Pce, brandop1 point
-
Please don't touch my children. I learned all about you in prison break, Mr. Bagwell1 point
-
1 point
-
Enjoy your sign! Not going to rate my own work so ye, i had a fun time making this sign i don't make every day! It's not the style i have to make everyday. But the result is not nad so...1 point
-
1 point
-
1 point
-
1 point
-
1 point
-
1 point
-
So i'm going to follow one of my long-term goals and start to learn how to script. My question is in what fields should i expand my knowledge in inorder to become a GOOD scripter? I do have some knowledge, but limited. So please let me know!1 point
-
i always thought it was kayne, wtf is kayne o.O w/e i dont have a favorite artist, so ill just go for this one cuz.. he's cool music hardstyle/eminam/linkingpark and loads of other shit, i got a folder called "shit" and i dump every song thats not a complete album i like in there so yeahh1 point
-
1 point
-
1 point
-
Does it mean that Osbot is a low-tech bot? becasue it struggles with randoms1 point
-
1 point
-
1 point
-
You literally just admitted to selling the account twice, and recovering it. It does not matter if you sold it to an osbot member or not. We're not going to condone account recovery scams.1 point
-
All of them are phenomenal. I love the mad hatter/shaco one. And is that Jax? Not really sure, but excellent work.1 point
-
Here is my solution, dont recover it. You stated that you sold the account, and now you want to come back and play RS again so you are trying to recover the account? Account recovery after selling an account is against the rules on OSBot. If you make an attempt to do this in the OSBot market, you will be banned.1 point
-
1 point
-
>Javascript uwot OT: Learn Java, the basics are good enough for simple scripts (like Freddy's Willow Chopper that only uses one ax and only has banking in one location with no other options such as power chopping) But if you want to do anything more than that (AIO things) you should learn more than just the basics. I would suggest spending at least a month just learning Java before getting into scripting to ensure you actually know how to program before you learn how to script. Then go through Pandemic's two tutorials (which should make perfect sense if you know Java, if it doesn't make sense you should go spend another month on just Java) Then go through a "How to use Nodes in your script!" tutorial (which should make sense if you know more than the basics of Java, if it doesn't and you want to use them you should spend another month on just Java) And then you're on your way. :') Java tutorials are pretty easy to find, just google "Java tutorials" and most of the top results should work wonders. If you have questions about Java, I would suggest trying to figure them out yourself before asking someone for help (google is your friend, and "problem solving" is a good thing to have on a resume later in life) If it's a problem with the API, I'm sure most OSD's will try to help, though again I'd suggest looking through the docs yourself before asking someone.1 point
-
I personally hate questing, especially on 07. It takes ages to get all the supplies together and whatnot. It's a pretty amazing cape still to be honest, doesn't matter how many people have the cape.1 point
-
1 point
-
1 point
-
1 point
-
My script at the moment is at a bank with 4 booths in a row. It usually clicks the one that is at least 1 square away instead of the one in front of it, causing it to walk back and forth a lot because it is a banking skill that I am testing. Is there a way to restrict it to just 1 bank booth only so the character does not move every 2 inventories to a new bank booth? Thanks1 point
-
1 point
-
1 point
-
1 point
-
1 point
-
It's not wrong in the sense that it won't work if he does it like that1 point
-
1 point
-
1 point
-
I have played guitar for 10 years, trust me, you dont need lessons. I have spent over £4000 on guitar lessons but have learnt much myself. I simply just recommend typing the song name and add guitar tutorial on the end, and for tabs, go to songsterr.com the best site out there ever. Except Osbot of course.1 point
-
I believe this is JaGeX's way of saying "We know that you probably bot or use this account to goldfarm, but we don't have any proof, so we're just going to lock and delete your account, and that way all problems will be solved." Their logic is absolutely revolting1 point
-
It uses the local path finder. When using entity, they must have been loaded. Also canReach() is bugged when checking to see if your on top of the position. So i tweaked it a bit. This doesnt contain obstacle handling, im still a bit confused on how im going to add it in. If you have an idea i would love to hear it. import java.util.LinkedList; import org.osbot.rs07.api.map.Position; import org.osbot.rs07.api.model.Entity; import org.osbot.rs07.api.util.LocalPathFinder; import org.osbot.rs07.input.mouse.MiniMapTileDestination; import org.osbot.rs07.script.MethodProvider; import org.osbot.rs07.script.Script; public class Walking { /* * Doesn't contain obstacle handling. */ private LocalPathFinder pathFinder; private Script script; public Walking(Script script) { this.script = script; this.pathFinder = new LocalPathFinder(script.bot); } public boolean canReach(Position pos) { if (script.myPlayer().getPosition().equals(pos)) return true; else return script.map.canReach(pos); } public boolean setRun(int amount) { if (script.settings.getRunEnergy() >= amount && !script.settings.isRunning()) { if (script.settings.isDataOrbsActive()) return script.interfaces.getChild(548, 39).interact(); else return script.settings.setRunning(true); } return script.settings.getRunEnergy() >= amount && script.settings.isRunning(); } public boolean walkMiniMap(int threshold, Position pos) throws InterruptedException { MiniMapTileDestination des = new MiniMapTileDestination(script.bot, pos); if (canReach(pos)) { int fail = 0; script.mouse.click(des); //script.log("tries: " +fail); while (script.myPosition().distance(pos) > threshold && fail < 10) { MethodProvider.sleep(500); if (!script.myPlayer().isMoving()) fail++; } return fail != 10; } return false; } public void walkPath(int threshold, Entity entity) throws InterruptedException { LinkedList<Position> path = pathFinder.findPath(entity); if (pathFinder.foundPath()) { for (Position pos: path) { if (pos != null && script.myPosition().distance(pos) > threshold) { if (canReach(pos)) { this.walkMiniMap(threshold, pos); }else{ script.log("cant reach pos: " +pos.toString()); } } } }else script.log("error looking for path"); } public void walkPath(int threshold, Position endPos) throws InterruptedException { LinkedList<Position> path = pathFinder.findPath(endPos); if (pathFinder.foundPath()) { for (Position pos: path) { if (pos != null && script.myPosition().distance(pos) > threshold) { if (canReach(pos)) { this.walkMiniMap(threshold, pos); }else{ script.log("cant reach pos: " +pos.toString()); } } } }else script.log("error looking for path"); } }1 point