diff --git a/src/main/java/ParaScript/Main.java b/src/main/java/ParaScript/Main.java index ba0dd0a..9f4a452 100644 --- a/src/main/java/ParaScript/Main.java +++ b/src/main/java/ParaScript/Main.java @@ -35,6 +35,7 @@ public class Main extends Script implements MessageListener, Paintable { Variables.setBaseExp(); + strategies.add(new UpdateExperience()); strategies.add(new ScriptState()); if(Variables.skill_to_train == Skill.WOODCUTTING) { strategies.add(new MakeArrowShafts()); diff --git a/src/main/java/ParaScript/data/Variables.java b/src/main/java/ParaScript/data/Variables.java index 2647716..6b11b1f 100644 --- a/src/main/java/ParaScript/data/Variables.java +++ b/src/main/java/ParaScript/data/Variables.java @@ -13,6 +13,7 @@ public class Variables { public static int items_gained = 0; public static double base_experience = 0; public static double exp_gained = 0; + public static int update_experience_tick = 0; // Login Panel private static String username = ""; diff --git a/src/main/java/ParaScript/strategies/Fish.java b/src/main/java/ParaScript/strategies/Fish.java index 36e1f09..1148ffa 100644 --- a/src/main/java/ParaScript/strategies/Fish.java +++ b/src/main/java/ParaScript/strategies/Fish.java @@ -32,14 +32,17 @@ public class Fish implements Strategy { if (Variables.shouldDropItems()) { if (Inventory.getCount(441) >= 1) Inventory.getItem(441).interact(Items.Option.DROP); } + for (int item_id: items) if (Inventory.getItem(item_id + 1) != null) Menu.sendAction(431, item_id, Inventory.getItem(item_id + 1).getSlot(), 5064, 3); + fishingSpot.interact(Variables.fishing_type_selected); Time.sleep(1000); + // Wait for the Player to finish fishing (max 60 seconds) Time.sleep(() -> Players.getMyPlayer().getAnimation() == -1, 60000); - } catch (Exception err){ + } catch (Exception ಠ_ಠ){ System.out.println("Fishing error: ¯\\_(ツ)_/¯"); } } diff --git a/src/main/java/ParaScript/strategies/UpdateExperience.java b/src/main/java/ParaScript/strategies/UpdateExperience.java new file mode 100644 index 0000000..6b97f9e --- /dev/null +++ b/src/main/java/ParaScript/strategies/UpdateExperience.java @@ -0,0 +1,23 @@ +package ParaScript.strategies; + +import ParaScript.data.Variables; +import org.parabot.environment.api.utils.Time; +import org.parabot.environment.scripts.framework.Strategy; + +public class UpdateExperience implements Strategy { + + @Override + public boolean activate() { + if (++Variables.update_experience_tick >= 1000) { + return true; + } + return false; + } + + @Override + public void execute() { + Variables.updateExpGained(); + Variables.update_experience_tick = 0; + Time.sleep(500); + } +} \ No newline at end of file