Jump to content
Frequently Asked Questions
  • Are you not able to open the client? Make sure you have Java installed
  • Still not working? Try downloading and running JarFix
  • Help! My bot doesn't do anything! Enable fresh start in client settings and restart the client
  • How to purchase with PayPal/OSRS gold? You can purchase vouchers from other users
  • Try asking for help in the chatbox
Bottinghub.com

Interested in advertising your business? Reach out today!

RetroBot

Lifetime Sponsor
  • Content Count

    104
  • Joined

  • Last visited

Recent Profile Visitors

2044 profile views
  1. With the update of DB3 the api is now static. Instead of using .getTabs() just use Tabs.
  2. Instead of using 67 you could use getSkills().getRealLevel(Skill.ATTACK) + number for something like that. For example your attack is currently 65 and you wanted to boost it if its <= 67 so you would do getSkills().getRealLevel(Skill.ATTACK) + 2. Then when it levels up it to 66 it will boost it if <= 68 and so on.
  3. It searches the item and buys the item just fine with getGrandExchange().buyItem("Knife", 1, 200) it just wont scroll to the item; .
  4. When trying to buy a knife in the GE it wont scroll to the item to purchase it. After I manually scroll it will pick back up and continue like normal.
  5. Not sure if this still works, but heres something I used years ago package utils; import org.dreambot.api.script.AbstractScript; public enum Pouch { SMALL("Small pouch", 5509, -1, 1, 3, 3), MEDIUM("Medium pouch", 5510, 5511, 50, 6, 3), LARGE("Large pouch", 5512, 5513, 50, 9, 7), GIANT("Giant pouch", 5514, 5515, 75, 12, 9); public final String name; public final int normalID; public final int degradedID; public final int requiredLevel; public final int normalHold; public final int degradedHold; Pouch(String name, int AssignedNormalID, int AssignedDegradedID, int AssignedRequiredLevel, int AssignedNormalHold, int AssignedDegradedHold ) { this.name = name; this.normalID = AssignedNormalID; this.degradedID = AssignedDegradedID; this.requiredLevel = AssignedRequiredLevel; this.normalHold = AssignedNormalHold; this.degradedHold = AssignedDegradedHold; } public static EssenceType getPouchEssenceType(AbstractScript script, Pouch p) { int setting = script.getPlayerSettings().getConfig(720); switch (p) { case SMALL: return setting >= 128 ? EssenceType.PURE : (setting >= 0x40) && (setting < 0x80) ? EssenceType.NORMAL : null; case MEDIUM: if (setting >= 64) setting %= 64; return setting >= 32 ? EssenceType.PURE : (setting >= 0x10) && (setting < 0x20) ? EssenceType.NORMAL : null; case LARGE: if (setting >= 64) setting %= 64; if (setting >= 16) setting %= 16; return setting >= 9 ? EssenceType.PURE : (setting >= 0x4) && (setting < 0x9) ? EssenceType.NORMAL : null; case GIANT: if (setting >= 64) setting %= 64; if (setting >= 16) setting %= 16; if (setting >= 4) if (setting < 0x9) setting %= 0x4; else setting %= 0x9; return setting == 0x2 ? EssenceType.PURE : setting == 0x1 ? EssenceType.NORMAL : null; } return null; } public static int getEssenceCount(AbstractScript script, Pouch p) { int setting = script.getPlayerSettings().getConfig(486) - 0x40000000; switch (p) { case GIANT: return setting / 0x40000; case LARGE: setting %= 262144; return setting / 0x200; case MEDIUM: setting %= 262144; setting %= 512; return setting / 8; case SMALL: setting %= 262144; setting %= 512; return setting % 8; } return -1; } public String getName() { return name; } public int getNormalID() { return normalID; } public int getDegradedID() { return degradedID; } public int getNormalHold() { return normalHold; } public int getDegradedHold() { return degradedHold; } public int getRequiredLevel() { return requiredLevel; } public EssenceType getEssencesType(AbstractScript script) { return getPouchEssenceType(script, this); } public int getEssencesAmount(AbstractScript script) { return getEssenceCount(script, this); } public static boolean isEmpty(AbstractScript script) { // checks to see if one of the pouches in inventory are empty return script.getInventory().contains(Pouch.SMALL.getNormalID()) && !isFull(script, Pouch.SMALL) || script.getInventory().contains(Pouch.MEDIUM.getNormalID()) && !isFull(script, Pouch.MEDIUM) || script.getInventory().contains(Pouch.LARGE.getNormalID()) && !isFull(script, Pouch.LARGE) || script.getInventory().contains(Pouch.GIANT.getNormalID()) && !isFull(script, Pouch.GIANT); } public static boolean isEmpty(AbstractScript script, Pouch p) { // checks specific pouch if empty return script.getInventory().contains(p.getNormalID()) && !isFull(script, p); } public static boolean allEmpty(AbstractScript script) { if (script.getInventory().containsAll("Small pouch", "Medium pouch", "Large pouch", "Giant pouch")) { return isEmpty(script, Pouch.SMALL) && isEmpty(script, Pouch.MEDIUM) && isEmpty(script, Pouch.LARGE) && isEmpty(script, Pouch.GIANT); } else if (script.getInventory().containsAll("Small pouch", "Medium pouch", "Large pouch")) { return isEmpty(script, Pouch.SMALL) && isEmpty(script, Pouch.MEDIUM) && isEmpty(script, Pouch.LARGE); } else if (script.getInventory().containsAll("Small pouch", "Medium pouch")) { return isEmpty(script, Pouch.SMALL) && isEmpty(script, Pouch.MEDIUM); } else if (script.getInventory().containsAll("Small pouch")) { return isEmpty(script, Pouch.SMALL); } return false; } public static boolean containsRune(AbstractScript script) { return (script.getInventory().contains(Pouch.GIANT.getName()) && Pouch.getEssenceCount(script, Pouch.GIANT) > 0) || (script.getInventory().contains(Pouch.LARGE.getName()) && Pouch.getEssenceCount(script, Pouch.LARGE) > 0) || (script.getInventory().contains(Pouch.MEDIUM.getName()) && Pouch.getEssenceCount(script, Pouch.MEDIUM) > 0) || (script.getInventory().contains(Pouch.SMALL.getName()) && Pouch.getEssenceCount(script, Pouch.SMALL) > 0); } public static boolean containsRune(AbstractScript script, Pouch p) { return script.getInventory().contains(p.getName()) && Pouch.getEssenceCount(script, p) > 0; } public static boolean isFull(AbstractScript script, Pouch p) { return (script.getInventory().contains(p.getNormalID()) && Pouch.getEssenceCount(script, p) == p.getNormalHold()) || (script.getInventory().contains(p.getDegradedID()) && Pouch.getEssenceCount(script, p) == p.getDegradedHold()); } }
  6. Are they socks5? Are you able to use them in maxthon? Have you tried running the client with cmd to see the errors?
  7. Sorry, didn't notice your reply. It happens on every screen due to the paint having a refresh rate of 25ms or whatever. I eventually did find a work around though. Instead of grabbing the client's canvas I used the robot's create screen capture method. This isn't really ideal since it isn't linked up to the client at all since it takes a screenshot of whatever is on the screen in the specified rectangle, but it worked for my purposes. BufferedImage image = new Robot().createScreenCapture(new Rectangle(595, 304, 486, 330));
  8. What type of user are you? (Scripter, casual user, heavy user) Scripter / Heavy user How many bots do you usually run at one time? Currently running 10-15 How long have you used DreamBot? Been with DreamBot since 2017, but have been botting since 2012
  9. If you're hopping often you will need to increase the sleep between each hop to prevent the auto login from getting stuck in a loop like this. I think my sleeps are like 32 seconds and I still get kicked to the main login screen with too many attempts every now and then, but it doesn't get stuck in a loop.
  10. Is the log message inside of a loop?
  11. Years ago I've set up cleverbot on my scripts as an autoresponder also made it where it would type "y" instead of "why" sometimes and "u" instead of "you" etc to make it seem a little more real. I didn't really notice any difference in bans when setting this up though.
  12. if (script.getDialogues().inDialogue()) { if (script.getDialogues().canContinue()) { Main.state = "Space to continue"; if(script.getDialogues().spaceToContinue()) { script.sleep(Calculations.random(1500,2000)); } } else { if (!script.getDialogues().canContinue() && script.getDialogues().getOptions().length > 0) { for (String x : chatOptions) { if (script.getDialogues().chooseOption(x)) { Main.state = "Selecting dialogue " + x; script.sleep(700, 800); } } } } } I just use a String array with all options i'll need for dialogue on each part of a quest and have it loop through each option until it finds it in the correct dialogue.
  13. tileOne.distance(tileTwo);
  14. I use the code from this post: /** * Takes a screenshot and writes the image as PNG to the dreambot folder * inside of a folder as the name of the script */ public void screenshot() { File file = new File(getManifest().name()); BufferedImage image = getClient().getCanvasImage(); try { if (!file.exists() || !file.isDirectory()) { log("Creating script folder"); file.mkdir(); } log("Saving screenshot..."); ImageIO.write(image, "png", new File(String.format("%s/%s.png", getManifest().name(), System.currentTimeMillis()))); } catch (Exception e) { e.printStackTrace(); } } And half the time when it takes a screenshot the paint looks a little messed up like this: Does anyone have any suggestions on how to capture the screenshot without losing anything on the paint?
×
×
  • Create New...