Advertisement
Guest User

Untitled

a guest
Sep 26th, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.50 KB | None | 0 0
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import java.awt.Font;
  4.  
  5. import java.awt.event.MouseEvent;
  6. import org.rsbot.event.events.MessageEvent;
  7. import org.rsbot.event.listeners.MessageListener;
  8. import org.rsbot.event.listeners.PaintListener;
  9. import org.rsbot.script.Script;
  10. import org.rsbot.script.ScriptManifest;
  11. import org.rsbot.script.util.Timer;
  12. import org.rsbot.script.methods.Game;
  13. import org.rsbot.script.wrappers.RSArea;
  14. import org.rsbot.script.wrappers.RSNPC;
  15. import org.rsbot.script.wrappers.RSTile;
  16.  
  17. @ScriptManifest(
  18. authors = {"<HTML><b><font color='red'>J.T.</font>"},
  19. version = 1.0,
  20. description = "Turns Dragon Arrows Into Dragon Fire Arrows",
  21. name = "Josh's Fire Arrow Maker ;)"
  22. )
  23. public class Joshs_FireArrowMaker extends Script implements PaintListener, MessageListener, MouseListener, MouseMotionListener {
  24.  
  25. public final ScriptManifest props = getClass().getAnnotation(ScriptManifest.class);
  26.  
  27. Rectangle close = new Rectangle(420, 306, 93, 29);
  28. Rectangle hover1 = new Rectangle(0, 0, 520, 40);
  29. public long startTime = 0;
  30. Point p;
  31. boolean hide = false;
  32.  
  33. private final static int arrowID = 11212, clothID = 1485, koftikID = 973;
  34. private static int arrowsMade = 0, continueFails = 0;
  35. Timer runTime;
  36. Timer continueSafe = new Timer(10000); //Ten seconds
  37.  
  38. public boolean onStart() {
  39. //GUI.setVisible(true);
  40. //while(guiWait) sleep(1000);
  41. log(new Color(000, 255, 000, 255),"Welcome to Josh's Fire Arrow Maker v" + props.version());
  42. runTime = new Timer(0);
  43. return true;
  44. }
  45.  
  46. @Override
  47. public int loop() {
  48. RSNPC koftik = npcs.getNearest(koftikID);
  49. mouse.setSpeed(random(3, 6));
  50. if (atKoftik()) {
  51. if (inventory.containsAll(arrowID, clothID)) {
  52. inventory.getItem(clothID).doClick(true);
  53. sleep(random(100, 300));
  54. if (inventory.isItemSelected() && inventory.containsAll(arrowID, clothID)) {
  55.  
  56. inventory.getItem(arrowID).doClick(true);
  57. sleep(random(500, 700));
  58. }
  59. } else if (!inventory.contains(arrowID)) {
  60. if (equipment.containsAll(arrowID) && interfaces.getComponent(387, 38).isValid()) {
  61. sleep(random(230, 540));
  62. interfaces.getComponent(387, 38).doClick();
  63. sleep(random(250, 350));
  64. }
  65. } else if (inventory.contains(arrowID) && !inventory.contains(clothID)) {
  66. sleep(random(340, 760));
  67. talkTo();
  68. }
  69. } else if (!atKoftik()) {
  70. walking.walkTileMM(koftik.getLocation());
  71. }
  72. if (random(1, 15) == 11) {
  73. antiBanC();
  74. }
  75. return 250;
  76. }
  77.  
  78. public void onFinish() {
  79. log(new Color(255, 000, 000, 255),"Thank you for using Josh's Fire Arrow Maker ;)");
  80. if (runTime.getElapsed() >= 600000) { //Ten minutes
  81. env.saveScreenshot(true);
  82. }
  83. }
  84.  
  85. private final void talkTo() {
  86. RSNPC x = npcs.getNearest(koftikID);
  87. while (interfaces.canContinue() && !inventory.contains(clothID)) {
  88. continueSafe.reset();
  89. sleep(random(100, 300));
  90. interfaces.clickContinue();
  91. if (!continueSafe.isRunning()) {
  92. mouse.moveOffScreen();
  93. continueFails++;
  94. sleep(random(3400, 6500));
  95. }
  96. if (random(1, 20) == 5) {
  97. antiBanC();
  98. }
  99. sleep(random(350, 650));
  100. }
  101. if (x != null && !x.isOnScreen()) {
  102. if (calc.distanceTo(x) >= 5) {
  103. walking.walkTileOnScreen(x.getLocation());
  104. }
  105. } else if (x != null && x.isOnScreen() && !inventory.contains(clothID)) {
  106. sleep(random(200, 450));
  107. x.doAction("alk-To");
  108. }
  109. }
  110.  
  111. private boolean atKoftik() {
  112. RSArea one = new RSArea(new RSTile(2447, 9714), new RSTile(2455, 9719));
  113. return one.contains(getMyPlayer().getLocation().getX(),getMyPlayer().getLocation().getY());
  114. }
  115.  
  116. public final void antiBanC(){
  117. int rr = random(0, 8);
  118. switch(rr) {
  119. case 1:
  120. camera.setAngle(random(0, 350));
  121. camera.setPitch(random(500, 5000));
  122. break;
  123. case 2:
  124. camera.setAngle(random(145,360));
  125. camera.setPitch(random(100, 4099));
  126. break;
  127. case 3:
  128. camera.setAngle(random(0, 145));
  129. camera.setPitch(random(4099, 8000));
  130. break;
  131. case 4:
  132. camera.setAngle(random(0, 360));
  133. camera.setPitch(random(8000, 12000));
  134. break;
  135. case 5:
  136. camera.setAngle(random(100, 300));
  137. camera.setPitch(random(12000, 16000));
  138. break;
  139. case 6:
  140. camera.moveRandomly(random(750, 1250));
  141. sleep(random(300, 500));
  142. break;
  143. case 7:
  144. camera.moveRandomly(random(750, 1250));
  145. sleep(random(300, 500));
  146. break;
  147. }
  148. }
  149.  
  150.  
  151. private final RenderingHints antialiasing = new RenderingHints(
  152. RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
  153.  
  154. private final Color color1 = new Color(50, 50, 50, 130);
  155. private final Color color2 = new Color(0, 0, 0);
  156. private final Color color3 = new Color(255, 255, 255, 200);
  157. private final BasicStroke stroke1 = new BasicStroke(1);
  158. private final Font font1 = new Font("Arial Black", 0, 25);
  159. private final Font font2 = new Font("Arial", 0, 18);
  160.  
  161. public void onRepaint(Graphics g1) {
  162.  
  163. long millis = System.currentTimeMillis() - startTime;
  164.  
  165. long hours = millis / (1000 * 60 * 60);
  166. millis -= hours * (1000 * 60 * 60);
  167. long minutes = millis / (1000 * 60);
  168. millis -= minutes * (1000 * 60);
  169. long seconds = millis / 1000;
  170.  
  171. int arrowsHour = (int) ((arrowsMade * 3600000D) / runTime.getElapsed());
  172. int failsHour = (int) ((continueFails * 3600000D) / runTime.getElapsed());
  173.  
  174. Graphics2D g = (Graphics2D)g1;
  175.  
  176. Point m = mouse.getLocation();
  177. g.setColor(Color.white);
  178.  
  179. g.drawOval(m.x-10,m.y-10,8,8);
  180. g.drawOval(m.x+2,m.y-10,8,8);
  181. g.drawOval(m.x-10,m.y+2,8,8);
  182. g.drawOval(m.x+2,m.y+2,8,8);
  183. g.setColor(Color.white);
  184. g.fillOval(m.x-10,m.y-10,8,8);
  185. g.fillOval(m.x+2,m.y-10,8,8);
  186. g.fillOval(m.x-10,m.y+2,8,8);
  187. g.fillOval(m.x+2,m.y+2,8,8);
  188.  
  189. g.setColor(new Color(255, 000, 000, 255));
  190. if(mouse.isPressed()) {
  191. g.setColor(new Color(000, 255, 000, 255));
  192. g.drawLine(m.x,m.y-7,m.x,m.y+7);
  193. g.drawLine(m.x-7,m.y,m.x+7,m.y);
  194. } else {
  195. g.drawLine(m.x-7,m.y-7,m.x+7,m.y+7);
  196. g.drawLine(m.x-7,m.y+7,m.x+7,m.y-7);
  197. }
  198.  
  199. if(!hide){
  200. g.setRenderingHints(antialiasing);
  201. g.setColor(color1);
  202. g.fillRect(0, 0, 520, 40);
  203. g.setColor(color2);
  204. g.setStroke(stroke1);
  205. g.drawRect(0, 0, 520, 40);
  206. g.setColor(color1);
  207. g.fillRect(420, 306, 93, 29);
  208. g.setColor(color2);
  209. g.drawRect(420, 306, 93, 29);
  210. g.setFont(font1);
  211. g.setColor(color3);
  212. g.drawString("Josh's Fire Arrow Maker v" + props.version(), 15, 30);
  213. g.drawString("PAINT", 424, 330);
  214. }
  215. if(hide){
  216. g.setRenderingHints(antialiasing);
  217. g.setColor(color1);
  218. g.fillRect(0, 0, 520, 40);
  219. g.setColor(color2);
  220. g.setStroke(stroke1);
  221. g.drawRect(0, 0, 520, 40);
  222. g.setColor(color1);
  223. g.fillRect(420, 306, 93, 29);
  224. g.setColor(color2);
  225. g.drawRect(420, 306, 93, 29);
  226. g.setFont(font1);
  227. g.setColor(color3);
  228. g.drawString("Josh's Fire Arrow Maker v" + props.version(), 15, 30);
  229. g.drawString("PAINT", 424, 330);
  230. g.setColor(color1);
  231. g.fillRect(0, 40, 520, 80);
  232. g.setColor(color2);
  233. g.setStroke(stroke1);
  234. g.drawRect(0, 40, 520, 80);
  235. g.setFont(font2);
  236. g.setColor(color3);
  237. g.drawString("Run Time: " + runTime.toElapsedString(), 15, 70);
  238. g.drawString("Arrows Made: " + arrowsMade, 15, 90);
  239. g.drawString("Arrows Per Hour: " + arrowsHour, 250, 90);
  240. g.drawString("Fails Per Hour: " + failsHour, 250, 110);
  241. g.drawString("Continue Fails: " + continueFails, 15, 110);
  242. }
  243. }
  244.  
  245. @Override
  246. public void mouseClicked(MouseEvent e) {
  247. p = e.getPoint();
  248. if(close.contains(p) && !hide){
  249. hide = true;
  250. } else if (close.contains(p) && hide){
  251. hide = false;
  252. }
  253. }
  254.  
  255. @Override
  256. public void mouseDragged(MouseEvent arg0) {
  257. }
  258.  
  259. @Override
  260. public void mouseMoved(MouseEvent e) {
  261. p = e.getPoint();
  262. if (hover1.contains(p)) {
  263. hide = true;
  264. } else {
  265. hide = false;
  266. }
  267. }
  268.  
  269. @Override
  270. public void mouseEntered(MouseEvent e) {
  271. }
  272.  
  273. @Override
  274. public void mouseExited(MouseEvent e) {
  275. }
  276.  
  277. @Override
  278. public void mousePressed(MouseEvent e) {
  279. }
  280.  
  281. @Override
  282. public void mouseReleased(MouseEvent e) {
  283. }
  284.  
  285. @Override
  286. public void messageReceived(MessageEvent e) {
  287. String msg = e.getMessage().toLowerCase();
  288. if (msg.contains("wrap the damp cloth around")) {
  289. arrowsMade++;
  290. }
  291. }
  292. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement