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

421 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. 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.
  4. if(ChooseOption.isOpen()) { ChooseOption.select(new Filter<RSMenuNode>() { @Override public boolean accept(RSMenuNode rsMenuNode) { return rsMenuNode.containsAction("Make All"); } }); }
  5. 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; }
  6. 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
  7. I could be mistaken, but I checked for Game.getSetting() changes for before and after teleporting using Sigma's Setting Explorer. Found nothing
  8. 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?
  9. 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.
  10. Why is public static ArrayList<Node> nodes = new ArrayList<>(); static?
  11. 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.
  12. 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.
  13. Restarting my computer fixed the problem. I hadn't restarted it since I purchased VIP extended. Thanks
  14. The script just isn't showing up. package scripts; import org.tribot.script.Script; import org.tribot.script.ScriptManifest; @ScriptManifest(authors = {"hobfmule"}, name = "Test", category = "Test") public class Test extends Script { @Override public void run() { System.out.println("Hello World"); } } As you can see, there is no "Test" category. The script is set to compile to the correct directory. I have tried reinstalling Tribot and recompiling the script. Any help would be appreciated.
  15. I am writing a program with a central while-loop. The loop has if-statements that call methods. I am caught between 2 situations: 1) My methods contain while loops 2) Create a boolean for each method so the main loop runs the method until the boolean is satisfied Problem with 1): Methods gain full control - while the method is in control, the main loop can't make other checks such as run toggling Problems with 2): There are a very large amount of booleans. Complex methods must be broken up into simple tasks, creating more methods