Gonna consolidate all of the useful snippets i find or am shown by other users here, so i don't have to mess up my bookmarks.
Timer Code:
NPC Filtering:
Timer Code #2: http://pastebin.com/W1xcJDwc
Lvl 2 Enchant Ring @ Falador East Bank: (wrote this and decided not to use it )
RS2Widget enchant = getWidgets().get(218, 17);
Item emeraldRing = getInventory().getItem("Emerald ring");
if(!faladorEastBank.contains(myPlayer())) {
status = "Walking to falador east bank.";
getWalking().webWalk(faladorEastBank);
}
if(!getEquipment().isWearingItem(EquipmentSlot.WEAPON, "Staff of air")) {
if(!inventory.contains("Staff of air")) {
if(!bank.isOpen()) {
status = "Opening bank.";
getBank().open();
Constants.condSleep(10000, 300, () -> bank.isOpen());
}
status = "Withdrawing staff of air.";
bank.withdraw("Staff of air", 1);
Constants.condSleep(10000, 300, () -> inventory.contains("Staff of air"));
}
getEquipment().equip(EquipmentSlot.WEAPON,"Staff of air");
status = "Equiping Staff of air.";
Constants.condSleep(10000, 300, () -> getEquipment().isWearingItem(EquipmentSlot.WEAPON, "Staff of air"));
}
if(!getInventory().contains("Emerald ring") || !getInventory().contains("Cosmic rune")) {
if(!bank.isOpen()) {
status = "Opening bank.";
getBank().open();
Constants.condSleep(10000, 300, () -> bank.isOpen());
}
status = "Depositing inventory.";
getBank().depositAllExcept("Emerald ring", "Cosmic rune");
Constants.condSleep(10000, 300, () -> inventory.onlyContains("Cosmic rune"));
status = "Withdrawing cosmics/emerald rings.";
bank.withdrawAll("Cosmic rune");
bank.withdrawAll("Emerald ring");
Constants.condSleep(10000, 300, () -> inventory.contains("Emerald ring", "Cosmic rune"));
}
if(inventory.contains("Emerald ring", "Cosmic rune")) {
if(bank.isOpen()) {
status = "Closing bank.";
bank.close();
}
if(!getTabs().open(Tab.MAGIC)) {
status = "Opening Magic tab.";
getTabs().open(Tab.MAGIC);
}
if(enchant != null && enchant.isVisible()) {
enchant.interact();
status = "Clicking enchant.";
if(getTabs().open(Tab.INVENTORY)) {
if(emeraldRing != null) {
status = "Clicking emerald ring.";
emeraldRing.interact();
}
Constants.condSleep(10000, 300, () -> getTabs().open(Tab.MAGIC));
}
}
}
Players are nearby:
public boolean imAlone() {
Area area = alchSpot;//create your own area
int amount = 0;
for (Player player: players.getAll()) {
if (player != null && !player.getName().equalsIgnoreCase(myPlayer().getName())){
if (area.contains(player)) {
amount++;
}
}
}
return amount == 0;
}