Compare commits
2 Commits
8752f0f121
...
6ae9c22cb3
Author | SHA1 | Date | |
---|---|---|---|
6ae9c22cb3
|
|||
9609f2ba3e
|
@ -2,21 +2,28 @@ package io.reisub.dreambot.cagility;
|
||||
|
||||
import io.reisub.dreambot.cagility.tasks.HandleObstacle;
|
||||
import io.reisub.dreambot.cagility.tasks.PickupMark;
|
||||
import io.reisub.dreambot.util.CTaskScript;
|
||||
import io.reisub.dreambot.util.Constants;
|
||||
import io.reisub.dreambot.util.randomevents.GenieSolver;
|
||||
import io.reisub.dreambot.util.tasks.Eat;
|
||||
import io.reisub.dreambot.util.tasks.kitten.KittenTask;
|
||||
import org.dreambot.api.methods.skills.Skill;
|
||||
import org.dreambot.api.script.Category;
|
||||
import org.dreambot.api.script.ScriptManifest;
|
||||
import org.dreambot.api.script.impl.TaskScript;
|
||||
import org.dreambot.api.utilities.Timer;
|
||||
|
||||
import java.awt.*;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@ScriptManifest(category = Category.AGILITY, name = "CAgility", description = "Runs laps for days", author = Constants.AUTHOR, version = 1.0)
|
||||
public class CAgility extends TaskScript {
|
||||
public class CAgility extends CTaskScript {
|
||||
@Override
|
||||
public void onStart() {
|
||||
getRandomManager().registerSolver(new GenieSolver(GenieSolver.Skill.HERBLORE));
|
||||
|
||||
getUI().addSkills(Skill.AGILITY);
|
||||
getUI().setCustomLines(1);
|
||||
|
||||
addNodes(
|
||||
new Eat(),
|
||||
KittenTask.createKittenTask(),
|
||||
@ -24,4 +31,12 @@ public class CAgility extends TaskScript {
|
||||
new PickupMark()
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPaint(Graphics g) {
|
||||
super.onPaint(g);
|
||||
|
||||
int marks = PickupMark.marksPickedUp;
|
||||
getUI().drawString("Marks picked up: " + marks + " (" + getUI().getHourlyRate(marks) + " per hour)");
|
||||
}
|
||||
}
|
||||
|
@ -11,6 +11,8 @@ import org.dreambot.api.wrappers.items.GroundItem;
|
||||
import org.dreambot.api.wrappers.items.Item;
|
||||
|
||||
public class PickupMark extends TaskNode {
|
||||
public static int marksPickedUp = 0;
|
||||
|
||||
@Override
|
||||
public boolean accept() {
|
||||
GroundItem mark = GroundItems.closest(Constants.MARK_OF_GRACE);
|
||||
@ -29,10 +31,12 @@ public class PickupMark extends TaskNode {
|
||||
|
||||
mark.interact();
|
||||
|
||||
MethodContext.sleepUntil(() -> {
|
||||
if (MethodContext.sleepUntil(() -> {
|
||||
Item currentMarks = Inventory.get(Constants.MARK_OF_GRACE);
|
||||
return currentMarks != null && currentMarks.getAmount() > count;
|
||||
}, Calculations.random(5000, 5500));
|
||||
}, Calculations.random(5000, 5500))) {
|
||||
marksPickedUp++;
|
||||
}
|
||||
|
||||
return Calculations.random(250, 400);
|
||||
}
|
||||
|
@ -3,6 +3,7 @@
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/resources" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
|
60
Util/src/io/reisub/dreambot/util/CAbstractScript.java
Normal file
60
Util/src/io/reisub/dreambot/util/CAbstractScript.java
Normal file
@ -0,0 +1,60 @@
|
||||
package io.reisub.dreambot.util;
|
||||
|
||||
import io.reisub.dreambot.util.ui.UI;
|
||||
import org.dreambot.api.script.AbstractScript;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.event.MouseListener;
|
||||
|
||||
public abstract class CAbstractScript extends AbstractScript implements MouseListener {
|
||||
private final UI ui;
|
||||
|
||||
public CAbstractScript() {
|
||||
ui = UI.getInstance(getSDNName());
|
||||
}
|
||||
|
||||
public UI getUI() {
|
||||
return ui;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPaint(Graphics g){
|
||||
ui.draw(g);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
ui.pause();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
ui.resume();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent mouseEvent) {
|
||||
ui.mouseClicked(mouseEvent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mousePressed(MouseEvent mouseEvent) {
|
||||
ui.mousePressed(mouseEvent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseReleased(MouseEvent mouseEvent) {
|
||||
ui.mouseReleased(mouseEvent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseEntered(MouseEvent mouseEvent) {
|
||||
ui.mouseEntered(mouseEvent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseExited(MouseEvent mouseEvent) {
|
||||
ui.mouseExited(mouseEvent);
|
||||
}
|
||||
}
|
60
Util/src/io/reisub/dreambot/util/CTaskScript.java
Normal file
60
Util/src/io/reisub/dreambot/util/CTaskScript.java
Normal file
@ -0,0 +1,60 @@
|
||||
package io.reisub.dreambot.util;
|
||||
|
||||
import io.reisub.dreambot.util.ui.UI;
|
||||
import org.dreambot.api.script.impl.TaskScript;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.event.MouseListener;
|
||||
|
||||
public abstract class CTaskScript extends TaskScript implements MouseListener {
|
||||
private final UI ui;
|
||||
|
||||
public CTaskScript() {
|
||||
ui = UI.getInstance(getSDNName());
|
||||
}
|
||||
|
||||
public UI getUI() {
|
||||
return ui;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPaint(Graphics g){
|
||||
ui.draw(g);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
ui.pause();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
ui.resume();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent mouseEvent) {
|
||||
ui.mouseClicked(mouseEvent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mousePressed(MouseEvent mouseEvent) {
|
||||
ui.mousePressed(mouseEvent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseReleased(MouseEvent mouseEvent) {
|
||||
ui.mouseReleased(mouseEvent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseEntered(MouseEvent mouseEvent) {
|
||||
ui.mouseEntered(mouseEvent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseExited(MouseEvent mouseEvent) {
|
||||
ui.mouseExited(mouseEvent);
|
||||
}
|
||||
}
|
189
Util/src/io/reisub/dreambot/util/ui/UI.java
Normal file
189
Util/src/io/reisub/dreambot/util/ui/UI.java
Normal file
@ -0,0 +1,189 @@
|
||||
package io.reisub.dreambot.util.ui;
|
||||
|
||||
import org.dreambot.api.methods.skills.Skill;
|
||||
import org.dreambot.api.methods.skills.SkillTracker;
|
||||
import org.dreambot.api.methods.skills.Skills;
|
||||
import org.dreambot.api.script.ScriptManager;
|
||||
import org.dreambot.api.utilities.Timer;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.event.MouseListener;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
public class UI implements MouseListener {
|
||||
private final Color blue = new Color(23, 147, 209);
|
||||
private final Color gray = new Color(51, 51, 51);
|
||||
private final Color grayTransparent = new Color(51, 51, 51, 245);
|
||||
private final String scriptName;
|
||||
private static UI ui;
|
||||
private Graphics g;
|
||||
private int X = 0;
|
||||
private int Y = 0;
|
||||
private final int X_PADDING = 5;
|
||||
private final int Y_PADDING = 35;
|
||||
private final int LINE_SPACING = 20;
|
||||
private int lines = 0;
|
||||
private boolean hide;
|
||||
private boolean drawTime = true;
|
||||
private boolean drawExperience = true;
|
||||
private final java.util.List<Skill> skillsToTrack;
|
||||
private int customLines = 0;
|
||||
private final Timer timer;
|
||||
|
||||
public static UI getInstance(String scriptName) {
|
||||
if (ui == null) {
|
||||
ui = new UI(scriptName);
|
||||
}
|
||||
|
||||
return ui;
|
||||
}
|
||||
|
||||
private UI(String scriptName) {
|
||||
this.scriptName = scriptName;
|
||||
hide = false;
|
||||
timer = new Timer();
|
||||
skillsToTrack = new ArrayList<>();
|
||||
}
|
||||
|
||||
public void pause() {
|
||||
timer.pause();
|
||||
}
|
||||
|
||||
public void resume() {
|
||||
timer.resume();
|
||||
}
|
||||
|
||||
public void addSkills(Skill... skills) {
|
||||
SkillTracker.start(skills);
|
||||
skillsToTrack.addAll(Arrays.asList(skills));
|
||||
}
|
||||
|
||||
public void setTime(boolean b) {
|
||||
this.drawTime = b;
|
||||
}
|
||||
|
||||
public void setCustomLines(int customLines) {
|
||||
this.customLines = customLines;
|
||||
}
|
||||
|
||||
public int getHourlyRate(int current) {
|
||||
return timer.getHourlyRate(current);
|
||||
}
|
||||
|
||||
public void draw(Graphics g) {
|
||||
this.g = g;
|
||||
this.lines = 0;
|
||||
|
||||
drawUIToggle();
|
||||
if (hide) return;
|
||||
|
||||
drawInfoBox();
|
||||
|
||||
if (ScriptManager.getScriptManager().isPaused()) {
|
||||
drawString(scriptName + " [PAUSED]", Color.red);
|
||||
} else {
|
||||
drawString(scriptName, blue);
|
||||
}
|
||||
|
||||
if (drawTime) drawString("Time running: " + timer.formatTime());
|
||||
if (drawExperience) drawExperience();
|
||||
}
|
||||
|
||||
private void drawUIToggle() {
|
||||
int w = 40;
|
||||
int h = 15;
|
||||
|
||||
g.setColor(blue);
|
||||
g.drawRect(X, Y, w, h);
|
||||
|
||||
g.setColor(gray);
|
||||
g.fillRect(X+1, Y+1, w-1, h-1);
|
||||
|
||||
g.setColor(Color.white);
|
||||
if (hide) {
|
||||
g.drawString("show", X+5, Y+12);
|
||||
} else {
|
||||
g.drawString("hide", X+5, Y+12);
|
||||
}
|
||||
}
|
||||
|
||||
private void drawInfoBox() {
|
||||
int x = 0;
|
||||
int y = 20;
|
||||
int w = 250;
|
||||
|
||||
int expectedLines = 1;
|
||||
expectedLines = drawTime ? expectedLines + 1 : expectedLines;
|
||||
if (drawExperience) {
|
||||
expectedLines += skillsToTrack.size() * 3;
|
||||
}
|
||||
expectedLines += customLines;
|
||||
|
||||
int h = expectedLines * 20;
|
||||
|
||||
g.setColor(blue);
|
||||
g.drawRect(x,y, w, h);
|
||||
|
||||
g.setColor(grayTransparent);
|
||||
g.fillRect(x+1, y+1, w-1, h-1);
|
||||
}
|
||||
|
||||
private void drawExperience() {
|
||||
for (Skill s : skillsToTrack) {
|
||||
drawString(s.getName() + ": " + Skills.getRealLevel(s) + " (" + SkillTracker.getGainedLevels(s) + ")");
|
||||
drawString(SkillTracker.getGainedExperiencePerHour(s) + " xp/h (" + SkillTracker.getGainedLevels(s) + ")", 10);
|
||||
drawString("TTL: " + Timer.formatTime(SkillTracker.getTimeToLevel(s)), 10);
|
||||
}
|
||||
}
|
||||
|
||||
public void drawString(String s) {
|
||||
drawString(s, Color.white);
|
||||
}
|
||||
|
||||
public void drawString(String s, Color color) {
|
||||
drawString(s, color, 0);
|
||||
}
|
||||
|
||||
public void drawString(String s, int xPadding) {
|
||||
drawString(s, Color.white, xPadding);
|
||||
}
|
||||
|
||||
public void drawString(String s, Color color, int xPadding) {
|
||||
g.setColor(color);
|
||||
g.drawString(s, X_PADDING + xPadding, Y_PADDING + (LINE_SPACING * lines));
|
||||
lines++;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent mouseEvent) {
|
||||
if (mouseEvent.getButton() == 1) {
|
||||
Rectangle r = new Rectangle(0, 0, 40, 15);
|
||||
if (r.contains(mouseEvent.getPoint())) {
|
||||
hide = !hide;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mousePressed(MouseEvent mouseEvent) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseReleased(MouseEvent mouseEvent) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseEntered(MouseEvent mouseEvent) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseExited(MouseEvent mouseEvent) {
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user