diff --git a/src/main/java/org/parabot/randoms/Core.java b/src/main/java/org/parabot/randoms/Core.java index 1d45bd9..d51a62f 100755 --- a/src/main/java/org/parabot/randoms/Core.java +++ b/src/main/java/org/parabot/randoms/Core.java @@ -7,6 +7,7 @@ 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.oswar.ItemPicker; import org.parabot.randoms.pkhonor.*; import org.parabot.randoms.runewild.MacAddressFix; import org.parabot.randoms.soulplay.RandomUUID; @@ -44,6 +45,9 @@ public class Core { // SoulPlay randoms.add(new RandomUUID()); + //OSWar + randoms.add(new ItemPicker()); + StringBuilder sb = new StringBuilder(); sb.append("Possible randoms:\n"); int randomCount = 0; 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; + } +}