Leaderboard
Popular Content
Showing content with the highest reputation on 03/04/14 in all areas
-
6 points
-
v1.7.87 Updated: Prayer configs Added: (hopefully these remain stable) ObjectDefinition: getModifiedModelColors(), getOriginalModelColors() NPCDefinition: getHeadIcon(), getOriginalModelColors(), getModifiedModelColors() ItemDefinition: getUnnotedId(), getModelId(), getNotedId(), getOriginalModelColors(), getModifiedModelColors() Hopefully, hopefully I didn't miss anything.5 points
-
5 points
-
i hate math tests because all throughout the chapter it’s like really easy shit and then you think you’ve got it and then the test is like if i throw a triangle out of a car and the car is going 20 mph and wind resistance is a thing that exists, how many cupcakes can pedro buy with one human soul3 points
-
2 points
-
If you don't want to read about it, DONT CLICK ON THE THREAD. How is that hard? Whats wrong with you kids? Oh, you don't want to see discussions about something you don't partake in? Well thats fine and dandy, but I don't want to see your stupid off-topic threads either. Why don't we go ahead and ban those as well.2 points
-
Member: Jordan Feedback on activity: 6/10 your activity dropped heavily since my last feedback Abusive or Non Abusive?: non What could Jordan improve on?: be more active because you're a great moderator Does Jordan handle situations well?: very well Anything else?: be more active again please (: Member: Mikasa Feedback on activity: 7,5/10 Abusive or Non Abusive?: non What could Mikasa improve on?: do more disputes? I don't know I barely see you doing "the super moderator stuff" but it's probably just me... Does Mikasa handle situations well?: yes Anything else?: no Member: Smart Feedback on activity: 9/10 Abusive or Non Abusive?: non What could Smart improve on?: nothing Does Smart handle situations well?: yes Anything else?: keep up the GREAT work, once you got your spot back you immediatly delivered hard work and you still keep it up. You're a blessing for the staff team! Member: Gilgad Feedback on activity: 7,5/10 Abusive or Non Abusive?: non What could Gilgad improve on?: get a better signature Does Gilgad handle situations well?: 80% of the time yes Anything else?: no Member: Raflesia Feedback on activity: 7/10 doesnt seem active anymore but that's probably because he doesn't post that much, he never does :p Abusive or Non Abusive?: non What could Raflesia improve on?: come out of the dark, be the community person you used to be AND ARE! Does Raflesia handle situations well?: yes Anything else?: do more disputes, that is your kind of thing Member: Natsu Feedback on activity: 8/10 Abusive or Non Abusive?: non What could Natsu improve on?: / Does Natsu handle situations well?: yes Anything else?: just got promoted but you were great before so Member: Arctic Feedback on activity: 7/10 Abusive or Non Abusive?: non What could Arctic improve on?: fairly new Does Arctic handle situations well?: haven't seen him handle a situation Anything else?: / Member: Eliot Feedback on activity: 7,5/10 Abusive or Non Abusive?: non What could Eliot improve on?: / Does Eliot handle situations well?: / Anything else?: no Member: Nick Feedback on activity: 8/10 Abusive or Non Abusive?: non What could Nick improve on?: / Does Nick handle situations well?: / Anything else?: no2 points
-
2 points
-
Your Opinions valid as they may be may offend and or are not needed in a public area. Contrary to what you weed smokers might think not EVERYONE does smoke it and not EVERYONE wants to hear/see you talk/type shit about it so maybe just hold off on typing about it in the public chatbox. it is unnecessary and not warranted to do so. weather you like it or not it is actually an illegal substance and should not be condoned in anyway. And "getting laid" has nothing to do with people acting immaturely around the forums, Please just keep it too a low in the chatbox... where it isn't needed at all if you NEED to talk about it add your pot smoking buddies to skype and have a group chat/call just don't go about it in a public area where the rest of us have to see you harp on about crap. Thanks.2 points
-
Love when people classify Weed as a drug. What a fucking joke. But I 100% support.2 points
-
Both ACT and AP offer financial aid. In addition your school will help you as much as possible with this, they receive an incentive for each child taking these tests source: took 12 AP tests and 3 ACTs and SATs now if you like I can link you. EDIT: here it is anyways https://professionals.collegeboard.com/testing/ap/coordinate/fee-assistance http://webapps01.act.org/fane/docs/ As her parents are not supporting her financially she would declare she is INDEPENDENT of them.2 points
-
Now how do we know this money would actually go to her? Last time you copy pasted a free guide from tipit and sold it.2 points
-
I mean you can talk about it, but it isn't danger the community here. Not like they're selling drugs or anything.2 points
-
Speaking about illegal. This site is about botting on a game that doesn't allow botting. It's also about selling accounts on a game that doesn't allow account selling And about trading a games currency for real money, which also, is not legal. Hypocrites.2 points
-
I agree, the chat is constantly filled with people talking about drugs... They think their e-dick gets bigger every time they mention something about it, it gets annoying :p2 points
-
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
-
Updated for OSBot 2's API! Hello future script writers and other OSBot members! This will be my first OSBot script writing tutorial, and it's geared toward beginners with at least some understanding of Java (however, I'll still be covering some fundamentals). So, let us begin. Step I: Getting the IDE An IDE (integrated development environment) is software that makes programming much easier on you, the programmer. There are many Java IDE's to choose from (IntelliJ, NetBeans, Eclipse, and many more), but for this tutorial, we'll be using Eclipse. You can download Eclipse here. Simply choose the Eclipse Standard and download the version for your computer (32 or 64 bit). Once downloaded, use a program to decompress the archive, and move the eclipse folder to wherever you'd like (C:\, your desktop, it honestly doesn't matter). To open Eclipse, go into that folder and open the Eclipse application. Congratulations, your one step closer to making OSBot scripts! Step II: Basic Java Fundamentals Java, like C++, PHP, and Javascript, is a high-level programming language, which simply means it's very readable by humans (we use English while programming in these languages) and therefore much simpler to write code. If you're an absolute beginner, with no background in programming at all, this is going to go by extremely fast, and I will likely skip over some important topics. If you fall into this category, you absolutely NEED to read these tutorials by Oracle. I'm not sure about most of you, but I feel that a great way to learn something is to dive right in, and worry about the little things after you've started to understand the bare essentials. With that in mind, let's take a look at a simple HelloWorld class: public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World, I'm learning Java!"); } } Now looking at that might be intimidating if you're new to this, but believe me it's very simple! I'll break down some of the common words used above: public: This could be public, private, protected, or default. It simply states the visibility of this class/method/variable. Public items can be seen from outside of your package, private items can't be seen by other classes in your package, protected items can only be seen by the subclasses of your package, and default can only be seen by your package. class: A class is like a blueprint from which objects are created (Oracle). static: This is a keyword that simply means that only one instance of it will ever exist, even if you recreate it infinitely. void: This is the return type of this method. Void methods return nothing, int methods return integers, String methods return strings, and so on. String[]: This is an array. Arrays are just containers that hold a specific number of items (of one type). For example, this method takes an array of strings as a parameter. System.out.println: This is just a method that prints a message to the console and then prints the newline character. ;: Semi-colons are used at the end of any Java statement (note: conditionals and loops do not count as statements), without them, your compiler will give you errors. { }: These curly braces are used to surround/contain the contents of a class/method/etc. This is all of the Java basics I will teach, simply because there are already many resources out there (see above). Step III: Setting up a Java Project Setting up a Java project in Eclipse for making OSBot scripts is simple, just follow these steps: Step 1: Press File>New Java Project and name your project, then press finish Step 2: Add the OSBot .JAR file to your build path Step 3: Add a class to your new project And you're ready to actually start script writing! Step IV: Creating Your Script Now here's where we actually start making your script! For this example, we'll be creating a very simple mining script that will mine and drop everything once the inventory is full (please note: this example is hardly usable for a script, but it shows the basics. With a real mining script, you'll want to replace the object name with the ID(s) of the rocks, so you don't try mining empty veins). Here's the full source: import org.osbot.rs07.api.model.RS2Object; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; import java.awt.*; @ScriptManifest(author = "You!", info = "I made this script!", name = "Basic Miner", version = 0, logo = "") public class BasicMiner extends Script { private enum State { MINE, DROP }; private State getState() { if (inventory.isFull()) return State.DROP; return State.MINE; } @Override public void onStart() { log("I can't believe script writing is this easy! I love learning!"); } @Override public int onLoop() throws InterruptedException { switch (getState()) { case MINE: if (!myPlayer().isAnimating()) { RS2Object vein = objects.closest("Rocks"); if (vein != null) { vein.interact("Mine"); } } break; case DROP: inventory.dropAll(); break; } return random(200, 300); } @Override public void onExit() { log("Thanks for using this wonderful script!"); } @Override public void onPaint(Graphics2D g) { } } Now most of that will be confusing, but don't worry, I'm here to help you! I'll break this down for you. import org.osbot.rs07.api.model.RS2Object; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; import java.awt.*; These lines import other classes for their use in your script. @ScriptManifest(author = "You!", info = "I made this script!", name = "Basic Miner", version = 0, logo = "") This is the script manifest, which simply tells OSBot your script's author, info, name, and current version (for use in their class loader). public class BasicMiner extends Script { ... } This just defines our class, and extends OSBot's Script class, so we can use all of their fancy API methods. private enum State { MINE, DROP }; private State getState() { if (inventory.isFull()) return State.DROP; return State.MINE; } Here we make an enum (collection of constants) called State which holds two states: mine and drop. Then we have a method that's return type is State (so it returns a State, which we just made). If your inventory is full, this method will return the dropping state, otherwise it will return the mining state. @Override public void onStart() { log("I can't believe script writing is this easy! I love learning!"); } This method is part of OSBot's Script class (which we're extending from). The onStart() method is only called once, and is called at the beginning of the script. This is where you should define some variables that only need defined once (the start time, start experience/level, etc.). @Override public int onLoop() throws InterruptedException { switch (getState()) { case MINE: if (!myPlayer().isAnimating()) { RS2Object vein = objects.closest("Rocks"); if (vein != null) { vein.interact("Mine"); } } break; case DROP: inventory.dropAll(); break; } return random(200, 300); } This is another method from OSBot's Script class (see that @Override?). onLoop() returns an integer, or how many milliseconds to wait before doing onLoop() again. We then use a switch statement to see what we should be doing. If we're to mine, we check if our player is currently animating (mining). If we aren't, we find the closest rock to mine, if that doesn't exist (or is null), we stop right there. But if it isn't null, we interact with the rocks by pressing "Mine". If we're to drop, we simply drop everything in your inventory (you did have your pickaxe equipped, right?). @Override public void onExit() { log("Thanks for using this wonderful script!"); } @Override public void onPaint(Graphics2D g) { } onExit() and onPaint(Graphics g) are two more methods from the Script class. onExit() is called once your script is stopped, and onPaint(Graphics g) is called every time the screen is updated. Step V: Exporting Your Script The final step to this tutorial will be exporting the script we just made so we can actually test it out! Step 1. Right click your project and press Export... Step 2: Choose JAR file Step 3: Choose your OSBot's scripts directory and export it! Well that's all for this tutorial, thanks for reading! You can find Part II here! Also: post suggestions for future tutorials, and I'll definitely consider it!1 point
-
@Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach @Zach1 point
-
1 point
-
I can tell you there was talk about making OSBot more than OSBot, but that was awhile ago. There were some big plans though.1 point
-
Jesus Christ, another attention thread. You're getting almost as bad as mate. Never go full .1 point
-
1 point
-
lol that you feel so offended by someone sharing their opinion that you try to ban a discussion to share information1 point
-
1 point
-
1 point
-
1 point
-
1 point
-
1 point
-
This script will be free when released and be free forever... FAQ Pictures of the GUI Need a Paint this is important Suggest a new feature1 point
-
1 point
-
> Look at my signature he made for me > Jizz > Buy from him Would recommend 10/101 point