Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.*;
- import java.awt.event.*;
- import java.awt.Font;
- import java.awt.event.MouseEvent;
- import org.rsbot.event.events.MessageEvent;
- import org.rsbot.event.listeners.MessageListener;
- import org.rsbot.event.listeners.PaintListener;
- import org.rsbot.script.Script;
- import org.rsbot.script.ScriptManifest;
- import org.rsbot.script.util.Timer;
- import org.rsbot.script.methods.Game;
- import org.rsbot.script.wrappers.RSArea;
- import org.rsbot.script.wrappers.RSNPC;
- import org.rsbot.script.wrappers.RSTile;
- @ScriptManifest(
- authors = {"<HTML><b><font color='red'>J.T.</font>"},
- version = 1.0,
- description = "Turns Dragon Arrows Into Dragon Fire Arrows",
- name = "Josh's Fire Arrow Maker ;)"
- )
- public class Joshs_FireArrowMaker extends Script implements PaintListener, MessageListener, MouseListener, MouseMotionListener {
- public final ScriptManifest props = getClass().getAnnotation(ScriptManifest.class);
- Rectangle close = new Rectangle(420, 306, 93, 29);
- Rectangle hover1 = new Rectangle(0, 0, 520, 40);
- public long startTime = 0;
- Point p;
- boolean hide = false;
- private final static int arrowID = 11212, clothID = 1485, koftikID = 973;
- private static int arrowsMade = 0, continueFails = 0;
- Timer runTime;
- Timer continueSafe = new Timer(10000); //Ten seconds
- public boolean onStart() {
- //GUI.setVisible(true);
- //while(guiWait) sleep(1000);
- log(new Color(000, 255, 000, 255),"Welcome to Josh's Fire Arrow Maker v" + props.version());
- runTime = new Timer(0);
- return true;
- }
- @Override
- public int loop() {
- RSNPC koftik = npcs.getNearest(koftikID);
- mouse.setSpeed(random(3, 6));
- if (atKoftik()) {
- if (inventory.containsAll(arrowID, clothID)) {
- inventory.getItem(clothID).doClick(true);
- sleep(random(100, 300));
- if (inventory.isItemSelected() && inventory.containsAll(arrowID, clothID)) {
- inventory.getItem(arrowID).doClick(true);
- sleep(random(500, 700));
- }
- } else if (!inventory.contains(arrowID)) {
- if (equipment.containsAll(arrowID) && interfaces.getComponent(387, 38).isValid()) {
- sleep(random(230, 540));
- interfaces.getComponent(387, 38).doClick();
- sleep(random(250, 350));
- }
- } else if (inventory.contains(arrowID) && !inventory.contains(clothID)) {
- sleep(random(340, 760));
- talkTo();
- }
- } else if (!atKoftik()) {
- walking.walkTileMM(koftik.getLocation());
- }
- if (random(1, 15) == 11) {
- antiBanC();
- }
- return 250;
- }
- public void onFinish() {
- log(new Color(255, 000, 000, 255),"Thank you for using Josh's Fire Arrow Maker ;)");
- if (runTime.getElapsed() >= 600000) { //Ten minutes
- env.saveScreenshot(true);
- }
- }
- private final void talkTo() {
- RSNPC x = npcs.getNearest(koftikID);
- while (interfaces.canContinue() && !inventory.contains(clothID)) {
- continueSafe.reset();
- sleep(random(100, 300));
- interfaces.clickContinue();
- if (!continueSafe.isRunning()) {
- mouse.moveOffScreen();
- continueFails++;
- sleep(random(3400, 6500));
- }
- if (random(1, 20) == 5) {
- antiBanC();
- }
- sleep(random(350, 650));
- }
- if (x != null && !x.isOnScreen()) {
- if (calc.distanceTo(x) >= 5) {
- walking.walkTileOnScreen(x.getLocation());
- }
- } else if (x != null && x.isOnScreen() && !inventory.contains(clothID)) {
- sleep(random(200, 450));
- x.doAction("alk-To");
- }
- }
- private boolean atKoftik() {
- RSArea one = new RSArea(new RSTile(2447, 9714), new RSTile(2455, 9719));
- return one.contains(getMyPlayer().getLocation().getX(),getMyPlayer().getLocation().getY());
- }
- public final void antiBanC(){
- int rr = random(0, 8);
- switch(rr) {
- case 1:
- camera.setAngle(random(0, 350));
- camera.setPitch(random(500, 5000));
- break;
- case 2:
- camera.setAngle(random(145,360));
- camera.setPitch(random(100, 4099));
- break;
- case 3:
- camera.setAngle(random(0, 145));
- camera.setPitch(random(4099, 8000));
- break;
- case 4:
- camera.setAngle(random(0, 360));
- camera.setPitch(random(8000, 12000));
- break;
- case 5:
- camera.setAngle(random(100, 300));
- camera.setPitch(random(12000, 16000));
- break;
- case 6:
- camera.moveRandomly(random(750, 1250));
- sleep(random(300, 500));
- break;
- case 7:
- camera.moveRandomly(random(750, 1250));
- sleep(random(300, 500));
- break;
- }
- }
- private final RenderingHints antialiasing = new RenderingHints(
- RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
- private final Color color1 = new Color(50, 50, 50, 130);
- private final Color color2 = new Color(0, 0, 0);
- private final Color color3 = new Color(255, 255, 255, 200);
- private final BasicStroke stroke1 = new BasicStroke(1);
- private final Font font1 = new Font("Arial Black", 0, 25);
- private final Font font2 = new Font("Arial", 0, 18);
- public void onRepaint(Graphics g1) {
- long millis = System.currentTimeMillis() - startTime;
- long hours = millis / (1000 * 60 * 60);
- millis -= hours * (1000 * 60 * 60);
- long minutes = millis / (1000 * 60);
- millis -= minutes * (1000 * 60);
- long seconds = millis / 1000;
- int arrowsHour = (int) ((arrowsMade * 3600000D) / runTime.getElapsed());
- int failsHour = (int) ((continueFails * 3600000D) / runTime.getElapsed());
- Graphics2D g = (Graphics2D)g1;
- Point m = mouse.getLocation();
- g.setColor(Color.white);
- g.drawOval(m.x-10,m.y-10,8,8);
- g.drawOval(m.x+2,m.y-10,8,8);
- g.drawOval(m.x-10,m.y+2,8,8);
- g.drawOval(m.x+2,m.y+2,8,8);
- g.setColor(Color.white);
- g.fillOval(m.x-10,m.y-10,8,8);
- g.fillOval(m.x+2,m.y-10,8,8);
- g.fillOval(m.x-10,m.y+2,8,8);
- g.fillOval(m.x+2,m.y+2,8,8);
- g.setColor(new Color(255, 000, 000, 255));
- if(mouse.isPressed()) {
- g.setColor(new Color(000, 255, 000, 255));
- g.drawLine(m.x,m.y-7,m.x,m.y+7);
- g.drawLine(m.x-7,m.y,m.x+7,m.y);
- } else {
- g.drawLine(m.x-7,m.y-7,m.x+7,m.y+7);
- g.drawLine(m.x-7,m.y+7,m.x+7,m.y-7);
- }
- if(!hide){
- g.setRenderingHints(antialiasing);
- g.setColor(color1);
- g.fillRect(0, 0, 520, 40);
- g.setColor(color2);
- g.setStroke(stroke1);
- g.drawRect(0, 0, 520, 40);
- g.setColor(color1);
- g.fillRect(420, 306, 93, 29);
- g.setColor(color2);
- g.drawRect(420, 306, 93, 29);
- g.setFont(font1);
- g.setColor(color3);
- g.drawString("Josh's Fire Arrow Maker v" + props.version(), 15, 30);
- g.drawString("PAINT", 424, 330);
- }
- if(hide){
- g.setRenderingHints(antialiasing);
- g.setColor(color1);
- g.fillRect(0, 0, 520, 40);
- g.setColor(color2);
- g.setStroke(stroke1);
- g.drawRect(0, 0, 520, 40);
- g.setColor(color1);
- g.fillRect(420, 306, 93, 29);
- g.setColor(color2);
- g.drawRect(420, 306, 93, 29);
- g.setFont(font1);
- g.setColor(color3);
- g.drawString("Josh's Fire Arrow Maker v" + props.version(), 15, 30);
- g.drawString("PAINT", 424, 330);
- g.setColor(color1);
- g.fillRect(0, 40, 520, 80);
- g.setColor(color2);
- g.setStroke(stroke1);
- g.drawRect(0, 40, 520, 80);
- g.setFont(font2);
- g.setColor(color3);
- g.drawString("Run Time: " + runTime.toElapsedString(), 15, 70);
- g.drawString("Arrows Made: " + arrowsMade, 15, 90);
- g.drawString("Arrows Per Hour: " + arrowsHour, 250, 90);
- g.drawString("Fails Per Hour: " + failsHour, 250, 110);
- g.drawString("Continue Fails: " + continueFails, 15, 110);
- }
- }
- @Override
- public void mouseClicked(MouseEvent e) {
- p = e.getPoint();
- if(close.contains(p) && !hide){
- hide = true;
- } else if (close.contains(p) && hide){
- hide = false;
- }
- }
- @Override
- public void mouseDragged(MouseEvent arg0) {
- }
- @Override
- public void mouseMoved(MouseEvent e) {
- p = e.getPoint();
- if (hover1.contains(p)) {
- hide = true;
- } else {
- hide = false;
- }
- }
- @Override
- public void mouseEntered(MouseEvent e) {
- }
- @Override
- public void mouseExited(MouseEvent e) {
- }
- @Override
- public void mousePressed(MouseEvent e) {
- }
- @Override
- public void mouseReleased(MouseEvent e) {
- }
- @Override
- public void messageReceived(MessageEvent e) {
- String msg = e.getMessage().toLowerCase();
- if (msg.contains("wrap the damp cloth around")) {
- arrowsMade++;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement