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

Interested in advertising your business? Reach out today!

holic

Scripter
  • Content Count

    114
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by holic

  1. No problemo, happy to help. It's a very useful script haha.
  2. Thanks for the kinds words and feedback, @mgiven95 I will investigate it and push an update in the next few days! It does double check the cluescroll after a few failed digging attempts but I'll try to improve it so it's not necessary And sure thing, I will add the option. I didn't add it originally as I like the one-click start but could maybe put it in as an on-screen option to avoid that.
  3. Hey I know you're busy right now, just adding to list of bugs for you Current bugs: Stuck trying to open settings/inventory before it's available (ie. flashing) Looping talking to (usually talks to them again halfway through he conversation) : Quest Instructor Mining Instructor Combat Instructor Prayer Instructor Magic Instructor After opening poll (NPE thrown here)
  4. Minor release: 1.09 Speed improvements Withdraw method rewritten for bug fixes Improved anti-ban Pushed and recompile requested, look for it in your script manager shortly👌
  5. holic

    DreamBot v3.1.0

    Just heads up, the console is a line behind. Seems the most recent/newest line in the console is hidden or waiting to be printed. Do my words make sense?
  6. holic

    DreamBot v3.0.8

    Hey, didn't notice this before but all scripts from the SDN are listed as version 1.0 in the script manager regardless of the actual number
  7. To add on to what others have said. 1) Pages/pagination would be great 2) A filter to show only the scripts you have added to your client or the ability to remove scripts easily from the "Your Scripts" page 3) More sorting options, like by upload date, update date, rating, etc. 4) Maybe some lazy loading when the display count is greater than 25 so it loads smoothly (e.g. unfiltered main page) 5) More info for the scripter panel, it was a wee bit confusing at first.
  8. Version 1.08 should be available from the SDN now! Let me know anyone hits any bugs
  9. Great, thank you! Guess I gotta fix that bug now.
  10. Thanks tjet! There is a small bug I haven't figured out that I thought I had fixed just fyi. Start with a clue scroll in your inventory and you should be good. Its getting stuck withdrawing the scroll ATM. I'll fix it this weekend.
  11. Minor release: 1.07 Fixed bug with clapping at Bob Fixed teleportation bug where it might interrupt a home teleport by walking Fixed another withdrawing issue Fixed mouse algorithm issue DOWNLOAD
  12. Right..It's obfuscated so it might not be line 130 but I meant this line in particular: if (emote.childwidget > 20) { If the value is 20 (ie clap) then nothing happens 👍
  13. There's a bug with Emotes#doEmote where it won't scroll for Emote#CLAP. Looks like line 130 of Emotes needs to be an equal or greater than check, not greater than. (Sorry, took a look at the code lol)
  14. Minor release: 1.06 Fixed withdraw bug DOWNLOAD Also I'll get this on the SDN ASAP, dealing with some weird network issue re the SDN.
  15. holic

    DreamBot v3.0.1

    So, sooo good. Thank you for the hotkeys.
  16. You're welcome! And good call on the backspace, I'll add that into mine as well.
  17. The other day @bebeli555 asked about simulating keypresses with Dreambot and seemed to want more control over the function so I whipped this together. There are two functions you could use here: sendHumanKeys(String text, boolean enter) * @param text the message to send * @param enter should it press enter when finished Use this if you want a preset, human-like typing function void sendKeys(String text, int keyWait, int modifierWait, boolean mistakes) * @param text String to send to the client * @param keyWait wait between keystrokes * @param modifierWait wait for hitting modifier keys * @param mistakes should it make mistakes Use this if you want to set a longer delay with keypresses + modifier keys These functions will type slower like a human, although Keyboard#type now offers the same functionality, and will produce mistakes in the spelling of the text with a 1 in 10 probability. It will not produce mistakes with special characters. /** * Types out a message in a human-like fashion with a chance of typing a mistake * * @param text the message to send */ private void sendHumanKeys(String text, boolean enter) { sendKeys(text, Calculations.random(75, 125), Calculations.random(50, 80), true); if (enter) sendKeys("\n", Calculations.random(75, 125), Calculations.random(50, 80), false); } /** * Gets a nearby mistake key * * @param c Char to check for */ private char getMistakeChar(char c) { String s = String.valueOf(c).toLowerCase(); String[] qwerty = {"zxcvbnm,./", "asdfghjkl;'", "qwertyuiop[]", "1234567890-="}; for (int i = 0; i < qwerty.length - 1; i++) { int direction = getMistakeDirection(s); //Which way to fumble the keys if (qwerty[i].contains(s)) { //Which row of keys contains our key int modifier = Calculations.random(1, 2); //Another which way to fumble int index = qwerty[i].indexOf(s) + (Calculations.random(1) == 1 ?-modifier:modifier); //New index of our character int fumble = Calculations.random(1) == 1 ? 1 : -1; if (i == 0) { //bottom row of keys switch (direction) { case -1: return qwerty[i].substring(index - 1, index).toCharArray()[0]; case 0: return qwerty[i + 1].substring(index, index + 1).toCharArray()[0]; default: return qwerty[i].substring(index, index + 1).toCharArray()[0]; } } else if (i == 3) { //top row of keys switch (direction) { case -1: return qwerty[i].substring(index - 1, index).toCharArray()[0]; case 0: return qwerty[i - 1].substring(index, index + 1).toCharArray()[0]; default: return qwerty[i].substring(index, index + 1).toCharArray()[0]; } } else { switch (direction) { case -1: return qwerty[i].substring(index - 1, index).toCharArray()[0]; case 0: return qwerty[i + fumble].substring(index, index + 1).toCharArray()[0]; default: return qwerty[i].substring(index, index + 1).toCharArray()[0]; } } } } return c; } /** * Checks which direction we should make a mistake * * @param s character to check * @result the direction of the mistake */ private int getMistakeDirection(String s) { String left = "`qaz"; String right = "=]'/"; if (left.contains(s)) { //If its the left column, fumble to the right return Calculations.random(2); } else if (right.contains(s)) {// If its the right column, fumble to the left return Calculations.random(-2,0); } return Calculations.random(-2,2);//Other fumble in any direction } /** * Checks if an entire string is uppercase * * @param str String to check * @result True if the string is uppercase */ private boolean isStringUpperCase(String str) { char[] charArray = str.toCharArray(); for (char c : charArray) { if (Character.isLetter(c)) { if (!Character.isUpperCase(c)) return false; } } return true; } /** * Checks if a character requires the shift key to be pressed. * * @param c Char to check for * @result True if shift is required */ private boolean isShiftChar(char c) { String special = "~!@#$%^&*()_+|{}:\"<>?"; return special.indexOf(c) != -1 || (c - 'A' >= 0 && c - 'A' <= 25); } /** * Sends a string to the client like a person would type it. * Works only with qwerty keyboard setup for mistakes * * @param text String to send to the client * @param keyWait wait between keystrokes * @param modifierWait wait for hitting modifier keys * @param mistakes should it make mistakes */ public void sendKeys(String text, int keyWait, int modifierWait, boolean mistakes) { char[] chars = text.toCharArray(); KeyboardEvent event = new KeyboardEvent("", false, true); boolean isUpper = isStringUpperCase(text); if (isUpper) { //if its all uppercase we hold shift the entire time Keyboard.pressShift(); sleep((int) ((Math.random() * 0.1 + 1) * modifierWait)); } for (char c : chars) { if (mistakes && Calculations.random(10) == 5) { c = isShiftChar(c) ? String.valueOf(getMistakeChar(c)).toUpperCase().charAt(0) : getMistakeChar(c); } if (isShiftChar(c) && !isUpper) {//if its mixed cased, press and release as necessary Keyboard.pressShift(); sleep((int) ((Math.random() * 0.1 + 1) * modifierWait)); event.dispatchPressed(c); event.dispatchTyped(c); sleep((int) ((Math.random() * 0.1 + 1) * keyWait)); event.dispatchReleased(c); sleep((int) ((Math.random() * 0.1 + 1) * modifierWait)); Keyboard.releaseShift(); } else { event.dispatchPressed(c); event.dispatchTyped(c); sleep((int) ((Math.random() * 0.1 + 1) * keyWait)); event.dispatchReleased(c); } } if (!isUpper) { //if its all uppercase we hold shift the entire time sleep((int) ((Math.random() * 0.1 + 1) * modifierWait)); Keyboard.releaseShift(); } } If this could be done better, please let me know. Note: It seems to lock up DB3 when typing just a bit so I'm not certain. It's not an instant ban when typing at least!
  18. Congrats on the full release, must feel good after all this time!
  19. What did you change? Also setMousePos is just a wrapper function for Mouse#hop basically
  20. It's been working just fine for me, haven't tried it today though. Is it just not moving or what? What's going on? Could be a client issue.
  21. Minor release: 1.05 Fixed craft leather chaps bug Fixed teleportation bug DOWNLOAD
  22. I think Keyboard#type has been improved not to just instantly type the text, it actually types like a human now Otherwise create a KeyboardEvent and use KeyboardEvent#pressSpecialKey to press a special key
  23. The gif at the bottom of the post you mean? Yeah it's ~11 mins sped up into 45 seconds lol
×
×
  • Create New...