Guest User

Untitled

a guest
Sep 14th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.21 KB | None | 0 0
  1. import org.powerbot.concurrent.Task;
  2. import org.powerbot.concurrent.strategy.Condition;
  3. import org.powerbot.concurrent.strategy.Strategy;
  4. import org.powerbot.game.api.ActiveScript;
  5. import org.powerbot.game.api.Manifest;
  6. import org.powerbot.game.api.methods.Tabs;
  7. import org.powerbot.game.api.methods.Walking;
  8. import org.powerbot.game.api.methods.input.Mouse;
  9. import org.powerbot.game.api.methods.interactive.NPCs;
  10. import org.powerbot.game.api.methods.interactive.Players;
  11. import org.powerbot.game.api.methods.tab.Inventory;
  12. import org.powerbot.game.api.methods.widget.Bank;
  13. import org.powerbot.game.api.methods.widget.Camera;
  14. import org.powerbot.game.api.util.Random;
  15. import org.powerbot.game.api.util.Time;
  16. import org.powerbot.game.api.wrappers.Area;
  17. import org.powerbot.game.api.wrappers.Tile;
  18. import org.powerbot.game.api.wrappers.interactive.NPC;
  19. import java.awt.*;
  20. import java.awt.event.*;
  21. import javax.swing.*;
  22. import org.powerbot.game.bot.event.MessageEvent;
  23. import org.powerbot.game.bot.event.listener.MessageListener;
  24.  
  25. @Manifest(authors = { "Leon" }, name = "MasterFarmerPro", description = "Pickepockets the Master Farmer", version = 1.0)
  26. public class MasterFarmerPro extends ActiveScript implements MessageListener {
  27.  
  28. private int foodID = 0;
  29. private int amount = 0;
  30. private int farmerID = 0 ;
  31. Area bankArea = new Area(new Tile(3090, 3247, 0), new Tile(3097, 3240, 0));
  32. Area farmerArea = new Area(new Tile[] { new Tile(3071, 3257, 0),
  33. new Tile(3076, 3257, 0), new Tile(3081, 3258, 0),
  34. new Tile(3086, 3258, 0), new Tile(3087, 3253, 0),
  35. new Tile(3087, 3248, 0), new Tile(3085, 3243, 0),
  36. new Tile(3080, 3242, 0), new Tile(3075, 3243, 0),
  37. new Tile(3071, 3246, 0) });
  38. Tile[] pathToBank = new Tile[] { new Tile(3079, 3250, 0),
  39. new Tile(3084, 3249, 0), new Tile(3089, 3248, 0),
  40. new Tile(3093, 3245, 0), new Tile(3093, 3244, 0) };
  41. Tile[] pathToFarmer = new Tile[] { new Tile(3092, 3244, 0),
  42. new Tile(3092, 3248, 0), new Tile(3090, 3248, 0),
  43. new Tile(3085, 3248, 0), new Tile(3080, 3249, 0),
  44. new Tile(3078, 3250, 0) };
  45.  
  46. MasterFarmerProGUI gui;
  47.  
  48. protected void setup() {
  49.  
  50. SwingUtilities.invokeLater(new Runnable() {
  51. public void run() {
  52. gui = new MasterFarmerProGUI();
  53. gui.setVisible(true);
  54. }
  55. });
  56.  
  57. provide(new bank());
  58. provide(new steal());
  59. provide(new walkToBank());
  60. provide(new walkToFarmer());
  61. provide(new antiBan());
  62. }
  63.  
  64. private class bank extends Strategy implements Task, Condition {
  65. @Override
  66. public void run() {
  67. if (!Bank.isOpen()) {
  68. Bank.open();
  69. Time.sleep(1000, 1200);
  70. }
  71. Bank.depositInventory();
  72. Bank.withdraw(foodID, amount);
  73. if (Bank.isOpen() && !Inventory.isFull())
  74. ;
  75. Bank.close();
  76. Time.sleep(1000, 1200);
  77. }
  78.  
  79. @Override
  80. public boolean validate() {
  81. return bankArea.contains(Players.getLocal().getLocation())
  82. && Inventory.isFull();
  83. }
  84. }
  85.  
  86. private class steal extends Strategy implements Task, Condition {
  87. @Override
  88. public void run() {
  89. NPC farmer = NPCs.getNearest(farmerID);
  90. if (Players.getLocal().getAnimation() == -1) {
  91. farmer.interact("Pickpocked", "Master Farmer");
  92. while (Players.getLocal().getAnimation() == 881) {
  93. Time.sleep(4000, 5000);
  94. }
  95. Time.sleep(700, 1100);
  96. }
  97. }
  98.  
  99. @Override
  100. public boolean validate() {
  101. return farmerArea.contains(Players.getLocal().getLocation())
  102. && Inventory.getCount(foodID) > 0;
  103. }
  104. }
  105.  
  106. private class walkToBank extends Strategy implements Task, Condition {
  107. @Override
  108. public void run() {
  109. Walking.newTilePath(pathToBank).traverse();
  110. }
  111.  
  112. @Override
  113. public boolean validate() {
  114. return Inventory.getCount(foodID) < 1
  115. && !bankArea.contains(Players.getLocal().getLocation());
  116. }
  117. }
  118.  
  119. private class walkToFarmer extends Strategy implements Task, Condition {
  120. @Override
  121. public void run() {
  122. Walking.newTilePath(pathToFarmer).traverse();
  123. }
  124.  
  125. @Override
  126. public boolean validate() {
  127. return bankArea.contains(Players.getLocal().getLocation())
  128. && Inventory.getCount(foodID) == amount;
  129. }
  130. }
  131.  
  132. private class antiBan extends Strategy implements Task, Condition {
  133. @Override
  134. public void run() {
  135. int XX = Random.nextInt(0, 80);
  136. if (XX == 40) {
  137. antiban();
  138. }
  139.  
  140. }
  141.  
  142. @Override
  143. public boolean validate() {
  144. return true;
  145. }
  146. }
  147.  
  148. public void antiban() {
  149. int r = Random.nextInt(0, 15);
  150.  
  151. switch (r) {
  152.  
  153. case 1:
  154. Time.sleep(2500, 5000);
  155. break;
  156.  
  157. case 2:
  158. if (!Tabs.INVENTORY.isOpen())
  159. Tabs.INVENTORY.open();
  160. Time.sleep(1300, 2300);
  161. break;
  162.  
  163. case 3:
  164. Camera.setPitch(false);
  165. break;
  166.  
  167. case 4:
  168. if (!Tabs.EQUIPMENT.isOpen())
  169. Tabs.EQUIPMENT.open();
  170. Time.sleep(1500, 2000);
  171. break;
  172.  
  173. case 5:
  174. Camera.setNorth();
  175. break;
  176.  
  177. case 6:
  178. Camera.setPitch(true);
  179. break;
  180.  
  181. case 7:
  182. if (!Tabs.STATS.isOpen())
  183. Tabs.STATS.open();
  184. Time.sleep(1300, 2300);
  185. break;
  186.  
  187. case 8:
  188. if (!Tabs.FRIENDS.isOpen())
  189. Tabs.FRIENDS.open();
  190. Time.sleep(1500, 2000);
  191. break;
  192.  
  193. case 9:
  194. Mouse.move(
  195. Random.nextInt(Mouse.getLocation().x - 150,
  196. Mouse.getLocation().x + 150),
  197. Random.nextInt(Mouse.getLocation().y - 150,
  198. Mouse.getLocation().y + 150));
  199. break;
  200. }
  201. }
  202.  
  203. public void messageReceived(MessageEvent arg0) {
  204. String msg = arg0.getMessage();
  205. if (msg.contains("You're stunned")) {
  206. Time.sleep(5000, 5100);
  207. }
  208. }
  209.  
  210. @SuppressWarnings("serial")
  211. public class MasterFarmerProGUI extends JFrame {
  212. public MasterFarmerProGUI() {
  213. initComponents();
  214. }
  215.  
  216. private void button1ActionPerformed(ActionEvent e) {
  217. foodID = Integer.parseInt(textField1.getText());
  218. amount = Integer.parseInt(textField2.getText());
  219. farmerID = 2234;
  220. gui.setVisible(false);
  221. gui.dispose();
  222. }
  223.  
  224. private void initComponents() {
  225. label1 = new JLabel();
  226. label2 = new JLabel();
  227. textField1 = new JTextField();
  228. label3 = new JLabel();
  229. textField2 = new JTextField();
  230. button1 = new JButton();
  231.  
  232. //======== this ========
  233. setTitle("MasterFarmerPro");
  234. setFont(new Font("Georgia", Font.PLAIN, 14));
  235. Container contentPane = getContentPane();
  236.  
  237. //---- label1 ----
  238. label1.setText("MasterFarmerPro");
  239. label1.setFont(new Font("Georgia", Font.PLAIN, 20));
  240.  
  241. //---- label2 ----
  242. label2.setText("food ID:");
  243. label2.setFont(new Font("Georgia", Font.PLAIN, 14));
  244.  
  245. //---- textField1 ----
  246. textField1.setFont(new Font("Georgia", Font.PLAIN, 14));
  247.  
  248. //---- label3 ----
  249. label3.setText("Amount:");
  250. label3.setFont(new Font("Georgia", Font.PLAIN, 14));
  251.  
  252. //---- textField2 ----
  253. textField2.setFont(new Font("Georgia", Font.PLAIN, 14));
  254.  
  255. //---- button1 ----
  256. button1.setText("Confirm");
  257. button1.setFont(new Font("Georgia", Font.PLAIN, 14));
  258. button1.addActionListener(new ActionListener() {
  259. @Override
  260. public void actionPerformed(ActionEvent e) {
  261. button1ActionPerformed(e);
  262. }
  263. });
  264.  
  265. GroupLayout contentPaneLayout = new GroupLayout(contentPane);
  266. contentPane.setLayout(contentPaneLayout);
  267. contentPaneLayout.setHorizontalGroup(
  268. contentPaneLayout.createParallelGroup()
  269. .addGroup(contentPaneLayout.createSequentialGroup()
  270. .addGroup(contentPaneLayout.createParallelGroup()
  271. .addGroup(contentPaneLayout.createSequentialGroup()
  272. .addGap(35, 35, 35)
  273. .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.LEADING, false)
  274. .addGroup(contentPaneLayout.createSequentialGroup()
  275. .addComponent(label3)
  276. .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
  277. .addComponent(textField2))
  278. .addGroup(contentPaneLayout.createSequentialGroup()
  279. .addComponent(label2)
  280. .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
  281. .addComponent(textField1))
  282. .addComponent(label1)))
  283. .addGroup(contentPaneLayout.createSequentialGroup()
  284. .addGap(69, 69, 69)
  285. .addComponent(button1)))
  286. .addContainerGap(47, Short.MAX_VALUE))
  287. );
  288. contentPaneLayout.setVerticalGroup(
  289. contentPaneLayout.createParallelGroup()
  290. .addGroup(contentPaneLayout.createSequentialGroup()
  291. .addContainerGap()
  292. .addComponent(label1)
  293. .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
  294. .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
  295. .addComponent(label2)
  296. .addComponent(textField1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
  297. .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
  298. .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
  299. .addComponent(textField2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
  300. .addComponent(label3))
  301. .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
  302. .addComponent(button1)
  303. .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  304. );
  305. pack();
  306. setLocationRelativeTo(getOwner());
  307. }
  308. private JLabel label1;
  309. private JLabel label2;
  310. private JTextField textField1;
  311. private JLabel label3;
  312. private JTextField textField2;
  313. private JButton button1;
  314. }
  315.  
  316.  
  317. }
Add Comment
Please, Sign In to add comment