Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Buy OSRS Gold

Sell OSRS Gold

Leaderboard


Popular Content

Showing content with the highest reputation on 10/31/2016 in all areas

  1. 5 points
    For the past week, I've been on my own webwalker since Tribot's Webwalker is lacking functionality and accuracy. Here are some images of my current work in progress. Wizards Tower (Different Planes) Simple demonstration of pathfinding from different planes. Jagex tends to put dungeons not on the the plane directly below, but really far away coordinates, which is pretty annoying. Stronghold of Security (Level 1) Haven't really collected all the data yet for dungeons, since I have to edit nodes by hand to remove door collision data. Here's a path generated from the first floor of the dungeon. My Walker Engine will be handling the stronghold doors. Semi-Far Distances (Lumbridge -> Grand Exchange) So far, semi-long paths are being computed pretty quickly. Will see how it'll do when I map P2P areas to calculate longer distances. Here's a visual of how it finds the path slowed down (By a LOT). Path Requirements Currently, I assume all paths are accessible to you. But once I incorporate the code into tribot, it should be pretty simple. One-Direction Paths An example of a directional path is the main door of Draynor Manor. You can only enter it one way. Here's a small demonstration of how the walker will act in these cases. From outside -> inside From inside -> Outside Walker Engine 0% done
  2. 1 point
    My first video. I might start a scripting series. Personal info: My name is Mathias, I'm 17 years old and I live in Belgium. My intrests are computers hard/software, and having a good time. I've been a Scripter/developer on a few forums and was know as 'range inc' or 'qxy'. How to setup eclipse 1080p HD How to make your compiled files appear in the tribot folder automaticly 1080p HD Scripting tutorials 1080p HD Tutorial 1: => Basic powerminer. Notice: English isn't my main language, I do not have any experience in making video's and I'm not a java expert.
  3. 1 point
    Leaning Java with TRiBot - Variables Click Here for a List of All Tutorials If anyone would like to provide any advice or feedback on the tutorial, please message me on Skype. If you have questions about the tutorial, please feel free to comment on the thread, and I will do my best to answer your questions! Introduction As always, be sure that you read every line of this tutorial carefully. If you don't, you are going to find yourself very lost. When I tell you to stop and think about something, I'd definitely recommend that you listen! By now you should have read, and hopefully loosely understand, my 3rd tutorial. If you haven't, I would highly recommend doing so before reading this. Recap If you recall, a Java program consists of classes. The classes create objects, which are then controlled by methods. If this doesn't make any sense to you, you should review my previous tutorials. By now the above concepts should make at least some sense to you. If not, as always, feel free to message me on Skype (tacomanstan), or even better, post on the thread so others can benefit from your questions! What is a Variable? If you've taken any level of algebra at any time in your life, you probably already know what a variable is; x, y, z, a, b, c, etc. Those are some of the more commonly used variables in algebra, and they can be really annoying to keep track of. Luckily for us, Java isn't algebra! Yay! Variables in Java Right now you're feeling pretty confident, and you should! You've learned a lot in these last 3 tutorials. However, if you are like me, at this point you have something nagging at the back of your head: "How do I actually tell the program what an object is?" If you didn't understand what I meant by that question, that's okay. I'll explain to you the problem: When you want to make an object, you can visualize it in your head. You know what the object is, what it does, how it does it, what its purpose is, etc. How can you write code that will make the computer understand that object in the same way that you do? "CAN YOU HEAR ME?" Instances Let's pretend for a moment that we've made a Car class (recall that classes are in charge of making objects). We then use our Car class to create 5 cars. Each of those cars is called an instance. A good way to understand the concept of an instance is to look at World of Warcraft. In World of Warcraft, many dungeons are called "instance dungeons", or just "instances". When you enter these dungeons, you are entering a new instance of the dungeon. The only people in that dungeon are you and your party members. Let's look at a RuneScape related example: Worlds. Each world is an instance of RuneScape. You know how that works. You hop to a different world and almost everything is the same as the world that you just hopped from. Almost. There are obviously going to be differences between each world (number of players, for example), and those differences are what make understanding instances so important. Now let's go back to our car example. The most important thing to understand is that even though each car instance was created by the same class, each car might (and probably will) be completely different. Just like how each world in RuneScape has different things going on, the same applies to our cars: One car might be yellow, one might be blue. One might have a Michelin tires, one might have Good Year tires. One might be longer than the rest. One might 2 doors, another might have 4. The list goes on and on! Objects with Variables In Java, a variable that is part of an object is called an instance variable. Instance variables define the properties of an object. Just like how methods are in charge of doing something with an object, instance variables are in charge of defining what an object is. Think about a car. Think about all of the different parts of a car. Think about the characteristics of a car. You can also look at the picture above for some inspiration. Here's what I came up with as some examples: Steering wheel Wheels Color Engine Doors These are just a couple of things that make up a car. A car is incredibly complex, so there are many, many other things that you could have come up with. That list, as you probably guessed, is a list of instance variables. Instance variables can be anything that defines the object that they are part of. Notice how "color" and "wheels" are both on the list? While at first it might seem like those are completely different things, they really aren't. Think about it; a car has wheels, and a car has a color. One of those characteristics is more detailed than the other, but they are both characteristics of a car. Here you can see a modified Car class from my second tutorial: Variables in Methods Instance variables aren't the only types of variables in Java. Sometimes you need to use a variable in the same way that you would in algebra. For example, let's say you have a class called Rectangle. We have made 2 instance variables: width and height (remember these variables help define the rectangle). We have also made a method: getArea(). If you haven't already, try and think for a moment as to why I chose not to make an instance variable for the area of the rectangle. Actually think. Are you thinking? Stop reading. Stop it. Think! Alright well if you've made it this far you've either already thought, or you're just ignoring me. That's okay, let's just move on (you didn't hurt my feelings or anything). Hopefully that gave you enough time to at least try to think that through. If you couldn't think of anything, that's completely okay; most people couldn't think of anything either. As I'm sure you guessed, area is another variable! But wait, hold on a minute... It's not where width and height are. That's because area isn't an instance variable! Instead of being created as an instance variable, area was created as what is called a local variable inside of the getArea method. Local variables get their name because they are created inside of a specific method. A local variable is local to a certain method. So you're probably noticing how I still haven't answered the most important question: "Why isn't area an instance variable?" Look at the width and the height of a rectangle. Those are pretty obvious characteristics, right? In fact, they are the only two characteristics of a rectangle. You're probably thinking "What...? Then what is the area if it's not a characteristic?" To answer that, think about what you need to make a rectangle. All you need the width and the height. That's it. One you have the width and height, the width and height are then used to calculate the area of the rectangle. This makes the area of the rectangle a calculation instead of an instance variable. Useful Tip: If you are ever finding yourself wondering if something should be an instance variable or a calculation, think about it this way: If you set all of the instance variables in a class to a random value, would the resulting object still make sense? If the answer to that question is no, at least one of the instance variables you've chosen should be changed to be a calculation. For example, let's make area an instance variable, and try with a rectangle. I'll set each to a random value between 1 and 20. Here's what I got: width = 5 height = 17 area = 2 You should be able to see pretty quickly what the problem with that is. The area of a rectangle with a width of 5 and a height of 17 can never be 2. Making area an instance variable caused the rectangle to fail the "random value" test, so you know that area must be a calculation. Conclusion This is the end of the fourth installment of my Learning Java with TRiBot tutorial series. This session was all about learning what variables are, and the basics of how they are used in a program. At this point, we have gone through all of the aspects of a basic program. Congratulations! This is the last tutorial before you get to start writing code, and write your first program! If there is anything listed above that you would like a graphical representation of so you can visualize it better, please let me know and I will do my best to include it. If there is anything you don't understand, please let me know! If you didn't understand it, chances are someone else didn't either.
  4. 1 point
    well that would be why haha, I was trying to run rs3. thanks!
  5. 1 point
  6. 1 point
    @Yawodo package name should be all lowercase. You have Scripts, it should be scripts. And just to make sure, the output path for your class files should be /.tribot/bin/scripts/
  7. 1 point
    This is a programming tutorial on how to save GUI settings. If you need help with a specific script, post your issue on the script's thread for assistance.
  8. 1 point
    Stand at bank, withdraw chocolate bars, use them with pestle and mortar, bank, repeat
  9. 1 point
    Thanks @leoshiro really helped me out with LG , great player and tutor!
  10. 1 point
    first and foremost NPAPI support stopped for google chrome, therefore you cannot launch runescape on chrome. u can use LG on OSbuddy here's a guide on how to do it
  11. 1 point
  12. 1 point
  13. 1 point
  14. 1 point
    are all you guys using LG here? I was thinking of purchasing this
  15. 1 point
    you underestimate the value of a working botting form. any good scripter who has a working botting farm can buy a server himself
  16. 1 point
  17. 1 point
    Even more testing, just made a new list. Definetly hoping this is the avg i can keep pulling in 21 hour proggie, will try to look through the log and see what has to be changed. Defo not a bad result With only a 50k decline over 10 hours.
  18. 1 point
  19. 1 point
  20. 1 point
  21. 1 point
  22. 1 point
    I've noticed it sometimes clicks on a poll booth in edge bank, also if you have the quick pray when running away from a pker and it runs out of prayer, when it teles to Cwars to go through white portal it will go through the portal and then starts spamming quick prayers if your pray is at 0. Other than that it's pretty good.
  23. 1 point
    8 weeks if 12h a day or 4 weeks if you got a guy on a UK time zone and a Aussie time zone so it mean 24h a day
  24. 1 point
    Leaning Java with TRiBot - The Very Beginning Click Here for a List of All Tutorials If anyone would like to provide any advice or feedback on the tutorial, please message me on Discord. I want to keep the comments to questions as much as I possibly can, so people can learn not only by reading the tutorial, but also reading the rest of the thread. Thank you! Introduction Hello everyone! If you are reading this, you want to script for TRiBot, but you don't have any experience with the Java programming language. To that I say... welcome! You are not alone. Let's first start off by saying that yes, in order to script for TRiBot, you must know Java. If you're here, I'm sure someone has probably already told you that, or you figured it out for yourself. That being said, there is nothing to fear! While it was highly discouraged until now, with this tutorial guide you can now learn Java through scripting for TRiBot! Before we jump right into things, let's make something clear; this isn't an instant journey. You need to learn Java, not just copy some code. This is going to take some time. Luckily, I've been told that I'm pretty good at explaining things, because I remember how it felt to be new to Java. Every tutorial you look at seems to assume that you have at least some coding experience. That's not the case with this tutorial/guide. That being said, that means that it is important that you read the entire tutorial. Everything I type here is here for a reason. Don't skip things, you'll just wind up getting confused, and you'll regret it later on. With that in mind, I have decided that I'm going to start at the beginning. The very beginning. Now let's get started! Introduction 1.5 I lied. We're not getting started just yet. One more quick thing first. There might be words that you don't know the meaning of in this tutorial. You might not be from the US (lingo is a bit different), or you might just not know the meaning. Every word that I think anyone reading this might not understand, I will turn into a link to either the dictionary.com or wikipedia.org definition of the word. That being said, I'll do my best to keep the language simple. Tutorials are easier to read that way anyways, even if you do understand the language. Alright, now let's get started! The Very Beginning At this point, most other programming books dive right into the nature of a computer. They'll talk about RAM, CPUs, and other acronyms that you may or may not understand. That doesn't matter. At all. Instead, I'm going to start by explaining what Java is. Chances are you already know what programming is. If you don't here's a quick definition: "You write words that make the computer do things that you want it to." That's all you need to know about programming right now. What is Java? Java, as you have probably guessed, is a programming language. More specifically, Java is an object oriented programming language. I intentionally left no link there, because Wikipedia over-complicates things, and therefore I'm going to define it myself. What is Object Oriented Programming (OOP)? When you think of object oriented programming, the easiest thing you can do is think of a car. What just popped into your head? A Mustang? An Avalon? A Focus? A Prius? A Camry? Chances are, pretty much everyone thought of a different car. That right there is object oriented programming. You're probably thinking "wut...?" That's the beauty of it; it's really that simple. Of course, I need to elaborate a bit on that bit. (Note: Let's get something clear. I used this as an example, an I don't really know anything about cars. Okay, moving on.) OOP (remember that stands for object oriented programming) is all about taking the most basic form of something, and then getting more specific as needed. So in that example, we started with a car. You can get more specific than a car though. You can have a Mustang, Avalon, etc. That's getting more and more specific. In fact, if we wanted to break it up even further, we could add different types of cars in the middle, such as "coupe", "sedan", etc. You can also go in the other direction as well. What's more simple than a car? How about an automobile? Now all of a sudden you have trucks, cars, motorcycles, etc. How Far Up Can You Go? When you program in Java, you create things called objects. In the previous example, the "car" was an object. The "automobile" was an object. The "Prius" was an object. Remember when I said that the goal in Java is to get as specific as you can? Well, what's the starting point? If you were to take "car", "automobile", "goat", or anything else you can think of, and you were to keep going up and up and up, getting less and less specific, where would you end up? The answer to that question is: Object. You would end up with an Object. This is the case for everything you do in Java. The entire concept of programming revolves around creating objects. In RuneScape terms, you might want to get access to a tree, or an NPC, or your own player. As you probably guessed, each of those things, and anything else you can think of, is an object. Conclusion This is the end of the first installment of my Learning Java with TRiBot tutorial series. This first section was obviously just the very beginning, and there wasn't even any code! That's okay; you'll be seeing plenty of code soon enough, and you'll be scripting for TRiBot (and writing other Java programs as well, if you want) in no time! Note that if people seem interested in this concept, I'll probably make videos to go along with my written tutorials as well! If there is anything you don't understand, please let me know! If you didn't understand it, chances are someone else didn't either. Click Here for Tutorial #2!
  25. 1 point
    TacoManStan's Scripting Guide If anyone notices any issues with code, please PM me so I can fix it. Please don't comment on this thread about issues with code. This is meant to be a tutorial, and the thread should be used only to ask questions. Even experienced scripters might learn something here! Hello everyone. I am going to go over the very basics on how to get started with scripting. It is HIGHLY recommended that you already know at least a little bit about Java before writing any sort of script, so if you don't know Java, again, I would HIGHLY recommend that you learn it first. I am going to be slowly adding more to this tutorial as I get more time. Hopefully those on TRiBot will find this information useful. The TRiBot API I won't go into the details of what an API means, but all you need to know is that an API is a collection of tools that allow you to interact with TRiBot. You can find a link to the TRIBot API here: https://tribot.org/doc/ The TRiBot API is a scripting API. That makes it quite a bit different from most APIs that you will see, because it is almost entirely static. That means that almost every method in the API can be used anywhere, and without first creating an object. This makes it very easy to use, and very efficient in communicating with the RuneScape client. Don't Make Your API Static! You are not making an extension of TRiBot. You are using TRiBot as a tool. You are going to want to avoid using static frameworks as much as you can. While static methods are completely safe, static variables can lead to some strange bugs. Why Are Static Methods Safe? Static methods are safe because they do not store any information. Static methods can be set up to execute a series of TRiBot methods, and that can be extremely useful when scripting. Why Aren't Static Variables Safe? ​There is nothing inherently wrong with static variables. In many cases, static variables can be extremely useful, but not within TRiBot. If you use static variables to hold any essential information, you immediately remove the option for users to open you script using tabs. The reason for this is that those static variables are attached to the JVM instance (AKA each TRiBot client), not each script instance. In short, all of the scripts that you open in different tabs will be using and modifying the same static variable. What Should I Do Instead? You want to make a class that you can still access in a static context, but that isn't by nature static. It's a tricky concept, I know, but it's an important one. Refer to the following class: public class Data { //A static HashMap that stores the data for all the scripts running //in different tabs. private static final HashMap<String, Data> data = new HashMap<>(); //The instance variables that pertain to each individual script running in each tab. private Point position; private int value1; private int value2; private Data() { String playerName; while ((playerName = Player.getRSPlayer().getName()) == null) { General.sleep(5); } //Reset the old data before adding the new data. resetData(); //Add the new data to the HashMap. data.put(playerName, this); } /** * Call this at the beginning of every script you make, and the rest will be taken * cared of automatically. */ public static void initData() { new Data(); } /** * Returns true if the data has been loaded, false otherwise. * <p> * @[member=Return] True if the data has been loaded, false otherwise. */ private static boolean isDataLoaded() { //The ONLY reason a null check isn't necessary here is because "containsKey(...)" //allows a null parameter. //This is not always the case. If you aren't sure if a method allows for null parameters, ALWAYS do //a null check. return data.containsKey(Player.getRSPlayer().getName()); } /** * Resets the data of the currently running script. Returns true if the script data * has been removed at the end of the method, false otherwise. * <p> * @[member=Return] True if the script data has been removed at the end of the method, * false otherwise. */ private static boolean resetData() { String playerName = Player.getRSPlayer().getName(); if (playerName != null) { data.remove(playerName); return !data.containsKey(playerName); } else { return false; } } /** * Returns the proper data that is to be used in your methods. * <p> * @[member=Return] The proper data that is to be used in your methods. */ private static Data getData() { if (isDataLoaded()) { String playerName = Player.getRSPlayer().getName(); return playerName == null ? null : data.get(playerName); } else { throw new RuntimeException("Data has not been loaded"); } } /** * Returns the data attached to the specified key, or null if the key is null. * <p> * @param key The key that is used to retrieve the Data from the HashMap. * @[member=Return] The data attached to the specified key, or null if the key is null. */ private static Data getData(String key) { if (key == null) { return null; } else { return data.get(key); } } //You can also make these methods "blocking methods". That means that they will not return a value //until a condition is met, hence blocking further execution. Instead of throwing an exception //(which might cause issues if the script logs out), you could instead wait for the name of the //player to not be null before returning a value. //Methods that you will be calling in your scripts: public static Point getPosition() { if (isDataLoaded()) { return getData().position; } else { throw new RuntimeException("Data has not been loaded"); } } public static int getValue1() { if (isDataLoaded()) { return getData().value1; } else { throw new RuntimeException("Data has not been loaded"); } } public static int getValue2() { if (isDataLoaded()) { return getData().value2; } else { throw new RuntimeException("Data has not been loaded"); } }} By using the above class, you can call any of the static methods provided without fear of having concurrency issues with running multiple clients. Additionally, using this class will ensure that the "Re-run Script" button will always work properly. Note that the data will only function properly once the player has logged in. Also notice how all of the methods that manage the internal workings of the class are declared to be "private". This prevents you from accidentally calling them during your script, and potentially corrupting data. That is the end of the tutorial so far. Stay tuned for more, and if there is anything that you would like to learn, comment below and I will see what I can do!
×
×
  • Create New...