Advertisement
Guest User

xobot neo runecrafter

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