Jump to content
Frequently Asked Questions
  • Are you not able to open the client? Try following our getting started guide
  • Still not working? Try downloading and running JarFix
  • Help! My bot doesn't do anything! Enable fresh start in client settings and restart the client
  • How to purchase with PayPal/OSRS/Crypto gold? You can purchase vouchers from other users
  • Monk of Zamorak Curser


    lawdeedaw

    Recommended Posts

    Hey guys I made a simple bot that casts curse on the Monk of Zamorak in Varrock castle. Practied paint and rectangles in this script. Got my main from 25-50 magic. feel free to change the sleep time to whatever fits your playing methods best.

     

    requirements: 

    must have runes and earth staff equipped.

     

    features:

    stops when out of runes.

    can start anywhere.

    randomly rotates camera to an appropriate spot (3% chance every cast that the camera will rotate, feel free to change my antiban method if you want more random or less random).

    32k+ xp/hour

     

    2DxOe1P.png

     

    Link to my script

     

    I commented it so some people can look at it for learning purposes.

    Link to comment
    Share on other sites

    thanks! I couldn't decide if I should use a dynamic sleep or not, It was a tough decision because it might look a bit weird to have a curser run perfect with little errors after an hour or so. I chose not to use it, normally when I curse I just click back and fourth a ton of times while watching netflix. Might practice my gui making abilities and make that an option though.

    Link to comment
    Share on other sites

    Is this broken or am I doing something wrong?

    I searched as best I could before asking - I assume I'm doing it correctly, I copy pasted the raw code from your link into a new .jar file named splash.jar in the correct location.

    DreamBot console says "ERROR: Failed to load jar splash.jar"

    Is there something else I was supposed to do? Pardon my ignorance but I searched the forums and only found this very simple guide

     

    Thank you for your time :)

    Link to comment
    Share on other sites

    Is this broken or am I doing something wrong?

     

    I searched as best I could before asking - I assume I'm doing it correctly, I copy pasted the raw code from your link into a new .jar file named splash.jar in the correct location.

     

    DreamBot console says "ERROR: Failed to load jar splash.jar"

     

    Is there something else I was supposed to do? Pardon my ignorance but I searched the forums and only found this very simple guide

     

    Thank you for your time :)

    You have to compile that code into a JAR, you can't just add it like that :P

     

    Here you go, just put it in your DreamBot/Scripts folder :)

     

    https://www.dropbox.com/s/ksv3gxv0ow1naee/Curser.jar?dl=0

    Link to comment
    Share on other sites

    You have to compile that code into a JAR, you can't just add it like that :P

     

    Here you go, just put it in your DreamBot/Scripts folder :)

     

    https://www.dropbox.com/s/ksv3gxv0ow1naee/Curser.jar?dl=0

     

    That was literally the quickest response that I never expected :)

     

    Thank you so much, I am not a developer as you can see, my knowledge of code is extremely limited and I didn't see any other mentions of compiling, which I have no idea how to do. I can likely learn enough from Google in the future now that I know code like this needs compiling... maybe lol. Most of my past experience is in dealing with simple .xml files lol.

     

    Thanks for the link and your quick reply, I much appreciate it :D

    Link to comment
    Share on other sites

    • 7 months later...

    tried using this but when it runs nothing happens? White box over the curse spell but nothing else,

     

    got my staff and all runes 

    Link to comment
    Share on other sites

    • 3 years later...
    import org.dreambot.api.methods.Calculations;
    import org.dreambot.api.methods.map.Tile;
    import org.dreambot.api.methods.skills.Skill;
    import org.dreambot.api.methods.tabs.Tab;
    import org.dreambot.api.script.AbstractScript;
    import org.dreambot.api.script.Category;
    import org.dreambot.api.script.ScriptManifest;
    import org.dreambot.api.utilities.Timer;
    import org.dreambot.api.wrappers.interactive.NPC;
     
    
    import org.dreambot.api.wrappers.items.Item;
    
    import java.awt.*;
    import java.awt.image.BufferedImage;
    import java.io.IOException;
    import java.net.MalformedURLException;
    import java.net.URL;
     
    
    
    import javax.imageio.ImageIO;
     
    @ScriptManifest(name = "LawCurser", author = "lawdeedaw", description = "curses", version = 1, category = Category.MAGIC)
    public class Main extends AbstractScript {
    	private Timer t = new Timer();
    	private final Tile castTile = new Tile(3214, 3476, 0);
    	private final Rectangle p = new Rectangle(655, 230, 24, 24);
    	private BufferedImage image;
     
    	@Override
    	public void onStart() {
    		//start tracking magic skill, load paint image
    		getSkillTracker().start(Skill.MAGIC);
    		try {
    			image = ImageIO.read(new URL("http://i.imgur.com/K0Vrcv2.png"));
    		} catch (MalformedURLException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
     
    	@Override
    	public int onLoop() {
    		NPC monk = getNpcs().closest("Monk of Zamorak");
    		antiBan();
    		Item waterRune = getInventory().get("Water rune");
    		//if I don't have enough runes exit
    		if(waterRune.getAmount() < 2 || !getInventory().contains("Body rune") || !getInventory().contains("Water rune")){
    			log("not enough runes, exiting;");
    			return -1;
    		}
    		//If im not near the monk, walk to the monk
    		if(!getLocalPlayer().getTile().equals(castTile)){
    			getWalking().walk(castTile);
    			sleep(500, 2000);
    		} else {
    			//if I am at the monk but my magic tab isn't open, open magic tab
    			if(!getTabs().isOpen(Tab.MAGIC)){
    				getTabs().open(Tab.MAGIC);
    			} else {
    				//at monk, tab is open, clicks the curse spell
    				getMouse().move(p);
    				sleep(10, 60);
    				getMouse().click();
    				sleep(10, 60);
    			}
    			//at monk, curse spell is seleceted, if monk is available click the monk.
    			if(monk.isOnScreen() && monk != null){
    				getMouse().move(monk);
    				sleep(10, 60);
    				getMouse().click();
    				sleep(10, 60);
    			}
    		}
    		return Calculations.random(500, 2008); // wait .5 - 2 seconds before repeated the loop
    	}
    	
    	private void antiBan(){
    		int rando = Calculations.random(1, 100);
    		switch(rando){
    		case 1: getCamera().rotateToPitch(Calculations.random(350, 383));
    		log("Anti ban activated");
    		break;
    		case 2: getCamera().rotateToYaw(Calculations.random(1418, 1600));
    		log("Anti ban activated");
    		break;
    		case 3: getCamera().rotateToYaw(Calculations.random(433, 675));
    		log("Anti ban activated");
    		break;
    		default: 
    		}
    	}
     
    	@Override
    	public void onExit() {
    		log("Thank you for using LawCurser");
    	}
     
    	public void onPaint(Graphics2D g) {
    		g.drawImage(image, null, 460, 351);
    		g.setColor(Color.WHITE);
    		Rectangle p2 = new Rectangle(655, 230, 24, 24);
    		g.setFont(new Font("Arial", 1, 11));
    		g.drawString("" + t.formatTime(), 569, 412);
    		g.drawString("" + getSkillTracker().getGainedExperience(Skill.MAGIC) + " [" + getSkillTracker().getGainedExperiencePerHour(Skill.MAGIC) + "]" + " (+" + getSkillTracker().getGainedLevels(Skill.MAGIC) + ")", 567, 451);
    		g.draw(p2);
    	}
    }

    Fixed btw since this is our only cursing script out it appears.

    Link to comment
    Share on other sites

    Archived

    This topic is now archived and is closed to further replies.

    ×
    ×
    • Create New...

    Important Information

    We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.