Advertisement
Guest User

Untitled

a guest
Aug 19th, 2015
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.94 KB | None | 0 0
  1. package scripts.magic.monkcurser;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Graphics;
  5.  
  6. import org.tribot.api.General;
  7. import org.tribot.api.Timing;
  8. import org.tribot.api2007.Camera;
  9. import org.tribot.api2007.Inventory;
  10. import org.tribot.api2007.Login;
  11. import org.tribot.api2007.Magic;
  12. import org.tribot.api2007.NPCs;
  13. import org.tribot.api2007.Player;
  14. import org.tribot.api2007.Skills;
  15. import org.tribot.api2007.Skills.SKILLS;
  16. import org.tribot.api2007.WebWalking;
  17. import org.tribot.api2007.types.RSArea;
  18. import org.tribot.api2007.types.RSNPC;
  19. import org.tribot.api2007.types.RSTile;
  20. import org.tribot.script.Script;
  21. import org.tribot.script.ScriptManifest;
  22. import org.tribot.script.interfaces.Painting;
  23.  
  24. import scripts.methods.Methods;
  25.  
  26. @ScriptManifest(authors = { "iant06" }, category = "Magic", name = "iMonkCurser")
  27.  
  28. public class MonkCurser extends Script implements Painting {
  29.  
  30. public static final String MONK_NAME = "Monk of Zamorak";
  31.  
  32. private int startXP = 0;
  33. private int startLevel = 0;
  34.  
  35. public static final RSArea VARROCK_WEST_BANK = new RSArea(new RSTile(3180, 3433), new RSTile(3185, 3447));
  36. public static final RSTile VARROCK_WEST_BANK_TILE = new RSTile(3185, 3436);
  37. public static final String WATER_RUNE = "Water rune";
  38. public static final String BODY_RUNE = "Body rune";
  39.  
  40. @Override
  41. public void run() {
  42. startXP = Skills.getXP(SKILLS.MAGIC);
  43. startLevel = Skills.getActualLevel(SKILLS.MAGIC);
  44. while(true) {
  45. if(hasRunes()) {
  46. curseMonk();
  47. } else {
  48. if(walkToBank()) {
  49. Login.logout();
  50. Thread.currentThread().interrupt();
  51. break;
  52. }
  53. }
  54. }
  55. }
  56.  
  57. private boolean insideBank() {
  58. if(VARROCK_WEST_BANK.contains(Player.getPosition())) {
  59. return true;
  60. }
  61. return false;
  62. }
  63.  
  64. private boolean walkToBank() {
  65. if(!insideBank()) {
  66. WebWalking.walkTo(VARROCK_WEST_BANK_TILE);
  67. }
  68. return insideBank();
  69. }
  70.  
  71. private boolean hasRunes() {
  72. if(Inventory.getCount(WATER_RUNE, BODY_RUNE) > 0) {
  73. return true;
  74. }
  75. return false;
  76. }
  77.  
  78. private long lastCastTime = 0L;
  79.  
  80. private boolean curseMonk() {
  81. RSNPC[] monk = NPCs.findNearest(MONK_NAME);
  82. if(monk != null && monk.length > 0) {
  83. if(!monk[0].isOnScreen()) {
  84. Camera.turnToTile(monk[0]);
  85. }
  86. CURSE curse = getCurseByLevel(Skills.getActualLevel(SKILLS.MAGIC));
  87. if(Magic.selectSpell(curse.getName())) {
  88. Methods.waitNewOrSwitchDelay(lastCastTime, true);
  89. if(monk[0].click("Cast")) {
  90. while(Player.getAnimation() != -1) {
  91. Methods.performAntiBan();
  92. lastCastTime = System.currentTimeMillis();
  93. sleep(50, 100);
  94. }
  95. return true;
  96. }
  97. }
  98. }
  99. return false;
  100. }
  101.  
  102. private CURSE getCurseByLevel(int level) {
  103. if(level >= 3 && level < 11) {
  104. return CURSE.CONFUSE;
  105. } else if(level >= 11 && level < 19) {
  106. return CURSE.WEAKEN;
  107. } else if(level >= 19) {
  108. return CURSE.CURSE;
  109. }
  110. return CURSE.CONFUSE;
  111. }
  112.  
  113. private enum CURSE {
  114. CONFUSE(3, "Confuse"),
  115. WEAKEN(11, "Weaken"),
  116. CURSE(19, "Curse");
  117.  
  118.  
  119. private int levelRequired;
  120. private String name;
  121.  
  122. public void setName(String n) {
  123. this.name = n;
  124. }
  125.  
  126. public String getName() {
  127. return name;
  128. }
  129.  
  130. public void setRequirement(int lvl) {
  131. this.levelRequired = lvl;
  132. }
  133.  
  134. @SuppressWarnings("unused")
  135. public int getRequirement() {
  136. return levelRequired;
  137. }
  138.  
  139. CURSE(int levelRequired, String name) {
  140. setRequirement(levelRequired);
  141. setName(name);
  142. }
  143.  
  144. }
  145.  
  146. @Override
  147. public void onPaint(Graphics g) {
  148. g.setColor(new Color(0, 0, 255, 50));
  149. g.fillRect(546, 380, 550 - 359, 465 - 380);
  150. g.setColor(Color.WHITE);
  151. g.drawString("iMonkCurser by iant06", 550, 400);
  152. g.drawString("XP Gained: " + (Skills.getXP(SKILLS.MAGIC) - startXP), 550, 420);
  153. g.drawString("Levels Gained: " + (Skills.getActualLevel(SKILLS.MAGIC) - startLevel), 550, 440);
  154. g.drawString("Running for: "+ Timing.msToString(getRunningTime()), 550, 460);
  155. }
  156.  
  157. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement