Merge pull request #62 from AlexanderBielen/feature/oswar-item-pick-event

[FEATURE]Added OSWar pick item random event
This commit is contained in:
Jeroen Ketelaar
2018-11-09 16:06:44 -06:00
committed by GitHub
2 changed files with 69 additions and 0 deletions
@@ -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;
@@ -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;
}
}