Jump to content
×
×
  • Create New...

const_

Administrators
  • Posts

    132
  • Joined

  • Last visited

  • Days Won

    25

const_ last won the day on September 21

const_ had the most liked content!

Reputation

45 Excellent

About const_

  • Rank
    Administrator

Recent Profile Visitors

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

  1. 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 🙂
  2. So some feedback: All your logic is in one loop() method, I'd suggest breaking it out into separate tasks or branches/leaves. Don't use global variables as much, for example you have a stall variable that's written to in different methods. This makes it hard to keep track of what it is and if you were to introduce any concurrency could lead to issues. Instead use more local variables and pass them between functions, your function call chains shouldn't have any side effects. Make use of enums, you currently have multiple different variables which are used in conjunction with each other depending on the mode. Try grouping this together inside a Mode enum.
  3. Congratulations! I've messaged you with the details.
  4. Hey, v2 has been released could you please update your scripts.
  5. v2 is out now do you mind updating to it?
  6. Mobile is VIP only FYI, however try using our v2 release - https://powbot.org/community/index.php?/forum/57-client-v2/ If you can get it loading then you just need to buy VIP.
  7. This is a known issue
  8. This is a known issue
  9. Jump on our discord probably easiest to sort that here, if you're still having trouble PM me and I can offer you a refund.
  10. This has been resolved with the latest client update.
  11. Is this for a script, go to the page of the script and click cancel (https://powbot.org/scripts) If you need further assistance PM me and I can cancel them for you.
  12. const_

    Script Bounties

    Script bounties are placed on scripts which PowBot doesn't currently have publicly available. To complete a bounty the script MUST work on mobile and be uploaded to SDN, check here for information on how to get SDN access. You may see scripts here which are currently in the SDN, this is likely because they're not mobile supported or have a limited feature set/aren't working correctly. If you see a script listed here which you would also like to be available you can contribute to the bounty to entice a developer to create the script by PMing me. Also if you would like to offer a bounty for a script not listed here please PM me. Current Bounties: Motherlode mine - 20M OSRS GP Smithing w/Blast furnace - 30M OSRS GP Winterodt - 30M OSRS GP Slayer - 100M OSRS GP
  13. Both the desktop and mobile client share the same API, this allows you to develop scripts for both platforms easily. However because the underlying implementations of the client are different for each platform there are some rules to follow to ensure your scripts run as efficiently as possible. 1. Develop on desktop, adjust on mobile Get your scripts working on desktop first then run them on mobile and make any adjustments required. Data collection is a lot easier on desktop and the feedback cycle is going to be a lot quicker as startup time is much less. As the API works across both platforms your scripts should work for the most part on both. 2. Use the stream API, don't use #filter Wait what? Isn't filter a core part of the stream API? Yes it is however the provided filter methods such as #name, #id, #action are optimized for mobile so try to use those wherever possible and only use filter when really required. If you do use #filter make sure it's the last in your chain, for example: Npc npc = ctx.npcs.toStream() .name("Chicken") .within(area) .action("Attack") .filter(n -> !n.inMotion()) .nearest() .first() You can request a filter be added to the API here: https://github.com/powbot/api/issues. If you are only using #filter then use #toStream(false), for example: Npc npc = ctx.npcs.toStream(false) .filter(n -> !n.inMotion()) .nearest() .first() 3. Use variables for any game data as much as possible Requesting game data such as game objects, npcs, players is much more expensive and slower on mobile. Therefore make use of variables where you can to prevent un-needed requests. For example: if (ctx.players.local().animation() != -1) { return false; } if (ctx.players.local().interacting() != null) { return false; } if (ctx.players.local().inMotion()) { return false; } Instead you should do: final Player player = ctx.players.local(); if (player.animation() != -1) { return false; } if (player.interacting() != null) { return false; } if (player.inMotion()) { return false; }