Advertisement
Guest User

Untitled

a guest
Jan 21st, 2018
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.79 KB | None | 0 0
  1. import java.awt.Color;
  2. import java.awt.Font;
  3. import java.awt.Graphics;
  4. import java.awt.Graphics2D;
  5. import java.awt.Image;
  6. import java.awt.RenderingHints;
  7. import java.io.IOException;
  8. import java.net.URL;
  9.  
  10. import javax.imageio.ImageIO;
  11.  
  12. import xobot.client.callback.listeners.MessageListener;
  13. import xobot.client.callback.listeners.PaintListener;
  14. import xobot.script.ActiveScript;
  15. import xobot.script.Manifest;
  16. import xobot.script.methods.Bank;
  17. import xobot.script.methods.GameObjects;
  18. import xobot.script.methods.NPCs;
  19. import xobot.script.methods.Packets;
  20. import xobot.script.methods.Walking;
  21. import xobot.script.methods.Widgets;
  22. import xobot.script.methods.tabs.Inventory;
  23. import xobot.script.methods.tabs.Skills;
  24. import xobot.script.util.Time;
  25. import xobot.script.util.Timer;
  26. import xobot.script.wrappers.Tile;
  27. import xobot.script.wrappers.interactive.GameObject;
  28. import xobot.script.wrappers.interactive.Item;
  29. import xobot.script.wrappers.interactive.NPC;
  30.  
  31. @Manifest(authors = { "Neo, Skattle, SRH" }, name = "BestRuneCrafter")
  32. public class BestRuneCrafter extends ActiveScript implements PaintListener, MessageListener{
  33.  
  34. public Timer t = null;
  35.  
  36. int crafted = 0;
  37.  
  38. int altarid = 0;
  39. int portid = 0;
  40.  
  41. int startxp = 0;
  42.  
  43. String status = "Loading...";
  44.  
  45. public boolean onStart() {
  46. t = new Timer(System.currentTimeMillis());
  47.  
  48. startxp = Skills.getCurrentExp(Skills.RUNECRAFTING);
  49. return true;
  50. }
  51.  
  52. @Override
  53. public int loop() {
  54. setIDs();
  55. try {
  56. Item i = Inventory.getItem(1436);
  57. if(i != null) {
  58. status = "Crafting..";
  59. if(Widgets.getBackDialogId() == 2459) {
  60. Packets.sendAction(315, 1436, 13, 2461, 0, 0);
  61. return 1000;
  62. }
  63. GameObject altar = GameObjects.getNearest(altarid);
  64. if(altar != null) {
  65. altar.interact("craft");
  66. return 450;
  67. }
  68. GameObject port = GameObjects.getNearest(portid);
  69. if(port != null && port.getLocation().isReachable()) {
  70. port.interact("pass");
  71. return 3000;
  72. }
  73. GameObject port1 = GameObjects.getNearest(7148, 7143, 7145, 7150, 7153);
  74. if(port1 != null) {
  75. port1.interact("pass");
  76. return 1500;
  77. }
  78. NPC n = NPCs.getNearest(2258);
  79. if(n != null) {
  80. n.interact("talk-to");
  81. return 500;
  82. }else {
  83. Walking.walkTo(new Tile(3119, 3519));
  84. return 1000;
  85. }
  86. }else {
  87. GameObject o = GameObjects.getNearest(26972);
  88. if(o != null) {
  89. status = "Banking..";
  90. if(Bank.isOpen()) {
  91. Item ess = Bank.getItem(1436);
  92. if(ess != null) {
  93. if(!Inventory.isEmpty()) {
  94. Bank.depositAll();
  95. Time.sleep(250);
  96. }
  97. ess.interact("withdraw all");
  98. return 1000;
  99. }
  100.  
  101. return -1;
  102. }else {
  103. o.interact(4);
  104. return 2000;
  105. }
  106.  
  107. }else {
  108. status = "Teleporting home..";
  109. Packets.sendAction(315, 449, 3, 1195, 0, 1);
  110. return 5000;
  111. }
  112. }
  113. }catch(Exception e) {}
  114. return 0;
  115. }
  116.  
  117. private void setIDs()
  118. {
  119. int level = Skills.getCurrentLevel(Skills.RUNECRAFTING);
  120. System.out.println(level);
  121. switch(getRune(level)) {
  122. case "Cosmic":
  123. portid = 7132;
  124. altarid = 2484;
  125. break;
  126. case "Blood":
  127. portid = 7141;
  128. altarid = 30624;
  129. break;
  130. case "Fire":
  131. portid = 7129;
  132. altarid = 2482;
  133. break;
  134. case "Earth":
  135. portid = 7130;
  136. altarid = 2481;
  137. break;
  138. case "Body":
  139. portid = 7131;
  140. altarid = 2483;
  141. break;
  142. case "Mind":
  143. portid = 7140;
  144. altarid = 2479;
  145. break;
  146. case "Air":
  147. portid = 7139;
  148. altarid = 2478;
  149. break;
  150. case "Soul":
  151. portid = 7138;
  152. altarid = 9999999;
  153. break;
  154. case "Water":
  155. portid = 7137;
  156. altarid = 2480;
  157. break;
  158. case "Death":
  159. portid = 7136;
  160. altarid = 2488;
  161. break;
  162. case "Law":
  163. portid = 7135;
  164. altarid = 2485;
  165. break;
  166. case "Chaos":
  167. portid = 7134;
  168. altarid = 2487;
  169. break;
  170. }
  171. }
  172.  
  173. private String getRune(int level) {
  174. if (level >= 90)
  175. {
  176. return "Soul";
  177. }
  178. if (level >= 65)
  179. {
  180. return "Death";
  181. }
  182. if (level >= 54)
  183. {
  184. return "Law";
  185. }
  186. if (level >= 35)
  187. {
  188. return "Chaos";
  189. }
  190. if (level >= 27)
  191. {
  192. return "Cosmic";
  193. }
  194. if (level >= 20)
  195. {
  196. return "Body";
  197. }
  198. if (level >= 14)
  199. {
  200. return "Fire";
  201. }
  202. if (level >= 9)
  203. {
  204. return "Earth";
  205. }
  206. if (level >= 5)
  207. {
  208. return "Water";
  209. }
  210. if (level >= 2)
  211. {
  212. return "Mind";
  213. }
  214.  
  215. return "Air";
  216. }
  217.  
  218. private Image getImage(String url) {
  219. try {
  220. return ImageIO.read(new URL(url));
  221. } catch(IOException e) {
  222. return null;
  223. }
  224. }
  225.  
  226. private final Color color1 = new Color(0, 0, 0);
  227.  
  228. private final Font font1 = new Font("Arial", 0, 17);
  229.  
  230. private final Image img1 = getImage("https://i.imgur.com/lqYcpKw.png");
  231. private final RenderingHints antialiasing = new RenderingHints(
  232. RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
  233.  
  234.  
  235. @Override
  236. public void repaint(Graphics render) {
  237.  
  238. int xp = Skills.getCurrentExp(Skills.RUNECRAFTING) - startxp;
  239. int xph = (int) ((xp) * 3600000D / (t.getElapsed()));
  240. int ph = (int) ((crafted) * 3600000D / (t.getElapsed()));
  241.  
  242. Graphics2D g = (Graphics2D)render;
  243. g.setRenderingHints(antialiasing);
  244.  
  245. g.drawImage(img1, 0, 162, null);
  246. g.setFont(font1);
  247. g.setColor(color1);
  248. g.drawString(t.toElapsedString(), 158, 248);
  249. g.drawString(status, 325, 248);
  250. g.drawString(String.valueOf(xp), 325, 296);
  251. g.drawString(String.valueOf(xph), 158, 296);
  252. g.drawString(String.valueOf(ph), 158, 272);
  253. g.drawString(String.valueOf(crafted), 325, 272);
  254.  
  255. }
  256.  
  257. @Override
  258. public void MessageRecieved(String s, int i, String arg2) {
  259. String text = s;
  260. if(i == 0 && text.toLowerCase().startsWith("you bind the temple's power into")) {
  261. text = text.toLowerCase().replace("you bind the temple's power into ", "");
  262. crafted += Integer.valueOf(text.split(" ")[0]);
  263. }
  264. }
  265.  
  266. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement