Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2020
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.02 KB | None | 0 0
  1. import org.apache.commons.math3.special.Beta;
  2. import org.dreambot.api.methods.container.impl.Inventory;
  3. import org.dreambot.api.methods.filter.Filter;
  4. import org.dreambot.api.methods.trade.Trade;
  5. import org.dreambot.api.methods.world.World;
  6. import org.dreambot.api.script.AbstractScript;
  7. import org.dreambot.api.script.Category;
  8. import org.dreambot.api.script.ScriptManifest;
  9. import org.dreambot.api.script.listener.InventoryListener;
  10. import org.dreambot.api.script.listener.MessageListener;
  11. import org.dreambot.api.utilities.Logger;
  12. import org.dreambot.api.wrappers.interactive.NPC;
  13. import org.dreambot.api.wrappers.interactive.Player;
  14. import org.dreambot.api.wrappers.items.Item;
  15. import org.dreambot.api.wrappers.widgets.chatbox.ChatboxMessage;
  16. import org.dreambot.api.wrappers.widgets.message.Message;
  17.  
  18. import java.util.List;
  19. import java.util.Vector;
  20.  
  21.  
  22. @ScriptManifest(
  23.  
  24. category = Category.MONEYMAKING, name = "Buyer", author = "Gomomo11", version = 0.01)
  25. public class Buyer extends AbstractScript implements MessageListener {
  26.  
  27. String lastText = "";
  28. NPC shop;
  29. int tradeState = 0;
  30. int tmp = 0;
  31. long startTime = System.currentTimeMillis();
  32. int woadBought = 0;
  33. boolean switchWorld = false, bedWorld = false, doneSwitching = true;
  34. int currentThread = 0;
  35. Vector<Integer> last20 = new Vector();
  36.  
  37. @Override
  38. public void onStart() {
  39.  
  40. shop = getNpcs().closest("Dommik");
  41. currentThread = getInventory().count("Thread");
  42. log("0");
  43. for (int i = 0; i < 25; i++) {
  44. last20.add(0);
  45. }
  46.  
  47. }
  48. boolean foundInLast20(int w) {
  49. log("foundinlast20: " + last20.size());
  50. if(last20.size() >= 100) {
  51. last20.clear();
  52. for (int i = 0; i < 25; i++) {
  53. last20.add(0);
  54. }
  55. sleep(250000);
  56. }
  57. for(int i = last20.size()-1; i >= last20.size()-20; i--) {
  58. if(last20.get(i) == w)
  59. return true;
  60. }
  61. return false;
  62. }
  63. @Override
  64. public int onLoop() {
  65. log("loop");
  66.  
  67. try {
  68.  
  69. if(getInventory().count("Coins") < 1000) {
  70. getTabs().logout();
  71. stop();
  72. }
  73. if(switchWorld) {
  74. log("switchworld true");
  75. doneSwitching = false;
  76. woadBought = getInventory().count("Thread") - currentThread;
  77. long secondSinceStart = (System.currentTimeMillis() - startTime) / 1000;
  78. double woadPerHour = (woadBought * 3600) / secondSinceStart;
  79. log("Thread/hr: " + (int)woadPerHour);
  80.  
  81.  
  82.  
  83.  
  84.  
  85. int currentWorld = getClient().getCurrentWorld();
  86. log("1");
  87. World e = getWorlds().getRandomWorld(w -> w !=null && w.isF2P() && !w.isHighRisk()
  88. && !w.isLastManStanding() && !w.isPVP()
  89. && !w.equals(getClient().getCurrentWorld()) && w.getWorld() != 381 && w.getWorld() != 413 && w.getWorld() != 419 && w.getWorld() != 427 && w.getWorld() != 468 && w.getWorld() != 372 && w.getWorld() != 385 && w.getWorld() != 414 && w.getWorld() != 432 && w.getWorld() != 530 && w.getWorld() != 404);
  90.  
  91. log("2");
  92. while(true) {
  93. log("world while");
  94. if(foundInLast20(e.getWorld())) {
  95. log("new world");
  96. e = getWorlds().getRandomWorld(w -> w !=null && w.isF2P() && !w.isHighRisk()
  97. && !w.isLastManStanding() && !w.isPVP()
  98. && !w.equals(getClient().getCurrentWorld()) && w.getWorld() != 381 && w.getWorld() != 413 && w.getWorld() != 419 && w.getWorld() != 427 && w.getWorld() != 468 && w.getWorld() != 372 && w.getWorld() != 385 && w.getWorld() != 414 && w.getWorld() != 432 && w.getWorld() != 530 && w.getWorld() != 404);
  99. } else
  100. break;
  101. }
  102. log("out of loop");
  103. getWorldHopper().hopWorld(e);
  104. getMouse().move();
  105. log("hopped");
  106. last20.add(e.getWorld());
  107. if (sleepUntil(()-> doneSwitching, 15000)) {
  108. log("Done switching world");
  109. sleep(14000, 16000);
  110. switchWorld = false;
  111. }
  112. } else {
  113. if(!getShop().isOpen()) {
  114. log("opening shop");
  115. shop = getNpcs().closest("Dommik");
  116. shop.interact("Trade");
  117. sleepUntil(() -> getShop().isOpen(), 4000);
  118. log("done opening shop");
  119. } else {
  120. boolean donebuying = false;
  121. int tries = 0;
  122. boolean failed = false;
  123. while(true) {
  124. log("shop while");
  125. int current = getInventory().count("Thread");
  126. if(getShop().get("Needle").getAmount() > 0)
  127. getShop().purchaseFive("Needle");
  128. if(getShop().get("Thread").getAmount() > 50)
  129. getShop().purchaseFifty("Thread");
  130. getShop().purchaseFifty("Thread");
  131. if(!sleepUntil(() -> getShop().get("Thread").getAmount() < 3, 4000)) {
  132. //failed = true;
  133. getMouse().move();
  134. sleep(300, 700);
  135. //break;
  136. }
  137. if(getShop().get("Thread").getAmount() < 3)
  138. break;
  139. }
  140. log("Done buying");
  141. getShop().close();
  142. sleepUntil(() -> !getShop().isOpen(), 4000);
  143. getMouse().move();
  144. sleep(14000, 16000);
  145. if(!failed)
  146. switchWorld = true;
  147. }
  148. }
  149.  
  150.  
  151. } catch(Exception e) {
  152. log(e.getLocalizedMessage());
  153. }
  154.  
  155.  
  156.  
  157. return 0;
  158. }
  159.  
  160. @Override
  161. public void onGameMessage(Message m) {
  162. try {
  163. //log("1: " + m.getMessage());
  164. if(m.getMessage().contains("Welcome to Old School RuneScape")) {
  165. doneSwitching = true;
  166. } else if(m.getMessage().contains("sdasd")) {
  167. bedWorld = true;
  168. }
  169. } catch (Exception e) {
  170. e.printStackTrace();
  171. }
  172. }
  173.  
  174. @Override
  175. public void onPlayerMessage(Message m) {
  176. try {
  177. log("2: " + m.getMessage());
  178. } catch (Exception e) {
  179. e.printStackTrace();
  180. }
  181. }
  182.  
  183. @Override
  184. public void onTradeMessage(Message message) {
  185.  
  186. }
  187.  
  188. @Override
  189. public void onPrivateInMessage(Message message) {
  190.  
  191. }
  192.  
  193. @Override
  194. public void onPrivateOutMessage(Message message) {
  195.  
  196. }
  197.  
  198.  
  199. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement