Merge pull request #1 from matt123337/patch-2

Patch 2
This commit is contained in:
matt123337
2014-07-16 14:25:37 -04:00
6 changed files with 90 additions and 20 deletions
@@ -0,0 +1,35 @@
package org.rev317.min.api.events;
public final class ActionEvent{
private int index,cmd1,cmd2,cmd3,action;
public ActionEvent(int action,int cmd1,int cmd2, int cmd3,int index){
this.action = action;
this.cmd1 = cmd1;
this.cmd2 = cmd2;
this.cmd3 = cmd3;
this.index = index;
}
public int getCmd1(){
return cmd1;
}
public int getCmd2(){
return cmd2;
}
public int getCmd3(){
return cmd3;
}
public int getAction(){
return action;
}
public int getIndex(){
return index;
}
}
@@ -0,0 +1,9 @@
package org.rev317.min.api.events.listeners;
import org.rev317.min.api.events.ActionEvent;
public interface ActionListener{
public void onGameAction(ActionEvent event);
}
+4 -5
View File
@@ -170,23 +170,22 @@ public class Menu {
* @param cmd3 * @param cmd3
*/ */
public static void sendAction(int action, int cmd1, int cmd2, int cmd3) { public static void sendAction(int action, int cmd1, int cmd2, int cmd3) {
sendAction(action, cmd1, cmd2, cmd3, 0); sendAction(action, cmd1, cmd2, cmd3, 1);
} }
/** /**
* Sends an action to the client * Sends an action to the client
* @param action * @param action
* @param cmd1 * @param cmd1
* @param cmd2 * @param cmd2
* @param cmd3 * @param cmd3
* @param cmd4 * @param index
*/ */
public static void sendAction(int action, int cmd1, int cmd2, int cmd3, int cmd4) { public static void sendAction(int action, int cmd1, int cmd2, int cmd3, int index) {
if (constants == null) { if (constants == null) {
constants = Context.getInstance().getHookParser().getConstants(); constants = Context.getInstance().getHookParser().getConstants();
} }
int index = 0;
Client client = Loader.getClient(); Client client = Loader.getClient();
client.getMenuAction1()[index] = cmd1; client.getMenuAction1()[index] = cmd1;
+9 -13
View File
@@ -9,11 +9,11 @@ import org.rev317.min.Loader;
*/ */
public enum Skill { public enum Skill {
ATTACK(0), DEFENSE(1), STRENGTH(2), HITPOINTS(3), CONSTITUTION(3), RANGE(4), PRAYER( ATTACK, DEFENSE, STRENGTH, HITPOINTS, CONSTITUTION, RANGE, PRAYER
5), MAGIC(6), COOKING(7), WOODCUTTING(8), FLETCHING(9), FISHING(10), FIREMAKING( , MAGIC, COOKING, WOODCUTTING, FLETCHING, FISHING, FIREMAKING
11), CRAFTING(12), SMITHING(13), MINING(14), HERBLORE(15), HERBLAW( , CRAFTING, SMITHING, MINING, HERBLORE, HERBLAW
15), AGILITY(16), THIEVING(17), SLAYER(18), FARMING(19), RUNECRAFTING( , AGILITY, THIEVING, SLAYER, FARMING, RUNECRAFTING
20), HUNTER(21), CONSTRUCTION(22), SUMMONING(23), DUNGEONEERING(24); , HUNTER, CONSTRUCTION, SUMMONING, DUNGEONEERING;
private static final int[] EXPERIENCE = { 0, 0, 83, 174, 276, 388, 512, private static final int[] EXPERIENCE = { 0, 0, 83, 174, 276, 388, 512,
650, 801, 969, 1154, 1358, 1584, 1833, 2107, 2411, 2746, 3115, 650, 801, 969, 1154, 1358, 1584, 1833, 2107, 2411, 2746, 3115,
@@ -32,17 +32,12 @@ public enum Skill {
42769801, 47221641, 52136869, 57563718, 63555443, 70170840, 42769801, 47221641, 52136869, 57563718, 63555443, 70170840,
77474828, 85539082, 94442737, 104273167 }; 77474828, 85539082, 94442737, 104273167 };
private int index;
private Skill(int index) {
this.index = index;
}
/** /**
* @Deprecated use Skill.ordinal() instead
* Returns the skill's index. * Returns the skill's index.
*/ */
public int getIndex() { public int getIndex() {
return this.index; return ordinal();
} }
/** /**
@@ -129,7 +124,8 @@ public enum Skill {
* Done by Bears * Done by Bears
*/ */
public static final int getCurrentLevel(int index) { public static final int getCurrentLevel(int index) {
return Loader.getClient().getCurrentStats()[index]; //return Loader.getClient().getCurrentStats()[index];
return getRealLevel(index); //TODO fix this method, it invokes a method not in the client accessor.
} }
/** /**
+10 -2
View File
@@ -4,22 +4,30 @@ import org.rev317.min.Loader;
import org.rev317.min.accessors.Client; import org.rev317.min.accessors.Client;
import org.rev317.min.debug.DActions; import org.rev317.min.debug.DActions;
import org.rev317.min.api.events.ActionEvent;
import org.rev317.min.script.ScriptEngine;
/** /**
* *
* @author Everel * @author Everel
* * @author mat123337
*
*/ */
public class MenuAction { public class MenuAction {
public static void intercept(int index) { public static void intercept(int index) {
if(DActions.debugActions()) {
Client client = Loader.getClient(); Client client = Loader.getClient();
int action1 = client.getMenuAction1()[index]; int action1 = client.getMenuAction1()[index];
int action2 = client.getMenuAction2()[index]; int action2 = client.getMenuAction2()[index];
int action3 = client.getMenuAction3()[index]; int action3 = client.getMenuAction3()[index];
int actionId = client.getMenuActionId()[index]; int actionId = client.getMenuActionId()[index];
if(DActions.debugActions()) {
System.out.println(String.format("[index: %d, action1: %d, action2: %d, action3: %d, id: %d]", index, action1, action2, action3, actionId)); System.out.println(String.format("[index: %d, action1: %d, action2: %d, action3: %d, id: %d]", index, action1, action2, action3, actionId));
} }
final ActionEvent actionEvent = new ActionEvent(actionId,action1,action2,action3,index);
ScriptEngine.getInstance().dispatch(actionEvent);
} }
} }
@@ -12,10 +12,13 @@ import org.parabot.environment.api.interfaces.Paintable;
import org.parabot.environment.scripts.Script; import org.parabot.environment.scripts.Script;
import org.rev317.min.api.events.MessageEvent; import org.rev317.min.api.events.MessageEvent;
import org.rev317.min.api.events.listeners.MessageListener; import org.rev317.min.api.events.listeners.MessageListener;
import org.rev317.min.api.events.ActionEvent;
import org.rev317.min.api.events.listeners.ActionListener;
/** /**
* *
* @author Everel * @author Everel
* @author matt123337
* *
*/ */
public class ScriptEngine { public class ScriptEngine {
@@ -23,6 +26,7 @@ public class ScriptEngine {
private ArrayList<MouseListener> mouseListeners; private ArrayList<MouseListener> mouseListeners;
private ArrayList<MouseMotionListener> mouseMotionListeners; private ArrayList<MouseMotionListener> mouseMotionListeners;
private ArrayList<MessageListener> messageListeners; private ArrayList<MessageListener> messageListeners;
private ArrayList<ActionListener> actionListeners;
private Script script = null; private Script script = null;
@@ -30,6 +34,7 @@ public class ScriptEngine {
this.mouseListeners = new ArrayList<MouseListener>(); this.mouseListeners = new ArrayList<MouseListener>();
this.mouseMotionListeners = new ArrayList<MouseMotionListener>(); this.mouseMotionListeners = new ArrayList<MouseMotionListener>();
this.messageListeners = new ArrayList<MessageListener>(); this.messageListeners = new ArrayList<MessageListener>();
this.actionListeners = new ArrayList<ActionListener>();
instances.put(Context.getInstance(), this); instances.put(Context.getInstance(), this);
} }
@@ -41,6 +46,18 @@ public class ScriptEngine {
return new ScriptEngine(); return new ScriptEngine();
} }
public void addActionListener(ActionListener a){
actionListeners.add(a);
}
public void removeActionListener(ActionListener a){
actionListeners.remove(a);
}
public void clearActionListeners(){
actionListeners.clear();
}
public void addMouseListener(MouseListener mouseListener) { public void addMouseListener(MouseListener mouseListener) {
mouseListeners.add(mouseListener); mouseListeners.add(mouseListener);
} }
@@ -152,6 +169,12 @@ public class ScriptEngine {
messageListener.messageReceived(event); messageListener.messageReceived(event);
} }
} }
public void dispatch(ActionEvent event) {
for(final ActionListener a : actionListeners) {
a.onGameAction(event);
}
}
} }