Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import impsoft.bots.ColorBot;
- import impsoft.bots.input.MouseCommand;
- import impsoft.bots.reflection.GroundItem;
- import impsoft.bots.reflection.NPC;
- import impsoft.bots.reflection.NPCIterator;
- import impsoft.bots.reflection.PhysicalObject;
- import impsoft.bots.reflection.Player;
- import impsoft.bots.reflection.WorldObject;
- import impsoft.painting.PaintJob;
- import impsoft.scripting.ibot.builtin.itemrec.ItemSlot;
- import impsoft.scripting.ibot.enums.BotStates;
- import impsoft.scripting.ibot.enums.Skill;
- import impsoft.scripting.ibot.interfaces.AutoPaint;
- import impsoft.scripting.ibot.interfaces.ChatListener;
- import impsoft.scripting.ibot.itemrec.ItemIdExact;
- import impsoft.scripting.ibot.itemrec.ItemNameExact;
- import impsoft.scripting.ibot.structs.AryanTile;
- import impsoft.scripting.ibot.structs.AryanTileZone;
- import impsoft.scripting.ibot.structs.RGB;
- import impsoft.scripting.ibot.structs.XY;
- import impsoft.scripting.types.ColorScript;
- import impsoft.scripting.types.ColorSkeltonScriptable;
- import impsoft.scripting.types.parallel.scriptjobs.WorldObjectClickingScriptJob;
- import impsoft.utils.general.Timer;
- import impsoft.utils.ibot.Pixel;
- import impsoft.utils.ruler.RulerClickOptions;
- import impsoft.utils.ruler.RulerScriptUtils;
- import impsoft.utils.uber.UberScriptUtils;
- import impsoft.values.constant.Areas;
- import java.awt.BasicStroke;
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.awt.GradientPaint;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.Image;
- import java.awt.Point;
- import java.awt.Polygon;
- import java.awt.Rectangle;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.geom.Ellipse2D;
- import java.awt.geom.RoundRectangle2D;
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.net.URL;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.EnumSet;
- import java.util.Iterator;
- import java.util.regex.Pattern;
- import javax.imageio.ImageIO;
- import javax.swing.BorderFactory;
- import javax.swing.DefaultListModel;
- import javax.swing.JButton;
- import javax.swing.JCheckBox;
- import javax.swing.JComboBox;
- import javax.swing.JComponent;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JList;
- import javax.swing.JOptionPane;
- import javax.swing.JPanel;
- import javax.swing.JScrollPane;
- import javax.swing.JSlider;
- import javax.swing.JSpinner;
- import javax.swing.JTabbedPane;
- import javax.swing.JTextField;
- import javax.swing.ListSelectionModel;
- import javax.swing.SpinnerModel;
- import javax.swing.SpinnerNumberModel;
- import javax.swing.UIManager;
- import javax.swing.UnsupportedLookAndFeelException;
- import javax.swing.event.ChangeEvent;
- import javax.swing.event.ChangeListener;
- import bergCoder.BergUtils;
- public class ZRockCrab extends ColorScript implements AutoPaint, ChatListener {
- public ZRockCrab(ColorBot c) {
- super(c);
- }
- BergUtils util = new BergUtils(this);
- Timer Time = new Timer(0);
- Timer t = new Timer((random(13,20)) * (1000 * 60));
- Timer Tabs = new Timer((random(4, 25)) * (1000 * 60));
- Timer HourPic = new Timer(60 * (1000 * 60));
- Timer f = new Timer((random(15, 54)) * (1000 * 60));
- long scriptStartTIME = System.currentTimeMillis();
- public static String author = "ZBUBBLEZ";
- public static String description = "Fights Rock Crabs, good for pures :)";
- public static String Version = "1.00";
- public static String Credits = "ZBUBBLEZ";
- String food = "Lobster";
- String Status = "Setting Up";
- int currentXp = 0;
- int startXp = 0;
- AryanTile home;
- AryanTileZone renew = new AryanTileZone(new AryanTile(2661,3662),new AryanTile(2667,3658));
- public int[] exptolevel = { 0, 83, 174, 276, 388, 512, 650, 801, 969, 1154,
- 1358, 1584, 1833, 2107, 2411, 2746, 3115, 3523, 3973, 4470, 5018,
- 5624, 6291, 7028, 7842, 8740, 9730, 10824, 12031, 13363, 14833,
- 16456, 18247, 20224, 22406, 24815, 27473, 30408, 33648, 37224,
- 41171, 45529, 50339, 55649, 61512, 67983, 75127, 83014, 91721,
- 101333, 111945, 123660, 136594, 150872, 166636, 184040, 203254,
- 224466, 247886, 273742, 302288, 333804, 368599, 407015, 449428,
- 496254, 547953, 605032, 668051, 737627, 814445, 899257, 992895,
- 1096278, 1210421, 1336443, 1475581, 1629200, 1798808, 1986068,
- 2192818, 2421087, 2673114, 2951373, 3258594, 3597792, 3972294,
- 4385776, 4842295, 5346332, 5902831, 6517253, 7195629, 7944614,
- 8771558, 9684577, 10692629, 11805606, 13034431, 200000001 };
- public void script() throws InterruptedException, Exception {
- while (!isLoggedIn()) {
- sleep(1000);
- log("Not Logged In");
- }
- log("Welcome!");
- log("ZRockCrab V" + Version);
- log("Updated: 5/25/11");
- log("Made by zbubblez");
- log("Loading GUI");
- sleep(3000);
- food = JOptionPane.showInputDialog("FOOD NAME: ");
- log("Food Name: " + food);
- log("Starting");
- home = getLocation();
- log("Home Tile: " + home);
- startXp = theTabs.Statistics.getStatExperience(Skill.ATTACK)
- + theTabs.Statistics.getStatExperience(Skill.STRENGTH)
- + theTabs.Statistics.getStatExperience(Skill.DEFENSE)
- + theTabs.Statistics.getStatExperience(Skill.RANGED)
- + theTabs.Statistics.getStatExperience(Skill.MAGIC)
- + theTabs.Statistics.getStatExperience(Skill.HITPOINTS);
- t.reset();
- while (true) {
- currentXp = theTabs.Statistics.getStatExperience(Skill.ATTACK)
- + theTabs.Statistics.getStatExperience(Skill.STRENGTH)
- + theTabs.Statistics.getStatExperience(Skill.DEFENSE)
- + theTabs.Statistics.getStatExperience(Skill.RANGED)
- + theTabs.Statistics.getStatExperience(Skill.MAGIC)
- + theTabs.Statistics.getStatExperience(Skill.HITPOINTS);
- Check();
- sleep(200, 600);
- }
- }
- public void Check() throws InterruptedException, Exception {
- NPC crab = util.getNPCByName("Rock crab");
- NPC rocks = util.getNPCByName("Rocks");
- if(t.isUp())
- {
- Status = "Making Crabs Aggressive";
- theWorldMap.walkTo(renew.random());
- this.SleepTillStill();
- t.reset();
- }
- if (theMiniMapIndicators.getHealthPoints() < (theTabs.Statistics
- .getStatBottom(Skill.HITPOINTS) / 2 + random(-5, 5))) {
- log("Health Low");
- if (theTabs.Inventory.count(food) == 0) {
- Status = "Banking";
- Bank();
- } else {
- Status = "Eating";
- theTabs.Inventory.doAction(food, null, 1, false);
- sleep(500, 1000);
- }
- }
- if (!getMyPlayer().inCombat()
- || getMyPlayer().getInteractingNPC() == null) {
- if (rocks != null) {
- Status = "Click Rocks";
- util.clickTile(rocks.getLocation(), "Rocks", "Walk here");
- mMove();
- sleep(1000, 2000);
- this.SleepTillStill();
- } else if (crab != null && !crab.inCombat()
- && !crab.isInteractingWithOtherPlayer()) {
- Status = "Clicking Rock Crab";
- RulerScriptUtils.clickWorldObject(this, null, crab, null,
- Pattern.compile(".*Attack.*"), Pattern
- .compile(".*Rock.*"), EnumSet.of(
- RulerClickOptions.GOAL_NORMAL_CLICK,
- RulerClickOptions.WALK_USING_ANY,
- RulerClickOptions.PAINT_GAMESCREEN_WALKING,
- RulerClickOptions.PAINT_PREDICTION_POLYGON));
- mMove();
- sleep(4000, 6000);
- } else if (crab == null && rocks == null) {
- Status = "Walking";
- log("Far From Home");
- theWorldMap.walkTo(new AryanTile(home.x - random(-7, 7), home.y
- - random(-7, 7)));
- this.SleepTillStill();
- }
- } else {
- Status = "In Combat";
- switch (random(0, 100)) {
- case 25:
- AntiBan();
- case 75:
- AntiBan();
- case 99:
- TabSelector();
- }
- }
- }
- public void Bank() throws InterruptedException, Exception {
- theWorldMap.walkToBank();
- this.SleepTillStill();
- theBank.open();
- theBank.doDepositAll();
- theBank.doWithDrawAll(food, true);
- theBank.exit();
- }
- public void AntiBan() throws InterruptedException, Exception {
- switch (random(0, 250)) {
- case 12:
- theCamera.setYawRandom();
- break;
- case 18:
- mouseMove(Areas.GAME);
- break;
- case 24:
- theCamera.setYawRandom();
- break;
- case 35:
- mouseMove(Areas.GAME);
- mouseMove(Areas.INVENTORY);
- break;
- case 67:
- theCamera.setYawRandom();
- break;
- case 77:
- mouseMove(Areas.GAME);
- break;
- case 86:
- theCamera.setYawRandom();
- break;
- case 96:
- mouseMove(Areas.ENTIRE);
- break;
- case 103:
- theCamera.setYawRandom();
- break;
- case 134:
- theCamera.setYawRandom();
- break;
- case 155:
- theCamera.setYawRandom();
- break;
- case 173:
- mouseMove(Areas.GAME);
- break;
- case 200:
- theCamera.setYawRandom();
- break;
- }
- }
- public void TabSelector() throws InterruptedException, Exception {
- if (Tabs.isUp()) {
- switch (random(0, 5)) {
- case 0:
- mouseClickLeft(new Rectangle(525, 171, 233, 30));
- break;
- case 1:
- mouseClickLeft(new Rectangle(526, 469, 234, 29));
- break;
- case 2:
- mouseClickLeft(new Rectangle(525, 171, 233, 30));
- break;
- case 3:
- mouseClickLeft(new Rectangle(526, 469, 234, 29));
- break;
- case 4:
- mouseClickLeft(new Rectangle(525, 171, 233, 30));
- break;
- case 5:
- mouseClickLeft(new Rectangle(526, 469, 234, 29));
- break;
- }
- Tabs.reset();
- log("RandomTabSelector = Action Complete");
- } else {
- }
- }
- public void mMove() throws InterruptedException, Exception {
- switch (random(1, 20)) {
- case 2:
- mouseMove(Areas.ENTIRE);
- log("MouseMovement = true");
- break;
- case 3:
- mouseMove(Areas.INVENTORY);
- log("MouseMovement = true");
- break;
- case 8:
- mouseMove(Areas.GAME);
- log("MouseMovement = true");
- break;
- case 13:
- mouseMove(Areas.GAME);
- log("MouseMovement = true");
- break;
- case 17:
- mouseMove(getMyPlayer().getRecommendPointToClick());
- log("MouseMovement = true");
- break;
- case 20:
- mouseMove(Areas.ENTIRE);
- log("MouseMovement = true");
- break;
- }
- }
- /** RANDOM METHODS **/
- public void SleepTillStill() throws InterruptedException, Exception {
- boolean Done = false;
- int Count = 0;
- while (Done == false) {
- sleep(700);
- if (!getMyPlayer().isMoving()) {
- Count++;
- }
- if (Count > 2) {
- Done = true;
- }
- }
- }
- public NPC getNearestNpcByName(String npcname) {
- NPC closest = null;
- double closeDistance = 800;
- AryanTile here = getLocation();
- for (NPCIterator po = getNPCIterator(); po.hasNext();) {
- NPC npc = po.next();
- String name = npc.getName();
- if (name.contains(npcname)) {
- double distance = npc.getLocation().distanceToPrecise(here);
- if (npc.inCombat() && npc.isInteractingWithMyPlayer())
- distance = -1;
- if (npc.inCombat() && npc.isInteractingWithOtherPlayer())
- distance = 1000000000;
- if (distance < closeDistance) {
- closest = npc;
- closeDistance = distance;
- }
- }
- }
- return closest;
- }
- public PhysicalObject getPhysicalObjectByInt(int poid) {
- PhysicalObject closest = null;
- double closeDistance = 800;
- AryanTile here = getLocation();
- for (PhysicalObject po : getAllPhysicalObjects()) {
- int ID = po.getID();
- if (ID == poid) {
- double distance = po.getLocation().distanceToPrecise(here);
- if (distance < closeDistance) {
- closest = po;
- closeDistance = distance;
- }
- }
- }
- return closest;
- }
- @Override
- public void paint(Graphics g) {
- final StringBuilder ggg = new StringBuilder();
- final long runtime = Time.timePassed();
- final long TotalSec = runtime / 1000;
- final long TotalMin = TotalSec / 60;
- final long TotalHour = TotalMin / 60;
- final int second = (int) TotalSec % 60;
- final int minute = (int) TotalMin % 60;
- final int hour = (int) TotalHour % 60;
- long runTime = 0;
- runTime = System.currentTimeMillis() - scriptStartTIME;
- int PerHour = 0;
- if ((runTime / 1000) > 0) {
- PerHour = (int) ((3600000.0 / (double) runTime) * ((currentXp - startXp)));
- }
- if (hour < 10)
- ggg.append("0");
- ggg.append(hour);
- ggg.append(" : ");
- if (minute < 10)
- ggg.append("0");
- ggg.append(minute);
- ggg.append(" : ");
- if (second < 10)
- ggg.append("0");
- ggg.append(second);
- final Color color1 = new Color(102, 102, 102);
- final Color color2 = new Color(0, 0, 0);
- final Color color3 = new Color(255, 255, 255);
- final BasicStroke stroke1 = new BasicStroke(1);
- final Font font1 = new Font("Arial", 1, 16);
- final Font font2 = new Font("Arial", 0, 9);
- int X = 298;
- int Y = 258;
- g.setColor(color1);
- g.fillRect(293, 225, 224, 113);
- g.setColor(color2);
- g.drawRect(293, 225, 224, 113);
- g.setFont(font1);
- g.setColor(color3);
- g.drawString("ZRockCrab", 430, 241);
- g.setFont(font2);
- g.drawString("Time Running: " + String.valueOf(ggg.toString()), X, Y);
- g.drawString("XP Gained: " + (currentXp - startXp) + " (" + PerHour
- + "/H)", X, Y + 15);
- g.drawString("Home Tile: " + home, X, Y + 30);
- g.drawString("Status: " + Status, X, Y + 45);
- g.drawString("Food Name: " + food, X, Y + 60);
- }
- @Override
- public void chat(String arg0) throws InterruptedException {
- // TODO Auto-generated method stub
- }
- }// END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement