Jump to content
  • Create New...

All Activity

This stream auto-updates

  1. Past hour
  2. Today
  3. Wintertodt doesn't seem to be working atm 😞 Doesnt do anything for me on mobile btw Edit: Reopening app fixed it nm! Good script bro
  4. Yesterday
  5. Last week
  6. Hello Powbot users. This guide is meant for people who have already installed the bot and have basic knowledge on how to use it. (please note: Bluestacks is optional and not a requirement. and might not work the same as on ldplayer) If you haven't installed Powbot yet I recommend you to follow my other guide here: Step 1. Downloading and installing Bluestacks 5 First off we need to install bluestacks. you can download Bluestacks from the official website: here Going trough the installation process is straightforward. Step 2. Creating Bluestacks instances: once you have installed Bluestacks open the multi instance manager. one in the multi instance manager you want to create your first instance and configure it we will clone it later for more instances. Select new instance to make a new instance: Then select fresh instance: As your android version you want to select the latest 64 bit option: For the settings please copy mine as follows: if you have enough resources on your pc i can really recommend putting the cores to 4 and ram to 4 for much better performance. the current settings are the minimum settings. Press create and install your instance. Step 3. Instance settings. Start your created instance and open the settings in the instance. * While configuring the settings you may have to restart the instance multiple times when you have the settings menu opened please copy my settings as follows: IF you want to run multiple instances you can now clone this instance in the multi instance manager and it copies all settings. this is the cloning button: you can select the number of instances you want. when you press create it should create all the instances you need. Step 4. Connecting ADB and injecting Powbot Now we need to connect the ADB devices so the Powbot installer recognizes them. First off start all your Bluestacks instances you want to connect. if you are using multiple instances start them all in advance of this step. Now we will create a simple batfile that will connect all the adb devices. (if you don't know how to create a Batfile you can go to step 5 of my getting started guide) Copy the following commands into the batfile: cd C:\Users\%HOMEPATH%\.powbot\android\platform-tools adb connect cd C:\Users\%HOMEPATH%\.powbot\android\platform-tools adb connect cd C:\Users\%HOMEPATH%\.powbot\android\platform-tools adb connect cd C:\Users\%HOMEPATH%\.powbot\android\platform-tools adb connect cd C:\Users\%HOMEPATH%\.powbot\android\platform-tools adb connect cd C:\Users\%HOMEPATH%\.powbot\android\platform-tools adb connect if you are running more than 6 instances you only need to add 10 to the port number so for example number 7 should be 5615. otherwise you can find your port number in the advanced settings of your instance. Now run this batfile as administrator WHILE your instances are running. Now when you start your powbot launcher bluestacks should show up under the ADB tab like follows: you can now run Powbot like you usually would. Congratulations you successfully installed Bluestacks 5 Make sure you join the Official Discord if you haven't already. Feel free to ask questions in the Help channel you might find me there. thanks to @Kebab King for helping with the guide.
  7. Just drop a few comments around API usage: Object foodObj = getOption("Food"); You can declare the type: String foodObj = getOption("Food"); However I would suggest using @ValueChanged, see I would recommend passing a radius when filtering objects: public static GameObject getNearest(Predicate<GameObject> pred) { return Objects.stream().filter(pred).nearest().firstOrNull(); } public static GameObject getNearest(Predicate<GameObject> pred) { return Objects.stream(10).filter(pred).nearest().firstOrNull(); } Nothing major though 🙂
  8. Nice to see something slightly more unorthodox in your poll. Not everyone needs to follow the same framework, that's how we expand our knowledge base as a team. I personally don't like private api methods where we ones to achieve the same result. boolean success = Time.sleepUntil(ExInventory::isEmpty, 2000); if (success) /// VS boolean success = Condition.wait(()->ExInventory::isEmpty, 200, 10); if (success) However I'm assuming you just adapted your methods from another client to suit ours without really digging around too much in our API (albeit there's not much documentation). Although for the most part, your script is nice and tidy as well as split into a somewhat modular layout, for an activity such as wintertodt, stuffing everything into 1 class irks me slightly. Manageability is reduced significantly as debugging something in 300 lines of code is vs your 5 main activities split into their own task of ~80 lines each. You've clearly been around the block for a while and know what you're doing. I'll leave this open for @const_ to offer any suggestions and/or complete the application. 👍
  9. Hey all, I've been around the scene for a few years now scripting for other platforms, but been really impressed by PowBot mobile, so it looks like this'll be my go to for most scripts. Interested in seeing this platform grow and being involved where I can. Anyways, here is a Wintertodt script made with the latest API. I'm sure there's probably some clean up I might of missed, but should show a broad use of the API: https://github.com/adivorcedfork/ForksWintertodtPowBot Let me know if there's anything that's needed or anything I can clarify. Thanks in advance. - Fork
  10. Nice structure and broad use of the API. Some feedback from looking through which may be helpful for the future. Firstly, I hate standard sleeps with a passion. https://github.com/Protoprize/PP-Aerial-Fisher/blob/35d4e7b0d0a1c7dc58a191b2daf21e42cffd015f/src/com/proto/aerial/tasks/GetBird.java#L19 Here you wait 1.2-1.8 seconds without any validation whatsoever. I've never done the activity you wrote the script for, so it may be that there's no validation available or whatever but I'd personally stay clear as you've used conditional waits perfectly fine throughout the rest of the script. Also make things easier for yourself and make use of the chat API. Component cont = Components.stream().text("Tap here to continue").first(); if (cont.valid()) { cont.click(); Condition.sleep(Random.nextInt(1200, 1800)); } //////////////////// VS if(Chat.canContinue){ Chat.clickContinue(); Condition.wait(()->!Chat.canContinue(), 150, 10); } I also noticed something else too which I thought could come in handy for you. I wasn't sure if you knew that Condition.wait() returns a boolean, if early exits, true, if times out, false so below, it just saves you doing the same Inventory.selectedItem() check twice. https://github.com/Protoprize/PP-Aerial-Fisher/blob/35d4e7b0d0a1c7dc58a191b2daf21e42cffd015f/src/com/proto/aerial/tasks/CutBait.java#L25 if (knife.interact("Use")) { Condition.wait(() -> Inventory.selectedItem().valid(), 200, 30); if (Inventory.selectedItem().valid()) { int x = Skills.level(Skill.Cooking.getIndex()); cut.interact("Use"); Condition.wait(() -> Inventory.stream().id(AerialData.CUT_ITEMS).isEmpty() || Skills.level(Skill.Cooking.getIndex()) != x, 300, 100); } } //////////////// VS if (knife.interact("Use")) { if (Condition.wait(() -> Inventory.selectedItem().valid(), 200, 30)) { int x = Skills.level(Skill.Cooking.getIndex()); cut.interact("Use"); Condition.wait(() -> Inventory.stream().id(AerialData.CUT_ITEMS).isEmpty() || Skills.level(Skill.Cooking.getIndex()) != x, 300, 100); } } However overall, you'll be a great addition to the team, congrats. @const_
  11. Hey Dan, Seems like there's a problem with the web walker since yesterday...? After banking in West Varrock bank, it doesn't walk back to the mining spot. All was working well before. The mining function, banking functions are all working well though. Thanks!
  12. Hey guys, After v2 came out, been really enjoying using the client and finally got the time to put into making scripts, got a couple ready to release once they get me my 99s, but below is a sample of a script request https://github.com/Protoprize/PP-Aerial-Fisher Simple script, start with knife in inventory and it does the rest for you :) Anything else that's needed or more scripts, please let me know (I feel like I'm writing a work email)
  13. A possible PC script? Getting void is terrible lol
  14. Earlier
  15. When the camera is positioned in such a way where entities overlap, using an item on an entity produces multiple menu items to select from. In this scenario the client does not validate the entity in the menu items when it should be doing so.
  16. Using an item on another entity is a single click option and will therefore return false. For example if(Inventory.stream().name("Knife").first().interact("Use")){ if(Inventory.stream().name("Log").first().interact("Use")){ System.out.println("This won't return true"); } else { System.out.println("This will always return false"); } } /////////// VS if(Inventory.stream().name("Knife").first().interact("Use")){ if(Inventory.stream().name("Log").first().interact("Use", false)){ System.out.println("This should return true"); } } the second example passes useMenu = false, meaning you're telling interact() that what you're about to do, will have no menu to verify the correct option was selected. Unlike desktop, there's no 'uptext' or whatever it was called upon hovering over and item etc in the top left. Therefore without using the menu, we can't verify what entity was tapped on.
  17. If using ("Use") as the .interact argument it will return true/false, but often selects the wrong menuitem if there are multiple to choose from. Expected behavior is being able to pass in "Use" and it should validate the gameobject that .interact() is being called on in the menuitem and return whether or not the correct menuitem was selected.
  18. should make it for the crafting guild. would get way more hides per hour. like double/triple the hides
  19. Not at the moment, I don’t know if it will come back seeing as we’re a mobile only bot now.
  20. bamp for update. @_Rick thanks for your input; it's nice see we have a similar taste for such a great genre of music.
  21. Everyday casual, work, or dates - what's your go to? (mine) I currently have just one cologne but want to get more. Any recommendations?
  22. sorry didnt realise simple fisher has one - didn't pop up when I searched for it in the scripts.
  23. Simple fisher already does Minnows.
  24. Script: Minnow fisher: fishes minnows in fishing guild Details: Could simply fish the minnows on the platform and follow the spawns round, would also need to avoid the leaping fish which steal the minnows you've fished Links if needed: Thanks for looking!
  25. Script: Blackjacking script in pollnivneach Details: Script would knockout and pickpocket thugs and menaphite thugs. When the thugs evade the knockout and says "I will kill you for that!", the script would need to pickpocket the thugs to stop them fighting the account. The script could also run upstairs when in combat. The script would need to buy wines from the bar, or unnote food from the unnoter. Wine buying would involve hopping so the script would need to remember it's thieving world. Links if needed: In the pic below, the green circled house would be where the script would thieve the level 41 and 56 bandits, the red circled house is menaphite thugs. Thanks for looking!
  1. Load more activity