Welcome to TRiBot Forums

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.


  • Content count

  • Joined

  • Last visited

  • Feedback


Community Reputation

2 Neutral

About hobfmule

  • Rank
    New Botter

Recent Profile Visitors

336 profile views
  1. I want a server's message to reset a static Timer in a class with a bunch of static methods. I made the class implement MessageListening07 and then made this code in a static block: public class Navigation implements MessageListening07 { { MessageListener.addListener(this); } When the server notifies me that I can't use home or minigame teleports, I want the respective timers to reset. However, the overridden method serverMessageReceived is never called. Anybody have a solution for implementing message listening in a non-instanced class with static methods?
  2. I noticed you've told people to use Looking Glass in multiple threads. Does that mean you think the client is detectable?
  3. It's probably a bug. Some people print out different numbers at different points during their code so that they know where it is when it gets stuck. I see 9 free cookers and 2 premium on the repo. If you don't want the hassle of trial and error, I suggest you buy one of the premium scripts. Both are $1-2.
  4. Simply amazing. Thank you for this. I actually came here to ask this same question, custom username support would be a great feature. Even with no UI.
  5. World 17 was replaced with world 74. Only the indexes need to be updated, shouldn't be too long. In the meantime, try a snippet written by any of these 3 tribot scripters for an ingame hopper:
  6. if(ChooseOption.isOpen()) { ChooseOption.select(new Filter<RSMenuNode>() { @Override public boolean accept(RSMenuNode rsMenuNode) { return rsMenuNode.containsAction("Make All"); } }); }
  7. It is always preferred to sleep dynamically rather than using fixed sleeps. If you sleep too long, your script loses efficiency; sleep too little and your script attempts to complete the action again before it had time to fully do so initially. If this is giving you problems it's probably because you're checking if your inventory has bars and then withdrawing 0 (why?). The boolean you return in your overridden active() method looks like the same condition that hasBars() outputs. If that is the case, the entire dynamic sleep here is redundant -- what you have here will sleep for 100-200ms because the condition is already met. This would make more sense: if(!hasBars()) { Banking.withdraw(27, BAR); Timing.waitCondition(new Condition() { @Override public boolean active() { General.sleep(100,200); return hasBars(); } }, General.random(1000,1500)); } boolean hasBars() { return Inventory.find(BAR).length > 0; }
  8. Description of the bug (be specific): When trying to load the ingame world hopper, it times out and the client throws an IOException. Can't log back in after logging out. Can't switch worlds after logging out. How often the bug occurs: Every time the world hopper interface is supposed to load. Triggers of the bug (if known): Every time the world hopper interface is supposed to load. Java version: 1.8.0_45 Max Heap Size: 386 (1 tab) TRiBot client version: 9.302_1 Looking Glass (yes/no): no Operating System: linux Script Name: irrelevant - the problem occurs regardless of any script running. TRiBot Old-School or RS3: Old-School Client Debug: none [13:51:20] Started client. Bot Debug: [13:55:21] java.io.IOException[13:55:21] at a.s(a.java:53)[13:55:21] at aa.s(aa.java:32)[13:55:21] at z.j(z.java:2871)[13:55:21] at h.s(h.java:59)[13:55:21] at er.y(er.java:3146)[13:55:21] at client.o(client.java:1610)[13:55:21] at er.qy(er.java:210)[13:55:21] at er.run(er.java:189)[13:55:21] at java.lang.Thread.run(Thread.java:745)[13:55:51] java.io.IOException[13:55:51] at a.s(a.java:53)[13:55:51] at aa.s(aa.java:32)[13:55:51] at bl.x(bl.java:262)[13:55:51] at client.o(client.java:1002)[13:55:51] at er.qy(er.java:210)[13:55:51] at er.run(er.java:189)[13:55:51] at java.lang.Thread.run(Thread.java:745) Screenshots (if any):
  9. Is there some way for me to check if I am the sole person using a SOCKS5 proxy? Not 100% comfortable just taking the vendor's word for it
  10. I could be mistaken, but I checked for Game.getSetting() changes for before and after teleporting using Sigma's Setting Explorer. Found nothing
  11. I can't find a game setting for this, and the Interface (218,1) doesn't change regardless of when the spell was last used. I made a homeTeleport() method which returns a boolean, now I have no way to loop it until it is true without putting it inside its own timed while-loop. I want to avoid doing that, any ideas?
  12. How is that any different than using nested nodes? public class RebuildManager { public static ArrayList<Node> nodes = new ArrayList<>(); public RebuildManager(){ Collections.addAll(nodes, new TutorialIslandManager(), new MagicTrainerManager(), new FishingTrainerManager()); } public void loop() { for(final Node node : nodes) { if(node.validate()) { node.execute(); //sleep for some amount break; } else { nodes.remove(node); } } } public boolean completed() { return nodes.size() == 0; } } ArrayLists are iterated sequentially, only one "task" node is focused on at a time, and old "tasks" are thrown out. In my main Script class I only have to make an instance of RebuildManager and loop it until it loses all of its nodes. etc.
  13. Why is public static ArrayList<Node> nodes = new ArrayList<>(); static?
  14. Sequential nodes: I am working on a rebuild class for when accounts are banned, obviously this is like one big quest script. Each task is sequential: Tutorial island, train skill 1, train skill 2, quest 1, quest 2, etc. When an account is first made, all task nodes' validate() methods would return true, since none of the tasks have been completed yet. To prevent switching tasks prematurely, should the for-loop be modified? What is the best way to accomplish this? I was thinking: for(final Node node : nodes) { if(node.validate()) { node.execute(); //sleep for some amount break; } else { nodes.remove(node); } } Is there a better way? Sorry for being a total noob at node framework and tasking.
  15. Whenever I see someone's code snippet inside their forum post, it appears on one line. Makes it difficult to read the code. How do I change this so their snippet appears on multiple lines? By the way I'm using Chrome. Tried loading the same pages on Firefox and got the one-lined same result.