-
Posts
160 -
Joined
-
Last visited
-
Feedback
100%
Everything posted by ItPoke
-
Added on Discord, also the Discord numbers on the first page is outdated.
- 134 replies
-
- signatures
- thread
- (and 5 more)
-
Hello, when it comes to botting I'm a complete fish
ItPoke replied to Grimgor's topic in Introductions
Hi and welcome! I have been working on a new set of scripts that I would love to get testing, feedback and ideas on. Hit me up in a DM with your Discord name, looking forward to getting in touch -
Happened to me today too. It never wrote a name down, because of the message, and then it just hovers over the Set name button.
-
Ahhh, cool! That's a great strong push in the right direction! Thank you very much!
-
Great, exactly what I was looking for with the Random Executors However, with the world hopping thing, I would like to overwrite osbot API, since I also want to overwrite other API. In your world hopper you create a new class which you use. But I am going to use some osbot APIs which uses other osbot APIs that I want to overwrite, I heard this was possible. But don't really know how to overwrite the API.
-
I am looking to overwrite some of the API functions (Like world hop and break handler) to better suit scripts I make, but I can't figure out how this would be done. I don't really know where or what to look for, so a general push in the right direction would be much appreciated!
-
The tourist trap quest needs a bit of love, one of the only quests I need to babysit.
-
Yepp, seems to work like a charm
-
Is this working currently?
-
Request to add the spell snare to Cures + alch spells
-
I use the break manager and bot with this script around 2 hours a day. Just minor kinks on some rooftops with alching, which I botted less on.
-
It would be great to have a check up on the rooftops while using spells. For example in Al-Kharid and Varrock the script tries to use a spell while still animating/parkouring, it happens all the time at the same spots, and it makes the script really unconformable to use with the spell feature. Other than that it works like a charm without getting stuck ever!
-
I haven't heard about such a community, and I remember when asking around people usually want to keep their saves and custom code for themselves.
-
Copying that worked lol
-
Your Discord name does not work.
-
The quests are a bit busted atm, if the npc's ain't in the specified area, as stated on github https://github.com/Explv/Explvs-AIO/issues/43 If you know a bit about coding feel free to fix it, everything you need to know is in the issue thread.
-
Use a dynamic snippet instead so that you don't hardcode the prices.
-
Look up the api, it says that you just specify an amount, no need to loop over them. That way you just sell one at a time. Also I would say change the if statement that checks if the inventory contains a clean herb and just do an inverse in the bank. So if the bank does not contain anymore dirty herbs, then widthdraw all clean herbs as noted, get the noted id for the herbs and sell them on the GE. I can give more specfic code examples if you need more help.
-
Move that up to be the first if statement, and see what happens! Heres a good old spoon feed of how I would do it. Please ask whats going on so you understand! GL HF if (!trade.isCurrentlyTrading()) { // Get into trading if (!Banks.VARROCK_WEST.contains(myPosition())) { // Walk to bank if we are not there getWalking().webWalk(Banks.VARROCK_WEST); } if (Banks.VARROCK_WEST.contains(myPosition()) && getPlayers().closest(thebotrep) != null) { if (!getPlayers().closest(thebotrep).interact("Trade with")) // Trying to trade return random(450, 5000); // Trade interaction failed, returning to reset and skip everything below new ConditionalSleep(15000) { // Waiting 15 sec or until we have started trading @Override public boolean condition() throws InterruptedException { return trade.isCurrentlyTrading(); } }.sleep(); if (!trade.isCurrentlyTrading()) // Trading window not open yet! return random(450, 5000); // Returning to reset and skip everything below } } if (!trade.getOtherPlayer().equals(thebotrep)) { // Making sure we only trade out bot trade.declineTrade(); return random(450, 5000); // Returning to reset and skip everything below } if (!trade.isSecondInterfaceOpen() && trade.getTheirOffers().contains("Coins")) { // Waiting for coins trade.acceptTrade(); new ConditionalSleep(15000) { // Wait 15 sec or until we get to the second trade interface @Override public boolean condition() throws InterruptedException { return trade.isSecondInterfaceOpen(); } }.sleep(); } if (trade.isSecondInterfaceOpen()) { // Accept if we are on second trade interface trade.acceptTrade(); } NOT TESTED!
-
Something that's added to the script itself, so you can do it like that yes. I think it was added around Version 2.9 before the versioning was updated.
-
Yes I implemented it so that if you specify a higher amount than the account has it just sells all it can.
-
[HELP] Making script go task to task instead of looping over first two
ItPoke replied to Imthabawse's topic in Tutorials
I just told you to clean the code so you can make sure that you have your brackets correct.... if (widget == null || !widget.interact()) { return; } // <- Why is there a curly bracket here?! } -
[HELP] Making script go task to task instead of looping over first two
ItPoke replied to Imthabawse's topic in Tutorials
Format the code better and make sure you don't have too many } -
[HELP] Making script go task to task instead of looping over first two
ItPoke replied to Imthabawse's topic in Tutorials
Here is what you should look into, the code has not been tested so just use it as a guide package oaklarders; import org.osbot.rs07.api.ui.RS2Widget; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; // Start script lvl 33 Construction @ScriptManifest(author = "Imthabawse", info = "Oaklarder Builder", logo = "", name = "Oaklarders", version = 0) public class Oaklarders extends Script { @Override public void onStart() { log("Sit back and relax"); } @Override public int onLoop() throws InterruptedException { /* OLD objects.closest("Larder space").interact("Build"); { sleep(1000); } */ if (!objects.closest("Larder space").interact("Build") { return; // If the interaction fails we return and it will try again. } else { // Do a conditional sleep here to make sure we dont spam interact. // The conditional sleep should check if the widget exists. new ConditionalSleep(3000) { @Override public boolean condition() { RS2Widget widget = widgets.get(458, 5, 4); return widget.isVisiable(); } }.sleep(); if (widget == null || !widget.interact()) { return; // Here we return so if the widget is null or not shown and the 3000 ms has passed, we try again. } } // Repeat here with the remove function if(!inventory.contains("Oak plank")) { RS2Widget settings = widgets.get(548, 35); // Look at the api to see if you can find the settings in the tab to open it. if(settings == null) { // Here we changed it from not null to is equial to null so we dont wrap everything into this if statment :) return; // Then we can just return instead. } settings.interact(); { sleep(200); // look above to see what to do instead of using sleeps like this. } RS2Widget house = widgets.get(261, 99); if(house != null) { house.interact(); { sleep(200); // look above to see what to do instead of using sleeps like this. } RS2Widget servant = widgets.get(370, 19, 0); if(servant != null) { servant.interact(); { sleep(200); // look above to see what to do instead of using sleeps like this. } RS2Widget unote = widgets.get(219, 1, 1); if(unote != null) { unote.interact(); { sleep(10000); // look above to see what to do instead of using sleeps like this. } } } } } } return(200); } @Override public void onExit() { log("Thank's for using Oaklardersv1"); } } // Make bot build and remove larders // Make bot interact with butler to unote planks // Make bot call servant if needed // Add humanlike behavior sleeps etc Thats just my quick gist of what you can improve, best of luck! -
Literally answered your own questions ?