Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package scripts.scripts.chickenKiller;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.util.HashMap;
- import org.tribot.api.General;
- import org.tribot.api2007.Login;
- import org.tribot.api2007.Player;
- import org.tribot.api2007.Skills.SKILLS;
- import org.tribot.api2007.types.RSPlayer;
- import org.tribot.script.Script;
- import org.tribot.script.ScriptManifest;
- import org.tribot.script.interfaces.Arguments;
- import org.tribot.script.interfaces.Painting;
- import scripts.lib.generic.StringFunctions;
- import scripts.lib.runtime.RunTime;
- import scripts.node.Node;
- import scripts.scripts.chickenKiller.jobs.Bank;
- import scripts.scripts.chickenKiller.jobs.Deathwalk;
- import scripts.scripts.chickenKiller.jobs.Equip;
- import scripts.scripts.chickenKiller.jobs.Fight;
- @ScriptManifest(authors = {"Dorkinator"}, name = "Chicken Killer", description =
- "<html><body><form action=\"aa\">"
- + "<input type=\"checkbox\" name=\"debugmode\">Debug mode enabled<br>"
- + "<input type=\"checkbox\" name=\"stoptraining\">Stop leveling randomly (gets you sudo random combat stats then logs out)"
- + "</form></body></html>", version = 1.0, category = "Combat")
- public class ChickenKiller extends Script implements Arguments, Painting {
- private Node[] jobList = {new Equip(this), new Bank(this), new Deathwalk(this), new Fight(this)};
- private boolean debugMode;
- private boolean botFarmMode;
- private int startingXp = -1;
- private RunTime rt;
- @Override
- public void run() {
- General.useAntiBanCompliance(true);
- rt = new RunTime();
- while (true) {
- for (Node i : jobList)
- if (i.activate()) {
- if (debugMode)
- System.out.println(i.status());
- i.execute();
- break;
- }
- if (getCombatXp() > 0 && startingXp < 0)
- startingXp = getCombatXp();
- if (botFarmMode && Login.getLoginState() == Login.STATE.INGAME) {
- RSPlayer me = Player.getRSPlayer();
- if (me != null && !(SKILLS.HITPOINTS.getActualLevel() - 13 < StringFunctions.stringToInt(Player.getRSPlayer().getName(), 7, 19, 17))) {
- Login.logout();
- return;
- }
- }
- General.sleep(50, 150);
- }
- }
- @Override
- public void passArguments(HashMap<String, String> m) {
- debugMode = m.get("debugmode").equals("true");
- botFarmMode = m.get("stoptraining").equals("true");
- }
- @Override
- public void onPaint(Graphics g) {
- g.setColor(new Color(0, 0, 0, 0.4f));
- g.fillRect(20, 20, 100, 55);
- g.setColor(new Color(0, 0, 0));
- g.drawRect(20, 20, 100, 55);
- g.setColor(new Color(0, 200, 0));
- g.drawString("Chicken Killer", 23, 35);
- g.drawString("Runtime: " + rt.getRunTime(), 23, 50);
- if (rt.getMins() > 1)
- g.drawString("xp/hr: " + (((getCombatXp() - startingXp) / rt.getMins()) * 60), 23, 65);
- }
- private int getCombatXp() {
- if (Login.getLoginState() == Login.STATE.INGAME)
- return SKILLS.HITPOINTS.getXP() + SKILLS.ATTACK.getXP() + SKILLS.STRENGTH.getXP() + SKILLS.DEFENCE.getXP();
- return -1;
- }
- }
- ---------------------------------------------------------------------------------------------------------------------------------
- package scripts.scripts.chickenKiller.jobs;
- import org.tribot.api.DynamicClicking;
- import org.tribot.api.General;
- import org.tribot.api.types.generic.Filter;
- import org.tribot.api2007.Camera;
- import org.tribot.api2007.Combat;
- import org.tribot.api2007.Login;
- import org.tribot.api2007.NPCs;
- import org.tribot.api2007.Player;
- import org.tribot.api2007.GameTab.TABS;
- import org.tribot.api2007.WebWalking;
- import org.tribot.api2007.types.RSNPC;
- import scripts.lib.timer.Timer;
- import scripts.node.Node;
- import scripts.scripts.chickenKiller.util.Areas;
- public class Fight extends Node {
- private Timer t;
- public Fight(Object s) {
- super(s);
- t = new Timer(0);
- }
- @Override
- public boolean activate() {
- return Login.getLoginState() == Login.STATE.INGAME && !inCombat();
- }
- @Override
- public void execute() {
- if (!t.isRunning()) {
- Combat.selectIndex(General.random(0, 3));
- t = new Timer(General.random(7543, 110000));
- if (General.random(0, 10) > 4)
- TABS.INVENTORY.open();
- }
- final RSNPC[] chickens = NPCs.find(new Filter<RSNPC>() {
- @Override
- public boolean accept(RSNPC i) {
- return i != null && !i.isInCombat() && i.getName().contains("Chicken") && i.isOnScreen() && Areas.chickenCoup.contains(i.getPosition());
- }
- });
- if (attackTarget(chickens)) {
- General.sleep(100, 1000);
- } else {
- System.out.println("failed to locate chicken :(");
- }
- }
- @Override
- public String status() {
- return "fighting chickens";
- }
- public boolean inCombat() {
- if (Player.getRSPlayer().getInteractingCharacter() != null)
- return true;
- for (RSNPC n : NPCs.getAll())
- if (n.isInteractingWithMe() && n.getPosition().distanceTo(Player.getPosition()) < 2)
- return true;
- return false;
- }
- public boolean attackTarget(RSNPC[] npcs) {
- RSNPC target = null;
- for (RSNPC n : npcs) {
- if (n.isOnScreen() && !n.isInCombat() && n.getAnimation() == -1) {
- target = n;
- break;
- }
- }
- if (target != null) {
- if (System.currentTimeMillis() % 150 == 0)
- Camera.turnToTile(target.getPosition());
- return DynamicClicking.clickRSNPC(target, "Attack Chicken");
- }
- return false;
- }
- }
- ----------------------------------------------------------------------------------------------------------------------------------
- package scripts.scripts.chickenKiller.jobs;
- import org.tribot.api.types.generic.Condition;
- import org.tribot.api.types.generic.Filter;
- import org.tribot.api2007.Equipment;
- import org.tribot.api2007.Inventory;
- import org.tribot.api2007.Login;
- import org.tribot.api2007.types.RSItem;
- import scripts.lib.generic.Timing;
- import scripts.node.Node;
- public class Equip extends Node {
- public Equip(Object s) {
- super(s);
- }
- @Override
- public boolean activate() {
- RSItem[] equipables = getEquipables();
- return Login.getLoginState() == Login.STATE.INGAME && equipables != null && equipables.length > 0;
- }
- @Override
- public void execute() {
- final RSItem[] equipables = getEquipables();
- for (RSItem i : equipables)
- i.click("wield");
- Timing.waitFor(new Condition() {
- @Override
- public boolean active() {
- for (RSItem i : equipables)
- return i == null;
- return false;
- }
- }, 1000);
- }
- @Override
- public String status() {
- return "Equiping stuff";
- }
- private RSItem[] getEquipables() {
- RSItem[] out = Inventory.find(new Filter<RSItem>() {
- @Override
- public boolean accept(RSItem i) {
- return (Equipment.SLOTS.WEAPON.getItem() == null && i.getDefinition().getName().contains("sword")) ||
- (Equipment.SLOTS.SHIELD.getItem() == null && i.getDefinition().getName().contains("shield"));
- }
- });
- return out;
- }
- }
- ------------------------------------------------------------------------------------------------------------------------------
- package scripts.scripts.chickenKiller.jobs;
- import org.tribot.api2007.Login;
- import org.tribot.api2007.Player;
- import scripts.lib.extended.Walking.Walking;
- import scripts.node.Node;
- import scripts.scripts.chickenKiller.util.Areas;
- public class Deathwalk extends Node {
- public Deathwalk(Object s) {
- super(s);
- }
- @Override
- public boolean activate() {
- return Login.getLoginState() == Login.STATE.INGAME && !Areas.chickenCoup.contains(Player.getPosition());
- }
- @Override
- public void execute() {
- Walking.webWalkingWalkTo(Areas.chickenCoup.getRandomTile());
- }
- @Override
- public String status() {
- return "Walking to coup";
- }
- }
- ---------------------------------------------------------------------------------------------------------------------------------
- package scripts.scripts.chickenKiller.jobs;
- import org.tribot.api2007.Banking;
- import org.tribot.api2007.Inventory;
- import org.tribot.api2007.Login;
- import org.tribot.api2007.Objects;
- import org.tribot.api2007.Player;
- import org.tribot.api2007.WebWalking;
- import org.tribot.api2007.types.RSItem;
- import org.tribot.api2007.types.RSObject;
- import org.tribot.api2007.types.RSPlayer;
- import scripts.node.Node;
- import scripts.scripts.chickenKiller.util.Areas;
- public class Bank extends Node {
- public Bank(Object s) {
- super(s);
- }
- @Override
- public boolean activate() {
- RSPlayer me = Player.getRSPlayer();
- RSItem[] inv = Inventory.getAll();
- return Login.getLoginState() == Login.STATE.INGAME && me != null && !Areas.chickenCoup.contains(me.getPosition()) && inv != null && inv.length > 6 && inv[7] != null;
- }
- @Override
- public void execute() {
- if (Banking.isBankScreenOpen()) {
- Banking.depositAll();
- } else {
- RSObject[] banks = Objects.findNearest(10, "Bank booth");
- if (banks.length > 0 && banks[0] != null)
- Banking.openBank();
- else
- WebWalking.walkToBank();
- }
- }
- @Override
- public String status() {
- return "Banking";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement