diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index 52abc0b..bfb3792 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -10,7 +10,7 @@
-
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_parabot_317_api_minified_1_21_3.xml b/.idea/libraries/Maven__org_parabot_317_api_minified_1_21_3.xml
deleted file mode 100644
index 50d2f12..0000000
--- a/.idea/libraries/Maven__org_parabot_317_api_minified_1_21_3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_parabot_client_2_7.xml b/.idea/libraries/Maven__org_parabot_client_2_7.xml
deleted file mode 100644
index c6b0498..0000000
--- a/.idea/libraries/Maven__org_parabot_client_2_7.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_parabot_internal_api_1_52_1.xml b/.idea/libraries/Maven__org_parabot_internal_api_1_52_1.xml
deleted file mode 100644
index d2756be..0000000
--- a/.idea/libraries/Maven__org_parabot_internal_api_1_52_1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index d241bb9..b640e48 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,12 +22,12 @@
org.parabot
client
- 2.7
+ 2.8.1
org.parabot
317-api-minified
- 1.21.3
+ 1.21.5
diff --git a/script-factory.iml b/script-factory.iml
index a2a044f..946d483 100644
--- a/script-factory.iml
+++ b/script-factory.iml
@@ -1,6 +1,8 @@
-
+
+
+
@@ -9,10 +11,10 @@
-
+
-
-
+
+
\ No newline at end of file
diff --git a/src/main/java/scriptfactory/Core.java b/src/main/java/scriptfactory/Core.java
index 1a0ecb3..680c563 100644
--- a/src/main/java/scriptfactory/Core.java
+++ b/src/main/java/scriptfactory/Core.java
@@ -1,5 +1,6 @@
package scriptfactory;
+import org.parabot.environment.api.utils.Timer;
import scriptfactory.GUI.GUI;
import scriptfactory.Strategies.RunLoop;
import scriptfactory.Actions.Action;
@@ -20,13 +21,14 @@ import static scriptfactory.VarsMethods.log;
* Welcome to AIO AIO - ScriptFactory. Make your own scripts!
*/
-@ScriptManifest(author = "Before", name = "Script Factory 1.9", category = Category.OTHER, version = 1.9, description = "Create your own scripts!", servers = "All")
+@ScriptManifest(author = "Before", name = "Script Factory 1.10", category = Category.OTHER, version = 1.10, description = "Create your own scripts!", servers = "All")
public class Core extends Script implements Paintable {
private ArrayList actions = new ArrayList<>();
private ArrayList strategies = new ArrayList<>();
private GUI gui;
+ public Timer SCRIPT_TIMER;
@Override
public boolean onExecute() {
@@ -45,12 +47,15 @@ public class Core extends Script implements Paintable {
}
}
+
if (!gui.scriptStarted)
{
gui.killAllGuis();
VarsMethods.savescript(actions, new File(VarsMethods.CACHED_LOC));
return false;
}
+ VarsMethods.calculateBaseXP();
+ SCRIPT_TIMER = new Timer();
strategies.add(new RunLoop(actions));
provide(strategies);
@@ -59,20 +64,33 @@ public class Core extends Script implements Paintable {
}
@Override
- public void paint(Graphics g) {
- try { g.setColor(Color.BLUE);
- g.fillRect(560, 310, 170, 70);
+ public void paint(Graphics graphics) {
+ try {
+ Graphics2D g = (Graphics2D) graphics;
+ Color c2 = new Color(44, 62, 80, 160);
+ g.setColor(c2);
+ g.setBackground(c2);
+ g.fillRect(4, 232, 160, 20);
- g.setColor(Color.YELLOW);
- g.setFont(new Font("Cordia New", Font.PLAIN, 16));
- g.drawString("Script Factory", 580, 330);
- g.setFont(new Font("Cordia New", Font.PLAIN, 12));
- g.drawString("Currently executing: ", 580, 347);
- g.drawString(VarsMethods.currentAction, 580, 360);
- g.drawString(VarsMethods.currentSubscript.equals("") ? "" : "Subscript " + VarsMethods.currentSubscript, 580, 373);}
- catch (Exception e)
- {
- log("Found it");
+ Color c = new Color(44, 62, 80, 80);
+ g.setColor(c);
+ g.setBackground(c);
+ g.fillRect(4, 252, 160, 85);
+
+ g.setColor(Color.WHITE);
+ g.setFont(new Font("Arial", Font.BOLD, 14));
+ g.drawString("Script Factory", 9, 247);
+ g.setFont(new Font("Arial", Font.BOLD, 11));
+ if (SCRIPT_TIMER == null) {
+ g.drawString("Awaiting Start:", 9, 270);
+ return;
+ }
+ g.drawString("Currently Executing:", 9, 270);
+ g.drawString(VarsMethods.currentAction, 9, 290);
+ g.drawString("EXP(P/H): " + VarsMethods.formatNumber((int) VarsMethods.gainedXP) + "(" + VarsMethods.formatNumber(SCRIPT_TIMER.getPerHour((int) VarsMethods.gainedXP)) + ")", 9, 310);
+ g.drawString("Runtime: " + SCRIPT_TIMER.toString(), 9, 330);
+ } catch (Exception e) {
+ log("Paint Error");
}
}
}
diff --git a/src/main/java/scriptfactory/Strategies/RunLoop.java b/src/main/java/scriptfactory/Strategies/RunLoop.java
index d4a55d3..b414439 100644
--- a/src/main/java/scriptfactory/Strategies/RunLoop.java
+++ b/src/main/java/scriptfactory/Strategies/RunLoop.java
@@ -3,6 +3,7 @@ package scriptfactory.Strategies;
import scriptfactory.Actions.Action;
import org.parabot.environment.scripts.framework.Strategy;
+import scriptfactory.VarsMethods;
import java.util.ArrayList;
@@ -25,6 +26,7 @@ public class RunLoop implements Strategy {
@Override
public void execute() {
+ VarsMethods.calculateGainedXP();
actionExecutor.execute();
}
diff --git a/src/main/java/scriptfactory/VarsMethods.java b/src/main/java/scriptfactory/VarsMethods.java
index d6737de..47b1d97 100644
--- a/src/main/java/scriptfactory/VarsMethods.java
+++ b/src/main/java/scriptfactory/VarsMethods.java
@@ -1,10 +1,7 @@
package scriptfactory;
import org.parabot.core.ui.Logger;
-import org.rev317.min.api.methods.GroundItems;
-import org.rev317.min.api.methods.Items;
-import org.rev317.min.api.methods.Npcs;
-import org.rev317.min.api.methods.SceneObjects;
+import org.rev317.min.api.methods.*;
import scriptfactory.Actions.Action;
import scriptfactory.Actions.Logic.Endif;
import scriptfactory.Actions.Logic.If;
@@ -13,12 +10,15 @@ import scriptfactory.Actions.Logic.IfNot;
import javax.swing.*;
import java.awt.*;
import java.io.*;
+import java.text.DecimalFormat;
import java.util.ArrayList;
public class VarsMethods {
public static int tickSpeed = 1200;
public static String currentAction = "";
public static String currentSubscript = "";
+ public static int baseXP = 0;
+ public static int gainedXP = 0;
public final static String DEFAULT_DIR = System.getProperty("user.home") + System.getProperty("file.separator") + "Parabot" + System.getProperty("file.separator") + "Script Factory";
public final static String CACHED_LOC = DEFAULT_DIR + System.getProperty("file.separator") + "Your Previous Script.txt";
@@ -170,4 +170,31 @@ public class VarsMethods {
return GroundItems.Option.valueOf(option);
}
}
+
+ public static String formatNumber(int number) {
+ DecimalFormat nf = new DecimalFormat("0.0");
+ double i = number;
+ if (i >= 1000000) {
+ return nf.format((i / 1000000)) + "M";
+ }
+ if (i >= 1000) {
+ return nf.format((i / 1000)) + "K";
+ }
+ return "" + number;
+ }
+
+ public static void calculateBaseXP(){
+ baseXP = 0;
+ for (Skill skill : Skill.values()){
+ baseXP += skill.getExperience();
+ }
+ }
+
+ public static void calculateGainedXP(){
+ gainedXP = 0;
+ for (Skill skill : Skill.values()){
+ gainedXP += skill.getExperience();
+ }
+ gainedXP -= baseXP;
+ }
}
diff --git a/target/classes/config.xml b/target/classes/config.xml
index 1698320..6156235 100644
--- a/target/classes/config.xml
+++ b/target/classes/config.xml
@@ -1,6 +1,6 @@
-
+
diff --git a/target/classes/scriptfactory/Actions/Action.class b/target/classes/scriptfactory/Actions/Action.class
index db9c9e8..b4638ca 100644
Binary files a/target/classes/scriptfactory/Actions/Action.class and b/target/classes/scriptfactory/Actions/Action.class differ
diff --git a/target/classes/scriptfactory/Actions/Logic/LogicHandler$1.class b/target/classes/scriptfactory/Actions/Logic/LogicHandler$1.class
index df64c23..dfa94fe 100644
Binary files a/target/classes/scriptfactory/Actions/Logic/LogicHandler$1.class and b/target/classes/scriptfactory/Actions/Logic/LogicHandler$1.class differ
diff --git a/target/classes/scriptfactory/Actions/Logic/LogicHandler.class b/target/classes/scriptfactory/Actions/Logic/LogicHandler.class
index efa3c44..0f694a0 100644
Binary files a/target/classes/scriptfactory/Actions/Logic/LogicHandler.class and b/target/classes/scriptfactory/Actions/Logic/LogicHandler.class differ
diff --git a/target/classes/scriptfactory/Core.class b/target/classes/scriptfactory/Core.class
index f844474..9fe0d52 100644
Binary files a/target/classes/scriptfactory/Core.class and b/target/classes/scriptfactory/Core.class differ
diff --git a/target/classes/scriptfactory/NewGuis/ConditionGuiInfo.class b/target/classes/scriptfactory/NewGuis/ConditionGuiInfo.class
index fa4c4fe..7e33a70 100644
Binary files a/target/classes/scriptfactory/NewGuis/ConditionGuiInfo.class and b/target/classes/scriptfactory/NewGuis/ConditionGuiInfo.class differ
diff --git a/target/classes/scriptfactory/Strategies/ActionExecutor.class b/target/classes/scriptfactory/Strategies/ActionExecutor.class
index 40d1064..96633da 100644
Binary files a/target/classes/scriptfactory/Strategies/ActionExecutor.class and b/target/classes/scriptfactory/Strategies/ActionExecutor.class differ
diff --git a/target/classes/scriptfactory/Strategies/RunLoop.class b/target/classes/scriptfactory/Strategies/RunLoop.class
index 0f16f1d..706873f 100644
Binary files a/target/classes/scriptfactory/Strategies/RunLoop.class and b/target/classes/scriptfactory/Strategies/RunLoop.class differ
diff --git a/target/classes/scriptfactory/VarsMethods.class b/target/classes/scriptfactory/VarsMethods.class
index a938c52..d7c94b0 100644
Binary files a/target/classes/scriptfactory/VarsMethods.class and b/target/classes/scriptfactory/VarsMethods.class differ