Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package scripts.magic.monkcurser;
- import java.awt.Color;
- import java.awt.Graphics;
- import org.tribot.api.General;
- import org.tribot.api.Timing;
- import org.tribot.api2007.Camera;
- import org.tribot.api2007.Inventory;
- import org.tribot.api2007.Login;
- import org.tribot.api2007.Magic;
- import org.tribot.api2007.NPCs;
- import org.tribot.api2007.Player;
- import org.tribot.api2007.Skills;
- import org.tribot.api2007.Skills.SKILLS;
- import org.tribot.api2007.WebWalking;
- import org.tribot.api2007.types.RSArea;
- import org.tribot.api2007.types.RSNPC;
- import org.tribot.api2007.types.RSTile;
- import org.tribot.script.Script;
- import org.tribot.script.ScriptManifest;
- import org.tribot.script.interfaces.Painting;
- import scripts.methods.Methods;
- @ScriptManifest(authors = { "iant06" }, category = "Magic", name = "iMonkCurser")
- public class MonkCurser extends Script implements Painting {
- public static final String MONK_NAME = "Monk of Zamorak";
- private int startXP = 0;
- private int startLevel = 0;
- public static final RSArea VARROCK_WEST_BANK = new RSArea(new RSTile(3180, 3433), new RSTile(3185, 3447));
- public static final RSTile VARROCK_WEST_BANK_TILE = new RSTile(3185, 3436);
- public static final String WATER_RUNE = "Water rune";
- public static final String BODY_RUNE = "Body rune";
- @Override
- public void run() {
- startXP = Skills.getXP(SKILLS.MAGIC);
- startLevel = Skills.getActualLevel(SKILLS.MAGIC);
- while(true) {
- if(hasRunes()) {
- curseMonk();
- } else {
- if(walkToBank()) {
- Login.logout();
- Thread.currentThread().interrupt();
- break;
- }
- }
- }
- }
- private boolean insideBank() {
- if(VARROCK_WEST_BANK.contains(Player.getPosition())) {
- return true;
- }
- return false;
- }
- private boolean walkToBank() {
- if(!insideBank()) {
- WebWalking.walkTo(VARROCK_WEST_BANK_TILE);
- }
- return insideBank();
- }
- private boolean hasRunes() {
- if(Inventory.getCount(WATER_RUNE, BODY_RUNE) > 0) {
- return true;
- }
- return false;
- }
- private long lastCastTime = 0L;
- private boolean curseMonk() {
- RSNPC[] monk = NPCs.findNearest(MONK_NAME);
- if(monk != null && monk.length > 0) {
- if(!monk[0].isOnScreen()) {
- Camera.turnToTile(monk[0]);
- }
- CURSE curse = getCurseByLevel(Skills.getActualLevel(SKILLS.MAGIC));
- if(Magic.selectSpell(curse.getName())) {
- Methods.waitNewOrSwitchDelay(lastCastTime, true);
- if(monk[0].click("Cast")) {
- while(Player.getAnimation() != -1) {
- Methods.performAntiBan();
- lastCastTime = System.currentTimeMillis();
- sleep(50, 100);
- }
- return true;
- }
- }
- }
- return false;
- }
- private CURSE getCurseByLevel(int level) {
- if(level >= 3 && level < 11) {
- return CURSE.CONFUSE;
- } else if(level >= 11 && level < 19) {
- return CURSE.WEAKEN;
- } else if(level >= 19) {
- return CURSE.CURSE;
- }
- return CURSE.CONFUSE;
- }
- private enum CURSE {
- CONFUSE(3, "Confuse"),
- WEAKEN(11, "Weaken"),
- CURSE(19, "Curse");
- private int levelRequired;
- private String name;
- public void setName(String n) {
- this.name = n;
- }
- public String getName() {
- return name;
- }
- public void setRequirement(int lvl) {
- this.levelRequired = lvl;
- }
- @SuppressWarnings("unused")
- public int getRequirement() {
- return levelRequired;
- }
- CURSE(int levelRequired, String name) {
- setRequirement(levelRequired);
- setName(name);
- }
- }
- @Override
- public void onPaint(Graphics g) {
- g.setColor(new Color(0, 0, 255, 50));
- g.fillRect(546, 380, 550 - 359, 465 - 380);
- g.setColor(Color.WHITE);
- g.drawString("iMonkCurser by iant06", 550, 400);
- g.drawString("XP Gained: " + (Skills.getXP(SKILLS.MAGIC) - startXP), 550, 420);
- g.drawString("Levels Gained: " + (Skills.getActualLevel(SKILLS.MAGIC) - startLevel), 550, 440);
- g.drawString("Running for: "+ Timing.msToString(getRunningTime()), 550, 460);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement