Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 02/28/14 in Posts

  1. Bullshit. There's no such thing as a female on this site.
    4 points
  2. Yeah that's kinda how company's work
    3 points
  3. Support. The whole reason people are here, buy VIP/Sponsor/Donator ranks, and give the staff team a forum to manage is because of 1) the developers and 2) the scripters who make scripts. I find it pathetic how you can get a colored name for being here awhile, but yet people who actually contribute to the client get nothing. It's just a colored name and there's no added benefits, so I don't see the problem with a little name color. If the whole issue is that it's easy to get the rank and people are just going to have it added and then removed a week later, just implement the old "Trial Scripter" rank back. This should be for people who have had an SDN script(s) out for over a month and have shown they can at least maintain updates, or at least a similar requirement. @@Maldesto if I remember correctly back when you first became admin you were actually FOR SDN Scripters getting the colored name (or maybe it was 5uck?).
    3 points
  4. Hello community, this is my first OSBot 2 release in a bit. I've managed to stabilize many parts of the software and fixed some issues with legacy scripts and so on. Patched the random event handler because it was broken. The release features some refactoring with RandomBehaviourHooks and how they are identified. They now use enums in OSBot 2 instead of simple generic IDs. The Script & Account selectors can now be closed by the X button on the top-right. Improved CPU performance amongst random event solving. Enhanced some inefficient code within the API and fixed bugs with bot contexts. Fixed many issues with the OSBot 1 script emulator. Try and see if your OSBot 1 scripts work now! Download: http://osbot.org/osbot2_beta/OSBot-packed-2.0.15.jar API: http://osbot.org/osbot2_api/ API (.zip): http://osbot.org/osbot2_api/Docs.zip Thanks, Sincerely, Laz and the OSBot Team.
    2 points
  5. 2 points
  6. SDN Scripter is ridiculously easy to get so it doesn't deserve a color.
    2 points
  7. Man... I wish this was forever.
    2 points
  8. nice inspect element, fgt
    2 points
  9. This will not be implemented a user bar is fine, one basic script on the sdn gets the user bar. That is why we have the user group official script developer.
    2 points
  10. 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
  11. Give some Feedback on the Paint i made for my script! EDIT! - Made the Progress bar actually move up as the percent to next level does!
    1 point
  12. I've been off graphics like 8 months now, made something for fun today, should I continue?
    1 point
  13. If I see any more spam or abusive comments about other people, you will be infracted, this is ridiculous. * Hid a shit load of posts.
    1 point
  14. IS NOW DOOM'D!!!!!!!!! DAT WORLD 85 YO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!. im so sad knowing im gonna be banned for botting something that yields no profit .
    1 point
  15. Its Beautiful! EDIT: wheres your Character? i dont see him
    1 point
  16. Very nice, and detailed. Definitely should keep it.
    1 point
  17. one of the best graphics for a script i have seen nice :]
    1 point
  18. Use getFacingID to detect if you're interacting with fishing spot. When false interact with fishing spot, then it should automatically find new fishing spot, if interacting with whirlpool. Nice paint by the way.
    1 point
  19. The date given is a shipping estimate we are in no way responsible for our sellers as we are just a host site. Just lke Osbot is not resposnible for scams of users. Thank you for your concern.
    1 point
  20. @Sherlock DAAAMN SON!
    1 point
  21. Start a business/company and offer free services without the intention of bringing in additional revenue. I'd like to see how long you last and how far you go.
    1 point
  22. y u do dis ownedwe almost became friends then u got banhammered
    1 point
  23. [8:21:57 PM] Smart: yoyoyoyo [8:22:01 PM] Smart: i was just about to log out [8:22:04 PM] Smart: on my bot [8:22:06 PM] Smart: and go to bed [8:22:13 PM] Smart: and I am logged into w386 on 07 [8:22:18 PM] Smart: there is no w386 [8:22:20 PM] Smart: T_T [8:22:25 PM] Smart: wat is dis
    1 point
  24. Pm me ur number and come to the race ill meet up with ya to chill with you for a bit
    1 point
  25. 1 point
  26. mald is willing to trade his admin position for the autograph
    1 point
  27. Don't dream of me too much
    1 point
  28. 1 point
  29. Understandable, but this is how I have decided to do it, there are over 30+ scripts on the sdn and they go on and off so much due to lack of updates. I don't feel comfortable giving someone a rank like that, and if they are consistent and talented enough they will be promoted to OSD.
    1 point
  30. I like the curvature of your eyebrows
    1 point
  31. I was just trollin' homie. And yes I have, before my ex-GF would let me try le' anal she said I had to let her stick her finger up my butt first. I came with the force of a thousand suns on that day.
    1 point
×
×
  • Create New...