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


$5 Donor
  • Content Count

  • Joined

  • Last visited

  • Feedback


Community Reputation

3 Neutral

About fegmo

  • Rank
    New Botter

Recent Profile Visitors

869 profile views
  1. When you originally call getInterface(), the target interface is equal to null as it isn't shown. This null value gets passed into active() and just loops until the time runs out. The if statement then returns false, which makes your else statement activate which then calls getInterface() again. This time target is not equal to null, so it returns true and calls chooseMakeOption(). The solution to this is to create the interface within the active(). @Override public boolean active() { General.sleep(50, 150); RSInterface target = Interfaces.get(309, 3); return target != null && !target.isHidden(); }
  2. You could search for npcs which have their interacting character equal to your player, then check if their animation is equal to their attacking animation
  3. You are in serious need of replacing them sleeps. Use conditional sleeps instead, for example in your withdraw method where you are trying to open up the bank, replace the sleep(830, 1120) with Timing.waitCondition(new Condition() { @Override public boolean active() { General.sleep(50, 150); return Banking.isBankScreenOpen(); }, General.random(3000, 5000)); Also in the same method, where you are looking for the items in the bank, you have to make sure you check the length is greater than 0. Lets say you don't have any herb's in the bank, Banking.find(257) will return an empty array, you then try get the stack of index 0 but it doesn't exist because an empty array was returned, so you end up getting a NPE. The way you're separating up your withdraw if statements can be simplified by using inequalities. Again in the withdraw-X part, replace the static sleep with another conditional sleep. RSInterface target = Interfaces.get(162, 32); if (Timing.waitCondition(new Condition() { @Override public boolean active() { General.sleep(50, 150); return target != null && !target.isHidden(); }}, General.random(3000, 5000))) { // type } In gotIngredients you can just call Inventory.getCount(id) == 14 instead of creating the RSItem. And yes, whenever the bot moves the mouse from point a to point b with human mouse movement activated the movement will be random/human like, whether you use Mouse.move() or using another API method. You should also try using conditional sleeps instead of static sleeps, as static sleeps are so unreliable and easily form patterns.
  4. This might help @Override public boolean active() { General.sleep(50, 150); RSPlayer player = Player.getRSPlayer(); if (player == null) return false; return player.getInteractingIndex() == -1; } Else maybe get the death animation of each monster n check if the current npc ur interacting with is doing the death animation.
  5. Instead of checking the length of the returned array, you should get the stack size, i.e. RSItem[] herb = Banking.find(249); RSItem[] waterVial = Inventory.find(227); if (herb.length > 0 && waterVial.length > 0) if (herb[0].getStack() >= 14 && waterVial[0].getStack() >= 14) return true; return false; For using an item on another Clickable, just click on the item, hover the entity you want to interact with, check Game.getUpText and make sure it matches what you want, then Mouse.click(1).
  6. Is there a reason why there's such a long delay after Mouse.Drag has been called?
  7. Hey FALSkills, thanks for the quick responds. I also thought that was the case, which is why I tried on multiple accounts but had the same outcome (forgot to mention). Maybe I'm just absurdly unlucky haha. Thank you for the input though, I appreciate the help!
  8. Hey all, I'm fairly new to the scripting scene as well as Java, but tend to try figuring out issues I'm having with my own code by myself in hopes of becoming a better programmer. Although I'm getting tangled up with confusion with WalkingPreference. Here's the code: public static void walkPrefTest() { ABUTil abc = new ABUtil(); while (true) { int i = General.random(4, 13); System.out.println(abc.generateWalkingPreference(i) + i); General.sleep(100); } } I'm unsure if I'm using it completely incorrectly, if it's a stupid little mistake or if the SCREEN pref is insanely rare. When using other generated preferences i.e. the bank preference, both preferences show up. Thanks all in advanced!
  9. Part two Xmouse_data-303253-1454161139099.dat Xmouse_data-303253-1454161871704.dat Xmouse_data-303253-1454162375804.dat Xmouse_data-303253-1454163239291.dat Xmouse_data-303253-1454163807046.dat Xmouse_data-303253-1454164429185.dat
  10. Part one Xmouse_data-303253-1454145527389.dat Xmouse_data-303253-1454146491500.dat Xmouse_data-303253-1454148442781.dat Xmouse_data-303253-1454149059368.dat Xmouse_data-303253-1454149621822.dat Xmouse_data-303253-1454150287764.dat Xmouse_data-303253-1454152160869.dat Xmouse_data-303253-1454152656817.dat Xmouse_data-303253-1454153527256.dat Xmouse_data-303253-1454154372690.dat Xmouse_data-303253-1454155083186.dat Xmouse_data-303253-1454156170544.dat Xmouse_data-303253-1454157746634.dat Xmouse_data-303253-1454159444225.dat Xmouse_data-303253-1454158260282.dat Xmouse_data-303253-1454160323245.dat
  • Create New...