Jump 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.

Bank Closest To Entity

Featured Replies


Area currentBank = closestTo(myPlayer());


private enum Bank {

DRAYNOR(Banks.DRAYNOR),

AL_KHARID(Banks.AL_KHARID),

LUMBRIDGE(Banks.LUMBRIDGE_UPPER),

FALADOR_EAST(Banks.FALADOR_EAST),

FALADOR_WEST(Banks.FALADOR_WEST),

VARROCK_EAST(Banks.FALADOR_EAST),

VARROCK_WEST(Banks.VARROCK_WEST),

SEERS(Banks.CAMELOT),

CATHERBY(Banks.CATHERBY),

EDGEVILLE(Banks.EDGEVILLE),

YANILLE(Banks.YANILLE),

GNOME_STRONGHOLD(Banks.GNOME_STRONGHOLD),

ARDOUNGE_NORTH(Banks.ARDOUGNE_NORTH),

ARDOUNE_SOUTH(Banks.ARDOUGNE_SOUTH),

CASTLE_WARS(Banks.CASTLE_WARS),

DUEL_ARENA(Banks.DUEL_ARENA),

PEST_CONTROL(Banks.PEST_CONTROL),

CANIFIS(Banks.CANIFIS),

BLAST_FURNACE(new Area(1949, 4956, 1947, 4958)),

TZHAAR(Banks.TZHAAR);

private final Area area;

Bank(Area area) {

this.area = area;

}

}

public static Area closestTo(Entity e) {

HashMap<Bank, Integer> distMap = new HashMap<Bank, Integer>();

for (Bank b : Bank.values()) {

distMap.put(b, e.getPosition().distance(b.area.getRandomPosition()));

}

HashMap<Integer, Bank> distMapSorted = sortByDistance(distMap);

Area cBank = distMapSorted.values().toArray(new Bank[Bank.values().length])[0].area;

return cBank;

}

private static <K, V extends Comparable<? super V>> HashMap<V, K> sortByDistance(Map<K, V> map) {

HashMap<V, K> result = new LinkedHashMap<>();

Stream<Map.Entry<K, V>> st = map.entrySet().stream();

st.sorted(Map.Entry.comparingByValue()).forEachOrdered(e -> result.put(e.getValue(), e.getKey()));

return result;

}

Edited by LoudPacks

Just to add a point, Gnome stronghold bank has an incorrect area plane, so just watch out for that smile.png

 

Incorrect, the plane is set to "1".

Incorrect, the plane is set to "1".

 

When tryign to walk with webwalkevent it doesn't climb the stairs, assumed teh plane was still at 0.

thats not adding a point, wouldnt that be changing a point doge.png

 

I meant adding a point to the overall spectrum, not to the post :boge:

Incorrect, the plane is set to "1".

 

When tryign to walk with webwalkevent it doesn't climb the stairs, assumed teh plane was still at 0.

 

I meant adding a point to the overall spectrum, not to the post boge.png

Im almost 100% positive it does work. Ive been using my slayer today and it worked when I had it bank there.

Edited by AresScripts

Im almost 100% positive it does work. Ive been using my slayer today and it worked when I had it bank there.

 

This was a couple versions ago not sure about now, could be :P

  • 3 months later...
  • 1 year later...
On 6/19/2016 at 5:56 PM, LoudPacks said:

VARROCK_EAST(Banks.FALADOR_EAST),

Referring to OP's work it looks like VARROCK_EAST is assigned to FALADOR_EAST instead of VARROCK_EAST. Just a heads up

 

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

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.