Jump to content

Alakazizam

VIP
  • Posts

    160
  • Joined

  • Last visited

  • Feedback

    0%

About Alakazizam

Profile Information

  • Gender
    Male

Recent Profile Visitors

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

Alakazizam's Achievements

Steel Poster

Steel Poster (4/10)

30

Reputation

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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
  6. 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
  7. 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.
  8. 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?
  9. Can anyone direct me to these discord servers? yes
  10. Just curious of what the market is like right now if there even still is one, Might be looking to buy soon.
  11. 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
  12. 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.
  13. Yeah I got it sorted how I want, I was hoping there'd be a lazy way about it lol
  14. 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.
×
×
  • Create New...