Advertisement
Guest User

Potato bot.

a guest
Apr 17th, 2020
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.44 KB | None | 0 0
  1. import org.osbot.rs07.api.map.Area;
  2. import org.osbot.rs07.api.map.constants.Banks;
  3. import org.osbot.rs07.api.ui.RS2Widget;
  4. import org.osbot.rs07.api.ui.Skill;
  5. import org.osbot.rs07.script.Script;
  6. import org.osbot.rs07.script.ScriptManifest;
  7. import org.osbot.rs07.utility.ConditionalSleep;
  8.  
  9. import java.awt.*;
  10. import java.awt.event.KeyEvent;
  11. import java.util.concurrent.TimeUnit;
  12.  
  13. @ScriptManifest(name = "Jueixs baked potatos", author = "Jueix", version = 1.0, info = "Makes baked potatos", logo = "")
  14.  
  15. public class main extends Script {
  16.  
  17. //Variables
  18. private int Stage = 1;
  19. private int randomclicks = 0;
  20. private String ScriptStatus = "None";
  21.  
  22. //GUI
  23. private long timeBegan;
  24. private long timeRan;
  25.  
  26. private int beginningXP;
  27. private int currentXp;
  28. private int xpGained;
  29.  
  30. public void onStart() {
  31. ScriptStatus = "Starting script.";
  32. timeBegan = System.currentTimeMillis();
  33. beginningXP = skills.getExperience(Skill.COOKING);
  34. }
  35.  
  36. public int onLoop() throws InterruptedException {
  37. log("Current state: "+Stage);
  38. switch(Stage) {
  39. case 1: {
  40. log("attempting to bank");
  41. if(!getBank().isOpen()){
  42. if(inventory.contains("Baked potato") && inventory.contains("Pat of butter")) {
  43. log("You already have the ingredients in inventory");
  44. ScriptStatus = "Closing bank, starting potatos.";
  45. bank.close();
  46. Stage = 2;
  47. break;
  48. }
  49. getBank().open();
  50. ScriptStatus = "Opening bank.";
  51. new ConditionalSleep(2500, 3000){
  52. @Override
  53. public boolean condition(){
  54. return getBank().isOpen();
  55. }
  56. }.sleep();
  57. }
  58. else {
  59. if (!bank.contains("Baked potato") | !bank.contains("Pat of butter")) {
  60. log("You don't have a baked potato or pat of butter in teh bank");
  61. stop();
  62. }
  63. randomclicks = random(1,5);
  64. log("Random clicks = " + randomclicks);
  65. if(randomclicks < 3) {
  66. ScriptStatus = "Withdrawing baked potato and butter.";
  67. sleep(random(200,1250));
  68. bank.withdraw("Baked potato", 14);
  69. sleep(random(200,1300));
  70. bank.withdraw("Pat of butter", 14);
  71. bank.close();
  72. log("Bank Closed");
  73. Stage = 2;
  74. sleep(random(100,1000));
  75. }
  76. else if(randomclicks >= 3) {
  77. ScriptStatus = "Withdrawing butter and potato.";
  78. sleep(random(200, 1250));
  79. bank.withdraw("Pat of butter", 14);
  80. sleep(random(200, 1300));
  81. bank.withdraw("Baked potato", 14);
  82. bank.close();
  83. log("Bank Closed");
  84. Stage = 2;
  85. sleep(random(100, 1000));
  86. }
  87. }
  88. break;
  89. }
  90. case 2: {
  91. log("Attempting to make the items");
  92. if(inventory.contains("Baked potato") && inventory.contains("Pat of butter")) {
  93. randomclicks = random(1,5);
  94. log("Random clicks = " + randomclicks);
  95. if(randomclicks < 3) {
  96. ScriptStatus = "Using butter on potato.";
  97. log("uses butter before the baked.");
  98. getInventory().interact("Use", "Pat of butter");
  99. sleep(random(100, 1500));
  100. getInventory().interact("Use", "Baked Potato");
  101. sleep(random(100,1200));
  102. log("Dialog after it's shown");
  103. sleep(random(100,1700));
  104. getKeyboard().typeKey((char)32);
  105. log("Dialog after space");
  106. sleep(random(18500,20000));
  107. Stage = 3;
  108. }
  109. else if(randomclicks >= 3) {
  110. ScriptStatus = "Using potato on butter.";
  111. log("Uses baked before the butter.");
  112. getInventory().interact("Use", "Baked Potato");
  113. sleep(random(100, 1000));
  114. getInventory().interact("Use", "Pat of butter");
  115. sleep(random(100,2000));
  116. log("Dialog after it's shown");
  117. sleep(random(500,1500));
  118. getKeyboard().typeKey((char)32);
  119. log("Dialog after space");
  120. sleep(random(18500,20000));
  121. Stage = 3;
  122. }
  123. }
  124. break;
  125. }
  126. case 3: {
  127. log("Banking the items");
  128. ScriptStatus = "Banking items.";
  129. if(!getBank().isOpen()){
  130. getBank().open();
  131. new ConditionalSleep(2500, 3000){
  132. @Override
  133. public boolean condition(){
  134. return getBank().isOpen();
  135. }
  136. }.sleep();
  137. }
  138. else if(getBank().isOpen()) {
  139. bank.depositAll();
  140. sleep(random(500, 1200));
  141. Stage = 1;
  142. }
  143. break;
  144. }
  145. case 4: {
  146. break;
  147. }
  148. }
  149. return 100; //The amount of time in milliseconds before the loop starts over
  150. }
  151.  
  152.  
  153. public void onPaint(Graphics2D g) {
  154. timeRan = System.currentTimeMillis() - this.timeBegan;
  155. currentXp = skills.getExperience(Skill.COOKING);
  156. xpGained = currentXp - beginningXP;
  157. g.setColor(Color.WHITE);
  158. g.drawString("Time ran: " + ft(timeRan), 14, 286);
  159. g.drawString("Status: " + ScriptStatus, 14, 306);
  160. g.drawString("Experience: " + xpGained, 14, 326);
  161. }
  162.  
  163. private String ft(long duration)
  164. {
  165. String res = "";
  166. long days = TimeUnit.MILLISECONDS.toDays(duration);
  167. long hours = TimeUnit.MILLISECONDS.toHours(duration)
  168. - TimeUnit.DAYS.toHours(TimeUnit.MILLISECONDS.toDays(duration));
  169. long minutes = TimeUnit.MILLISECONDS.toMinutes(duration)
  170. - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS
  171. .toHours(duration));
  172. long seconds = TimeUnit.MILLISECONDS.toSeconds(duration)
  173. - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS
  174. .toMinutes(duration));
  175. if (days == 0) {
  176. res = (hours + ":" + minutes + ":" + seconds);
  177. } else {
  178. res = (days + ":" + hours + ":" + minutes + ":" + seconds);
  179. }
  180. return res;
  181. }
  182.  
  183. public void onExit() {
  184. stop();
  185. //Code here will execute after the script ends
  186. }
  187. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement