-
Posts
3553 -
Joined
-
Last visited
-
Days Won
18 -
Feedback
100%
Everything posted by Gunman
-
You're not in the server
-
Sounds like a bad proxy maybe?
-
CS2 is a one liner, functions the same just less code. And the only reason to use a custom sleep class would be to add other functionality like a reset condition.
-
@pupu_pot API already has a empty slots method getInventory().getEmptySlots(); Use ConditionalSleep2 at least over ConditionalSleep if not a custom sleep class. Empty wall part doesn't actually work I'm pretty sure // Wait until the amethyst turns into "Empty wall" new ConditionalSleep(240000, 2000) { // 240,000 milliseconds (4 minutes) @Override public boolean condition() throws InterruptedException { return !amethyst.exists() || amethyst.getName().equals("Empty wall"); } }.sleep(); Furthermore I recommend not using any AI assistance if you're trying to truly learn coding. If you're just slapping scripts together go for it.
-
I still can't find you, can you try leaving and rejoining?
-
@driedApricots RandomSolvers will interrupt the script loop, not sure why that would kill the script though. Put the code in a try catch and see if that does anything, may be related to a exception being thrown
-
They do, they actually recently added back the method in their API publicly https://github.com/runelite/runelite/commit/92e85beb53a0605a82f9a6ce36e1c2769cd238b3
-
Sales pitch I suppose You generally use it like normal scripting code, not sure what examples you wanted. Here's an example of "infinite" prayer flicking I suppose @Override public void onGameTick() { super.onGameTick(); final PrayerButton prayer = PrayerButton.THICK_SKIN; final RS2Widget widget = getPrayerWidget(prayer); final InvokeHelper ih = new InvokeHelper(this); if (widget == null) { return; } if (getPrayer().isActivated(prayer)) { ih.invoke(widget, 0); ih.invoke(widget, 0); } else { ih.invoke(widget, 0); } } private RS2Widget getPrayerWidget(PrayerButton prayer) { RS2Widget widget = getWidgets().getAll().stream() .filter(w -> w.getSpriteIndex1() == prayer.getSpriteId()) .findFirst() .orElse(null); if (widget != null) { widget = getWidgets().get(widget.getRootId(), widget.getSecondLevelId()); } return widget; }
-
Doesn't seem to matter, and if he's using my invoke helper with clicks then it sends a right click to 0, 0 with every action invoked
-
That sounds like it's using invokes my guy not the mouse
-
Does Jagex see when you move the screen around in-game?
Gunman replied to bigoldfeet's topic in Botting & Bans
They send packets with all the data yes, whether they care or use it is truly unknown -
Assuming you're using their launcher then yes. Part of that work I mentioned before was people getting it to work outside the launcher by grabbing the session id to login. And specifying characters is an index of 0 to 19
-
It didn't really do much besides make people do some work to get it working nearly the same as legacy accounts
-
No I'm out of stock, and highly doubt I'll get a restock of legacy accounts
-
Need to post your discord UID
-
Need to post your discord UID too I can't find you in the sever
-
Not at all an issue tbh
-
Bump Current Stock (Accounts are Non Jagex) HandTutorialUS: 5052 14-Day-Membership-Code: 60
-
It's another take on the conditional sleep class that makes it a one liner with lambdas and a reset condition. Imo I'd use the Sleep class because of the reset condition option
-
Get your code up bby not your funny up Sleep.until(()-> !script.inventory.contains("Raw salmon") || script.widgets.isVisible(233) || script.getDialogues().isPendingContinuation(), ()-> myPlayer().isAnimating(), 3_000); Sleep.class import java.util.concurrent.TimeUnit; import java.util.function.BooleanSupplier; public class Sleep { private static final int DEFAULT_POLLING = 600; private static final int DEFAULT_CYCLE_LIMIT = 100; public static void sleep(int time) { try { TimeUnit.MILLISECONDS.sleep(time); } catch (InterruptedException e) { // I don't wanna deal with Interrupted Exception handling everywhere // but I need it to reset the execution when it happens throw new IndexOutOfBoundsException("Sleep Interrupted*"); } } public static boolean until(BooleanSupplier condition, int timeout) { return until(condition, ()-> false, timeout, DEFAULT_POLLING); } public static boolean until(BooleanSupplier condition, int timeout, int polling) { return until(condition, ()-> false, timeout, polling); } public static boolean until(BooleanSupplier condition, BooleanSupplier resetCondition, int timeout) { return until(condition, resetCondition, timeout, DEFAULT_POLLING, DEFAULT_CYCLE_LIMIT); } public static boolean until(BooleanSupplier condition, BooleanSupplier resetCondition, int timeout, int polling) { return until(condition, resetCondition, timeout, polling, DEFAULT_CYCLE_LIMIT); } public static boolean until(BooleanSupplier condition, BooleanSupplier resetCondition, int timeout, int polling, int cycleLimit) { try { int resetCounter = 0; long startTime = System.currentTimeMillis(); while ((System.currentTimeMillis() - startTime) < timeout && !condition.getAsBoolean()) { if (resetCounter >= cycleLimit) { break; } else if (resetCondition.getAsBoolean()) { startTime = System.currentTimeMillis(); resetCounter ++; } Sleep.sleep(polling); } return condition.getAsBoolean(); } catch (NullPointerException e) { e.printStackTrace(); } return false; } }