diff --git a/.travis.yml b/.travis.yml index 744d70b..fd5a452 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,7 +32,7 @@ env: - secure: UG+b1tEgc8xv9x4r//2OAIK1RrYv6n209KTTFMMwcnAa7DI8HaP8nljRa5/VhDhuKHdlVrYH/tI90v7UVBs0GDVNwK5V17Io0fMm3FUGZekSthTCqqno5wAGa9r6a6mMLtSaSmIFeIKi0+0d2ZwplRuhj/dtEYjjBBj+kK8g4nE= - secure: St/fecUDInFBCRriYqgp2F8PU9/SooorgxD9Mrs+b0EsC7AbtSsQXvdIv2Lp6xzdQ0VSXPcLIhULPOYrmBKnGQ/NjXTIZXxnroyQxxnI6xyEWIZwiHRY/bKRJDRbQTxD9NL32szKiDSwnw7pu6llF4D64UqQvziq4Gm6VohU75M= - secure: bD15GVZWowiknbfLavh8CxSh0GsnF5kT4kZ6ggCuUDGyj0mzqf7dNRnchQIKkCG0WRYyTrFN4pEiygeywWsipEeAVv9Xhx3cuUZmzeQaR5KCWabSwJ8gK6jZd1YhcWmM9vrdPHobZr65MP0y/8mu/Fovgky9dY7KDf4G3SebNrM= - - RANDOMS_VERSION=0.25.4 + - RANDOMS_VERSION=0.26.1 cache: directories: diff --git a/pom.xml b/pom.xml index 2b04f9e..0383c3e 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.parabot randoms - 0.25.4 + 0.26.1 1.7 @@ -94,4 +94,4 @@ - \ No newline at end of file + diff --git a/src/main/java/org/parabot/randoms/Core.java b/src/main/java/org/parabot/randoms/Core.java index a6ee8f0..d51a62f 100755 --- a/src/main/java/org/parabot/randoms/Core.java +++ b/src/main/java/org/parabot/randoms/Core.java @@ -7,8 +7,9 @@ import org.parabot.randoms.elkoy.AntiDetector; import org.parabot.randoms.elkoy.LogoutDisabler; import org.parabot.randoms.elkoy.MouseOnScreen; import org.parabot.randoms.elkoy.QuestionSolver; -import org.parabot.randoms.locopk.MacAddressFix; +import org.parabot.randoms.oswar.ItemPicker; import org.parabot.randoms.pkhonor.*; +import org.parabot.randoms.runewild.MacAddressFix; import org.parabot.randoms.soulplay.RandomUUID; import java.util.ArrayList; @@ -35,7 +36,7 @@ public class Core { randoms.add(new MouseOnScreen()); randoms.add(new AntiDetector()); - // LocoPK + // RuneWild randoms.add(new MacAddressFix()); // Dreamscape @@ -44,12 +45,23 @@ public class Core { // SoulPlay randoms.add(new RandomUUID()); - org.parabot.core.Core.verbose("Possible randoms:"); + //OSWar + randoms.add(new ItemPicker()); + + StringBuilder sb = new StringBuilder(); + sb.append("Possible randoms:\n"); + int randomCount = 0; for (Random random : randoms) { if (random.getServer().equalsIgnoreCase(server)) { - org.parabot.core.Core.verbose("-> " + random.getName()); + sb.append("\t-> ").append(random.getName()); Context.getInstance().getRandomHandler().addRandom(random); + randomCount++; } } + final String toPrint = sb.append("\n").toString(); + if (toPrint.contains("->")) { + org.parabot.core.Core.verbose(toPrint); + } + org.parabot.core.Core.verbose("[org.parabot.randoms.Core] A total of "+randomCount+" randoms have been loaded for server: "+server); } } diff --git a/src/main/java/org/parabot/randoms/oswar/ItemPicker.java b/src/main/java/org/parabot/randoms/oswar/ItemPicker.java new file mode 100644 index 0000000..dc6d2bd --- /dev/null +++ b/src/main/java/org/parabot/randoms/oswar/ItemPicker.java @@ -0,0 +1,65 @@ +package org.parabot.randoms.oswar; + +import org.parabot.core.Core; +import org.parabot.environment.api.utils.Time; +import org.parabot.environment.randoms.Random; +import org.parabot.environment.randoms.RandomType; +import org.rev317.min.api.methods.Game; +import org.rev317.min.api.methods.Interfaces; +import org.rev317.min.api.methods.Items; +import org.rev317.min.api.methods.Menu; + +/** + * @author AlexanderBielen + */ +public class ItemPicker implements Random { + private final int INTERFACE_ID = 33300; + + @Override + public boolean activate() { + return Game.isLoggedIn() + && Interfaces.getOpenInterfaceId() == INTERFACE_ID + && Interfaces.getInterface(INTERFACE_ID + 3).getMessage() != null + && !Interfaces.getInterface(INTERFACE_ID + 3).getMessage().contains("0:00"); + } + + @Override + public void execute() { + Core.verbose("Item picker random event activated"); + Time.sleep(2000); + + String message = Interfaces.getInterface(INTERFACE_ID + 2).getMessage(); + String itemName = message.substring(message.indexOf("'") + 1, message.indexOf("'", message.indexOf("'") + 1)); + + Core.verbose("Have to select item: "+itemName); + + for(int i = INTERFACE_ID + 11; i <= INTERFACE_ID + 17; i += 3) { + try { + int id = Interfaces.getInterface(i).getItems()[0]; + String name = Items.getName(id); + + if(name != null && name.toLowerCase().startsWith(itemName.toLowerCase())) { + Core.verbose("Attempting solution: "+name); + Menu.sendAction(315,0,0,i+1,2); + break; + } + } catch(Exception ignore) {} + } + Time.sleep(1000); + } + + @Override + public String getName() { + return "Item picker"; + } + + @Override + public String getServer() { + return "OSWar"; + } + + @Override + public RandomType getRandomType() { + return RandomType.SCRIPT; + } +} diff --git a/src/main/java/org/parabot/randoms/locopk/MacAddressFix.java b/src/main/java/org/parabot/randoms/runewild/MacAddressFix.java similarity index 61% rename from src/main/java/org/parabot/randoms/locopk/MacAddressFix.java rename to src/main/java/org/parabot/randoms/runewild/MacAddressFix.java index deaa8fb..b866760 100644 --- a/src/main/java/org/parabot/randoms/locopk/MacAddressFix.java +++ b/src/main/java/org/parabot/randoms/runewild/MacAddressFix.java @@ -1,5 +1,7 @@ -package org.parabot.randoms.locopk; +package org.parabot.randoms.runewild; +import java.util.UUID; +import org.parabot.api.output.Logger; import org.parabot.core.Context; import org.parabot.core.asm.ASMClassLoader; import org.parabot.core.reflect.RefClass; @@ -7,10 +9,9 @@ import org.parabot.core.reflect.RefField; import org.parabot.environment.randoms.Random; import org.parabot.environment.randoms.RandomType; -import java.util.UUID; - /** - * @author EmmaStone + * @author EmmaStone - Originally for LocoPK + * @author Shadowrs - fixed for RuneWild with additions */ public class MacAddressFix implements Random { @@ -18,7 +19,7 @@ public class MacAddressFix implements Random { @Override public boolean activate() { - return !done; + return true; } @Override @@ -26,19 +27,40 @@ public class MacAddressFix implements Random { try { final ASMClassLoader classLoader = Context.getInstance().getASMClassLoader(); - RefClass createUID = new RefClass(classLoader.loadClass("com.locopk.client.rs.CreateUID")); + RefClass createUID = new RefClass(classLoader.loadClass("com.rw.client.rs.CreateUID")); + + + try { + Logger.info("MacAddressFix_RW", String.format( + "Before applying MAC override : %s | %s | %s", + createUID.getField("mac").getField().get(""), + createUID.getField("firstId").getField().get(""), + createUID.getField("secondId").getField().get(""))); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } String s1 = UUID.randomUUID().toString(); String s2 = UUID.randomUUID().toString(); RefField mac = createUID.getField("mac"); - mac.set(randomMacAddress()); + mac.set("lolmkay"); RefField firstId = createUID.getField("firstId"); firstId.set(s1); RefField secondId = createUID.getField("secondId"); secondId.set(s2); + try { + Logger.info("MacAddressFix_RW", String.format( + "Applied MAC override : %s | %s | %s", + mac.getField().get(""), + firstId.getField().get(""), + secondId.getField().get(""))); + } catch (IllegalAccessException e) { + e.printStackTrace(); + Logger.error("Macfix RW", e.getMessage()); + } } catch (ClassNotFoundException e) { e.printStackTrace(); } @@ -53,7 +75,7 @@ public class MacAddressFix implements Random { @Override public String getServer() { - return "locopk"; + return "RuneWild"; } @Override