Jump to content

Tom

Scripter III
  • Posts

    5333
  • Joined

  • Last visited

  • Days Won

    5
  • Feedback

    100%

Everything posted by Tom

  1. Tom

    osMiner

    Nah it doesnt, sorry.
  2. Tom

    osMinnows

    Using a MAC? If so, im working on this issue now and will extend your trial when fixed
  3. Tom

    C# Hw

    Coulda just googled how to do it on any programming language and you would be able to convert it
  4. Tom

    osFisher

    You didnt happen to have 'drop other fish' selected did you?
  5. Tom

    osFisher

    Same as everything else, unknown Yes, added
  6. yeah its surprisingly easier once you get it up and running
  7. You arent going to be able to dox or phish someones 2FA code lmao, they only last like 30 seconds before expiring
  8. I have just submitted an update that allows the script to work with the new Make All interface that was in thursdays update. It will take up to 24 hours to be live, thanks!
  9. Tom

    osFisher

    Unfortunately I don't handle the sales of scripts, thats all controlled and monitored by OSBot. If I were to take a guess, you probably couldn't unless @Maldesto or Zach processed the price difference and changed it over for you.
  10. Was trying to figure out a good way to do this when I realised selected options dont have any actions, so it was easier than I thought. UtilWidget.java /** * * @author Tom * https://osbot.org/forum/profile/149713-tom/ */ public class UtilWidget { @SuppressWarnings("unchecked") /** * Select the correct mode in the Make All interface * @param i The script instance * @param mode The mode you would like to set it to * @param custom Whether or not the provided option is not a default, e.g. 12 * @return True if it successfully changed the mode or the correct mode was already selected */ public static boolean setSelectedMode(Script i, String mode, boolean custom){ RS2Widget button = i.getWidgets().getWidgetContainingText(270, mode); if(button != null && button.isVisible()) { RS2Widget widg = i.getWidgets().singleFilter(i.getWidgets().getAll(), new WidgetActionFilter(mode)); if(widg != null && widg.isVisible()) { if(widg.interact(mode)) { return true; } }else { return true; } }else { if(custom) { RS2Widget xButton = i.getWidgets().getWidgetContainingText(270, "X"); if(xButton != null && xButton.isVisible()) { if(xButton.interact("Other quantity")) { // Ideally use a custom conditional sleep method, I used this so it works for everyone new ConditionalSleep(2000) { @Override public boolean condition() { RS2Widget textWidget = i.getWidgets().getWidgetContainingText(162, "Enter amount"); return textWidget != null && textWidget.isVisible(); } }.sleep(); if(i.getKeyboard().typeString(mode, true)) { return true; } } } } } return false; } public static RS2Widget getWidget(Script i, String action, String spellName) { RS2Widget widg = i.getWidgets().filter(new WidgetActionFilter(action), new WidgetSpellFilter(spellName)); if(widg != null && widg.isVisible()) { return widg; } return null; } } WidgetActionFilter.java (Credits to @Explv I believe, however I changed it up a bit) public class WidgetActionFilter implements Filter<RS2Widget> { private String filter; public WidgetActionFilter(String filter) { this.filter = filter; } @Override public boolean match(RS2Widget widg) { if (widg == null) { return false; } if (widg.getInteractActions() == null) { return false; } for (String action : widg.getInteractActions()) { if (filter.equals(action)) { return true; } } return false; } } WidgetSpellFilter.java public class WidgetSpellFilter implements Filter<RS2Widget> { private String filter; public WidgetSpellFilter(String filter) { this.filter = filter; } @Override public boolean match(RS2Widget widg) { if (widg == null) { return false; } if (widg.getSpellName() == null) { return false; } return widg.getSpellName().toLowerCase().contains(filter.toLowerCase()); } } Example Usage if(UtilWidget.setSelectedMode(instance, "18", true)){ RS2Widget widget = UtilWidget.getWidget(instance, "Make", "Maple longbow"); if(widget != null){ widget.interact("Make"); } } Another example -- if(UtilWidget.setSelectedMode(instance, "All", false){ RS2Widget widget = UtilWidget.getWidget(instance, "Make", "Maple longbow"); if(widget != null){ widget.interact("Make"); } } For getWidget, if you are unsure what the action and spell name are, this should help. The action is String, And the Spell name is Longbow Wasn't tested much, but worked with what I was doing Edit: Updated and added another part for grabbing the right crafting icon
  11. Tom

    osFisher

    Shouldn't be related to fatigue at all. I will have to look into this one, try untick human error in the mean time as I have a feeling it would be related to that. Thanks for the report
  12. Tom

    osMiner

    Have you adjusted the script speed at all? This could happen if the speed was lowered
  13. Tom

    osFisher

    Hey, next time you run the script, save the config and send it here. As for point 2 there, must have been an old mistake on my half ahahahaha will fix it now
  14. Tom

    osMinnows

    The speed is a min and max, which makes the sleep between any action a random amount of milliseconds between the minimum and maximum. If you raise the max, the click SHOULD be different, but im not 100% sure with clicks
×
×
  • Create New...