Skip to content

Commit

Permalink
update Ethans
Browse files Browse the repository at this point in the history
  • Loading branch information
zeruth committed Jan 11, 2024
1 parent aad2028 commit a7137a6
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ public static PacketDef getOpLocT() {
public static PacketDef getOpNpcT() {
String[] writeData = new String[]{ObfuscatedNames.OPNPCT_WRITE1, ObfuscatedNames.OPNPCT_WRITE2, ObfuscatedNames.OPNPCT_WRITE3,ObfuscatedNames.OPNPCT_WRITE4,ObfuscatedNames.OPNPCT_WRITE5};
String[][] writeMethods = ObfuscatedNames.OPNPCT_WRITES;
return new PacketDef(ObfuscatedNames.OPNPCT_OBFUSCATEDNAME, writeData, writeMethods, PacketType.OPNPC);
return new PacketDef(ObfuscatedNames.OPNPCT_OBFUSCATEDNAME, writeData, writeMethods, PacketType.OPNPCT);
}

public static PacketDef getOpPlayerT() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,6 @@ public static void sendPacket(PacketDef def, Object... objects) {
int index = params.indexOf(def.writeData[i]);
Object writeValue = objects[index];
for (String s : def.writeMethods[i]) {
System.out.println("Writing: " + s + " " + writeValue);
BufferMethods.writeValue(s, (Integer) writeValue, buffer);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,19 @@
import net.runelite.api.Client;
import net.runelite.client.RuneLite;

import java.awt.event.KeyEvent;
import java.lang.reflect.Field;
import java.math.BigInteger;
import java.util.Random;
import java.util.concurrent.Executors;

import static java.awt.event.InputEvent.BUTTON1_DOWN_MASK;

public class MousePackets{

static Client client = RuneLite.getInjector().getInstance(Client.class);
private static final Random random = new Random();
private static long randomDelay = randomDelay();
public static BigInteger modInverse(BigInteger val, int bits) {
try {
BigInteger shift = BigInteger.ONE.shiftLeft(bits);
Expand Down Expand Up @@ -41,16 +48,45 @@ public static void queueClickPacket(int x, int y) {
}
int mouseInfo = ((int) deltaMs << 1);
PacketReflection.sendPacket(PacketDef.getEventMouseClick(), mouseInfo, x, y);
if (checkIdleLogout()) {
randomDelay = randomDelay();
Executors.newSingleThreadExecutor()
.submit(MousePackets::pressKey);
}
}

public static void queueClickPacket() {
queueClickPacket(0, 0);
}

public void queueRandomClickPacket(int x, int y) {
private static boolean checkIdleLogout() {
int idleClientTicks = client.getKeyboardIdleTicks();

if (client.getMouseIdleTicks() < idleClientTicks) {
idleClientTicks = client.getMouseIdleTicks();
}

return idleClientTicks >= randomDelay;
}

private static long randomDelay() {
return (long) clamp(
Math.round(random.nextGaussian() * 8000)
);
}

private static double clamp(double val) {
return Math.max(1, Math.min(13000, val));
}

private static void pressKey() {
KeyEvent keyPress = new KeyEvent(client.getCanvas(), KeyEvent.KEY_PRESSED, System.currentTimeMillis(), BUTTON1_DOWN_MASK, KeyEvent.VK_BACK_SPACE);
client.getCanvas().dispatchEvent(keyPress);
KeyEvent keyRelease = new KeyEvent(client.getCanvas(), KeyEvent.KEY_RELEASED, System.currentTimeMillis(), 0, KeyEvent.VK_BACK_SPACE);
client.getCanvas().dispatchEvent(keyRelease);
KeyEvent keyTyped = new KeyEvent(client.getCanvas(), KeyEvent.KEY_TYPED, System.currentTimeMillis(), 0, KeyEvent.VK_BACK_SPACE);
client.getCanvas().dispatchEvent(keyTyped);
}
@SneakyThrows
public static long getMouseHandlerLastMillis() {
Class<?> mouseHandler = client.getClass().getClassLoader().loadClass(ObfuscatedNames.MouseHandler_lastPressedTimeMillisClass);
Expand Down

0 comments on commit a7137a6

Please sign in to comment.