mailinator Posted August 3, 2014 Share Posted August 3, 2014 MailCurseCaster v0.9.1 Yay! My third published script!Using curse on the Monk of Zamorak in Varrock is a very easy way to get your magic lvl up. So I made this script. Also I finally added some paint, will update my other scripts. If there will be demand, I can publish a Aubury's rune shop script, that I used to buy my runes.What my script does: casts Curse checks if you still have body runes, if not it logs out both compiled jar and source code published Enjoy!Notes: I just noticed there is another curse caster available, but I've already made this script, so here you goUpdates: v1 - initial releaseDownload (v1) Precompiled JAR: http://tmp.martincernac.cz/mailcursecaster/MailCurseCaster.jar?v1Source (if you don't trust me): http://tmp.martincernac.cz/mailcursecaster/MailCurseCaster.java?v1 Screenshot 3 Quote Link to comment Share on other sites More sharing options...
Hayden Posted August 3, 2014 Share Posted August 3, 2014 nice gl Quote Link to comment Share on other sites More sharing options...
mailinator Posted August 3, 2014 Author Share Posted August 3, 2014 nice gl Thanks. There is still some features missing (should also logout when out of the area, better runes checking and so on). If you are missing some key features please post them too. Quote Link to comment Share on other sites More sharing options...
Alek Posted August 3, 2014 Share Posted August 3, 2014 Do you have any relation to the website mailinator.com? 1 Quote Link to comment Share on other sites More sharing options...
mailinator Posted August 3, 2014 Author Share Posted August 3, 2014 Do you have any relation to the website mailinator.com? I do not, but I use their services all the time! 1 Quote Link to comment Share on other sites More sharing options...
Mikasa Posted August 7, 2014 Share Posted August 7, 2014 Testing this out right now, I'll try to post a decent proggy in a bit Quote Link to comment Share on other sites More sharing options...
Anaesthetic Posted August 7, 2014 Share Posted August 7, 2014 Looks awesome! Thanks for uploading Quote Link to comment Share on other sites More sharing options...
ericolivares94 Posted August 22, 2014 Share Posted August 22, 2014 who has the other curse caster script? Quote Link to comment Share on other sites More sharing options...
gilaga Posted August 23, 2014 Share Posted August 23, 2014 who has the other curse caster script? me, dont use mine, this one is much better Quote Link to comment Share on other sites More sharing options...
Fay Posted August 26, 2014 Share Posted August 26, 2014 Great script man! Quote Link to comment Share on other sites More sharing options...
Unmasked Posted August 26, 2014 Share Posted August 26, 2014 nice script Quote Link to comment Share on other sites More sharing options...
Fay Posted August 26, 2014 Share Posted August 26, 2014 (edited) I made a couple mods to the script. Added CURSE_AREA so if the player is not the in the area it will log out. Not sure how that will do with randoms that run from combat, but it does prevent death standing and standing on the wrong side of the door. Also added current mage level and mages levels gained. package botScript; import java.awt.*; import org.osbot.rs07.api.ui.Skill; import org.osbot.rs07.api.ui.Spell; import org.osbot.rs07.api.ui.Tab; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; import org.osbot.rs07.utility.Area; @ScriptManifest(author = "Mailinator/Fay", info = "Casts Curse on Monk of Zamorak", name = "MailCurseCaster/w Fay", version = 0.911, logo = "") public class Something extends Script { private long startTime; private int magicStartXP; private int magicStartLvl; final Area CURSE_AREA = new Area(3214,3473,3218,3476); @Override public void onStart() { startTime = System.currentTimeMillis(); antiBan.initializeModule(); magicStartXP = skills.getExperience(Skill.MAGIC); magicStartLvl = skills.getStatic(Skill.MAGIC); } @Override public int onLoop() throws InterruptedException { tabs.open(Tab.MAGIC); if(CURSE_AREA.contains(myPlayer()) && inventory.contains("Body rune")){ magic.castSpellOnEntity(Spell.CURSE, npcs.closest("Monk of Zamorak")); }else{ //Realized that running from combat randoms would term a step before we entered into the CURSE_AREA so I threw in a sleep/recheck for it to have just enough time to walk into the zone. sleep(random(300,550)); if(!CURSE_AREA.contains(myPlayer()) || !inventory.contains("Body rune")){ stop(true); } } return random(1000, 1500); } @Override public void onPaint(Graphics2D g) { long elapsed = System.currentTimeMillis() - startTime; int magicCurrentLvl = skills.getStatic(Skill.MAGIC); g.setColor(new Color(0, 0, 0, .7f)); g.fillRect(7, 345, 220, 65); g.setColor(Color.WHITE); g.drawString((new StringBuilder("Time: ")).append(format(elapsed)).toString(), 15, 357); g.drawString((new StringBuilder("Magic level: ")).append(magicCurrentLvl).append(" (").append(magicCurrentLvl - magicStartLvl).append(")").toString(), 120, 357); g.setColor(Color.BLACK); g.fillRect(15, 366, 202, 15); double delta = skills.getExperienceForLevel(skills.getStatic(Skill.MAGIC) + 1) - skills.getExperienceForLevel(skills.getStatic(Skill.MAGIC)); double percentage = (100 - skills.experienceToLevel(Skill.MAGIC) / (delta / 100)); g.setColor(new Color(79, 192, 24)); g.fillRect(16, 367, (int) (200 * (percentage / 100)), 13); if (percentage < 55) { g.setColor(Color.WHITE); } else { g.setColor(Color.BLACK); } g.drawString(((int) percentage) + "%", 105, 378); g.setColor(Color.WHITE); g.drawString("XP and casts TNL: " + skills.experienceToLevel(Skill.MAGIC) + "XP (" + (int) (skills.experienceToLevel(Skill.MAGIC) / 29) + ")", 15, 398); } public String format(long time) { StringBuilder string = new StringBuilder(); long totalSeconds = time / 1000L; long totalMinutes = totalSeconds / 60L; long totalHours = totalMinutes / 60L; int seconds = (int) totalSeconds % 60; int minutes = (int) totalMinutes % 60; int hours = (int) totalHours % 24; if (hours > 0) { string.append((new StringBuilder(String.valueOf(hours))).append("h ").toString()); } if (minutes > 0) { string.append((new StringBuilder(String.valueOf(minutes))).append("m ").toString()); } string.append((new StringBuilder(String.valueOf(seconds))).append("s").toString()); return string.toString(); } } Edited August 26, 2014 by Fay Quote Link to comment Share on other sites More sharing options...
tater tots Posted February 11, 2015 Share Posted February 11, 2015 Doesn't work? Quote Link to comment Share on other sites More sharing options...
trapprs Posted February 25, 2015 Share Posted February 25, 2015 does not work. Quote Link to comment Share on other sites More sharing options...
omega fujimo Posted June 6, 2015 Share Posted June 6, 2015 do not workN Quote Link to comment Share on other sites More sharing options...