Jump to content

Deluxes

Registered
  • Content count

    1,048
  • Joined

  • Last visited

  • Days Won

    19
  • Feedback

    100%

Everything posted by Deluxes

  1. Deluxes

    How to ReAggro?

    why would you need a second thread for a fucking timer lmao
  2. Deluxes

    How long till log in bot is fixed

    never
  3. Deluxes

    Stack over flow

    yikes..
  4. Deluxes

    Drag Items to Slots

    If statement for dev can be changed to ternary within the x/y declaration.
  5. retard scripters shouldn't have offered lifetime in the first place i agree.
  6. Deluxes

    Method not being called

    Pretty sure your stuff must be packaged in scripts. So your antiban stuff should be in scripts.api.Antiban for example.
  7. Deluxes

    Jerm's AIO Scripting Setup Tutorial

    Methods that return booleans and do nothing else follow is/has/can/should prefixes. Example ArrayList#isEmpty vs ArrayList#remove. isEmpty just returns if its empty or not, while remove does an action inside of the method. https://wiki.eclipse.org/Recommenders/CodingConventions
  8. Deluxes

    Jerm's AIO Scripting Setup Tutorial

    Naming conventions and brace placements/lack of in some places are cancer. More so just a walk through of how you when about doing your script than an actual scripting tutorial.
  9. Deluxes

    House Portal Finding issue.

    Yea its my private api, maybe ill release it some time as I don't really do any tribot shit anymore.
  10. Made the script for the luls. I average 1500/h under level 60 and reach around 1600/h above level 60. NOTE: Make sure your your camera is fully zoomed out otherwise the script may not function. - Supported Features - Steel bars (More in the future) Screen markers Efficient camera placement Blast Furnace Worlds Under-60 support (Pay 2.5k/10 minutes for access) Coffer refilling Fairly efficient with LG (A few known slow parts that barely effect bars/h) Ugly as fuck code structure No ABCL because that shit useless af - Future Features - Coal Bag Stamina potions Ice Gloves Bucket of water Screen Marker information RED Marker: Banks Deposit-All button GREEN Marker: Iron Ore Location BLUE Marker: Coal Location YELLOW Marker: Bank hover location. Screen markers are commonly used by legit players trying to maximize their exp gains. Screen markers locate common clicked spots on the users screen so they know where to click based on what they need to do. For example, the iron ore, coal, and deposit all button will never change. As such when the script starts, it will gather these locations to use during the script. This script is built to maximize the amount of bars per hour. It uses a range of camera angles and screen marker locations to use the blast furnace as fast as possible. https://tribot.org/repository/script/id/2278 Source for this ugly shit: https://github.com/deluxes/DeluxeBlastFurnace You can find the API for most of the shit on my github, anything that isn't in there you may need to replicate or replace for it to work. If ur gonna post a bug report show me the issue with screenshots along with both Bot Debug and Client Debug information or ill tell u things that may get me warning points.
  11. Deluxes

    Is there an API for the TriBot client itself?

    I made that because they don't have a useful cmd support. May or may not work anymore tho.
  12. Deluxes

    Animated Armour Killer [ Warriors Guild ]

    Not sure why your "aHelper" class is included if it's not used at all. Code is pretty low quality as well. Just looking through aHelper, canAlch() will recursively call itself forever if you are able to alch so thats not even going to work. Shit like food should be put into an array or something so it doesn't take 500 lines just to determine what food to eat, let alone calling getDefinition() 500 times instead of caching the data into a variable.
  13. Deluxes

    JProgessiveWoodcutter

    TreeInfo.java whats the point of setting a levelRequired variable if you aren't going to use it. Something like this is would make more sense. At least add some useful shit like upgrading axes from the bank, etc if your going to go for scripter u retard public static TreeInfo getCurrentTreeInfo() { int level = Skills.SKILLS.WOODCUTTING.getActualLevel(); TreeInfo current = null; for (TreeInfo info : TreeInfo.values()) { if (level >= info.levelRequired) { current = info; } } return current; } public static String getTreeName() { TreeInfo info = getCurrentTreeInfo(); return info.treeName; }
  14. Deluxes

    tribot vs competion (In my opinion)

    ur right the cmd argument starter is impeccable and the insane amounts of innovation in the past 2 years is crazy
  15. A real update not hook fixes, that an actual fucking surprise.
  16. Deluxes

    Help with new oficial CLI start

    If that dogshit work around doesn't work, mine should still be functional. https://github.com/deluxes/TribotCMDStarter/releases/tag/1.3
  17. Deluxes

    How do YOU plan out your script?

    Basically the same thing tbh. It's fairly easy to structure runescape bots in the head and just go ham on the coding then go into game to get ids/tiles and test it right away.
  18. Deluxes

    Progressive Leather/Glass Crafter [Updated 7.21.2018]

    This pattern also makes like 0 sense lol. Whats the point of getting the interface again if you already checked that its != null. c is the same thing as gloves in this example. if (Skills.SKILLS.CRAFTING.getActualLevel() >= 38) { General.sleep(General.randomSD(250, 1200, 725, 500)); RSInterface i = Interfaces.get(270); if (i != null) { RSInterface c = i.getChild(20); if (c != null) { RSInterface gloves = Interfaces.get(270, 20); General.sleep(General.randomSD(70, 210, 140, 70)); if (gloves != null) { gloves.click(); } } } } Also having tons of these could be easily replaces by something like this. int craftingLevel = Skills.SKILLS.CRAFTING.getActualLevel(); int childInterface = craftingLevel >= 38 ? 20 : craftingLevel >= 18 ? 19 : craftingLevel >= 14 ? 18 : craftingLevel >= 11 ? 17 : craftingLevel >= 9 ? 16 : craftingLevel >= 7 ? 15 : 14; RSInterface itemInterface = Interfaces.get(270, childInterface); if (itemInterface != null) { itemInterface.click(); }
  19. Deluxes

    Progressive Leather/Glass Crafter [Updated 7.21.2018]

    private boolean onStart() { // Use the Starting interface it has onStart method that gets called before run() General.println("Script Started"); General.println("Welcome back " + General.getTRiBotUsername()); return true; } public void run() { if (onStart()) { //The fucks the point this always returns true lol. while (true) { if (continuerunning) { //Could just do while (continuerunning) lol General.sleep(General.randomSD(250, 1200, 725, 500)); loop(); } } } } public void onPaint(Graphics g) { //Don't think sleeps should be used in the onPaint method sleep(50); g.drawString("State: " + SCRIPT_STATE, 5, 80); //g.drawString("Running for: " + Timing.msToString(runtime), 5, 70); } private int loop() { SCRIPT_STATE = getState(); General.sleep(General.random(50, 250)); switch (SCRIPT_STATE) { case BANKING: if (!Banking.isBankScreenOpen()){ //Whats the point the script state already determined the bank isn't open. Banking.openBank(); //Use a Timing.waitCondition after this to wait until the bank screen is open if you are having issues with it calling this multiple times before bank opens } break; case FLETCHING: if (continuouslyAnimating()) currentlyPerformingAction = true; else currentlyPerformingAction = false; if (!currentlyPerformingAction && !Interfaces.isInterfaceValid(270)){ combine(); } if (Interfaces.isInterfaceValid(270)){ //Switch all ur Skills.SKILLS.CRAFTING.getActualLevel and set a single int variable to this method. if (Skills.SKILLS.CRAFTING.getActualLevel() < 7) { General.sleep(General.randomSD(250, 1200, 725, 500)); RSInterface i = Interfaces.get(270); if (i != null) { RSInterface c = i.getChild(14); if (c != null) { RSInterface gloves = Interfaces.get(270, 14); General.sleep(General.randomSD(70, 210, 140, 70)); if (gloves != null) { gloves.click(); } } } } if (Skills.SKILLS.CRAFTING.getActualLevel() >= 7 && Skills.SKILLS.CRAFTING.getActualLevel() < 9){ General.sleep(General.randomSD(250, 1200, 725, 500)); RSInterface i = Interfaces.get(270); if (i != null) { RSInterface c = i.getChild(15); if (c != null) { RSInterface gloves = Interfaces.get(270, 15); General.sleep(General.randomSD(70, 210, 140, 70)); if (gloves != null) { gloves.click(); } } } } if (Skills.SKILLS.CRAFTING.getActualLevel() >= 9 && Skills.SKILLS.CRAFTING.getActualLevel() < 11){ General.sleep(General.randomSD(250, 1200, 725, 500)); RSInterface i = Interfaces.get(270); if (i != null) { RSInterface c = i.getChild(16); if (c != null) { RSInterface gloves = Interfaces.get(270, 16); General.sleep(General.randomSD(70, 210, 140, 70)); if (gloves != null) { gloves.click(); } } } } if (Skills.SKILLS.CRAFTING.getActualLevel() >= 11 && Skills.SKILLS.CRAFTING.getActualLevel() < 14){ General.sleep(General.randomSD(250, 1200, 725, 500)); RSInterface i = Interfaces.get(270); if (i != null) { RSInterface c = i.getChild(17); if (c != null) { RSInterface gloves = Interfaces.get(270, 17); General.sleep(General.randomSD(70, 210, 140, 70)); if (gloves != null) { gloves.click(); } } } } if (Skills.SKILLS.CRAFTING.getActualLevel() >= 14 && Skills.SKILLS.CRAFTING.getActualLevel() < 18){ General.sleep(General.randomSD(250, 1200, 725, 500)); RSInterface i = Interfaces.get(270); if (i != null) { RSInterface c = i.getChild(18); if (c != null) { RSInterface gloves = Interfaces.get(270, 18); General.sleep(General.randomSD(70, 210, 140, 70)); if (gloves != null) { gloves.click(); } } } } if (Skills.SKILLS.CRAFTING.getActualLevel() >= 18 && Skills.SKILLS.CRAFTING.getActualLevel() < 38){ General.sleep(General.randomSD(250, 1200, 725, 500)); RSInterface i = Interfaces.get(270); if (i != null) { RSInterface c = i.getChild(19); if (c != null) { RSInterface gloves = Interfaces.get(270, 19); General.sleep(General.randomSD(70, 210, 140, 70)); if (gloves != null) { gloves.click(); } } } } if (Skills.SKILLS.CRAFTING.getActualLevel() >= 38) { General.sleep(General.randomSD(250, 1200, 725, 500)); RSInterface i = Interfaces.get(270); if (i != null) { RSInterface c = i.getChild(20); if (c != null) { RSInterface gloves = Interfaces.get(270, 20); General.sleep(General.randomSD(70, 210, 140, 70)); if (gloves != null) { gloves.click(); } } } } } break; case WITHDRAW: if (Banking.isBankScreenOpen()) { //You already confirmed the bank is open in your state generator RSItem[] leathers = Banking.find("Leather"); if (leathers[0].getStack() < 1) { //As said this could be null continuerunning = false; } else continuerunning = true; //shit tier spacing the fuck just do continuerunning = leathers.length > 0 && leathers[0].getStack() > 1; lol RSItem[] allitems = Inventory.find(Filters.Items.nameContains("Leather").combine(Filters.Items.nameNotEquals("Leather"), true)); RSItem[] coif = Inventory.find("Coif"); if (!hasleather() && allitems.length > 0 || coif.length > 0) { General.sleep(600, 1200); Banking.depositAllExcept(1733,1734); General.sleep(600,1200); //Switch to Timing.waitCondition (!Inventory.contains(1733, 1734)) } if (!hasleather() && !(allitems.length > 0) && leathers.length > 0) { General.sleep(600,1200); if (Banking.withdraw(0, "Leather")) { General.sleep(600,1200);//Switch to Timing.waitCondition (Inventory.contains("Leather")) if (canCloseBank()){ closeBank(); } } } } break; case IDLING: //Shit teir antiban nice. int low = 0; int high = 10; int Result = General.random(low, high); if (Result <= 6) { //do nothing } if (Result > 6 && Result <= 8){ General.sleep(General.randomSD(250, 1200, 725, 500)); abc.leaveGame(); } if (Result > 8){ General.sleep(General.randomSD(250, 1200, 725, 500)); int low1 = 0; int high1 = 10; int Result1 = General.random(low, high); if (Result1 > 3){ ExaminePlayer(); } General.sleep(600,1200); abc.moveMouse(); } break; } return 50; } public enum State { BANKING, IDLING, FLETCHING, WITHDRAW } private State getState() { //Change up ur logic abit. if (!isBankOpen() && !hasleather()) { return State.BANKING; } if (needle.length > 0 && thread.length > 0 && hasleather() && !isBankOpen()) { return State.FLETCHING; } if (isBankOpen() && !hasleather()){ return State.WITHDRAW; } if (continuouslyAnimating()){ return State.IDLING; } else return State.IDLING; //Maybe something like this. if (isBankOpen()) { if (hasLeather()) return CLOSE_BANK else return WITHDRAW } else { if (hasSupplies()) return FLETCHING else return OPEN_BANK } } } Comments are my criticism. Lots to work on besides what I listed.
  20. Deluxes

    TRiBot Release 9.308_0

    Fairly certain you don't actually have to login once per day unless they are doing something really stupid. As long as you load a client once every 3 days or so your session should stay valid.
  21. This tutorial will teach you how to use an IDEs debugging to utilize break points to debug your TRiBot scripts. This tutorial will only show how to do it with Intellij, but that same thing should apply to other IDEs. Setting up Intellij to run TRiBot 1. We must set up the project dependencies. You can get here by using Ctrl+Alt+Shift+S or going to File -> Project Structure Once you are here, click on Modules and select the dependencies tab. Debugging Tribot requires you add the following files to your dependencies. To add a dependency, click on the green + next to Scope and click JARs or directories. tools.jar You can find this in your jdk directory. Example: C:\Program Files (x86)\Java\jdk1.8.0_101\lib substance.jar You can find this in your %AppData% Tribot location. Example: C:\Users\Your User\AppData\Romaing\.tribot\dependancies trident.jar You can find this in your %AppData% Tribot location. Example: C:\Users\Your User\AppData\Romaing\.tribot\dependancies bin You can find this in your %AppData% Tribot location. Example: C:\Users\Your User\AppData\Romaing\.tribot\bin 2. We must setup a new Run/Debug Configuration. You can get here by going to Run -> Edit configurations Once you are here, create a new Application configuration by clicking on the green + and clicking Application. The new configuration will be created and we must edit the settings now. I named my configuration Tribot. Main class: org.tribot.TRiBot VM options: -Xmx386m -Xss2m -Dsun.java2d.noddraw=true -XX:CompileThreshold=1500 -Xincgc -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -Xbootclasspath/p:"C:\Users\Spencer\AppData\Roaming\.tribot\dependancies\xboot860.jar" -classpath "C:\Program Files (x86)\Java\jdk1.8.0_101\lib\tools.jar";"C:\Users\Spencer\AppData\Roaming\.tribot\bin";"C:\Users\Spencer\AppData\Roaming\.tribot\dependancies\substance.jar";"C:\Users\Spencer\AppData\Roaming\.tribot\dependancies\trident.jar";"C:\Users\Spencer\AppData\Roaming\.tribot\dependancies\TRiBot.jar"; Make sure to switch out the directories to what they are on your computer. Program arguments: TRIBOTSESSIONID MEM384 OLDSCHOOL Replace TRIBOTSESSIONID with your session id. You can find this in %AppData%\.tribot\settings\startup.ini PLEASE NOTE: if your session id does not start with SID, add it to it. Example: ccaa-das9fg87ad9fg7a98df7ga98df7g2aead32kjhhj13k You should place: SIDccaa-das9fg87ad9fg7a98df7ga98df7g2aead32kjhhj13k Hit apply and you are ready to go. Using breakpoints to debug your script. Breakpoints are extremely useful for debugging your program. They allow you to stop the program during runtime and see what is happening. Lets use this simple script as an example. I'm having an issue. Even though I'm near the Oak Trees my script is not clicking the Cut option. We can debug this by adding a break point and stepping through the script. To add a breakpoint, you click on the empty area next to the line numbers which will place a red circle. This red circle is a break point. While debugging, any time your script hits said circle, the script will stop and you will be able to interact with it. Now that I have a break point setup, its time to debug it. We can launch the TRiBot client by going to the Run menu and clicking Run -> Debug 'Tribot'. If this option is not available, you can click Run -> Debug... and select the correct configuration. Once your client has loaded, you can run the script you are debugging. When a breakpoint is triggered, your script will pause and options will be available within the IDE. A blue line represents the current line you are debugging. You will notice that your client has frozen while you are interacting with a break point. To prevent this, right click on your break point and change Suspend All to Suspend Thread. Now when you encounter a break point, your client will no longer freeze but you can debug the script. Now about the real problem. Why isn't my script clicking Cut on the oak tree?!?! Well we have a few options here. We can use some nice features down at the bottom in the debugger. will rerun the program. This will close your current client and open a new one. will continue the program until it encounters the next break point. will stop the program, ending your tribot client. will "step over". This will run the line of code and go to the next one. It will not go into any method calls. will "step into". This will run run the line of code, stepping into any method calls that are made. The reason debugging is extremely useful is you can see in real time what each line of code is doing. In this program, we can "step over" all of our lines, and see the line 17 will gathers all Oak trees in our area. If there is more than 0 Oak trees in the array, it will attempt to click the Cut option on the first one. By repeatedly clicking step over, we can see what happens. Now why can't it cut the tree?? Lets "step over" so we are on the trees[0].click line. If we right click we can see an option that is Evaluate Expression. Click it, or press Alt-F8. This will bring up a new window that looks like this. This allows us to run code that doesn't even exist in the script!!! Lets try running trees[0] and pressing Evaluate. We will see some stuff that doesn't really make sense, but at least we know that there is a tree that we can click on. By typing a . on that line, intellisense will prompt us with valid things we can type. Lets look into the objects definition. We can do this by typing trees[0].getDefinition() Well, that brings up some more values that don't really make sense for us. By looking at the Tribot API or even typing another . to see what are valid things we can type we can see that trees[0].getDefinition().getActions() is valid. Lets try that. Hmm, it tells us that Chop down and hidden are valid options for interacting with this tree. I think I found my issue. Cut is not valid and Chop down is. By evaluating this, the result is true, and in the TRiBot client, the bot successfully clicked on the tree!! This is just a small introduction on what you can do with debugging. For more information on what you can do while debugging, consider consulting google.com.
  22. Deluxes

    need help with paint for script

    if (ipickedupitem) { numpickedup++; }
×