Jump to content
Frequently Asked Questions
  • Are you not able to open the client? Try following our getting started guide
  • Still not working? Try downloading and running JarFix
  • Help! My bot doesn't do anything! Enable fresh start in client settings and restart the client
  • How to purchase with PayPal/OSRS/Crypto gold? You can purchase vouchers from other users
  • eziscape

    Members
    • Posts

      12
    • Joined

    • Last visited

    • Days Won

      1

    eziscape last won the day on January 11

    eziscape had the most liked content!

    Recent Profile Visitors

    The recent visitors block is disabled and is not being shown to other users.

    eziscape's Achievements

    1. Honestly surprised there isnt a script on the SDN, might look into a project soon once I'm finished with my current one
    2. I was not lol Guess I gotta look closer next time
    3. Looking quickly at the documentation, forum and dreambot discord I couldnt find any concrete info / guides to this, so posting hopefully to de-mystify the topic for whoever is curious going onwards. Dreambot already makes doing this very easy, heres a sample function for example: public int[] getOpponentEquipment(String oppnentIgn) { Player opponent = Players.closest(oppnentIgn); if (opponent != null) { return opponent.getComposite().getAppearance(); } return null; } However, the array that is returned is populated with item id's that arent necessarily accurate, not sure why this is exactly. But if you substract a known items id from all the returned values you can quickly find the offset value of which you need to get the real item id. While having a DDS(p++) equipped these values are returned: I then substracted the known item id of the dds from each entry. int[] equiment = getOpponentEquipment(Players.getLocal().getName()); for (int i = 0; i < equiment.length; i++) { Logger.log(equiment[i] - 5698); } I then tested each entry as an offset using the method above, however one of the entries stuck out to me: 2048 int[] equiment = getOpponentEquipment(Players.getLocal().getName()); for (int i = 0; i < equiment.length; i++) { Logger.log(equiment[i] - 2048); } With the new offset substracted from each entry, i now get an array with the correct Item ID's. And the order seems to be the following: Index[0] = Helmet slot Index[1] = Cape slot Index[2] = Amulet slot Index[3] = Weapon Slot Index[4] = Chestplate Slot Index[5] = Shield slot Index[6] = Unknown Index[7] = Legs slot Index[8] = Unknown Index[9] = Gloves slot Index[10] = Boots slot Index[11] = Unknown Hope this helps
    4. What kind of script are you looking for?
    5. Props to the other tutorial on here that lead me on to the right track, thought i'd just share my experiences and illustrate the solution i arrived at while making my private nagua killing script incase anybody would like a different guide to read. Open to suggestions on how to do this better, this is just the way I solved my own issue. While developing and connecting nodes etc, I found it useful to have these options enabled as the web-nodes you add will be visible on the minimap. In this specific post i am simply transitioning between these two areas; First off I structure the node-adding part to its own package for cleanliness, heres the full class file for this example: package webnodes; import org.dreambot.api.methods.walking.pathfinding.impl.web.WebFinder; import org.dreambot.api.methods.walking.web.node.AbstractWebNode; import org.dreambot.api.methods.walking.web.node.impl.BasicWebNode; import org.dreambot.api.methods.walking.web.node.impl.EntranceWebNode; public class Moons { public static void PrisonToCavernNodes(WebFinder webFinder) { // Door objects EntranceWebNode PrisonCavernDoor = new EntranceWebNode(1345, 9590, 0); EntranceWebNode CavernPrisonDoor = new EntranceWebNode(1373, 9664, 0); PrisonCavernDoor.setEntityName("Entrance"); PrisonCavernDoor.setAction("Pass-through"); CavernPrisonDoor.setEntityName("Entrance"); CavernPrisonDoor.setAction("Pass-through"); // Prison nodes AbstractWebNode prison_1 = new BasicWebNode(1347,9590,0); AbstractWebNode prison_2 = new BasicWebNode(1360,9590,0); AbstractWebNode prison_3 = new BasicWebNode(1368,9590,0); AbstractWebNode prison_4 = new BasicWebNode(1376,9590,0); AbstractWebNode prison_5 = new BasicWebNode(1376,9581,0); AbstractWebNode prison_6 = new BasicWebNode(1366,9581,0); AbstractWebNode prison_7 = new BasicWebNode(1356,9576,0); AbstractWebNode prison_8 = new BasicWebNode(1356,9562,0); AbstractWebNode prison_9 = new BasicWebNode(1356,9552,0); // Connect prison nodes prison_1.addDualConnections(prison_2); prison_2.addDualConnections(prison_1, prison_3); prison_3.addDualConnections(prison_2, prison_4); prison_4.addDualConnections(prison_3, prison_5); prison_5.addDualConnections(prison_4, prison_6); prison_6.addDualConnections(prison_5, prison_7); prison_7.addDualConnections(prison_6, prison_8); prison_8.addDualConnections(prison_7, prison_9); // Cavern nodes AbstractWebNode cavern_1 = new BasicWebNode(1374,9667,0); AbstractWebNode cavern_2 = new BasicWebNode(1379,9682,0); AbstractWebNode cavern_3 = new BasicWebNode(1391,9681,0); AbstractWebNode cavern_4 = new BasicWebNode(1396,9689,0); AbstractWebNode cavern_5 = new BasicWebNode(1396,9699,0); AbstractWebNode cavern_6 = new BasicWebNode(1390,9705,0); AbstractWebNode cavern_7 = new BasicWebNode(1378,9710,0); // Connect cavern nodes cavern_1.addDualConnections(cavern_2); cavern_2.addDualConnections(cavern_1, cavern_3); cavern_3.addDualConnections(cavern_2, cavern_4); cavern_4.addDualConnections(cavern_3, cavern_5); cavern_5.addDualConnections(cavern_4, cavern_6); cavern_6.addDualConnections(cavern_5, cavern_7); cavern_7.addDualConnections(cavern_6); // Connect entrances with nodes PrisonCavernDoor.addIncomingConnections(prison_1); PrisonCavernDoor.addOutgoingConnections(cavern_1); CavernPrisonDoor.addIncomingConnections(cavern_1); CavernPrisonDoor.addOutgoingConnections(prison_1); AbstractWebNode[] prisonTiles = { prison_1, // Tile next to the prison entrance that leads to cavern prison_2, prison_3, prison_4, prison_5, prison_6, prison_7, prison_8, prison_9 }; AbstractWebNode[] cavernTiles = { cavern_1, // Tile next to the cavern entrance that leads to prison cavern_2, cavern_3, cavern_4, cavern_5, cavern_6, cavern_7 }; // Add path tiles webFinder.addWebNodes(prisonTiles); webFinder.addWebNodes(cavernTiles); // Add entrance objects webFinder.addWebNodes(PrisonCavernDoor, CavernPrisonDoor); } } Define the entrance objects by using the Entity Hover Tool found in the Entities tab on the dreambot client. Set the correct name and right click option that the walker should use when interacting with the object. // Door objects EntranceWebNode PrisonCavernDoor = new EntranceWebNode(1345, 9590, 0); EntranceWebNode CavernPrisonDoor = new EntranceWebNode(1373, 9664, 0); PrisonCavernDoor.setEntityName("Entrance"); PrisonCavernDoor.setAction("Pass-through"); CavernPrisonDoor.setEntityName("Entrance"); CavernPrisonDoor.setAction("Pass-through"); Define the different nodes for pathing in both areas and connect them with eachother for both areas separately. // Prison nodes AbstractWebNode prison_1 = new BasicWebNode(1347,9590,0); AbstractWebNode prison_2 = new BasicWebNode(1360,9590,0); AbstractWebNode prison_3 = new BasicWebNode(1368,9590,0); AbstractWebNode prison_4 = new BasicWebNode(1376,9590,0); AbstractWebNode prison_5 = new BasicWebNode(1376,9581,0); AbstractWebNode prison_6 = new BasicWebNode(1366,9581,0); AbstractWebNode prison_7 = new BasicWebNode(1356,9576,0); AbstractWebNode prison_8 = new BasicWebNode(1356,9562,0); AbstractWebNode prison_9 = new BasicWebNode(1356,9552,0); // Connect prison nodes prison_1.addDualConnections(prison_2); prison_2.addDualConnections(prison_1, prison_3); prison_3.addDualConnections(prison_2, prison_4); prison_4.addDualConnections(prison_3, prison_5); prison_5.addDualConnections(prison_4, prison_6); prison_6.addDualConnections(prison_5, prison_7); prison_7.addDualConnections(prison_6, prison_8); prison_8.addDualConnections(prison_7, prison_9); // Cavern nodes AbstractWebNode cavern_1 = new BasicWebNode(1374,9667,0); AbstractWebNode cavern_2 = new BasicWebNode(1379,9682,0); AbstractWebNode cavern_3 = new BasicWebNode(1391,9681,0); AbstractWebNode cavern_4 = new BasicWebNode(1396,9689,0); AbstractWebNode cavern_5 = new BasicWebNode(1396,9699,0); AbstractWebNode cavern_6 = new BasicWebNode(1390,9705,0); AbstractWebNode cavern_7 = new BasicWebNode(1378,9710,0); // Connect cavern nodes cavern_1.addDualConnections(cavern_2); cavern_2.addDualConnections(cavern_1, cavern_3); cavern_3.addDualConnections(cavern_2, cavern_4); cavern_4.addDualConnections(cavern_3, cavern_5); cavern_5.addDualConnections(cavern_4, cavern_6); cavern_6.addDualConnections(cavern_5, cavern_7); cavern_7.addDualConnections(cavern_6); Connect the entrance objects with the apropriate nodes both ways. // Connect entrances with nodes PrisonCavernDoor.addIncomingConnections(prison_1); PrisonCavernDoor.addOutgoingConnections(cavern_1); CavernPrisonDoor.addIncomingConnections(cavern_1); CavernPrisonDoor.addOutgoingConnections(prison_1); Finally add the webnodes to the webfinder: AbstractWebNode[] prisonTiles = { prison_1, // Tile next to the prison entrance that leads to cavern prison_2, prison_3, prison_4, prison_5, prison_6, prison_7, prison_8, prison_9 }; AbstractWebNode[] cavernTiles = { cavern_1, // Tile next to the cavern entrance that leads to prison cavern_2, cavern_3, cavern_4, cavern_5, cavern_6, cavern_7 }; // Add path tiles webFinder.addWebNodes(prisonTiles); webFinder.addWebNodes(cavernTiles); // Add entrance objects webFinder.addWebNodes(PrisonCavernDoor, CavernPrisonDoor); In your main class: import webnodes.Moons; @Override public void onStart() { Moons.PrisonToCavernNodes(WebFinder.getWebFinder()); } Hope this helps expedite whoever is trying to achieve a similar thing.
    6. Going to chime in and say you most likely just got unlucky and it doesnt go beyond that. If everyone got insta-banned using his bot it wouldnt be as popular as it is, nor would it likely be up for sale still. Purely anecdotal, but I did run the trial period (4 hrs) i believe on a fresh account, straight from tutorial island and didnt experience a ban. The very same account is now over 750 ttl going strong using other scripts so I dont think running his bot earmarked the account either. You should just bite the bullet on this one and be cautious of new accounts in terms of quality of proxy / vpn, get your ISP to change IP. Run new bots purely in their own containers/vm's dedicated to botting etc.
    7. So i came across a very popular video on youtube outlining an unusual way to make GP. Decided it would be a nice opportunity to break into the treescript framework so it was mostly for learning, the rates are pretty decent as each item crafted sells for a range inbetween 5-10k per finished item. Only need a little starting GP for buying buckets, otherwise no requirements except for starting Merlins Crystal and reaching the stage where you need a black candle. If you havent guessed it already, the bot will collect buckets of wax from the catherby beehive area. Then exchanges them with the clerk in the candleshop for black candles. It then walks to the bank and combines empty candle lanterns with the black candle, which gives you the finished product. Testing it I can safely achieve around 500-600 crafted lanterns hourly. Assuming i sell each one for for 5000-6000 which seems to be the going rate I potentially make around 3m gp an hour. The market volume is pretty low so it takes a while selling, but the demand seems to be there. Just for fun of course, but it also does seems like a good way to make a starter pile on new accounts. Obviously the method isnt very secret as SoupRS showcases it in a recent money making video, but just did it fun and probably wont release the project due to the low market cap and not wanting to entirely ruin some peoples bulk collections.
    8. I recently was in dealings with a user regarding a private script, after the buyer got banned he created a dispute on here and left me negative feedback labeling me as a scammer regardless of delivering what was agreed upon. Details are outlined in the original dispute without much clarity from the buyer regarding proof, I've shared the source with @Prime and streamed myself over discord running it to prove the functionality matched the expectations of the dealings. The buyer is clearly angry because of the fact that he ended up being banned on several accounts he cares about, no measures were taken such as running it on burner accounts / proxies etc.. despite the fact of it being a literal ragbot that was running over-night on several occasions with 50+ names on the "hit list", probably getting mass reported. I'd like for the feedback to be removed as it does not accurately outline the outcome of the deal, nor the real nature of the situation. Let me know if you need additional details on top of the already existing dispute that has been closed and concluded.
    9. Just to be crystal clear, there was never a final handover until we seized contact because the user became unwilling to test and give feedback. The final .jar and source file is considered to meet the requirements (and more) and ive tested it extensively. I invite you (Prime) to verify he is proving it with the compiled version of the source i shared with you, as it is the exact same source and compile i shared with the user at the end of our contact (before this dispute was created). Screenshots to prove dialogue, and a/b testing. I simply want to make sure he doesnt grab an earlier iteration that was just used for testing earlier on in the project because I can tell he is lying and attaching prior issues we were ironing out during development to the final product just to get his money back at this point. If you need anything more from me you know how to reach me for more information.
    10. 1) The script does work https://streamable.com/zxzpym 2) The mods can literally check the DM's on this website, they can see that i sent you a link with the download the latest compile and the source code so i dont know why you're lying about not receiving the source. 3) The goal post changed upon every delivery resulting in unexpected breakages, however you were clearly happy with my output since you paid me more during development for extra functionality. Due to it being a rag-bot im dependant on you (the customer) testing it. This was agreed upon and you knew the implications and risk of running a bot that is prone to being spam-reported. 4) I refunded you 200m regardless of me not being responsible for bad op-sec, if you used proxies and didnt link all your accounts to one IP/Launcher you probably wouldnt be chain banned. I also offered a re-write, but you became less willing to test it going forwards which left me no choice Screenshots below outlines the original request, so does a forum post the user posted on here (on an alt, and this account) which requests something very simple. Upon delivery you asked for more and more adjustability (delays) spec-dumping, a 3 grid movement system with different logic tied to each zone and anti-luring mechanics. https://imgur.com/a/hqVoI7N I do not contest that there were bugs, but you were fully willing to cooperate with me in ironing them out which I did over several calls that lasted several hours. I havent been banned while using it during the entire development process, which leads me to believe you got banned because of reports. You told me yourself you were running it over night with 50+ names in the list, so it does not surprise me... If you (Prime) want to see the source to prove my video at the start is legitimate i'm happy to share. The product in its last state works exactly as the request was described with a feature set like auto spec dumping, anti luring mechanics etc.
    11. For anybody wondering, browsing the forum i found the following thread which answers my questions regarding ingame widgets.
    12. Hi all, I'm fairly new to scripting with java. I was wondering if theres a simple way to identify if a game menu is open (Spirit Tree, Minecart travel) etc. Couldnt find anything but a similar check for the bank (isOpen) module. Thanks in advance!
    ×
    ×
    • Create New...

    Important Information

    We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.