Guest User

Untitled

a guest
Oct 22nd, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.11 KB | None | 0 0
  1. import java.awt.Dimension;
  2. import java.awt.Point;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5.  
  6. import javax.swing.JButton;
  7. import javax.swing.JComboBox;
  8. import javax.swing.JFrame;
  9. import javax.swing.JPanel;
  10.  
  11. import org.powerbot.concurrent.Task;
  12. import org.powerbot.concurrent.strategy.Strategy;
  13. import org.powerbot.game.api.ActiveScript;
  14. import org.powerbot.game.api.Manifest;
  15. import org.powerbot.game.api.methods.Tabs;
  16. import org.powerbot.game.api.methods.Walking;
  17. import org.powerbot.game.api.methods.Widgets;
  18. import org.powerbot.game.api.methods.input.Mouse;
  19. import org.powerbot.game.api.methods.interactive.NPCs;
  20. import org.powerbot.game.api.methods.interactive.Players;
  21. import org.powerbot.game.api.methods.node.SceneEntities;
  22. import org.powerbot.game.api.methods.tab.Inventory;
  23. import org.powerbot.game.api.methods.tab.Skills;
  24. import org.powerbot.game.api.methods.widget.Bank;
  25. import org.powerbot.game.api.methods.widget.Camera;
  26. import org.powerbot.game.api.util.Random;
  27. import org.powerbot.game.api.util.Time;
  28. import org.powerbot.game.api.util.Timer;
  29. import org.powerbot.game.api.wrappers.Area;
  30. import org.powerbot.game.api.wrappers.Entity;
  31. import org.powerbot.game.api.wrappers.Tile;
  32. import org.powerbot.game.api.wrappers.interactive.NPC;
  33. import org.powerbot.game.api.wrappers.widget.WidgetChild;
  34. import org.powerbot.game.bot.event.MessageEvent;
  35. import org.powerbot.game.bot.event.listener.MessageListener;
  36.  
  37. @Manifest(authors = { "SkateboarderT3" }, name = "AresCooker", description = "Tons of help from AresScripts xD", version = 0.1)
  38. public class Cooker extends ActiveScript implements MessageListener {
  39.  
  40. @Override
  41. public void messageReceived(MessageEvent arg0) {
  42. // TODO Auto-generated method stub
  43.  
  44. }
  45.  
  46. // GUI Variables
  47. String[] whatRaw = { "Lobster", "Trout", "Tuna" };
  48. JFrame frame = new JFrame("Ares Cooker");
  49. JPanel panel = new JPanel();
  50. JComboBox box = new JComboBox(whatRaw);
  51. JButton button = new JButton("Start Script");
  52. String location;
  53. boolean guiWait = true;
  54. // Ints
  55. int raw = 0;
  56. int cooked = 0;
  57. final int banke = 35647;
  58. final int range = 25730;
  59.  
  60. // Walking to Bank
  61. private final static Tile[] COOK_TO_BANK = new Tile[] { new Tile(3271,
  62. 3166, 0) };
  63.  
  64. // Walking to Cook
  65. private final static Tile[] BANK_TO_COOK = new Tile[] { new Tile(3275,
  66. 3183, 0) };
  67.  
  68. // Bank Area
  69. Area BANKING_AREA = new Area(new Tile[] { new Tile(3264, 3173, 0),
  70. new Tile(3264, 3160, 0), new Tile(3272, 3160, 0),
  71. new Tile(3272, 3173, 0) });
  72.  
  73. // Cook Area
  74. Area COOKING_AREA = new Area(new Tile[] { new Tile(3275, 3179, 0),
  75. new Tile(3271, 3179, 0), new Tile(3272, 3184, 0),
  76. new Tile(3275, 3183, 0) });
  77.  
  78. protected void setup() {
  79. if (guiWait == true) {
  80. setFrame();
  81. }
  82. if (guiWait == false) {
  83. switch (location) {
  84. case "Lobster":
  85. raw = 377;
  86. cooked = 379;
  87. break;
  88. case "Trout":
  89. raw = 335;
  90. cooked = 337;
  91. break;
  92. case "Tuna":
  93. raw = 359;
  94. cooked = 361;
  95. break;
  96. }
  97. provide(new Deposit());
  98. provide(new Cook());
  99. provide(new walk2Bank());
  100. provide(new walk2Cook());
  101. }
  102. }
  103.  
  104. public void setFrame() {
  105. frame.setPreferredSize(new Dimension(300, 100));
  106. panel.setPreferredSize(new Dimension(300, 100));
  107.  
  108. button.addActionListener(new Listener());
  109.  
  110. panel.add(box);
  111. panel.add(button);
  112.  
  113. frame.getContentPane().add(panel);
  114. frame.pack();
  115. frame.setVisible(true);
  116. }
  117. // Cooker
  118. public class Cook extends Strategy implements Task {
  119. @Override
  120. public void run() {
  121. if (Players.getLocal().getAnimation() != -1
  122. || Players.getLocal().isMoving()) {
  123. Time.sleep(1000, 5000);
  124. }
  125. if (SceneEntities.getNearest(range).isOnScreen()) {
  126. Inventory.selectItem(raw);
  127. Time.sleep(200, 500);
  128. SceneEntities.getNearest(range).click(true);
  129. Time.sleep(200, 500);
  130. Widgets.get(905, 14).interact("Cook All");
  131. Time.sleep(5000, 6000);
  132. }
  133. }
  134.  
  135. @Override
  136. public boolean validate() {
  137. return Inventory.getCount(raw) >= 1 && COOKING_AREA.contains(Players.getLocal().getLocation());
  138. }
  139. }
  140.  
  141. // Deposit at bank
  142. public class Deposit extends Strategy implements Task {
  143. @Override
  144. public void run() {
  145. final NPC banker = NPCs.getNearest(banke);
  146. if (banker != null) {
  147. if (Bank.isOpen()) {
  148. Bank.depositInventory();
  149. Time.sleep(200, 500);
  150. Bank.withdraw(raw, 28);
  151. Bank.close();
  152.  
  153. } else if (!Bank.isOpen()) {
  154. if (banker != null && !banker.isOnScreen()) {
  155. Camera.turnTo(banker);
  156. Bank.open();
  157. }
  158. }
  159. }
  160. }
  161.  
  162. @Override
  163. public boolean validate() {
  164. return Inventory.getCount(raw) > 1 && BANKING_AREA.contains(Players.getLocal().getLocation());
  165. }
  166. }
  167.  
  168. // Walking 2 Cook
  169. public class walk2Cook extends Strategy implements Task {
  170. @Override
  171. public void run() {
  172. Walking.newTilePath(BANK_TO_COOK).traverse();
  173. }
  174.  
  175. @Override
  176. public boolean validate() {
  177. return Inventory.getCount(raw) == 28
  178. && !COOKING_AREA.contains(Players.getLocal().getLocation());
  179. }
  180.  
  181. }
  182.  
  183. // Walking 2 bank
  184. public class walk2Bank extends Strategy implements Task {
  185. @Override
  186. public void run() {
  187. Walking.newTilePath(COOK_TO_BANK).traverse();
  188.  
  189. }
  190.  
  191. @Override
  192. public boolean validate() {
  193. return Inventory.getCount(cooked) == 28
  194. && !BANKING_AREA.contains(Players.getLocal().getLocation());
  195. }
  196. }
  197.  
  198. // Antiban
  199. public class AntibanTask extends Strategy implements Task {
  200. private Timer antiBanTimer;
  201. private int minTime = (20 * 1000);
  202. private int maxTime = (120 * 1000);
  203.  
  204. public AntibanTask() {
  205. antiBanTimer = new Timer(Random.nextInt(minTime, maxTime));
  206. }
  207.  
  208. @Override
  209. public void run() {
  210. switch (Random.nextInt(0, 10)) {
  211. case 0:
  212. int randomSkill = Random.nextInt(0, 24);
  213. Tabs.STATS.open();
  214. WidgetChild randStat = Skills.getWidgetChild(randomSkill);
  215. Point randStatPoint = randStat.getAbsoluteLocation();
  216. randStatPoint.x += Random.nextInt(-10, 10);
  217. randStatPoint.y += Random.nextInt(-10, 10);
  218. Mouse.move(randStatPoint);
  219. break;
  220. case 1:
  221. Time.sleep(20000, 40000);
  222. break;
  223.  
  224. default:
  225. if (Players.getLocal().getInteracting() != null) {
  226. Camera.turnTo(Players.getLocal().getInteracting());
  227. int currentPitch = Camera.getPitch();
  228. int currentYaw = Camera.getYaw();
  229. Camera.setPitch(currentPitch + Random.nextInt(-13, 13));
  230. Camera.setAngle(currentYaw + Random.nextInt(-25, 25));
  231. } else {
  232. int currentPitch = Camera.getPitch();
  233. int currentYaw = Camera.getYaw();
  234. Camera.setPitch(currentPitch + Random.nextInt(-50, 50));
  235. Camera.setAngle(currentYaw + Random.nextInt(-70, 70));
  236. }
  237. }
  238.  
  239. resetAntiBanTime();
  240. }
  241.  
  242. @Override
  243. public boolean validate() {
  244. return !antiBanTimer.isRunning();
  245. }
  246.  
  247. private void resetAntiBanTime() {
  248. antiBanTimer.setEndIn(Random.nextInt(minTime, maxTime));
  249. }
  250. }
  251.  
  252. private class Listener implements ActionListener {
  253. public void actionPerformed(ActionEvent arg0) {
  254. location = box.getSelectedItem().toString();
  255. guiWait = false;
  256. frame.setVisible(false);
  257. setup();
  258. }
  259.  
  260. }
  261. }
Add Comment
Please, Sign In to add comment