Jump to content

M3ATB4LL

Members
  • Posts

    4
  • Joined

  • Last visited

  • Feedback

    0%

Profile Information

  • Gender
    Male
  • Location:
    USA

M3ATB4LL's Achievements

Newbie

Newbie (1/10)

0

Reputation

  1. Thanks for the replies, Ill work on this more tonight. I wasn't able to find the walk class hence why I created my own walk class which does absolutely nothing ha. I'll see what i can fix, the help is really appreciated!
  2. So this is my first attempt at making a script for Runescape and wanted to know where I was going wrong. It's a basic woodcutter for the woodcutting guild. I've been having trouble trying to motivate myself to practice my java programming skills and figured this might be one way to do that. I would appreciate any tips and help the community has for me, thanks! UPDATE on 2/17/17 - I'm still having issues with getting the script to run, however, i think the logic is getting better. My main issue is getting used to the OSBot API but in due time, right!? I included an doAntiBan() feature and I also plan to use this script as an educational open source project for future script developers! package meatball.woodcuttingMod; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import org.osbot.rs07.api.Bank; import org.osbot.rs07.api.Inventory; import org.osbot.rs07.api.map.Area; import org.osbot.rs07.api.model.Entity; import org.osbot.rs07.api.ui.Skill; import org.osbot.rs07.api.ui.Tab; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; @ScriptManifest(author = "M3ATB4LL", info = "", logo = "", name = "Woodcutting Bot", version = 0.1) public class WoodcuttingMod extends Script { final static String MAGIC_NAME = "Magic tree"; final static int BANK_BOOTH_ID = 28861; final static Area BANK_AREA = new Area(7936, 5632, 8320, 6144); final static Area MAGIC_AREA = new Area(6144, 6272, 6912, 7040); int logsChopped = 0; int startXP = 0; static Timer runTime; public void onStart() { log("Starting M3ATB4LLs Woodcutting Bot"); runTime = new Timer(0); startXP = getSkills().getExperience(Skill.WOODCUTTING); } public void onExit() { log("Exiting M3ATB4LLs Woodcutting Bot"); } public int onLoop() throws InterruptedException { Entity magicLog = objects.closest(MAGIC_NAME); Bank bank = getBank(); Inventory inventory = getInventory(); if (!inventory.isFull() && MAGIC_AREA.contains(myPlayer()) && magicLog != null) { if (!magicLog.isVisible()) { walking.webWalk(MAGIC_AREA); log("Chopping Logs"); doAntiBan(); } else if (!myPlayer().isAnimating() || !myPlayer().isMoving()) { magicLog.interact("Chop down"); sleep(random(700, 900)); } } if (BANK_AREA.contains(myPlayer())) { Entity bankbooth = objects.closest(BANK_BOOTH_ID); if (bank.isOpen()) { sleep(random(200, 300)); bank.depositAll(); sleep(random(300, 500)); } else { if (bankbooth != null) { if (bankbooth.isVisible()) { log("Banking Inventory"); sleep(random(200, 300)); bankbooth.interact("Bank"); sleep(random(300, 500)); } } } } else { log("Walking to Bank"); walking.webWalk(BANK_AREA); sleep(random(200, 300)); bank.depositAll(); doAntiBan(); } return random(100, 125); } public void onMessage(String message) { if (message.contains("You get some magic logs.")) { logsChopped++; } } private void doAntiBan() throws InterruptedException { switch (random(350, 3000)) { case 1: getTabs().open(Tab.SKILLS); sleep(random(500, 5000)); log("Antiban Case 1"); break; case 2: getTabs().open(Tab.SKILLS); sleep(random(500, 5000)); getSkills().hoverSkill(Skill.RANGED); sleep(random(100, 8000)); getMouse().moveRandomly(); log("Antiban Case 2"); break; case 3: getTabs().open(Tab.SKILLS); sleep(random(500, 5000)); getSkills().hoverSkill(Skill.HUNTER); sleep(random(600, 8000)); getMouse().moveRandomly(); log("Antiban Case 3"); break; case 4: getMouse().moveRandomly(); log("Antiban Case 4"); break; case 5: this.camera.movePitch(random(50, 360)); this.camera.moveYaw(random(30, 360)); log("Antiban Case 5"); break; case 6: this.camera.moveYaw(random(150, 360)); this.camera.movePitch(random(120, 360)); log("Antiban Case 6"); break; case 7: this.camera.movePitch(random(30, 360)); log("Antiban Case 7"); break; case 8: this.camera.moveYaw(random(50, 400)); log("Antiban Case 8"); break; case 9: getTabs().open(Tab.SKILLS); sleep(random(1000, 6000)); getSkills().hoverSkill(Skill.WOODCUTTING); sleep(random(1400, 8000)); getMouse().moveRandomly(); log("Antiban Case 9"); break; } sleep(random(700, 1800)); getTabs().open(Tab.INVENTORY); sleep(random(175, 300)); } public void onPaint(Graphics g) { Graphics2D graphics = (Graphics2D) g; Font normal = new Font("SANS_SERIF", Font.BOLD, 14); Font italic = new Font("SANS_SERIF", Font.ITALIC, 12); graphics.setColor(Color.WHITE); graphics.setFont(normal); graphics.drawString("-- M3ATBALLs Woodcutter --", 25, 15); graphics.setFont(italic); graphics.drawString("Logs Chopped: " + logsChopped, 25, 30); graphics.drawString("Logs Chopped/hr: " + getPerHour(logsChopped), 25, 45); graphics.drawString("XP Gained: " + (getSkills().getExperience(Skill.WOODCUTTING) - startXP), 25, 60); graphics.drawString("XP Gained/hr: " + getPerHour(getSkills().getExperience(Skill.WOODCUTTING) - startXP), 25, 85); } public static int getPerHour(int value) { if (runTime != null && runTime.getElapsed() > 0) { return (int) (value * 3600000d / runTime.getElapsed()); } else { return 0; } } public static long getPerHour(long value) { if (runTime != null && runTime.getElapsed() > 0) { return (long) (value * 3600000d / runTime.getElapsed()); } else { return 0; } } }
×
×
  • Create New...