Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.02 KB | None | 0 0
  1. package scripts.scripts.chickenKiller;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Graphics;
  5. import java.util.HashMap;
  6.  
  7. import org.tribot.api.General;
  8. import org.tribot.api2007.Login;
  9. import org.tribot.api2007.Player;
  10. import org.tribot.api2007.Skills.SKILLS;
  11. import org.tribot.api2007.types.RSPlayer;
  12. import org.tribot.script.Script;
  13. import org.tribot.script.ScriptManifest;
  14. import org.tribot.script.interfaces.Arguments;
  15. import org.tribot.script.interfaces.Painting;
  16.  
  17. import scripts.lib.generic.StringFunctions;
  18. import scripts.lib.runtime.RunTime;
  19. import scripts.node.Node;
  20. import scripts.scripts.chickenKiller.jobs.Bank;
  21. import scripts.scripts.chickenKiller.jobs.Deathwalk;
  22. import scripts.scripts.chickenKiller.jobs.Equip;
  23. import scripts.scripts.chickenKiller.jobs.Fight;
  24.  
  25. @ScriptManifest(authors = {"Dorkinator"}, name = "Chicken Killer", description =
  26. "<html><body><form action=\"aa\">"
  27. + "<input type=\"checkbox\" name=\"debugmode\">Debug mode enabled<br>"
  28. + "<input type=\"checkbox\" name=\"stoptraining\">Stop leveling randomly (gets you sudo random combat stats then logs out)"
  29. + "</form></body></html>", version = 1.0, category = "Combat")
  30. public class ChickenKiller extends Script implements Arguments, Painting {
  31. private Node[] jobList = {new Equip(this), new Bank(this), new Deathwalk(this), new Fight(this)};
  32. private boolean debugMode;
  33. private boolean botFarmMode;
  34. private int startingXp = -1;
  35. private RunTime rt;
  36.  
  37. @Override
  38. public void run() {
  39. General.useAntiBanCompliance(true);
  40. rt = new RunTime();
  41. while (true) {
  42. for (Node i : jobList)
  43. if (i.activate()) {
  44. if (debugMode)
  45. System.out.println(i.status());
  46. i.execute();
  47. break;
  48. }
  49. if (getCombatXp() > 0 && startingXp < 0)
  50. startingXp = getCombatXp();
  51.  
  52. if (botFarmMode && Login.getLoginState() == Login.STATE.INGAME) {
  53. RSPlayer me = Player.getRSPlayer();
  54. if (me != null && !(SKILLS.HITPOINTS.getActualLevel() - 13 < StringFunctions.stringToInt(Player.getRSPlayer().getName(), 7, 19, 17))) {
  55. Login.logout();
  56. return;
  57. }
  58. }
  59.  
  60. General.sleep(50, 150);
  61. }
  62. }
  63.  
  64. @Override
  65. public void passArguments(HashMap<String, String> m) {
  66. debugMode = m.get("debugmode").equals("true");
  67. botFarmMode = m.get("stoptraining").equals("true");
  68. }
  69.  
  70. @Override
  71. public void onPaint(Graphics g) {
  72. g.setColor(new Color(0, 0, 0, 0.4f));
  73. g.fillRect(20, 20, 100, 55);
  74. g.setColor(new Color(0, 0, 0));
  75. g.drawRect(20, 20, 100, 55);
  76. g.setColor(new Color(0, 200, 0));
  77. g.drawString("Chicken Killer", 23, 35);
  78. g.drawString("Runtime: " + rt.getRunTime(), 23, 50);
  79. if (rt.getMins() > 1)
  80. g.drawString("xp/hr: " + (((getCombatXp() - startingXp) / rt.getMins()) * 60), 23, 65);
  81. }
  82.  
  83. private int getCombatXp() {
  84. if (Login.getLoginState() == Login.STATE.INGAME)
  85. return SKILLS.HITPOINTS.getXP() + SKILLS.ATTACK.getXP() + SKILLS.STRENGTH.getXP() + SKILLS.DEFENCE.getXP();
  86. return -1;
  87. }
  88. }
  89. ---------------------------------------------------------------------------------------------------------------------------------
  90. package scripts.scripts.chickenKiller.jobs;
  91.  
  92. import org.tribot.api.DynamicClicking;
  93. import org.tribot.api.General;
  94. import org.tribot.api.types.generic.Filter;
  95. import org.tribot.api2007.Camera;
  96. import org.tribot.api2007.Combat;
  97. import org.tribot.api2007.Login;
  98. import org.tribot.api2007.NPCs;
  99. import org.tribot.api2007.Player;
  100. import org.tribot.api2007.GameTab.TABS;
  101. import org.tribot.api2007.WebWalking;
  102. import org.tribot.api2007.types.RSNPC;
  103.  
  104. import scripts.lib.timer.Timer;
  105. import scripts.node.Node;
  106. import scripts.scripts.chickenKiller.util.Areas;
  107.  
  108. public class Fight extends Node {
  109. private Timer t;
  110.  
  111. public Fight(Object s) {
  112. super(s);
  113. t = new Timer(0);
  114. }
  115.  
  116. @Override
  117. public boolean activate() {
  118. return Login.getLoginState() == Login.STATE.INGAME && !inCombat();
  119. }
  120.  
  121. @Override
  122. public void execute() {
  123. if (!t.isRunning()) {
  124. Combat.selectIndex(General.random(0, 3));
  125. t = new Timer(General.random(7543, 110000));
  126. if (General.random(0, 10) > 4)
  127. TABS.INVENTORY.open();
  128. }
  129. final RSNPC[] chickens = NPCs.find(new Filter<RSNPC>() {
  130. @Override
  131. public boolean accept(RSNPC i) {
  132. return i != null && !i.isInCombat() && i.getName().contains("Chicken") && i.isOnScreen() && Areas.chickenCoup.contains(i.getPosition());
  133. }
  134. });
  135. if (attackTarget(chickens)) {
  136. General.sleep(100, 1000);
  137. } else {
  138. System.out.println("failed to locate chicken :(");
  139. }
  140. }
  141.  
  142. @Override
  143. public String status() {
  144. return "fighting chickens";
  145. }
  146.  
  147. public boolean inCombat() {
  148. if (Player.getRSPlayer().getInteractingCharacter() != null)
  149. return true;
  150. for (RSNPC n : NPCs.getAll())
  151. if (n.isInteractingWithMe() && n.getPosition().distanceTo(Player.getPosition()) < 2)
  152. return true;
  153. return false;
  154. }
  155.  
  156. public boolean attackTarget(RSNPC[] npcs) {
  157. RSNPC target = null;
  158. for (RSNPC n : npcs) {
  159. if (n.isOnScreen() && !n.isInCombat() && n.getAnimation() == -1) {
  160. target = n;
  161. break;
  162. }
  163. }
  164. if (target != null) {
  165. if (System.currentTimeMillis() % 150 == 0)
  166. Camera.turnToTile(target.getPosition());
  167. return DynamicClicking.clickRSNPC(target, "Attack Chicken");
  168. }
  169. return false;
  170. }
  171. }
  172. ----------------------------------------------------------------------------------------------------------------------------------
  173. package scripts.scripts.chickenKiller.jobs;
  174.  
  175. import org.tribot.api.types.generic.Condition;
  176. import org.tribot.api.types.generic.Filter;
  177. import org.tribot.api2007.Equipment;
  178. import org.tribot.api2007.Inventory;
  179. import org.tribot.api2007.Login;
  180. import org.tribot.api2007.types.RSItem;
  181.  
  182. import scripts.lib.generic.Timing;
  183. import scripts.node.Node;
  184.  
  185. public class Equip extends Node {
  186. public Equip(Object s) {
  187. super(s);
  188. }
  189.  
  190. @Override
  191. public boolean activate() {
  192. RSItem[] equipables = getEquipables();
  193. return Login.getLoginState() == Login.STATE.INGAME && equipables != null && equipables.length > 0;
  194. }
  195.  
  196. @Override
  197. public void execute() {
  198. final RSItem[] equipables = getEquipables();
  199. for (RSItem i : equipables)
  200. i.click("wield");
  201. Timing.waitFor(new Condition() {
  202. @Override
  203. public boolean active() {
  204. for (RSItem i : equipables)
  205. return i == null;
  206. return false;
  207. }
  208. }, 1000);
  209. }
  210.  
  211. @Override
  212. public String status() {
  213. return "Equiping stuff";
  214. }
  215.  
  216. private RSItem[] getEquipables() {
  217. RSItem[] out = Inventory.find(new Filter<RSItem>() {
  218. @Override
  219. public boolean accept(RSItem i) {
  220. return (Equipment.SLOTS.WEAPON.getItem() == null && i.getDefinition().getName().contains("sword")) ||
  221. (Equipment.SLOTS.SHIELD.getItem() == null && i.getDefinition().getName().contains("shield"));
  222. }
  223.  
  224. });
  225. return out;
  226. }
  227. }
  228.  
  229. ------------------------------------------------------------------------------------------------------------------------------
  230. package scripts.scripts.chickenKiller.jobs;
  231.  
  232.  
  233. import org.tribot.api2007.Login;
  234. import org.tribot.api2007.Player;
  235.  
  236. import scripts.lib.extended.Walking.Walking;
  237. import scripts.node.Node;
  238. import scripts.scripts.chickenKiller.util.Areas;
  239.  
  240. public class Deathwalk extends Node {
  241.  
  242. public Deathwalk(Object s) {
  243. super(s);
  244. }
  245.  
  246. @Override
  247. public boolean activate() {
  248. return Login.getLoginState() == Login.STATE.INGAME && !Areas.chickenCoup.contains(Player.getPosition());
  249. }
  250.  
  251. @Override
  252. public void execute() {
  253. Walking.webWalkingWalkTo(Areas.chickenCoup.getRandomTile());
  254. }
  255.  
  256. @Override
  257. public String status() {
  258. return "Walking to coup";
  259. }
  260.  
  261. }
  262. ---------------------------------------------------------------------------------------------------------------------------------
  263. package scripts.scripts.chickenKiller.jobs;
  264.  
  265. import org.tribot.api2007.Banking;
  266. import org.tribot.api2007.Inventory;
  267. import org.tribot.api2007.Login;
  268. import org.tribot.api2007.Objects;
  269. import org.tribot.api2007.Player;
  270. import org.tribot.api2007.WebWalking;
  271. import org.tribot.api2007.types.RSItem;
  272. import org.tribot.api2007.types.RSObject;
  273. import org.tribot.api2007.types.RSPlayer;
  274.  
  275. import scripts.node.Node;
  276. import scripts.scripts.chickenKiller.util.Areas;
  277.  
  278. public class Bank extends Node {
  279.  
  280. public Bank(Object s) {
  281. super(s);
  282. }
  283.  
  284. @Override
  285. public boolean activate() {
  286. RSPlayer me = Player.getRSPlayer();
  287. RSItem[] inv = Inventory.getAll();
  288. return Login.getLoginState() == Login.STATE.INGAME && me != null && !Areas.chickenCoup.contains(me.getPosition()) && inv != null && inv.length > 6 && inv[7] != null;
  289. }
  290.  
  291. @Override
  292. public void execute() {
  293. if (Banking.isBankScreenOpen()) {
  294. Banking.depositAll();
  295. } else {
  296. RSObject[] banks = Objects.findNearest(10, "Bank booth");
  297. if (banks.length > 0 && banks[0] != null)
  298. Banking.openBank();
  299. else
  300. WebWalking.walkToBank();
  301. }
  302. }
  303.  
  304. @Override
  305. public String status() {
  306. return "Banking";
  307. }
  308.  
  309. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement