Jump to content

Leaderboard

  1. pepsip77

    pepsip77

    Script Writer


    • Points

      3

    • Content count

      113


  2. Neo

    Neo

    Administrators


    • Points

      2

    • Content count

      707


  3. Kumalo

    Kumalo

    Moderators


    • Points

      2

    • Content count

      193


  4. xBear

    xBear

    Members


    • Points

      2

    • Content count

      40



Popular Content

Showing most liked content since 05/24/2018 in all areas

  1. 2 points
    Wanted to Share something that I took from TriBot, and then ported to here. Inventory Listener watches everything that comes in and out of the Inventory. This is useful for tracking how many Logs Cut or Ores Mined and whatever else you need. 1. Interfaces Needed (Condition and InventoryListener). Condition.java : @FunctionalInterface public interface Condition { /** * Tracks if the Condition is active or not * @return boolean of whether its active or not */ boolean active(); } InventoryListener.java : public interface InventoryListener { /** * When a new item comes into the Inventory, this is invoked. * @param item ID of item gained * @param count amount of item gained */ void inventoryItemGained(int item, int count); /** * When a new item goes out of the Inventory, this is invoked. * @param item ID of item lost * @param count amount of item lost */ void inventoryItemLost(int item, int count); } InventoryObserver.java : import xobot.script.methods.tabs.Inventory; import xobot.script.util.Time; import xobot.script.wrappers.interactive.Item; import java.util.ArrayList; import java.util.HashMap; /** * Watches the inventory (for items coming in and going out) * Threaded, so it doesnt hog resources */ public class InventoryObserver extends Thread { private ArrayList<InventoryListener> listeners; private Condition condition; public InventoryObserver(Condition condition) { this.listeners = new ArrayList<>(); this.condition = condition; } /** * Main Logic */ @Override public void run() { //Item, Amount HashMap<Integer, Integer> map = inventoryHashMap(); while (true) { Time.sleep(100); if (!condition.active()) { map = inventoryHashMap(); continue; } HashMap<Integer, Integer> updatedMap = inventoryHashMap(); for (int item : updatedMap.keySet()) { int countInitial = map.getOrDefault(item, 0), countFinal = updatedMap.get(item); if (countFinal > countInitial) { addTrigger(item, countFinal - countInitial); } else if (countFinal < countInitial) { subtractedTrigger(item, countInitial - countFinal); } map.remove(item); } for (Integer i : map.keySet()) if (!updatedMap.containsKey(i)) subtractedTrigger(i, map.get(i)); map = updatedMap; } } /** * Create new hashmap of current Inventory * @return the inventoryHashMap */ private HashMap<Integer, Integer> inventoryHashMap() { HashMap<Integer, Integer> map = new HashMap<>(); for (Item item : Inventory.getItems()) { map.put(item.getID(), item.getStack()); } return map; } /** * Adds listener to the list * @param inventoryListener listener to add */ public void addListener(InventoryListener inventoryListener) { this.listeners.add(inventoryListener); } /** * Trigger invoked when an item is added to the inventory, procs all listeners * @param item ID of item that came in * @param amount amount of item that came in */ private void addTrigger(int item, int amount) { for (InventoryListener l : listeners) l.inventoryItemGained(item, amount); } /** * Trigger invoked when an item left the inventory, procs all listeners * @param item ID of item that left * @param amount amount of item that left */ private void subtractedTrigger(int item, int amount) { for (InventoryListener l : listeners) l.inventoryItemLost(item, amount); } } That was the Needed Code to implement. Here is a basic implementation of how it can be used: import xobot.script.ActiveScript; import xobot.script.methods.Bank; public class DragonLooter extends ActiveScript implements InventoryListener{ private InventoryObserver inventoryObserver; private int goldFoundOnFloor; @Override public boolean onStart() { //Don't watch what goes into Inventory when Bank is open inventoryObserver = new InventoryObserver(() -> !Bank.isOpen()); inventoryObserver.addListener(this); inventoryObserver.start(); goldFoundOnFloor = 0; return true; } @Override public int loop() { return 0; } @Override public void onStop() { super.onStop(); //Stop the Thread inventoryObserver.interrupt(); } @Override public void inventoryItemGained(int item, int count) { if (item == 995) {// ID of GP goldFoundOnFloor += count; System.out.printf("Just Found %d coins on the floor\n", count); } } //Use the same idea as above @Override public void inventoryItemLost(int item, int count) { } } Hope it helps someone, Thanks! - Dragon
  2. 1 point
    Great script just did it for like 5 hours with 8 accs while watching movie made me like 4-5b lmao
  3. 1 point
    Yeah, guess which xobot.jar I added. I had the API and client mixed up haha.
  4. 1 point
  5. 1 point
    Did u forget to include api .jar? you can find them in "Documents\XoBot\APIs". If you're writing script for SoulPlay then you'll need "317.jar"
  6. 1 point
    actually, i'm planing on releasing it
  7. 1 point
    Yes, you can save and load profiles on the GUI
  8. 1 point
    Script Feature: Kills portals Joins the boat again when game is over Getting started Start in the boat or near it (on the bridge) with your gear on
  9. 1 point
    Once i turn it on it takes coal from bank and the script just shuts down, by the way to make steel bars don't you need iron aswell?
  10. 1 point
  11. 1 point
    Soulplay Fixed crashing problem (at least one of them?) Wall objects & ground decorations ids fixed Ground item stack added Mouse API menu removed Disable render mode added (Less cpu usage) Disable canvas mode added (Even less cpu usage) Alora Bank deposit fixed for mouse API Teleports class fixed for mouse API (Teleports.teleport("falador"); - talks to npc/selects tab/scrolls automatically) Mouse speed is a lot faster now Some missing interactable object models added (e.g altars, gates) Some other stuff Client changes Http connections updated Client FPS changed to 50 (no more slow motion) Max error logs set to 5 Other stuff Download 2.72 client here Report a bug here Suggest a suggestion here
  12. 1 point
    this is my class (only city's) package functions; import xobot.script.methods.Packets; import xobot.script.util.Time; public class teleport{ public void Edgeville() { Packets.sendAction(315, 0, 0, 25654, 0, 0); } public void GrandExchange() { Packets.sendAction(315, 0, 0, 25658, 0, 0); } public void Lumbridge() { Packets.sendAction(315, 0, 0, 25662, 0, 0); } public void Varrock() { Packets.sendAction(315, 0, 0, 25666, 0, 0); } public void Camelot() { Packets.sendAction(315, 0, 0, 25670, 0, 0); } public void Falador() { Packets.sendAction(315, 0, 0, 25674, 0); } public void Ardougne() { Packets.sendAction(315, 0, 0, 25678, 0, 0); } public void Draynor() { Packets.sendAction(315, 0, 0, 25682, 0, 0); } public void Neitiznot() { Packets.sendAction(315, 0, 0, 25686, 0); } public void ShiloVillage() { Packets.sendAction(315, 0, 0, 25690, 0); } public void Karamja() { Packets.sendAction(315, 0, 0, 25694, 0); } public void Yanille() { Packets.sendAction(315, 0, 0, 25698, 0); } public void LunarIsle() { Packets.sendAction(315, 0, 0, 25702, 0); } public void TaiBwoWannai() { Packets.sendAction(315, 0, 0, 25706, 0); } public void Keldagrim() { Packets.sendAction(315, 0, 0, 25710, 0); } }
  13. 1 point
    soulplay won't load if you are loading it with opengl enabled. it really helps if you run it from a terminal and post the error log
  14. 1 point
    This is a very complex script and many many man-hours have been spent on it and it's been a long time coming. I believe it should be VIP only as well. If you want to keep the script writers in business, do not expect to receive awesome scripts without contributing.
  15. 1 point
    Some RuneX bots would be tits
  16. 0 points
    Like i said this is in your opinion. Regardless of the website, whether the stats were botted or not, it will be sold. If you were stating facts, that'd be a different story. Also considering you can not bot dungeoneering or construction, it'd be worth paying $40 for a 400 hour boost, including every chaotic in the shop, donator perks, etc. Considering someone could easily purchase my account, level up a couple skills, prestige to p3 and resell it for $100 for little to no work. Could easily get $3 or $4 a bill.
  17. 0 points
    that's in his opinion, go check out his post history, it's a pretty good joke imo
  18. 0 points
  19. 0 points
    I have a SoulplayPS account, it is prestige 2. PM me for details. The least i'm wanting is $40 Paypal, but the price is negotiable. Main things: -Prestige 2 -Close to P3 -Decent amount donated (around $100) -Chaotic maul, longsword, rapier, crossbow, +MORE -Tokhaar, slay helm, b gloves Regarding the trade, we can use a middleman, or we can do it ourselves, i have a sythe.org middleman lined up and ready
  20. 0 points
    my first account got banned
×