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