The client is offline due to RuneScape update. You may see instance errors but this is due to the update and not actual instance errors. This should be resolved soon. Join our Discord for more information.

Fancy dropping



  • Tired of the normal drop methods? Want some zig zag in your life?

    Don't forget to ask your doctor about ZIG ZAG

        private int[] dropOrder() {
            int[] drop1 = new int[]{0, 4, 8, 12, 16, 20, 24, 25, 21, 17, 13, 9, 5, 1, 2, 6, 10, 14, 18, 22, 26, 27, 23, 19, 15, 11, 7, 3};//pipe her up down 
            int[] drop2 = new int[]{0, 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21, 24, 25, 26, 27, 22, 23, 18, 19, 14, 15, 10, 11, 6, 7, 2, 3};//pencil ziggy
            int[] drop3 = new int[]{0, 1, 2, 3, 7, 6, 5, 4, 8, 9, 10, 11, 15, 14, 13, 12, 16, 17, 18, 19, 23, 22, 21, 20, 24, 25, 26, 27};//get long ziggy
    
            switch (random(1, 3)) { //also ask ur doctor about sporks
                case 1:
                    Log.info("Drop 1");
                    return drop1;
                case 2:
                    Log.info("Drop 2");
                    return drop2;
                case 3:
                    Log.info("Drop 3");
                    return drop3;
            }
            return dropOrder();
        }
    

    Example usage:

    int[] indexes = dropOrder();
    for (int index : indexes) {
        Item fish = Inventory.getItemAt(index);
        if (fish != null && fish.getName().startsWith("Leaping")) {
            fish.interact("Drop");
            Time.sleep(100);
        }
    }
    


  • Thank you for this. It helped me figure out how to work my way.

    Here's another method for anyone else interested in dropping items from inventory:

    /**
     * Will drop "Roe" / "Caviar" junk items that were added to inventory while cutting fishes
     */
    private void doDropping() {
    
            //My preferred dropping method: columns 1-2 top to bottom and then columns 3-4 bottom to top.
            //Drop inventory columns 1-2 if contains junk
            int[] dropCols_1_2 = new int[]{5, 6, 9, 10, 13, 14, 17, 18, 21, 22, 25, 26};
            for (int slot : dropCols_1_2) {
                Item thisSlot = Inventory.getItemAt(slot - 1); //RSPeer's Inventory index is 0 based so offset -1
                if (thisSlot != null && (thisSlot.getName().contains("Roe") || thisSlot.getName().contains("Caviar"))) {
                    thisSlot.interact("Drop");
                    Time.sleep(Random.low(193,283));
                }
            }
            //Drop inventory columns 3-4 if contains junk
            int[] dropCols_3_4 = new int[]{27, 28, 23, 24, 19, 20, 15, 16, 11, 12, 7, 8, 3, 4};
            for (int slot : dropCols_3_4) {
                Item thisSlot = Inventory.getItemAt(slot - 1); //RSPeer's Inventory index is 0 based so offset -1
                if (thisSlot != null && (thisSlot.getName().contains("Roe") || thisSlot.getName().contains("Caviar"))) {
                    thisSlot.interact("Drop");
                    Time.sleep(Random.low(193,283));
                }
            }
    
            //Classical dropping method : from smallest to highest index (1, 2, ... , 27, 28)
            /*Item[] listInventory = Inventory.getItems();
            for(Item thisItem : listInventory) {
                if (thisItem.getName().contains("Roe") || thisItem.getName().contains("Caviar")) {
                    thisItem.interact("Drop");
                    Time.sleep(Random.low(193,283));
                }
            }*/
    }
    

  • Script Writer

    @1234567Alex Decided to have fun with this. Drops them in the same order as yours 😜

        private List<String> itemsToDrop = Arrays.asList("Roe", "Caviar");
    
        private void doDropping() {
            for (int i = 0; i < 28; i++) {
                int index = i;
                int shift = index % 2 == 0 ? 0 : 1;
                if (i >= 14) {
                    shift += 2;
                    index = 27 - i;
                }
                Item item = Inventory.getItemAt(index / 2 * 4 + shift);
                if (item != null && itemsToDrop.stream().anyMatch(s -> item.getName().contains(s))) {
                    item.interact("Drop");
                    Time.sleep(Random.low(193,283));
                }
            }
        }
    


  • @2baad4u2 very nice thank you for sharing a more elaborate way to do it 😄


 

53
Online

16.6k
Users

1.4k
Topics

19.2k
Posts