diff --git a/.gitignore b/.gitignore index 40d0328..615f907 100644 --- a/.gitignore +++ b/.gitignore @@ -14,26 +14,7 @@ buildNumber.properties # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 # User-specific stuff: -.idea/workspace.xml -.idea/tasks.xml -.idea/dictionaries -.idea/vcs.xml -.idea/jsLibraryMappings.xml - -# Sensitive or high-churn files: -.idea/dataSources.ids -.idea/dataSources.xml -.idea/dataSources.local.xml -.idea/sqlDataSources.xml -.idea/dynamic.xml -.idea/uiDesigner.xml - -# Gradle: -.idea/gradle.xml -.idea/libraries - -# Mongo Explorer plugin: -.idea/mongoSettings.xml +.idea ## File-based project format: *.iws @@ -68,5 +49,4 @@ fabric.properties # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* -*.iml -.i€dea \ No newline at end of file +*.iml \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml deleted file mode 100644 index ae93fb3..0000000 --- a/.idea/compiler.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml deleted file mode 100644 index e7bedf3..0000000 --- a/.idea/copyright/profiles_settings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml deleted file mode 100644 index 97626ba..0000000 --- a/.idea/encodings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 233a7f0..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 0227245..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 3155b39..c48b514 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,12 +2,16 @@ language: java jdk: - oraclejdk7 + - oraclejdk8 before_install: - chmod +x ./.travis/maven-build.sh - chmod +x ./.travis/call-creation.sh - mvn clean +install: + - sudo apt-get update && sudo apt-get --assume-yes install zip unzip + script: "./.travis/maven-build.sh" after_deploy: "./.travis/call-creation.sh" @@ -15,7 +19,7 @@ after_deploy: "./.travis/call-creation.sh" notifications: email: false slack: - secure: ciAOsdv9lf/IbAwyzeR/z2nlBSevmBHBqca6tf0Yh2DIyAx/uUo1ojon0W7Kv6tCECGhSTdfQAnZ+nFjjqaRs+Jq4svd9WKYrFuZyOWmT31iSJ/nvPymRvevSsgwpSKr0nJS9dxePKto/T3ozW29kx88eaJQH17zOaX2rfuIje4= + secure: B3FrxPmZ/h3dj+39aRMLJas6d62tazECB6OYsI0fTnOO9VpFOrsH67JpcaQM928zv9AItFpkYHxapqCdIZw8mYJnKOlqSqHKZE9Wu/O09ZTknxIsPnkjNknQW+6B+tHvBni3fkC29OocEePf89ZesQ6vSO/10J3OmdVlGDLyr0ShUHXgQOimWXtkjb5YVDNIrOcQ5Jx0U6h26NMx67cmYtEyR88DnLO0dBmpGjbf/o6Y+99HcBQJdotLl40h6yKufwwNiv0bVZRKfi8emMA1jvUPRqLt1CWatn2wzp1MCqpgSGBM3DnK9X5arTu6iURea2EIP3vXs9c17BLRqwVEM9YA+DCqAtze6sQstNtNiwzibWDwU/Ft8xWivdk3yqNlPE+8tx3BdBCi1gAplph2x4+7xY+icbL46tKt/UKqJdZeEIiWP8jzqWuhYDlRSFvUhvRh0DHJSO6IiY049eBQF7pwzTtofA5HXTplKByGHrqraWgxM5rUCWoKoWm9xOOwZ0lJhmjUsB1yp2ZQY1abEVmEo0uHIzeSulufUnTjqlAMzok1ZRn9YqJgUELgcCN4JSjCHQhGT/WRbOD1BSLl7XC9zdKalgVvGYyAVTIJRDF581E7VIYe6Dt9c6M+T/M3FPq86IUL0/iLxsgsvNY0+16k95D+jbVWYv8OYzZRtt4= webhooks: on_success: always on_failure: always @@ -26,7 +30,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.1 + - RANDOMS_VERSION=0.22 cache: directories: @@ -47,4 +51,7 @@ deploy: acl: public_read on: repo: Parabot/Randoms - all_branches: true \ No newline at end of file + branch: + - master + - development + jdk: 'oraclejdk7' diff --git a/.travis/call-creation.sh b/.travis/call-creation.sh index 1f70fb3..f990e29 100644 --- a/.travis/call-creation.sh +++ b/.travis/call-creation.sh @@ -1,4 +1,4 @@ #! /bin/bash -sleep 15 -curl -sS "http://v3.bdn.parabot.org/api/bot/create/random?build_id=$TRAVIS_BUILD_ID&version=$RANDOMS_VERSION" >/dev/null \ No newline at end of file +sleep 1 +curl --data "build_id=$TRAVIS_BUILD_ID&version=$RANDOMS_VERSION" "http://v3.bdn.parabot.org/api/bot/create/randoms" \ No newline at end of file diff --git a/pom.xml b/pom.xml index 9a63624..faaaaf8 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.parabot randoms - 0.1 + 0.22 1.7 @@ -15,9 +15,9 @@ - git-parabot - Parabot's Git based repo - https://github.com/parabot/Maven-Repository/raw/master/ + parabot-maven + Parabot its Maven Repository + http://maven.parabot.org/ @@ -33,7 +33,7 @@ org.parabot client - 2.5 + 2.6.1 * @@ -45,7 +45,7 @@ org.parabot 317-api-minified - 1.14 + 1.201 * diff --git a/src/main/java/org/parabot/randoms/Core.java b/src/main/java/org/parabot/randoms/Core.java index 0f45d43..39ecc74 100755 --- a/src/main/java/org/parabot/randoms/Core.java +++ b/src/main/java/org/parabot/randoms/Core.java @@ -1,11 +1,8 @@ package org.parabot.randoms; import org.parabot.core.Context; -import org.parabot.environment.scripts.randoms.Random; -import org.parabot.randoms.ikov.LogoutDisabler; -import org.parabot.randoms.ikov.PacketFail; -import org.parabot.randoms.ikov.Login; -import org.parabot.randoms.ikov.QuestionSolver; +import org.parabot.environment.randoms.Random; +import org.parabot.randoms.dreamscape.SerialBanAvoider; import org.parabot.randoms.pkhonor.*; import java.util.ArrayList; @@ -17,19 +14,20 @@ public class Core { private ArrayList randoms = new ArrayList<>(); public void init(String server) { + // PkHonor randoms.add(new Jail()); randoms.add(new TriangleSandwich()); randoms.add(new SandwichLady()); randoms.add(new MysteriousOldMan()); - randoms.add(new QuestionSolver()); randoms.add(new BobsIsland()); - randoms.add(new LogoutDisabler()); - randoms.add(new Login()); - randoms.add(new PacketFail()); + randoms.add(new PacketBlockInterceptor()); + + // Dreamscape + randoms.add(new SerialBanAvoider()); org.parabot.core.Core.verbose("Possible randoms:"); for (Random random : randoms) { - if (random.getServer().toLowerCase().equalsIgnoreCase(server.toLowerCase())) { + if (random.getServer().equalsIgnoreCase(server)) { org.parabot.core.Core.verbose("-> " + random.getName()); Context.getInstance().getRandomHandler().addRandom(random); } diff --git a/src/main/java/org/parabot/randoms/dreamscape/SerialBanAvoider.java b/src/main/java/org/parabot/randoms/dreamscape/SerialBanAvoider.java new file mode 100644 index 0000000..e2214d6 --- /dev/null +++ b/src/main/java/org/parabot/randoms/dreamscape/SerialBanAvoider.java @@ -0,0 +1,59 @@ +package org.parabot.randoms.dreamscape; + +import org.parabot.core.Context; +import org.parabot.environment.randoms.Random; +import org.parabot.environment.randoms.RandomType; + +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; + +/** + * @author JKetelaar + */ +public class SerialBanAvoider implements Random { + + private static final String serialAddressField = "SERIAL_ADDRESS"; + private static final String serialAddressValue = "empty_or_unknown"; + + private boolean done; + + @Override + public boolean activate() { + return !done; + } + + @Override + public void execute() { + try { + workAroundStaticValues(Context.getInstance().getClient().getClass(), serialAddressField, serialAddressValue); + } catch (NoSuchFieldException | IllegalAccessException e) { + e.printStackTrace(); + } + + done = true; + } + + private void workAroundStaticValues(Class clazz, String fieldName, Object newValue) throws NoSuchFieldException, IllegalAccessException { + Field field = clazz.getDeclaredField(fieldName); + field.setAccessible(true); + Field modifiers = field.getClass().getDeclaredField("modifiers"); + modifiers.setAccessible(true); + modifiers.setInt(field, field.getModifiers() & ~Modifier.FINAL); + field.set(null, newValue); + } + + @Override + public String getName() { + return "Serial ban avoider"; + } + + @Override + public String getServer() { + return "dreamscape"; + } + + @Override + public RandomType getRandomType() { + return RandomType.ON_SERVER_START; + } +} diff --git a/src/main/java/org/parabot/randoms/ikov/Login.java b/src/main/java/org/parabot/randoms/ikov/Login.java deleted file mode 100755 index b1be8e4..0000000 --- a/src/main/java/org/parabot/randoms/ikov/Login.java +++ /dev/null @@ -1,62 +0,0 @@ -package org.parabot.randoms.ikov; - -import org.parabot.environment.api.utils.Time; -import org.parabot.environment.input.Mouse; -import org.parabot.environment.scripts.framework.SleepCondition; -import org.parabot.environment.scripts.randoms.Random; -import org.rev317.min.api.methods.Game; - -/** - * @author JKetelaar - */ -public class Login implements Random { - - private static int timer = 0; - - @Override - public boolean activate() { - return System.currentTimeMillis() - timer > 0 && !Game.isLoggedIn(); - } - - @Override - public void execute() { - timer = 0; - - // Move and click mouse on the login button - Mouse.getInstance().moveMouse(380, 320); - Mouse.getInstance().click(380, 320, true); - - Time.sleep(new SleepCondition() { - @Override - public boolean isValid() { - return Game.isLoggedIn(); - } - }, 4500); - if (Game.isLoggedIn()) { - /* Sleep to let the client load their objects and players */ - Time.sleep(5000); - }else{ - // Move and click mouse on the close button - Mouse.getInstance().moveMouse(515, 130); - Mouse.getInstance().click(515, 130, true); - } - } - - @Override - public String getName() { - return "Login"; - } - - @Override - public String getServer() { - return "Ikov"; - } - - /** - * - * @param timeOut seconds - */ - public static void setTimer(int timeOut){ - timer = ((int) System.currentTimeMillis() + (timeOut * 1000)); - } -} diff --git a/src/main/java/org/parabot/randoms/ikov/LogoutDisabler.java b/src/main/java/org/parabot/randoms/ikov/LogoutDisabler.java deleted file mode 100755 index 6fcf3f7..0000000 --- a/src/main/java/org/parabot/randoms/ikov/LogoutDisabler.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.parabot.randoms.ikov; - -import org.parabot.environment.api.utils.Time; -import org.parabot.environment.input.Keyboard; -import org.parabot.environment.scripts.randoms.Random; -import org.rev317.min.api.methods.Game; - -import java.awt.event.KeyEvent; - -/** - * @author JKetelaar - */ -public class LogoutDisabler implements Random { - - private final int[] keys = {KeyEvent.VK_UP, KeyEvent.VK_DOWN, KeyEvent.VK_LEFT, KeyEvent.VK_RIGHT}; - private final java.util.Random random = new java.util.Random(); - - private long ms = System.currentTimeMillis(); - - @Override - public boolean activate() { - return Game.isLoggedIn() && (System.currentTimeMillis() - ms) / 1000 > random.nextInt((50 - 30) + 1) + 30; - } - - @Override - public void execute() { - int keyCode = keys[random.nextInt(keys.length)]; - Keyboard.getInstance().pressKey(keyCode); - Time.sleep(random.nextInt((20 - 5) + 1) + 5); - Keyboard.getInstance().releaseKey(keyCode); - - ms = System.currentTimeMillis(); - } - - @Override - public String getName() { - return "Logout disabler"; - } - - @Override - public String getServer() { - return "Ikov"; - } -} diff --git a/src/main/java/org/parabot/randoms/ikov/PacketFail.java b/src/main/java/org/parabot/randoms/ikov/PacketFail.java deleted file mode 100755 index 73d40b6..0000000 --- a/src/main/java/org/parabot/randoms/ikov/PacketFail.java +++ /dev/null @@ -1,67 +0,0 @@ -package org.parabot.randoms.ikov; - -import org.parabot.core.ui.Logger; -import org.parabot.environment.scripts.randoms.Random; -import org.rev317.min.api.events.MessageEvent; -import org.rev317.min.api.events.listeners.MessageListener; -import org.rev317.min.api.methods.Game; -import org.rev317.min.script.ScriptEngine; - -/** - * @author JKetelaar - */ -public class PacketFail implements Random, MessageListener { - - private int fails = 0; - private long lastFail = 0; - - public PacketFail(){ - ScriptEngine.getInstance().addMessageListener(this); - } - - @Override - public boolean activate() { - if (fails >= 3 && System.currentTimeMillis() - lastFail <= 25 * 1000){ - return true; - }else if (System.currentTimeMillis() - lastFail > 25 * 1000){ - lastFail = 0; - fails = 0; - } - return false; - } - - @Override - public void execute() { -// if (!Game.dropClient()){ - Logger.addMessage("Couldn't drop the client, please restart if required", true); -// } - fails = 0; - } - - @Override - public String getName() { - return "Client restarter"; - } - - @Override - public String getServer() { - return "Ikov"; - } - - @Override - public void messageReceived(MessageEvent messageEvent) { - if (messageEvent.getType() == 0){ - String message = messageEvent.getMessage().toLowerCase(); - switch (message){ - case "unable to receive input": - case "command does not exist": - case "too far away from this object": - case "that object does not exist": - case "party room is currently disabled": - fails++; - lastFail = System.currentTimeMillis(); - break; - } - } - } -} diff --git a/src/main/java/org/parabot/randoms/ikov/QuestionSolver.java b/src/main/java/org/parabot/randoms/ikov/QuestionSolver.java deleted file mode 100755 index a42b48f..0000000 --- a/src/main/java/org/parabot/randoms/ikov/QuestionSolver.java +++ /dev/null @@ -1,107 +0,0 @@ -package org.parabot.randoms.ikov; - -import org.json.simple.JSONObject; -import org.json.simple.parser.ParseException; -import org.parabot.core.Context; -import org.parabot.core.ui.Logger; -import org.parabot.environment.api.utils.Time; -import org.parabot.environment.api.utils.WebUtil; -import org.parabot.environment.input.Keyboard; -import org.parabot.environment.scripts.Script; -import org.parabot.environment.scripts.framework.SleepCondition; -import org.parabot.environment.scripts.randoms.Random; -import org.rev317.min.Loader; -import org.rev317.min.api.methods.Game; -import org.rev317.min.api.methods.Menu; - -import java.io.UnsupportedEncodingException; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.net.MalformedURLException; -import java.net.URLEncoder; - -public class QuestionSolver implements Random { - - private final int backlogID = 368, cacheID = 372; - - @Override - public boolean activate() { - return Game.isLoggedIn() && Game.getOpenBackDialogId() == backlogID; - } - - @Override - public void execute() { - String message = Loader.getClient().getInterfaceCache()[cacheID].getMessage(); - if (!message.contains("lose items on death, beware")) { - message = message.replace("@dre@ ", ""); - - Logger.addMessage("Contacting server to get an answer", false); - String answer = getAnswer(message); - - if (answer == null) { - Logger.addMessage("Could not solve the question, please report this question (and the possible answer) on the forums", true); - Logger.addMessage("Question: " + message, true); - forceRelog(); - Logger.addMessage("Logged account out for security measures", true); - Context.getInstance().getRunningScript().setState(Script.STATE_STOPPED); - } else { - Logger.addMessage("Answer found, now trying: " + answer, false); - Menu.sendAction(679, -1, -1, 373); - Time.sleep(1000); - Keyboard.getInstance().sendKeys(answer); - } - } - Time.sleep(1000); - } - - public String getAnswer(String question){ - try { - JSONObject object = (JSONObject) WebUtil.getJsonParser().parse(WebUtil.getContents("http://bdn.parabot.org/api/v2/data/questions/get", - "server=ikov&question=" + URLEncoder.encode(question, "UTF-8"))); - JSONObject result; - if ((result = (JSONObject) object.get("result")) != null){ - Object answer; - if ((answer = result.get("answer")) != null){ - return (String) answer; - } - } - } catch (ParseException | MalformedURLException | UnsupportedEncodingException e) { - e.printStackTrace(); - }catch (Exception ignored){ - // Catching for old bots - } - return null; - } - - private void forceRelog() { - try { - Logger.addMessage("Logging out...", false); - Class c = Loader.getClient().getClass(); - - Method m = c.getDeclaredMethod("am"); - m.setAccessible(true); - - m.invoke(Loader.getClient()); - Time.sleep(new SleepCondition() { - @Override - public boolean isValid() { - return !Game.isLoggedIn(); - } - }, 5000); - } catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) { - e.printStackTrace(); - } - Login.setTimer(5 * 60); - } - - - @Override - public String getName() { - return "Question solver"; - } - - @Override - public String getServer() { - return "Ikov"; - } -} diff --git a/src/main/java/org/parabot/randoms/pkhonor/BanFile.java b/src/main/java/org/parabot/randoms/pkhonor/BanFile.java index b7c7b2c..a080496 100644 --- a/src/main/java/org/parabot/randoms/pkhonor/BanFile.java +++ b/src/main/java/org/parabot/randoms/pkhonor/BanFile.java @@ -1,28 +1,33 @@ package org.parabot.randoms.pkhonor; -import org.parabot.environment.scripts.randoms.Random; +import org.parabot.environment.randoms.Random; +import org.parabot.environment.randoms.RandomType; import java.io.File; /** - * Created by Fryslan. + * @author Fryslan */ public class BanFile implements Random { - private static final File[] locations = {new File("C:/PkHonor/",".jagex_cache_58993.dat"),new File(System.getProperty("user.home"), ".app_info_3541"),new File(System.getProperty("user.home"), "AppData/Applications")}; + private static final File[] locations = {new File("C:/PkHonor/", ".jagex_cache_58993.dat"), new File(System.getProperty("user.home"), ".app_info_3541"), new File(System.getProperty("user.home"), "AppData/Applications")}; private boolean checked = false; @Override public boolean activate() { - checked = true; - return !checked && filePresent(); + if (!checked) { + if (filePresent()) { + return true; + } + } + return false; } @Override public void execute() { - for(File banfile : locations){ - if(banfile.exists()){ - banfile.delete(); + for (File banfile : locations) { + if (banfile.exists()) { + banfile.delete(); } } @@ -38,9 +43,15 @@ public class BanFile implements Random { return "pkhonor"; } + @Override + public RandomType getRandomType() { + return RandomType.ON_SERVER_START; + } + private boolean filePresent() { - for(File banfile : locations){ - if(banfile.exists()){ + checked = true; + for (File banfile : locations) { + if (banfile.exists()) { return true; } } diff --git a/src/main/java/org/parabot/randoms/pkhonor/BobsIsland.java b/src/main/java/org/parabot/randoms/pkhonor/BobsIsland.java index d8812f2..db10d44 100755 --- a/src/main/java/org/parabot/randoms/pkhonor/BobsIsland.java +++ b/src/main/java/org/parabot/randoms/pkhonor/BobsIsland.java @@ -1,25 +1,19 @@ package org.parabot.randoms.pkhonor; import org.parabot.environment.api.utils.Time; +import org.parabot.environment.randoms.Random; +import org.parabot.environment.randoms.RandomType; import org.parabot.environment.scripts.framework.SleepCondition; -import org.parabot.environment.scripts.randoms.Random; -import org.rev317.min.api.methods.Players; import org.rev317.min.api.methods.SceneObjects; -import org.rev317.min.api.wrappers.Area; import org.rev317.min.api.wrappers.SceneObject; import org.rev317.min.api.wrappers.Tile; -import java.util.ArrayList; - /** - * Created with IntelliJ IDEA. - * User: Piet Jetse - * Date: 2-1-2015 - * Time: 13:19 + * @author Fryslan */ public class BobsIsland implements Random { - private static final Tile center = new Tile(2525,4777); + private static final Tile center = new Tile(2525, 4777); private static final int portalId = 8987; public BobsIsland() { @@ -34,8 +28,8 @@ public class BobsIsland implements Random { public void execute() { SceneObject[] portals = SceneObjects.getNearest(portalId); - for(final SceneObject portal : portals){ - if(portal != null){ + for (final SceneObject portal : portals) { + if (portal != null) { portal.interact(SceneObjects.Option.FIRST); Time.sleep(new SleepCondition() { @Override @@ -45,7 +39,7 @@ public class BobsIsland implements Random { }, 10000); Time.sleep(1000); - if(center.distanceTo() > 24){ + if (center.distanceTo() > 24) { break; } } @@ -61,4 +55,9 @@ public class BobsIsland implements Random { public String getServer() { return "pkhonor"; } + + @Override + public RandomType getRandomType() { + return RandomType.SCRIPT; + } } diff --git a/src/main/java/org/parabot/randoms/pkhonor/Jail.java b/src/main/java/org/parabot/randoms/pkhonor/Jail.java index b27ec83..1da2501 100755 --- a/src/main/java/org/parabot/randoms/pkhonor/Jail.java +++ b/src/main/java/org/parabot/randoms/pkhonor/Jail.java @@ -1,8 +1,9 @@ package org.parabot.randoms.pkhonor; import org.parabot.environment.api.utils.Time; +import org.parabot.environment.randoms.Random; +import org.parabot.environment.randoms.RandomType; import org.parabot.environment.scripts.framework.SleepCondition; -import org.parabot.environment.scripts.randoms.Random; import org.rev317.min.api.methods.Inventory; import org.rev317.min.api.methods.Npcs; import org.rev317.min.api.methods.Players; @@ -11,7 +12,7 @@ import org.rev317.min.api.wrappers.Npc; import org.rev317.min.api.wrappers.SceneObject; /** - * Created with IntelliJ IDEA. User: Piet Jetse Date: 11-9-2014 Time: 22:22 + * @author Fryslan */ public class Jail implements Random { @@ -45,7 +46,7 @@ public class Jail implements Random { if (!Inventory.isFull()) { if (rock != null) { if (Players.getMyPlayer().getAnimation() == -1) { - rock.interact(0); + rock.interact(SceneObjects.Option.MINE); Time.sleep(new SleepCondition() { @Override public boolean isValid() { @@ -57,7 +58,7 @@ public class Jail implements Random { //Inventory is full depositting ores } else { - jailer.interact(0); + jailer.interact(Npcs.Option.TALK_TO); Time.sleep(new SleepCondition() { @Override @@ -70,7 +71,7 @@ public class Jail implements Random { //getting Pickaxe } else { - jailer.interact(0); + jailer.interact(Npcs.Option.TALK_TO); Time.sleep(new SleepCondition() { @Override public boolean isValid() { @@ -84,18 +85,18 @@ public class Jail implements Random { } } - private Npc getJailer(){ - for(Npc jailer : Npcs.getNearest(201)){ - if(jailer != null && jailer.getDef() != null){ + private Npc getJailer() { + for (Npc jailer : Npcs.getNearest(201)) { + if (jailer != null && jailer.getDef() != null) { return jailer; } } return null; } - private SceneObject getRock(){ - for(SceneObject rock : SceneObjects.getNearest(rocks)){ - if(rock != null){ + private SceneObject getRock() { + for (SceneObject rock : SceneObjects.getNearest(rocks)) { + if (rock != null) { return rock; } } @@ -111,4 +112,9 @@ public class Jail implements Random { public String getServer() { return "pkhonor"; } + + @Override + public RandomType getRandomType() { + return RandomType.SCRIPT; + } } diff --git a/src/main/java/org/parabot/randoms/pkhonor/MysteriousOldMan.java b/src/main/java/org/parabot/randoms/pkhonor/MysteriousOldMan.java index 89566a3..8ea0e87 100755 --- a/src/main/java/org/parabot/randoms/pkhonor/MysteriousOldMan.java +++ b/src/main/java/org/parabot/randoms/pkhonor/MysteriousOldMan.java @@ -1,14 +1,15 @@ package org.parabot.randoms.pkhonor; import org.parabot.environment.api.utils.Time; +import org.parabot.environment.randoms.Random; +import org.parabot.environment.randoms.RandomType; import org.parabot.environment.scripts.framework.SleepCondition; -import org.parabot.environment.scripts.randoms.Random; import org.rev317.min.api.methods.Npcs; import org.rev317.min.api.methods.Players; import org.rev317.min.api.wrappers.Npc; /** - * Created with IntelliJ IDEA. User: Piet Jetse Date: 12-9-2014 Time: 17:19 + * @author Fryslan */ public class MysteriousOldMan implements Random { @@ -52,4 +53,9 @@ public class MysteriousOldMan implements Random { public String getServer() { return "pkhonor"; } + + @Override + public RandomType getRandomType() { + return RandomType.SCRIPT; + } } diff --git a/src/main/java/org/parabot/randoms/pkhonor/PacketBlockInterceptor.java b/src/main/java/org/parabot/randoms/pkhonor/PacketBlockInterceptor.java new file mode 100644 index 0000000..9fb690e --- /dev/null +++ b/src/main/java/org/parabot/randoms/pkhonor/PacketBlockInterceptor.java @@ -0,0 +1,47 @@ +package org.parabot.randoms.pkhonor; + +import org.parabot.core.reflect.RefClass; +import org.parabot.core.reflect.RefField; +import org.parabot.environment.randoms.Random; +import org.parabot.environment.randoms.RandomType; +import org.rev317.min.Loader; + +/** + * @author EmmaStone + */ +public class PacketBlockInterceptor implements Random { + + @Override + public boolean activate() { + return !getField(); + } + + @Override + public void execute() { + setField(); + } + + private boolean getField() { + return new RefClass(Loader.getClient()).getField("PG").asBoolean(); + } + + private void setField() { + RefField refField = new RefClass(Loader.getClient()).getField("PG"); + refField.set(true); + } + + @Override + public String getName() { + return "Packet Block Interceptor"; + } + + @Override + public String getServer() { + return "pkhonor"; + } + + @Override + public RandomType getRandomType() { + return RandomType.SCRIPT; + } +} diff --git a/src/main/java/org/parabot/randoms/pkhonor/SandwichLady.java b/src/main/java/org/parabot/randoms/pkhonor/SandwichLady.java index 33ef95d..8fb676e 100755 --- a/src/main/java/org/parabot/randoms/pkhonor/SandwichLady.java +++ b/src/main/java/org/parabot/randoms/pkhonor/SandwichLady.java @@ -1,14 +1,15 @@ package org.parabot.randoms.pkhonor; import org.parabot.environment.api.utils.Time; +import org.parabot.environment.randoms.Random; +import org.parabot.environment.randoms.RandomType; import org.parabot.environment.scripts.framework.SleepCondition; -import org.parabot.environment.scripts.randoms.Random; import org.rev317.min.api.methods.Npcs; import org.rev317.min.api.methods.Players; import org.rev317.min.api.wrappers.Npc; /** - * Created with IntelliJ IDEA. User: Piet Jetse Date: 12-9-2014 Time: 16:13 + * @author Fryslan */ public class SandwichLady implements Random { @@ -52,4 +53,9 @@ public class SandwichLady implements Random { public String getServer() { return "pkhonor"; } + + @Override + public RandomType getRandomType() { + return RandomType.SCRIPT; + } } diff --git a/src/main/java/org/parabot/randoms/pkhonor/TriangleSandwich.java b/src/main/java/org/parabot/randoms/pkhonor/TriangleSandwich.java index 84c2fb9..544d6b4 100755 --- a/src/main/java/org/parabot/randoms/pkhonor/TriangleSandwich.java +++ b/src/main/java/org/parabot/randoms/pkhonor/TriangleSandwich.java @@ -1,21 +1,23 @@ package org.parabot.randoms.pkhonor; import org.parabot.environment.api.utils.Time; +import org.parabot.environment.randoms.Random; +import org.parabot.environment.randoms.RandomType; import org.parabot.environment.scripts.framework.SleepCondition; -import org.parabot.environment.scripts.randoms.Random; import org.rev317.min.api.methods.Inventory; import org.rev317.min.api.wrappers.Item; /** - * Created with IntelliJ IDEA. User: Piet Jetse Date: 11-9-2014 Time: 22:29 + * @author Fryslan */ public class TriangleSandwich implements Random { - Item item; + private Item item; + private final int id = 6963; @Override public boolean activate() { - for (Item i : Inventory.getItems(6963)) { + for (Item i : Inventory.getItems(id)) { if (i != null) { this.item = i; return true; @@ -31,7 +33,7 @@ public class TriangleSandwich implements Random { Time.sleep(new SleepCondition() { @Override public boolean isValid() { - return Inventory.getCount(6963) == 0; + return Inventory.getCount(id) == 0; } }, 1500); } @@ -46,4 +48,9 @@ public class TriangleSandwich implements Random { public String getServer() { return "pkhonor"; } + + @Override + public RandomType getRandomType() { + return RandomType.SCRIPT; + } }