Advertisement
Guest User

BitGoldAmulet

a guest
Aug 8th, 2018
553
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.04 KB | None | 0 0
  1. import org.dreambot.api.methods.Calculations;
  2. import org.dreambot.api.methods.map.Area;
  3. import org.dreambot.api.methods.map.Tile;
  4. import org.dreambot.api.methods.skills.Skill;
  5. import org.dreambot.api.script.AbstractScript;
  6. import org.dreambot.api.script.Category;
  7. import org.dreambot.api.script.ScriptManifest;
  8. import org.dreambot.api.utilities.Timer;
  9. import org.dreambot.api.wrappers.interactive.GameObject;
  10. import org.dreambot.api.wrappers.widgets.WidgetChild;
  11.  
  12. import java.awt.*;
  13.  
  14. @ScriptManifest(author = "Bitcoin", category = Category.CRAFTING, name = "BitGoldAmulet", version = 1.0, description = "Crafts gold amulet")
  15. public class Main extends AbstractScript {
  16.  
  17. private Timer timer = new Timer();
  18. private final Area BANK_AREA = new Area(3269, 3173, 3271, 3161);
  19. private final Area FURNANCE_AREA = new Area(3274, 3188, 3279, 3184);
  20. private Tile BANK_TILE = new Tile(3270, 3167, 0);
  21. private Tile FURNACE_TILE = new Tile(3276, 3186, 0);
  22. private String status = "";
  23. private boolean smelting;
  24.  
  25.  
  26. public enum State {
  27. NOTHING,WALK_TO_BANK, WALK_TO_FURNACE, BANK, SMELT,
  28. }
  29.  
  30. private State getState() {
  31.  
  32. if (getInventory().contains("Gold bar")) {
  33. if (FURNANCE_AREA.contains(getLocalPlayer())) {
  34. return State.SMELT;
  35. } else {
  36. smelting = false;
  37. return State.WALK_TO_FURNACE;
  38. }
  39. } else {
  40. if (BANK_AREA.contains(getLocalPlayer())) {
  41. smelting = false;
  42. return State.BANK;
  43. } else {
  44. smelting = false;
  45. return State.WALK_TO_BANK;
  46. }
  47. }
  48. }
  49.  
  50. @Override
  51. public int onLoop() {
  52.  
  53. if (!getWalking().isRunEnabled() && getWalking().getRunEnergy() > 50){
  54. getWalking().toggleRun();
  55. }
  56.  
  57. if (getInventory().isItemSelected()){
  58. getInventory().deselect();
  59. }
  60.  
  61. switch (getState()) {
  62.  
  63.  
  64. case NOTHING:
  65. break;
  66. case WALK_TO_BANK:
  67. status = "Walking to bank";
  68. getWalking().walk(BANK_TILE);
  69. sleepUntil(() -> getLocalPlayer().distance(BANK_TILE) < 5, 5000);
  70. break;
  71. case WALK_TO_FURNACE:
  72. status = "Walking to furnace";
  73. getWalking().walk(FURNACE_TILE);
  74. sleepUntil(() -> getLocalPlayer().distance(FURNACE_TILE) < 5, 5000);
  75. break;
  76. case BANK:
  77. status = "Banking";
  78. if (getBank().isOpen()){
  79. getBank().depositAllExcept("Amulet mould");
  80. sleepUntil(() -> getInventory().onlyContains("Amulet mould"), 5000);
  81.  
  82. if (!getInventory().contains("Amulet mould")){
  83. getBank().withdraw("Amulet mould");
  84. sleepUntil(() -> getInventory().contains("Amulet mould"), 5000);
  85. }
  86.  
  87. if (!getInventory().contains("Gold bar")){
  88. if (getBank().contains("Gold bar")){
  89. getBank().withdrawAll("Gold bar");
  90. sleepUntil(() -> getInventory().contains("Gold bar"), 5000);
  91. } else {
  92. getBank().close();
  93. sleepUntil(() -> !getBank().isOpen(), 5000);
  94. getTabs().logout();
  95. stop();
  96. }
  97. }
  98. } else {
  99. getBank().open();
  100. sleepUntil(() -> getBank().isOpen(), 5000);
  101. }
  102. break;
  103. case SMELT:
  104. status = "Crafting gold amulet";
  105. WidgetChild makeAll = getWidgets().getWidgetChild(446, 34);
  106.  
  107. if (makeAll != null && makeAll.isVisible()){
  108. sleep(Calculations.random(900, 1200));
  109. makeAll.interact("Make-All");
  110. sleepUntil(() -> !getInventory().contains("Gold bar") || getDialogues().inDialogue(), 60000);
  111. } else {
  112. GameObject furnace = getGameObjects().closest("Furnace");
  113. sleep(Calculations.random(900, 1200));
  114. furnace.interact("Smelt");
  115. sleepUntil(() -> makeAll != null, 5000);
  116. }
  117.  
  118. break;
  119. } return Calculations.random(500,900);
  120. }
  121.  
  122. @Override
  123. public void onPaint(Graphics g) {
  124. g.setColor(Color.WHITE);
  125. g.drawString("Runtime: " + timer.formatTime(), 25, 40);
  126. g.drawString("State: " + status, 25, 60);
  127. g.drawString("Current Crafting Level: " + getSkills().getRealLevel(Skill.CRAFTING), 25, 80);
  128. g.drawString("EXP To Level: " + getSkills().getExperienceToLevel(Skill.CRAFTING), 25, 100);
  129.  
  130. }
  131.  
  132. @Override
  133. public void onExit() {
  134.  
  135. }
  136.  
  137. @Override
  138. public void onStart(String... params) {
  139.  
  140. }
  141.  
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement