Jump to content

Alakazizam

Members
  • Posts

    167
  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by Alakazizam

  1. So I have a couple things I did on my scripts that seemed to do well for me. I'm on a bit of a hiatus, just kind of lurking the forums. I had one function I'd run after every action to check if it should be taking a break or not and if it's a quick break (5-35 sec) or a long break (45 sec - 5 min). It takes an input and the higher the int the less likely the break will trigger. So use lower numbers for tasks that click less like fishing, and higher numbers for click intensive stuff like thieving. public int breakRoll(int BreakChance){ int restChance = random(1, BreakChance); int longRestChance = random(1,BreakChance / 2); int longRest = random(45_000, 300_000); int shortRest = random(5_000, 30_000); if(restChance == BreakChance){ if(longRestChance == BreakChance / 2){ log("Long resting for " + longRest); return longRest; } else { log("Short resting for " + shortRest); return shortRest; } } else { return 1_500; } } Also, if I'm dropping an inventory of stuff I try not to use the drop functions out of the API, I use a function that drops in random patterns. This one will drop a whole inventory, but you can remove inventory slots from the dropPattern arrays and those inventory slots will not be dropped, but I've only ever used this for dropping stuff from thieving stalls and cleaning herbs (requires removing a couple lines of code) void dropInventory() throws InterruptedException { if(tabs.getOpen().equals(Tab.INVENTORY)) { int[] dropPattern1 = {0, 1, 2, 3, 7, 6, 5, 4, 8, 9, 10, 11, 15, 14, 13, 12, 16, 17, 18, 19, 23, 22, 21, 20, 24, 25, 26, 27}; int[] dropPattern2 = {0, 4, 8, 12, 16, 20, 24, 25, 21, 17, 13, 9, 5, 1, 2, 6, 10, 14, 18, 22, 26, 27, 23, 19, 15, 11, 7, 3}; int[] dropPattern3 = {0, 4, 8, 12, 16, 20, 24, 25, 26, 27, 23, 19, 15, 11, 7, 3, 2, 1, 5, 9, 13, 17, 21, 22, 18, 14, 10, 6}; int[] dropPattern4 = {0, 1, 2, 3, 7, 11, 15, 19, 23, 27, 26, 25, 24, 20, 16, 12, 8, 4, 5, 6, 10, 14, 18, 22, 21, 17, 13, 9}; int[] myPattern = {0}; switch (random(1, 4)) { case 1: log("pattern 1"); myPattern = dropPattern1; break; case 2: log("pattern 2"); myPattern = dropPattern2; break; case 3: log("pattern 3"); myPattern = dropPattern3; break; case 4: log("pattern 4"); myPattern = dropPattern4; break; } if (myPattern.length > 1) { keyboard.pressKey(16); for (int i = 0; i < myPattern.length; i++) { getMouse().click(getInventory().getMouseDestination(myPattern[i])); } keyboard.releaseKey(16); sleep(1_000); } else { log("Unable to set pattern"); } } else { tabs.open(Tab.INVENTORY); } } To change it up from dropping items to clicking items for things like cleaning herbs, remove the 2 lines that say keyboard.pressKey(16); keyboard.releaseKey(16); Key(16) is shift.
  2. Was wondering if anyone might be interested in purchasing some legacy accounts or even just tell me what what I have is worth lol I'm not interested in botting and not sure if I will again any time soon, but also not trying to give my accounts away for nothing at the same time I am the original owner, will check for bans before selling, all made by me on US proxies, all legacy accounts. None of these accounts have any particular quests done but a lot of them will have a handful of f2p quests and none of them are trade restricted. about 100 tuts, some will have 8 attack about 40 cb 50-59 accounts, most have 55-60 attack / 55-60 str. Other will be about 50atk / 40-50 str / 10-40 def about 29 cb 60-69 accounts, most are 60atk / 50+ str / 50 def, some are 77 atk / 77 str, and a few are random with range and prayer about 50 cb 70-79 accounts, all 70atk / 60+ str / 45 def / 45 range / 55+ prayer
  3. May or may not work the same as the druid pouch, but the druid pouch behaves like a stackable item. inventory.getAmount("Druid pouch") value goes up and down based on how many charges the druid pouch has. Might be worth seeing if the rune pouches work the same way?
  4. I've heard others are up but not working 100% which is arguably worse. It's kind of like eating chicken, don't want to dig in until it's completely cooked lol.
  5. Is this a lifetime VIP? I see VIP says 'unlimited bots', Lifetime Sponsor says 'unlimited bot tabs'. Pretty much just making sure I will always be able to run multiple instances of the client if I buy this and not just the ability to have a bunch of tabs on 1 client.
  6. In my experience, if you're botting any common activity in f2p expect a ban.
  7. I like to use the on message to start the stun because it's ignored by any sleeps that may be taking place on the onLoop. I use the vert count as the sleep condition because the amount of time that's passed before that point will change depending on if the coin pouch needs to be open or if food is being eaten. I also wasn't 100% how different any vert change differences would be between wearing different gear so I didn't want to use that to trigger the stun.
  8. So what I do for this is I have an onMessage set a boolean public void onMessage(Message m) throws InterruptedException { if(m.getMessage().contains("You fail")) { isStunned = true; } } On the top of my onLoop I have this if(isStunned) { log("I am stunned"); int myVertCount = myPlayer().getModel().getVerticesCount(); if (inventory.contains("Coin pouch")) { inventory.getItem("Coin pouch").interact("Open-all"); } else if (needsToEat()) { if (hasFood()) { eatFood(); } } new ConditionalSleep(5_000) {@Override public boolean condition() {return myPlayer().getModel().getVerticesCount() < myVertCount;}}.sleep(); log("I am no longer stunned"); myTarget = null; isStunned = false; } It works really well regardless of what you might be wielding as far as I've been able to tell.
  9. Find an object that will always be there and get its position Then do some math to set the values of the area you need. myTipJarSpace = getObjects().closest("Tip jar space"); if (myTipJarSpace != null) { int larderAreaX1 = myTipJarSpace.getX() + 3; int larderAreaY1 = myTipJarSpace.getY(); int larderAreaX2 = myTipJarSpace.getX() + 4; int larderAreaY2 = myTipJarSpace.getY() - 1; Area buildLarderArea = new Area(larderAreaX1, larderAreaY1, larderAreaX2, larderAreaY2).setPlane(myPosition().getZ()); I do this in a construction script to set the area I want my larder to be when building the kitchen because I have to rotate the room to get the larder where I want it to be.
  10. That's good to know, but I don't think I can stack them up like this in this case because I only want it to go with the mahogany option if there are mahogany logs in inventory, otherwise I'd want it to use the logs the player has in inventory on the butler. This script just takes the highest tear logs from the bank and brings them over for planks to be made, you don't manually set what you'll be making or anything like that so it could finish up teaks and then start on oaks. But like I said, I never knew you could do that, so good to know.
  11. Will it not hang up and throw a null pointer error if I try to set myWid to a widget that might not be there by putting it above that null check? I'll look into those script rules though, I'm still fairly nooby lol
  12. I have an option to select 'Sawmill' for sending logs to the sawmill with the POH butler. But this also selects options like 'Take to sawmill: 12 x Teak planks' because it contains 'sawmill' in the text I pretty much want it to only select that option if it says 'Take to sawmill: 26 x Teak planks' otherwise I'd want it to use the logs on the butler and then tell him to take 26
  13. Yeah that's what I wound up doing. Working on a plank script and sometimes I'm just trying to get the logs to the sawmill so having an option 'Sawmill' will select to send to the sawmill of the amount from the previous trip which would set it to less than a full amount after restocking. if(dialogues.isPendingOption()){ if(widgets.get(219, 1, 1) != null && widgets.get(219, 1, 1).isVisible()){ RS2Widget myWid = widgets.get(219, 1, 1); if(myWid.getMessage().equals("Take to sawmill: 26 x Mahogany logs")){ if(inventory.contains("Mahogany logs")) { if (dialogues.selectOption("Take to sawmill: 26 x Mahogany logs")) {} } else { useLogsOnButler(); } } else if(myWid.getMessage().equals("Take to sawmill: 26 x Teak logs")){ if(inventory.contains("Teak logs")) { if (dialogues.selectOption("Take to sawmill: 26 x Teak logs")) {} } else { useLogsOnButler(); } } } //etc. This is pretty much what I have going on now.
  14. So I typically just do something along the lines of if(dialogues.isPendingOption()){ if(dialogues.selectOption("This")){} else if(dialogues.selectOption("That")){} else if(dialogues.selectOption("The other")){} } I'm running into the issue where there's an option that contains the word "That" but is not only the word "That" but it is still trying to select it even though it's not what I need selected right here. Is there a way to make sure the dialogue option will only be selected if it contains ALL of what is in the string in the code?
  15. Can anyone direct me to these discord servers? yes
  16. Just curious of what the market is like right now if there even still is one, Might be looking to buy soon.
  17. Yeah I woke up to all my bots just standing there lol. Something in the runescape update this morning broke everything, the OSBot 2.7.24 fixed everything for me
  18. if something triggers a conditional sleep with a boolean being true as a wake condition, will an onMessage event be able to change that boolean to stop that conditional sleep? Edit: Answered my own question. Yes the onMessage events will still fire off during a conditional break.
  19. Yeah I got it sorted how I want, I was hoping there'd be a lazy way about it lol
  20. Working on a slayer script, each task sets an array of any needed items for that specific task. I'm trying to check that if(inventory.containsAll("Enchanted gem", myTeleItem, myFood, Arrays.toString(myNeededItemsNames)) && inventory.onlyContains("Enchanted gem", myTeleItem, myFood, Arrays.toString(myNeededItemsNames))){ //do stuff } I get that this isn't working because the Arrays.toString is putting out a single string and its looking for an item named "this, this, and that", but is there a simple way to go about what I'm trying to do here? Edit: as of now I'm just adding the other items to all tasks needed items array, but if someone knows how to go about what I was trying to do, I'd appreciate the information.
  21. Sorry to comment on an older post. Coming back from a long hiatus and trying to wrap my head around what invokes are. I think I get it for the most part, but could they be used to bypass dialogue options for things like buying beer and stuff like that?
  22. I was trying to do something kind of like that a while back and I got some advice that was a bit over my head. Might help you out if you know more about this sort of thing though.
  23. I made 10 accounts late last night and 5 just now. It works the same it always has as far as I can tell?
×
×
  • Create New...