Skip to content
View in the app

A better way to browse. Learn more.

OSBot :: 2007 OSRS Botting

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

LoudPacks

Members
  • Joined

  • Last visited

Everything posted by LoudPacks

  1. Good shit on the taverly dungeon links. I forgot to report.
  2. So I have all that is currently still available? I want to go back and write my ge api properly and with all boxes.
  3. The feds are watching you...
  4. Am I missing something? I haven't found any other changes after messing around with the ge (like what values change while offers are pending) Box Offers (While open) --------------- ID: [375] Box 1: 0 -> 16 Box 2: 0 -> 32 Box 3: 0 -> 48 Box 4: 0 -> 64 Box 5: 0 -> 80 Box 6: 0 -> 96 Box 7: 0 -> 112 Box 8: 0 -> 128 Active Offer (While open) ----------------------- ID: [1151] - item id ID: [563] - item amount ID: [1043] - item price
  5. Are you on the newest version of OSBot? .84?
  6. 1. Pictures of the account stats 2. Pictures of the login details 3. Pictures of the total wealth (if there is any) GOLD NOT INCLUDED! 4. Pictures of the quests completed 5. The price you will be starting bids at 95M - $1.02/M 6. The A/W (Auto-win) for your account 160M - $1.02/M 7. The methods of payment you are accepting RSGP, BitCoin, PayPal (If I trust you) 8. Your trading conditions After payment you will receive the account info and the email will be changed to yours. 9. Pictures of the account status 10. Original/previous owners AND Original Email Address Original Owner: [member=Dynxcity] http://osbot.org/forum/user/211612-dynxcity/ I have the original password used, creation ip, billing info, and zip code.
  7. When you want to tele away from scary people trying to kill you with equipment
  8. Yea idk what Adapt is talking about this is definitely possible (especially since you're selling it as you go), its just a matter of how quickly it will happen, good luck!
  9. private List<String> getOthersEquipment(Player p) { List<String> equipmentList = new LinkedList<String>(); if(p != null) { int[] equipment = p.getDefinition().getAppearance(); for (int i = 0; i < equipment.length; i++) { if (equipment[i] - 512 > 0) equipmentList.add(ItemDefinition.forId(equipment[i] - 512).getName()); } } return equipmentList; } Note: int[] equipment = p.getDefinition().getAppearance(); Index Order: [0] = helmet [1] = cape [2] = necklace [3] = weapon [4] = chest [5] = shield [7] = legs [9] = gloves [10] = boots - Can only grab visible items (no ring or ammo, etc.) - Each value from getAppearance() needs to have 512 subtracted from it in order to get the item id Or if you want it so you can grab specific pieces: private HashMap<EquipmentSlot, String> getOthersEquipment(Player p) { HashMap<EquipmentSlot, String> equipmentList = new HashMap<EquipmentSlot, String>(); if (p != null) { int[] equipment = p.getDefinition().getAppearance(); for (int i = 0; i < equipment.length; i++) { if(equipment[i] - 512 > 0){ switch(i){ case 0: equipmentList.put(EquipmentSlot.HAT, ItemDefinition.forId(equipment[i] - 512).getName()); break; case 1: equipmentList.put(EquipmentSlot.CAPE, ItemDefinition.forId(equipment[i] - 512).getName()); break; case 2: equipmentList.put(EquipmentSlot.AMULET, ItemDefinition.forId(equipment[i] - 512).getName()); break; case 3: equipmentList.put(EquipmentSlot.WEAPON, ItemDefinition.forId(equipment[i] - 512).getName()); break; case 4: equipmentList.put(EquipmentSlot.CHEST, ItemDefinition.forId(equipment[i] - 512).getName()); break; case 5: equipmentList.put(EquipmentSlot.SHIELD, ItemDefinition.forId(equipment[i] - 512).getName()); break; case 7: equipmentList.put(EquipmentSlot.LEGS, ItemDefinition.forId(equipment[i] - 512).getName()); break; case 9: equipmentList.put(EquipmentSlot.HANDS, ItemDefinition.forId(equipment[i] - 512).getName()); break; case 10: equipmentList.put(EquipmentSlot.FEET, ItemDefinition.forId(equipment[i] - 512).getName()); break; } } } } return equipmentList; }
  10. IP Checker - As Requested By Users Download: http://download1503.mediafire.com/6datvo8lpfrg/dqkf65cp60j3atz/LoudIP.jar Source: Virus Scan:
  11. Had insurance, the dude pm'd me saying he recovered the acc (I was the buyer) and that basically I can go fuck myself and that jagex wouldnt believe me anyway. PA didnt help me and I lost the PayPal dispute.
  12. Whoever you want
  13. Just had 2 params before and auto added method lol
  14. protected abstract static class Widgets { public static boolean containsText(int parent, int child, String text) { RS2Widget widget = s.getWidgets().get(parent, child); if (exists(widget) && widget.isVisible()) { return widget.getMessage().contains(text); } return false; } public static boolean interactTil(String action, int i, int j, int k, ConditionalSleep con) { RS2Widget widget = s.getWidgets().get(i, j, k); if (exists(widget)) { widget.interact(action); con.sleep(); return true; } return false; } public static String getText(int i, int j) { RS2Widget widget = s.getWidgets().get(i, j); if (exists(widget) && widget.isVisible()) { return widget.getMessage(); } return ""; } private static boolean exists(RS2Widget widget) { return widget != null; } public static boolean interactTil(String action, int parent, int child, ConditionalSleep con) { RS2Widget widget = s.getWidgets().get(parent, child); if (exists(widget)) { widget.interact(action); con.sleep(); return true; } return false; } public static boolean interactTilNull(String action, int parent, int child) { RS2Widget widget = s.getWidgets().get(parent, child); if (exists(widget)) { widget.interact(action); new ConditionalSleep(2500, 3000) { @Override public boolean condition() { return !exists(widget); } }.sleep(); return true; } return false; } public static boolean interactTilNull(String action, int parent, int child, int child2) { RS2Widget widget = s.getWidgets().get(parent, child, child2); if (exists(widget)) { widget.interact(action); new ConditionalSleep(2500, 3000) { @Override public boolean condition() { return !exists(widget); } }.sleep(); return true; } return false; } } protected abstract static class Trade { public static boolean isTrading() { return s.getTrade().isCurrentlyTrading() || s.getTrade().isFirstInterfaceOpen() || s.getTrade().isSecondInterfaceOpen(); } public static void trade(String name, HashMap<String, Integer> itemSet, boolean acceptLast) { String cleanName = name.replaceAll(" ", "\\u00a0"); Player player = s.getScript().getPlayers().closest(cleanName); if (player != null && !isTrading() && player.interact("trade with")) { new ConditionalSleep(3000, 4000) { @Override public boolean condition() { return isTrading(); } }.sleep(); } if (isTrading() && s.getTrade().isFirstInterfaceOpen()) { if (!tradeOfferMatches(itemSet)) { for (String item : itemSet.keySet()) { if (!s.getTrade().getOurOffers().contains(item)) { if (s.getTrade().offer(item, itemSet.get(item))) { new ConditionalSleep(2000, 3000) { @Override public boolean condition() { return s.getTrade().getOurOffers().contains(item); } }.sleep(); } } } } else { if (acceptLast && s.getTrade().didOtherAcceptTrade()) { if (Widgets.interactTil("Accept", 335, 11, new ConditionalSleep(1500, 2000) { @Override public boolean condition() { return s.getTrade().isSecondInterfaceOpen(); } })) { new ConditionalSleep(3000, 4000) { @Override public boolean condition() { return s.getTrade().isSecondInterfaceOpen(); } }.sleep(); } } else if (!acceptLast && !hasAccepted()) { if (Widgets.interactTil("Accept", 335, 11, new ConditionalSleep(1500, 2000) { @Override public boolean condition() { return hasAccepted(); } })) { new ConditionalSleep(3000, 4000) { @Override public boolean condition() { return s.getTrade().isSecondInterfaceOpen(); } }.sleep(); } } } } else if (isTrading() && s.getTrade().isSecondInterfaceOpen()) { if (acceptLast && s.getTrade().didOtherAcceptTrade()) { if (Widgets.interactTil("Accept", 334, 25, new ConditionalSleep(1500, 2000) { @Override public boolean condition() { return !isTrading(); } })) { new ConditionalSleep(3000, 4000) { @Override public boolean condition() { return s.getTrade().isSecondInterfaceOpen(); } }.sleep(); } } else if (!acceptLast && !hasAccepted()) { if (Widgets.interactTil("Accept", 334, 25, new ConditionalSleep(1500, 2000) { @Override public boolean condition() { return !isTrading(); } })) { new ConditionalSleep(3000, 4000) { @Override public boolean condition() { return s.getTrade().isSecondInterfaceOpen(); } }.sleep(); } } } } private static boolean hasAccepted() { return Widgets.containsText(335, 30, "Waiting for other player...") || Widgets.containsText(334, 4, "Waiting for other player..."); } private static boolean tradeOfferMatches(HashMap<String, Integer> itemSet) { for (String item : itemSet.keySet()) { if (isTrading() && s.getTrade().getOurOffers().getItem(item) == null) { s.log("Trade Offer Missing: " + item); return false; } } return true; } } Note: you can make it non static / abstract just remove the s.* thats just how my api is. Usage: HashMap<String, Integer> itemMap = new HashMap<String, Item>(); itemMap.put("Shark", 12); itemMap.put("Coins", 42069); private int onLoop(){ if(shouldTrade()) trade("Zezima", itemMap, false); //trades zezima the itemMap and doesnt wait for them to accept. return 250; }
  15. I've been living a lie my while life ......
  16. Gratz on getting shitpost.
  17. :dab: in the chatbox pls.
  18. Maybe check if the tile is onScreen that the item is sitting at.
  19. if you wanted to see if anything was at the patch, but either way it looks like your out of luck.
  20. unless you store the data and have a task that runs to all patches and stores the data and then tell the user to only farm using your script so that the data is still valid and they only need to check all patches the first time they run.
  21. I know the skill ids by memory but he skyped me asking about skill ids, this is actually taken from my HeyLookJagex server class for adding skill linked items to the tracker. I just posted it so he would have the real skill ids and not the ones osbot uses which are different from the in game ones.
  22. Coming thru with the DANKS:
  23. Draw #3: 6, 23, 14, 49, 38, 21 ------------------------------------------- Extra Sauce: 19, 44, 39, 12, 7, 2
  24. yum

    LoudPacks replied to Maldesto's topic in Spam/Off Topic
    Yes they sell them at the gas station near my house, super dank

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.