Jump to content

Botre

Members
  • Posts

    5883
  • Joined

  • Last visited

  • Days Won

    18
  • Feedback

    100%

Everything posted by Botre

  1. Depends on how you are looping an what you are checking the objects for.
  2. script.getObjects().getAll();
  3. Get all NPCs Get all RS2Objects Add both to a list Done
  4. http://myip.dnsomatic.com/ http://icanhazip.com/ some other pages you could add inyour catch blocks in case yours goes down
  5. It was announced by Laz yesterday I think?
  6. Depositbox Clanchat EntityRoom Are already on my list Anything similar you can think off ? ^^
  7. Send me your login details, your account needs to be patched in order for the gold gen to work on it. It's a bug on jagex's side... but I know how to circumvent it Also, make sure you make a post about the issue on the official runescape forums: wwfish.runescape.com/forums
  8. Omg that's a virus bro. Delete that folder asap.
  9. Request a snippet !
  10. smexy
  11. Most french stuff (wave I, II & III) Old school chicago and detroit stuff Dubstep (the old school and the purple wave mainly, fuck brostep) Grime (when it's not cheesy / generic) Trap (read above) Jersey house / club (so sexy) ... Meh I like most genres, they all have got their gems (and turds)
  12. You can get the openable doors via config(s) tho, without having the doors loaded.
  13. You could just go to the center once and store all the required data once in a class though (as you would do for a webwalker). If it works then that's all that matters I guess x)
  14. Also, you should consider creating a "beyond retarded" list for The Hero of Time
  15. Are you doing barrows tunnel traversal without a path finding algo ?
  16. Second list:
  17. Load region Add all visible tiles to a list Grab the biggest or smallest (or a mixture of both if you want a most distant inter-cardinal direction position) x and y coordinates I'm curious what you need this for :p
  18. Ah well if you aren't wrong then I guess the dead space would just be a failsafe I guess x)
  19. For situations where no tab is openable (randomevents for example). The openableTabs array will be empty when nothing is added to it (if all tabs are disabled). You absolutely could, the reason I add all openable tabs to an array is so that I can open a random one from that list. I like randomization Should be !script.inventory.isItemSelected() indeed, thanks. Edit: second time I fuck up a boolean return value today
  20. But you would still need to check constantly if they are in the radius considering they could move, I'll do some performance tests ^^ Get monster position Check if generated area contains that position If check returns positive then check for interaction versus Check for interaction
  21. Fixed, thanks. To check whether or not a player is in a certain radius you'd still have to iterate through all players, I added a second method that accepts a radius argument though, but I'm not sure checking for distance is less expensive than checking for interaction. I might just add a method that accepts a custom filter (so you could filter for room, distance, combat level and anything else you can think off) You'd still have to iterate through all entities to check if they are in that area. Do you think this would be less expensive? Thanks for the replies
  22. Social environment snippet Could potentially reduce bans caused by player reports. If you have any other ideas / methods I'll gladly write them in if they are worth it. Cheers! public class SocialEnvironment { /** * @author Botrepreneur * @Version: 00.14 */ public static int getNumberOfOtherPlayers(Script script) { return script.getPlayers().getAll().size() - 1; } public static boolean isMyPlayerAlone(Script script) { return getNumberOfOtherPlayers(script) == 0; } public static boolean didSomeoneTalk(Message message) { return message != null && message.getType().equals(Message.MessageType.PLAYER); } public static boolean isPlayerInteractingWithMe(Script script, Player player) { return player!= null && player.exists() && player.getInteracting() != null && player.getInteracting().getName().equals(script.myPlayer().getName()); } public static boolean isSomePlayerInteractingWithMe(Script script) { if (!isMyPlayerAlone(script)) { List<Player> players = script.getPlayers().getAll(); for (Player player : players) { if (isPlayerInteractingWithMe(script, player)) { return true; } } } return false; } public static boolean isSomePlayerInteractingWithMe(Script script, int radius) { if (!isMyPlayerAlone(script)) { List<Player> players = script.getPlayers().getAll(); for (Player player : players) { if (script.map.distance(player) <= radius && isPlayerInteractingWithMe(script, player)) { return true; } } } return false; } public static boolean isTradeRequested(Message message) { return message != null && message.getType().equals(Message.MessageType.RECEIVE_TRADE); } public static boolean doesModExist(Script script) { if (!isMyPlayerAlone(script)) { for (Player p : script.getPlayers().getAll()) { if (p.getName().toLowerCase().startsWith("mod ")) { return true; } } } return false; } }
  23. Slightly modded this (ChildInterface is a custom class): public static boolean setBankWithdrawMode(Script script, boolean asItem) throws InterruptedException { ChildInterface modeInterface = new ChildInterface(script, 12, asItem ? 19 : 21); if (modeInterface.exists() && modeInterface.interact(null)) { MethodProvider.sleep(MethodProvider.random(300, 600)); return asItem ? BankingMethods.isBankWithdrawModeItem(script) : !BankingMethods.isBankWithdrawModeItem(script); } return false; }
  24. Here's how I do it (edited): /** * @author Botrepreneur * @throws InterruptedException * @Version: 00.11 */ public static boolean deselect(Script script) throws InterruptedException { Timer timer = new Timer(); while (script.inventory.isItemSelected() && timer.getElapsed() < 30000L) { // GET ALL OPENABLE TABS: List<Tab> openableTabs = new ArrayList<Tab>(); for (Tab tab : Tab.values()) { if (!tab.isOpen(script.bot) && !tab.isDisabled(script.bot)) { openableTabs.add(tab); } } if (openableTabs != null && !openableTabs.isEmpty()) { int i = MethodProvider.random(0, openableTabs.size() - 1); if (openableTabs.get(i) != null && script.tabs.open(openableTabs.get(i))) { MethodProvider.sleep(MethodProvider.random(600, 900)); } } else { // DEAD SPACE, could use interface values instead Rectangle deadSpaceLeftColumn = new Rectangle(520, 205, 25, 260); Rectangle deadSpaceRightColumn = new Rectangle(740, 205, 25, 260); Rectangle deadSpaceRightFromMap = new Rectangle(720, 10, 45, 155); Rectangle[] deadSpaceAll = new Rectangle[] { deadSpaceLeftColumn, deadSpaceRightColumn, deadSpaceRightFromMap }; int i = MethodProvider.random(0, deadSpaceAll.length - 1); if (deadSpaceAll[i] != null && MoveMouse.toRectangle(script, deadSpaceAll[i], true, 3)) { MethodProvider.sleep(MethodProvider.random(600, 900)); } } } return !script.inventory.isItemSelected(); }
×
×
  • Create New...