Nice that you added banking.
Welcome to FallinOaks Version 0.3
Also FallinOaks is my first script so please take it easy on me if you find any bugs just report them to me thanks also if you have suggestions tell me.
Recommended/Needed
15 Woodcutting
A Hatchet (ANY)
Ability to find draynor...
Features:
• Banking
• Antiban
• Resting
• Paint
Locations: [more soon]
•Draynor
Known Bugs:
None ATM
Proggys
Save As: FallinOaks.java
Code:/* * @Author lolpl0xme * Swell - tutorial * mak001, bluefirecorp, ConnectQ - clicking * Electricity - STAT Antiban * Enfilade - Paint Base * YouEpicFail - Running * InvaderZim - Banking * TragiKs - paint */ import java.awt.BasicStroke; import java.aw*****lor; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.RenderingHints; import java.io.IOException; import java.net.URL; import javax.imageio.ImageIO; import org.rsbot.event.events.ServerMessageEvent; import org.rsbot.event.listeners.PaintListener; import org.rsbot.event.listeners.ServerMessageListener; import org.rsbot.script.ScriptManifest; import org.rsbot.script.Script; import org.rsbot.script.methods.Game; import org.rsbot.script.methods.Skills; import org.rsbot.script.wrappers.RSArea; import org.rsbot.script.wrappers.RSObject; import org.rsbot.script.wrappers.RSTile; @ScriptManifest(authors = { "lolpl0xme" }, keywords = { "Woodcutting" }, name = "Fallin Oaks", version = 0.3, description = "Lets start cutting all those oaks.") public class FallinOaks extends Script implements PaintListener, ServerMessageListener { //private final int[] hatchetIDs = { 349, 1351, 1353, 1355, 1357, 1359, 1361, 6739 }; private final int[] oTree = { 1281 }; double version = 0.3; private int oLog = (1521); RSTile[] banktoTrees = { new RSTile(3092, 3243), new RSTile(3102, 3244),}; private int bankboothID[] = {2213, 9398}; RSTile[] Treestobank = { new RSTile(3086, 3234), new RSTile(3092, 3243),}; private int xpGained; private int currentXp; public long startTime = System.currentTimeMillis(); long runTime = 0; long seconds = 0; long minutes = 0; long hours = 0; private int xpHour; private int startXp; private int levelsGained = 0; private int logsCut = 0; private String status = "Thinking..."; private int runEnergy = 0; private void running() { if (!game.isLoggedIn()) { runEnergy = walking.getEnergy(); if (runEnergy >= 80 && !walking.isRunEnabled()) { walking.setRun(true); } if (runEnergy < 80) { sleep(10, 20); } } } private boolean atTrees(){ RSArea area = new RSArea(new RSTile(3110, 3250), new RSTile(3098, 3240)); return are*****ntains(getMyPlayer().getLocation()); } private boolean atBank(){ RSArea area = new RSArea(new RSTile(3092, 3246), new RSTile(3095, 3240)); return are*****ntains(getMyPlayer().getLocation()); } private boolean walkToTreesFromBank(){ RSTile[] randompath = walking.randomizePath(banktoTrees, 1, 1); status = "Walking to trees"; return walking.walkPathMM(randompath, 15); } private boolean walkToBankFromTrees(){ RSTile[] randompath = walking.randomizePath(Treestobank, 1, 1); status = "Walking to bank"; return walking.walkPathMM(randompath, 15); } public void serverMessageRecieved(ServerMessageEvent e) { if (e.getMessage().contains("Woodcutting level")) { levelsGained++; } if (e.getMessage().contains("get some")) { logsCut++; } } private void useBank(){ RSObject bankBooth = objects.getNearest(bankboothID); if(bankBooth != null && inventory.contains(oLog)){ bankBooth.doAction("Use-quickly"); sleep(800, 1000); } } private void depositWillowLogs(){ if(bank.isOpen()){ bank.deposit(oLog, 0); status = "Banking Oaks"; sleep(300, 600); } } private void closeBank(){ if(bank.isOpen()){ status = "Closing Bank"; mouse.move(490, 36, 3, 3); sleep(300, 600); mouse.click(true); } } private void Bank(){ useBank(); depositWillowLogs(); closeBank(); } public void antiban() { switch (random(1, 30)) { case 5: game.openTab(Game.TAB_STATS); skills.doHover(Skills.INTERFACE_WOODCUTTING); status = "ANTIBAN WC"; sleep(random(1000, 4000)); game.openTab(Game.TAB_INVENTORY); status = "Looking At Oaks"; break; case 6: game.openTab(Game.TAB_FRIENDS); status = "ANTIBAN FL"; sleep(random(1600, 5000)); game.openTab(Game.TAB_INVENTORY); status = "Looking At Oaks"; break; case 7: game.openTab(Game.TAB_CLAN); status = "ANTIBAN CC"; sleep(random(2100, 4500)); game.openTab(Game.TAB_INVENTORY); status = "Looking At Oaks"; } } public boolean onStart() { log("Start at oaks at draynor"); startXp = skills.getCurrentExp(8); mouse.setSpeed(10); return true; } private final RenderingHints antialiasing = new RenderingHints( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); private Image getImage(String url) { try { return ImageIO.read(new URL(url)); } catch(IOException e) { return null; } } private final Color color1 = new Color(0, 0, 0); private final Color color2 = new Color(255, 255, 51); private final Color color3 = new Color(0, 255, 255); private final BasicStroke stroke1 = new BasicStroke(2); private final Font font1 = new Font("Century Gothic", 0, 12); private final Image img1 = getImage("https://img340.imageshack.us/img340/9334/cooltext478936925.png"); private final Image img2 = getImage("https://img87.imageshack.us/img87/5395/oaktreeh.png"); public void onRepaint(Graphics g1) { if (game.isLoggedIn()) { runTime = System.currentTimeMillis() - startTime; seconds = runTime / 1000; if (seconds >= 60) { minutes = seconds / 60; seconds -= (minutes * 60); } if (minutes >= 60) { hours = minutes / 60; minutes -= (hours * 60); } xpHour = (int) ((3600000.0 / (double) runTime) * xpGained); } Graphics2D g = (Graphics2D)g1; g.setRenderingHints(antialiasing); currentXp = skills.getCurrentExp(8); xpGained = currentXp - startXp; g.setColor(color1); g.fillRoundRect(517, 0, 247, 166, 16, 16); g.setColor(color2); g.setStroke(stroke1); g.drawRoundRect(517, 0, 247, 166, 16, 16); g.drawImage(img1, 564, 4, null); g.setFont(font1); g.setColor(color3); g.drawString("Oaks Cut: "+ logsCut +".", 526, 63); g.drawString("EXP Gained: " + xpGained, 527, 78); g.drawString("Version: " + version, 684, 158); g.drawImage(img2, 668, 39, null); g.drawString("Status: " + status + ".", 527, 94); g.drawString("Levels gained: " + levelsGained, 527, 110); g.drawString("Xp per hour: " + xpHour + ".", 527, 142); g.drawString("Time: " + hours + " Hrs " + minutes + " Mins " + seconds + " Secs ", 527, 126); g.drawLine(mouse.getLocation().x - 5, mouse.getLocation().y, mouse.getLocation().x + 5, mouse.getLocation().y); g.drawLine(mouse.getLocation().x, mouse.getLocation().y - 5, mouse.getLocation().x, mouse.getLocation().y + 5); } private void Chop(){ if (getMyPlayer().getAnimation() != 867){ RSObject tree = objects.getNearest(oTree); if(tree != null); tree.doAction("Chop");} status = "Chopping Oaks"; while (getMyPlayer().getAnimation() != -1) sleep(1200, 1500); } public int loop() { antiban(); running(); if(atTrees() && inventory.isFull()){ walkToBankFromTrees(); }else if(atBank() && inventory.contains(oLog)){ Bank(); }else if(atTrees() && !inventory.isFull()){ Chop(); }else if(atBank() && !inventory.contains(oLog)){ walkToTreesFromBank(); } return random(500, 1300); } public void onFinish() { log("Please report all bugs on thread thank you"); } }Code:UPDATE LOG ------------ New Paint Logs Cut: EXP Gained: EXP Per Hour: Runtime: Status: Levels Gained:Code:UPDATES TO COME ------------------ New Paint more locations
Last edited by Dead 4 Real; 11-15-2010 at 04:21 PM.
Nice that you added banking.
Thanks also updated script added new paint thanks to a pb user and also added some fixes.
Features:
• Banking
• Antiban
• Paint
• Nest Support
Known Bugs:
• None
Locations:
• Draynor (More Soon)
Save As: FallinOaks.java
Code:/* * @Author lolpl0xme * mak001, bluefirecorp, ConnectQ - clicking * Electricity - STAT Antiban * Enfilade, TragiKs - Paint Help * Swell, InvaderZim - Scripting Basics */ import java.awt.BasicStroke; import java.aw*****lor; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.RenderingHints; import java.io.IOException; import java.net.URL; import javax.imageio.ImageIO; import org.rsbot.event.events.ServerMessageEvent; import org.rsbot.event.listeners.PaintListener; import org.rsbot.event.listeners.ServerMessageListener; import org.rsbot.script.ScriptManifest; import org.rsbot.script.Script; import org.rsbot.script.methods.Game; import org.rsbot.script.methods.Skills; import org.rsbot.script.wrappers.RSArea; import org.rsbot.script.wrappers.RSGroundItem; import org.rsbot.script.wrappers.RSObject; import org.rsbot.script.wrappers.RSTile; @ScriptManifest(authors = { "lolpl0xme" }, keywords = { "Woodcutting" }, name = "Fallin Oaks", version = 0.5, description = "Cut all the oaks you can handle!") public class FallinOaks extends Script implements PaintListener, ServerMessageListener { private final int[] hatchetIDs = { 349, 1351, 1353, 1355, 1357, 1359, 1361, 6739 }; public final int[] nestIDs = {5070, 5071, 5072, 5073, 5074, 5075, 5076, 7413, 11966}; private int bankboothID[] = {2213, 9398}; private final int[] oTree = { 1281 }; RSTile[] banktoTrees = { new RSTile(3092, 3243), new RSTile(3102, 3244),}; RSTile[] Treestobank = { new RSTile(3086, 3234), new RSTile(3092, 3243),}; private int oLog = (1521); private int xpHour; private int startXp; private int levelsGained = 0; private int logsCut = 0; private int xpGained; private int currentXp; private int nestsCollected; private int runEnergy = 0; double version = 0.5; private String status = "Starting Up."; public long startTime = System.currentTimeMillis(); long runTime = 0; long seconds = 0; long minutes = 0; long hours = 0; private void running() { if (!game.isLoggedIn()) { runEnergy = walking.getEnergy(); if (runEnergy >= 80 && !walking.isRunEnabled()) { walking.setRun(true); status = "Resting..."; } if (runEnergy < 80) { sleep(10, 20); } } } private void nest() { RSGroundItem nest = groundItems.getNearest(nestIDs); int initialCount = inventory.getCount(); if (nest != null && initialCount < 28) { if (!nest.isOnScreen()) camera.turnToTile(nest.getLocation()); if (nest.doAction("Take")) { for (int i = 0; i < 15; ++i) { sleep(100); if (getMyPlayer().isMoving()) { i = 0; } if (inventory.getCount() > initialCount) { nestsCollected++; return; } } } } } private boolean atTrees(){ RSArea area = new RSArea(new RSTile(3110, 3250), new RSTile(3098, 3240)); return are*****ntains(getMyPlayer().getLocation()); } private boolean atBank(){ RSArea area = new RSArea(new RSTile(3092, 3246), new RSTile(3095, 3240)); return are*****ntains(getMyPlayer().getLocation()); } private boolean walkToTreesFromBank(){ RSTile[] randompath = walking.randomizePath(banktoTrees, 1, 1); status = "Walking to trees"; return walking.walkPathMM(randompath, 15); } private boolean walkToBankFromTrees(){ RSTile[] randompath = walking.randomizePath(Treestobank, 1, 1); status = "Walking to bank"; return walking.walkPathMM(randompath, 15); } public void serverMessageRecieved(ServerMessageEvent e) { if (e.getMessage().contains("Woodcutting level")) { levelsGained++; } if (e.getMessage().contains("get some")) { logsCut++; } } private void useBank(){ RSObject bankBooth = objects.getNearest(bankboothID); if(bankBooth != null && inventory.contains(oLog)){ bankBooth.doAction("Use-quickly"); sleep(800, 1000); } } private void depositOakLogs(){ if(bank.isOpen()){ bank.depositAllExcept(hatchetIDs); status = "Banking oaks"; sleep(300, 600); } } private void closeBank(){ if(bank.isOpen()){ status = "Closing bank"; mouse.move(490, 36, 3, 3); sleep(300, 600); mouse.click(true); } } private void Bank(){ useBank(); depositOakLogs(); closeBank(); } public void antiban() { switch (random(1, 30)) { case 5: game.openTab(Game.TAB_STATS); skills.doHover(Skills.INTERFACE_WOODCUTTING); status = "Seeing EXP Left"; sleep(random(1000, 2100)); game.openTab(Game.TAB_INVENTORY); status = "Looking at inventory"; break; case 6: game.openTab(Game.TAB_FRIENDS); status = "Looking at friends list"; sleep(random(1000, 1700)); game.openTab(Game.TAB_INVENTORY); status = "Looking at inventory"; break; case 7: game.openTab(Game.TAB_CLAN); status = "Looking at clanchat"; sleep(random(1000, 1800)); game.openTab(Game.TAB_INVENTORY); status = "Looking at inventory"; case 8: if (random(1, 20) != 1) return; status = "Moving camera"; int angle = camera.getAngle() + random(-90, 90); if (angle < 0) { angle = random(0, 10); } if (angle > 359) { angle = random(0, 10); } camera.setAngle(angle); break; case 9: if (random(1, 5) == 1) status = "Moving mouse"; mouse.moveSlightly(); case 10: if (random (0, 12) == 7) { status = "Antiban"; mouse.moveOffScreen(); sleep(random(5600, random(7200, 9000))); } break; } } public boolean onStart() { log("Start at trees or bank!"); startXp = skills.getCurrentExp(8); mouse.setSpeed(10); return true; } private final RenderingHints antialiasing = new RenderingHints( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); private Image getImage(String url) { try { return ImageIO.read(new URL(url)); } catch(IOException e) { return null; } } private final Color color1 = new Color(0, 0, 0); private final Color color2 = new Color(255, 255, 51); private final Color color3 = new Color(255, 255, 255); private final BasicStroke stroke1 = new BasicStroke(2); private final Font font1 = new Font("Century Gothic", 0, 18); private final Image img1 = getImage("https://img593.imageshack.us/img593/4858/fallinoaks.png"); public void onRepaint(Graphics g1) { nestsCollected = 0; if (game.isLoggedIn()) { runTime = System.currentTimeMillis() - startTime; seconds = runTime / 1000; if (seconds >= 60) { minutes = seconds / 60; seconds -= (minutes * 60); } if (minutes >= 60) { hours = minutes / 60; minutes -= (hours * 60); } xpHour = (int) ((3600000.0 / (double) runTime) * xpGained); } Graphics2D g = (Graphics2D)g1; g.setRenderingHints(antialiasing); currentXp = skills.getCurrentExp(8); xpGained = currentXp - startXp; g.setColor(color1); g.setColor(color2); g.setStroke(stroke1); g.drawImage(img1, 7, 333, null); g.setFont(font1); g.setColor(color3); g.drawString("Oaks Cut: "+ logsCut +".", 16, 406); g.drawString("EXP Gained: " + xpGained, 16, 446); g.drawString("Version: " + version, 332, 430); g.drawString("Status: " + status + ".", 16, 386); g.drawString("Levels gained: " + levelsGained, 16, 426); g.drawString("EXP Per Hour: " + xpHour + ".", 16, 466); g.drawString("Time: " + hours + " Hrs " + minutes + " Mins " + seconds + " Secs ", 16, 366); g.drawString("Nests: " + nestsCollected, 332, 450); g.drawLine(mouse.getLocation().x - 5, mouse.getLocation().y, mouse.getLocation().x + 5, mouse.getLocation().y); g.drawLine(mouse.getLocation().x, mouse.getLocation().y - 5, mouse.getLocation().x, mouse.getLocation().y + 5); } private void Chop(){ if (getMyPlayer().getAnimation() != 867){ RSObject tree = objects.getNearest(oTree); if(tree != null); status = "Cutting oaks"; if (!tree.isOnScreen()) camera.turnToTile(tree.getLocation()); tree.doAction("Chop");} while (getMyPlayer().getAnimation() != -1) sleep(1200, 1500); } public int loop() { antiban(); running(); nest(); if(atTrees() && inventory.isFull()){ walkToBankFromTrees(); }else if(atBank() && inventory.contains(oLog)){ Bank(); }else if(atTrees() && !inventory.isFull()){ Chop(); }else if(atBank() && !inventory.contains(oLog)){ walkToTreesFromBank(); } return random(500, 1300); } public void onFinish() { log("Thanks for using FallinOaks!"); env.saveScreenshot(true); } }
Can you show a video of it working?
Great job .
"Depending on the context, I may or may not enjoy getting stoned to death" - zιтнιυм™
Ex WarRock Minion Force
Yes i can also will add new version added alot more and new locations.
making new thread for the new version (since this is uneditable)
Last edited by Dead 4 Real; 11-23-2010 at 07:51 PM.