Fizzle 3 Share Posted April 15, 2023 (edited) Script will autocast Make Plank (slower than active casting) then withdraw more logs, does not bank Pre-reqs: - 86 Magic - Dream Mentor done Setup: - stand near bank - have enough coins, nature runes, astral runes in inv - infinite earth rune source: e.g. Earth staff - have mahogany logs in bank Script will keep running until out of logs/runes/coins Very minor antiban of small chance to wait from 20 seconds to 200 seconds before banking All info will be in log console Obviously change wait times as you see fit improvement: - Auto replenish from G.E. as needed XP/money will be somewhere less than this: https://oldschool.runescape.wiki/w/Money_making_guide/Casting_plank_make Short term results: Script: import org.dreambot.api.input.Mouse; import org.dreambot.api.methods.Calculations; import org.dreambot.api.methods.container.impl.Inventory; import org.dreambot.api.methods.container.impl.bank.Bank; import org.dreambot.api.methods.interactive.Players; import org.dreambot.api.methods.magic.Lunar; import org.dreambot.api.methods.magic.Magic; import org.dreambot.api.methods.settings.PlayerSettings; import org.dreambot.api.methods.skills.Skill; import org.dreambot.api.methods.skills.Skills; import org.dreambot.api.script.AbstractScript; import org.dreambot.api.script.Category; import org.dreambot.api.script.ScriptManifest; import org.dreambot.api.utilities.Logger; import org.dreambot.api.wrappers.items.Item; @ScriptManifest(name = "Fizzle Plank Make", description = "Make planks with Lunar spellbook", author = "Fizzle", version = 0.4, category = Category.MAGIC) public class PlankMakeScript extends AbstractScript { private static final String MAHOGANY_LOGS = "Mahogany logs"; private static final String MAHOGANY_PLANK = "Mahogany plank"; private static final int CHANCE_TO_WAIT = 5; // % chance private int startingMagicXp; private final long scriptStartTime = System.currentTimeMillis(); @Override public void onStart() { Logger.log("Starting Fizzle Plank Make Script"); startingMagicXp = Skills.getExperience(Skill.MAGIC); } @Override public int onLoop() { stopCheck(); logXpGained(); if (Players.getLocal().isAnimating()) { //wait until auto casting is over return Calculations.random(550, 6000); } if (Inventory.contains(MAHOGANY_LOGS)) { info("Casting plank make"); Item randomLog = Inventory.getRandom(MAHOGANY_LOGS); Magic.castSpellOn(Lunar.PLANK_MAKE, randomLog); sleep(Calculations.random(300, 1000)); Mouse.moveOutsideScreen(); return Calculations.random(550, 1233); } if (Inventory.contains(MAHOGANY_PLANK)) { //chance to wait after finishing logs (mini antiban) if (Calculations.chance(CHANCE_TO_WAIT)) { int waitTime = Calculations.random(20_000, 200_000); info("Anti-ban waiting: " + waitTime/1000 + " seconds"); return waitTime; } info("Banking planks"); //start banking process if (!Bank.open()){ //this will also open nearest bank if not currently open return Calculations.random(550, 1233); } Bank.depositAll(MAHOGANY_PLANK); return Calculations.random(330, 600); } //no logs or planks in inv so withdraw if (Bank.open()) { info("Withdrawing more logs"); if (!Bank.contains(MAHOGANY_LOGS)) { error("Out of logs in bank"); stop(); } Bank.withdrawAll(MAHOGANY_LOGS); sleep(Calculations.random(330, 700)); Bank.close(); return Calculations.random(550, 1233); } return Calculations.random(550, 1233); } private void logXpGained() { long currentMagicXP = Skills.getExperience(Skill.MAGIC); log("total xp gained: " + (currentMagicXP - startingMagicXp)); log("total xp per hour: " + String.format("%.2f", (double)(currentMagicXP - startingMagicXp) / (System.currentTimeMillis() - scriptStartTime) * 3600000 / 1000) + "k"); } private void stopCheck() { if(Inventory.count("Nature rune") == 0) { error("Out of Nature runes"); stop(); } if (Inventory.count("Astral rune") <= 1) { error("Out of Astral runes"); stop(); } if (Inventory.count("Coins") <= 2000) { error("Low on coins"); stop(); } //0 is Normal, 1 is Ancient, 2 is Lunar, 3 is Arceus if (PlayerSettings.getBitValue(4070) != 2) { error("Not on Lunar spellbook"); stop(); } if(!Magic.canCast(Lunar.PLANK_MAKE)) { error("cannot cast Plank Make"); stop(); } } } Edited April 16, 2023 by Fizzle fixed wrong info Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now