Advertisement
Guest User

Untitled

a guest
Feb 21st, 2020
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.18 KB | None | 0 0
  1.  
  2.  
  3. import Utils.Timer;
  4. import org.osbot.rs07.api.Walking;
  5. import org.osbot.rs07.api.map.Position;
  6. import org.osbot.rs07.api.map.constants.Banks;
  7. import org.osbot.rs07.api.model.Entity;
  8. import org.osbot.rs07.api.model.RS2Object;
  9. import org.osbot.rs07.event.WalkingEvent;
  10. import org.osbot.rs07.script.Script;
  11. import java.awt.Image;
  12. import java.awt.geom.Area;
  13. import java.awt.image.BufferedImage;
  14. import java.io.IOException;
  15. import java.awt.Graphics2D;
  16. import java.net.MalformedURLException;
  17. import java.net.URL;
  18. import javax.imageio.ImageIO;
  19.  
  20. import org.osbot.rs07.api.ui.Skill;
  21. import org.osbot.rs07.script.Script;
  22. import org.osbot.rs07.script.ScriptManifest;
  23. import org.osbot.rs07.utility.ConditionalSleep;
  24.  
  25.  
  26. import java.awt.*;
  27.  
  28.  
  29.  
  30. @ScriptManifest(author = "DarkBinded", info = "DarkBinded's Progressive Woodcutter", name = "Progressive WoodCutter", version = 0.1, logo = "")
  31.  
  32. public class WoodCutting extends Script {
  33.  
  34. private long timeBegan, timeRan;
  35. BufferedImage Image;
  36. private int currentLevel;
  37. private int beginningLevel;
  38. private int levelsGained;
  39. private int beginningXp;
  40. private int currentXp;
  41. private int xpGained;
  42. private int xpHour;
  43. private String state;
  44.  
  45.  
  46.  
  47. @Override
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54. public void onStart() {
  55. log("Thank you for choosing DarkBinded's Progressive Woodcutter!");
  56. timeBegan = System.currentTimeMillis();
  57. Image = getImage("https://i.imgur.com/3UBnMLM.png");
  58. beginningLevel = skills.getStatic(Skill.WOODCUTTING);
  59. beginningXp = skills.getExperience(Skill.WOODCUTTING);
  60. }
  61.  
  62.  
  63.  
  64. @Override
  65.  
  66. public void onExit() {
  67. log("Thank you for using DarkBinded's Progressive Woodcutter!");
  68. }
  69.  
  70. @Override
  71.  
  72. public int onLoop() throws InterruptedException {
  73. if (skills.getDynamic(Skill.WOODCUTTING) >= 15) {
  74. state = "Walking to East Varrock";
  75. getWalking().webWalk((Banks.VARROCK_EAST));
  76. if (!myPlayer().isAnimating()) {
  77. if (getInventory().isFull()) {
  78. state = "Walking to East Varrock Bank";
  79. getWalking().webWalk((Banks.VARROCK_EAST));
  80. if (!getBank().isOpen()) {
  81. getBank().open();
  82. } else {
  83. state = "Depositing logs";
  84. getBank().depositAllExcept("Bronze Axe");
  85. getBank().close();
  86. state = "Walking to trees";
  87. WalkingEvent treearea = new WalkingEvent(new Position(3280, 3427, 0));
  88. treearea.setMinDistanceThreshold(5);
  89. treearea.setMiniMapDistanceThreshold(5);
  90. treearea.setEnergyThreshold(30);
  91. execute(treearea);
  92. }
  93. }
  94. else {
  95. Entity tree = getObjects().closest("Tree");
  96. if (tree != null && tree.interact("Chop down")) {
  97. state = "Chopping down trees";
  98. new ConditionalSleep(5000) {
  99. @Override
  100. public boolean condition() {
  101. return myPlayer().isAnimating() || !tree.exists();
  102. }
  103. }.sleep();
  104. }
  105. }
  106. }
  107. }
  108. if (skills.getDynamic(Skill.WOODCUTTING) <= 15) {
  109. state = "Walking to East Varrock";
  110. getWalking().webWalk((Banks.VARROCK_EAST));
  111. if (!myPlayer().isAnimating()) {
  112. if (getInventory().isFull()) {
  113. state = "Walking to East Varrock Bank";
  114. getWalking().webWalk((Banks.VARROCK_EAST));
  115. if (!getBank().isOpen()) {
  116. getBank().open();
  117. } else {
  118. state = "Depositing Oak logs";
  119. getBank().depositAllExcept("Bronze Axe");
  120. getBank().close();
  121. state = "Walking to Oak trees";
  122. WalkingEvent treearea = new WalkingEvent(new Position(3280, 3427, 0));
  123. treearea.setMinDistanceThreshold(5);
  124. treearea.setMiniMapDistanceThreshold(5);
  125. treearea.setEnergyThreshold(30);
  126. execute(treearea);
  127. }
  128. }
  129. else {
  130. Entity tree = getObjects().closest("Oak");
  131. if (tree != null && tree.interact("Chop down")) {
  132. state = "Chopping down Oak trees";
  133. new ConditionalSleep(5000) {
  134. @Override
  135. public boolean condition() {
  136. return myPlayer().isAnimating() || !tree.exists();
  137. }
  138. }.sleep();
  139. }
  140. }
  141. }
  142. }
  143. if (skills.getDynamic(Skill.WOODCUTTING) <= 30) {
  144. state = "Walking to Draynor";
  145. getWalking().webWalk((Banks.DRAYNOR));
  146. if (!myPlayer().isAnimating()) {
  147. if (getInventory().isFull()) {
  148. state = "Walking to Draynor Bank";
  149. getWalking().webWalk((Banks.DRAYNOR));
  150. if (!getBank().isOpen()) {
  151. getBank().open();
  152. } else {
  153. state = "Depositing Willow logs";
  154. getBank().depositAllExcept("Bronze Axe");
  155. getBank().close();
  156. state = "Walking to Willow trees";
  157. WalkingEvent treearea = new WalkingEvent(new Position(3087, 3235, 0));
  158. treearea.setMinDistanceThreshold(5);
  159. treearea.setMiniMapDistanceThreshold(5);
  160. treearea.setEnergyThreshold(30);
  161. execute(treearea);
  162. }
  163. }
  164. else {
  165. Entity tree = getObjects().closest("Willow");
  166. if (tree != null && tree.interact("Chop down")) {
  167. state = "Chopping down Willow trees";
  168. new ConditionalSleep(5000) {
  169. @Override
  170. public boolean condition() {
  171. return myPlayer().isAnimating() || !tree.exists();
  172. }
  173. }.sleep();
  174. }
  175. }
  176. }
  177. }
  178. if (skills.getDynamic(Skill.WOODCUTTING) <= 75) {
  179. state = "Walking to the Grand Exchange";
  180. getWalking().webWalk((Banks.GRAND_EXCHANGE));
  181. if (!myPlayer().isAnimating()) {
  182. if (getInventory().isFull()) {
  183. state = "Walking to Grand Exchange";
  184. getWalking().webWalk((Banks.GRAND_EXCHANGE));
  185. if (!getBank().isOpen()) {
  186. getBank().open();
  187. } else {
  188. state = "Depositing Yew logs";
  189. getBank().depositAllExcept("Bronze Axe");
  190. getBank().close();
  191. state = "Walking to Yew trees";
  192. WalkingEvent treearea = new WalkingEvent(new Position(3183, 3508, 0));
  193. treearea.setMinDistanceThreshold(5);
  194. treearea.setMiniMapDistanceThreshold(5);
  195. treearea.setEnergyThreshold(30);
  196. execute(treearea);
  197. }
  198. }
  199. else {
  200. Entity tree = getObjects().closest("Yew tree");
  201. if (tree != null && tree.interact("Chop down")) {
  202. state = "Chopping down Yew trees";
  203. new ConditionalSleep(5000) {
  204. @Override
  205. public boolean condition() {
  206. return myPlayer().isAnimating() || !tree.exists();
  207. }
  208. }.sleep();
  209. }
  210. }
  211. }
  212. }
  213. return 1000; //The amount of time in milliseconds before the loop starts over
  214. }
  215. @Override
  216.  
  217. public void onPaint(Graphics2D g) {
  218. timeRan = System.currentTimeMillis() - timeBegan;
  219. g.setColor(Color.white);
  220. //mouse
  221. Point mP = getMouse().getPosition();
  222. g.drawLine(mP.x - 5, mP.y + 5, mP.x + 5, mP.y - 5);
  223. g.drawLine(mP.x + 5, mP.y + 5, mP.x - 5, mP.y - 5);
  224.  
  225. //background image
  226. g.drawImage(Image, -4, 335, null);
  227. g.setColor(Color.black);
  228.  
  229. //text area
  230. g.drawString("Runtime: " + timeFormatDHMS(timeRan), 30, 400);
  231. currentLevel = skills.getStatic(Skill.WOODCUTTING);
  232. levelsGained = currentLevel - beginningLevel;
  233. currentXp = skills.getExperience(Skill.WOODCUTTING);
  234. xpGained = currentXp - beginningXp;
  235. xpHour = 0;
  236. g.drawString("State: " + state, 230, 400);
  237. g.drawString("Current Level: " + currentLevel + " (+" + levelsGained + ")", 30, 430);
  238. g.drawString("XP Gained: " + xpGained + "(" + xpHour + "/Hr)", 30, 460);
  239.  
  240.  
  241. }
  242. public String timeFormatDHMS(long time) {
  243. int sec = (int) (time / 1000), d = sec / 86400, h = sec / 3600 % 24, m = sec / 60 % 60, s = sec % 60;
  244. return (d < 10 ? "0" + d : d) + ":" + (h < 10 ? "0" + h : h) + ":"
  245. + (m < 10 ? "0" + m : m) + ":" + (s < 10 ? "0" + s : s);
  246. }
  247. public static BufferedImage getImage(String url) {
  248. try {
  249. URL imageUrl = new URL(url);
  250. BufferedImage image = ImageIO.read(imageUrl);
  251.  
  252. return image;
  253.  
  254. } catch (MalformedURLException e) {
  255. e.printStackTrace();
  256. } catch (IOException e) {
  257. e.printStackTrace();
  258. }
  259. return null;
  260. }
  261. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement