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

    Posted

    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.

    Posted

    nice release, ill test it on the next account I make :P

    Posted

    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.

    Posted

    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 :)

    Posted

    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

    Posted

    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

    Posted

    Great release - you should add an alching feature in the future. That's insane XP. 

     

    Curse>Alch>Curse>Alch - rinse and repeat. :-)

    • 7 months later...
    Posted

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

     

    got my staff and all runes 

    • 3 years later...
    Posted
    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.

    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.