Advertisement
iant06

Untitled

Nov 4th, 2015
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.93 KB | None | 0 0
  1. package scripts.clues;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. import org.tribot.api.General;
  6. import org.tribot.api.Timing;
  7. import org.tribot.api.types.generic.Condition;
  8. import org.tribot.api.util.ABCUtil;
  9. import org.tribot.api2007.Banking;
  10. import org.tribot.api2007.Equipment;
  11. import org.tribot.api2007.Interfaces;
  12. import org.tribot.api2007.Equipment.SLOTS;
  13. import org.tribot.api2007.Inventory;
  14. import org.tribot.api2007.Skills.SKILLS;
  15. import org.tribot.api2007.types.RSItem;
  16. import org.tribot.api2007.types.RSItemDefinition;
  17.  
  18. import scripts.clues.types.EquipmentRequirement;
  19. import scripts.methods.Methods;
  20.  
  21. public class Equipped {
  22.  
  23. private final ABCUtil abc = new ABCUtil();
  24.  
  25. private ArrayList<String> playerEquipment = new ArrayList<String>();
  26.  
  27. private Main main;
  28.  
  29. public Equipped(Main main) {
  30. setMain(main);
  31. }
  32.  
  33. public boolean wearItem(RSItem[] item) {
  34.  
  35. if(item.length > 0) {
  36.  
  37. General.sleep(abc.DELAY_TRACKER.ITEM_INTERACTION.next());
  38. abc.DELAY_TRACKER.ITEM_INTERACTION.reset();
  39.  
  40. RSItemDefinition def = item[0].getDefinition();
  41.  
  42. if(def == null)
  43. return false;
  44.  
  45. String[] actions = def.getActions();
  46.  
  47. if(actions.length <= 0)
  48. return false;
  49.  
  50. if(item[0].click(actions[0])) {
  51.  
  52. Timing.waitCondition(new Condition() {
  53.  
  54. @Override
  55. public boolean active() {
  56. return Equipment.isEquipped(item[0].getID());
  57. }
  58.  
  59. }, General.random(4000, 6000));
  60.  
  61. }
  62.  
  63. }
  64. return false;
  65. }
  66.  
  67. public Object[][] getItemRequirements(String[] items) {
  68. getMain().println("Searching for item requirements...");
  69.  
  70. Object[][] req = new Object[4][2];
  71. int index = 0;
  72.  
  73. for(Object[] r : req) {
  74. r[0] = null;
  75. r[1] = 0;
  76. }
  77.  
  78. for(String s : items) {
  79.  
  80. for(EquipmentRequirement e : EquipmentRequirement.values()) {
  81.  
  82. if(s.equals(e.getName())) {
  83.  
  84. for(int i = 0; i < e.getReq().length; i++) {
  85.  
  86. SKILLS skill = (SKILLS) e.getReq()[index][0];
  87.  
  88. if(skill != null) {
  89.  
  90. int lvl = (Integer) e.getReq()[index][1];
  91.  
  92. getMain().println(s + " requires " + lvl + " " + Methods.correctCapitalization(skill.toString()) + "!");
  93.  
  94. req[index][0] = skill;
  95. req[index][1] = lvl;
  96. index++;
  97. }
  98.  
  99. }
  100.  
  101. }
  102.  
  103. }
  104. }
  105. return req;
  106. }
  107.  
  108. public boolean setEquipment() {
  109.  
  110. for(SLOTS s : SLOTS.values()) {
  111.  
  112. if(s.equals(SLOTS.AMULET)
  113. || s.equals(SLOTS.RING))
  114. continue;
  115.  
  116. RSItem i = Equipment.getItem(s);
  117.  
  118. if(i == null)
  119. continue;
  120.  
  121. RSItemDefinition def = i.getDefinition();
  122.  
  123. if(def == null)
  124. continue;
  125.  
  126. String name = def.getName();
  127.  
  128. if(name == null || name.length() <= 0)
  129. continue;
  130.  
  131. playerEquipment.add(def.getName());
  132.  
  133. }
  134.  
  135.  
  136. String s = "Setting Equipment: ";
  137.  
  138. for(String item : playerEquipment) {
  139. s = s + " " + item + ", ";
  140. }
  141.  
  142. getMain().println(s);
  143. return true;
  144. }
  145.  
  146. public boolean unequipAllItems() {
  147. getMain().setStatus("Removing All Equipment");
  148.  
  149. for(SLOTS s : SLOTS.values()) {
  150.  
  151. if(Inventory.isFull()) {
  152. getMain().getHamDungeon().eatFood();
  153. }
  154.  
  155. General.sleep(abc.DELAY_TRACKER.ITEM_INTERACTION.next());
  156. abc.DELAY_TRACKER.ITEM_INTERACTION.reset();
  157.  
  158. Equipment.remove(s);
  159. }
  160.  
  161. return !isWearingEquipment();
  162. }
  163.  
  164. public boolean wearRequiredEquipment(String[] required) {
  165. getMain().setStatus("Wearing Required Equipment");
  166.  
  167. if(Banking.isBankScreenOpen())
  168. Banking.close();
  169.  
  170. for(int i = 0; i < required.length; i++) {
  171. if(required[i].length() > 0) {
  172. wearItem(Inventory.find(required[i]));
  173. }
  174. }
  175.  
  176. for(String s : required) {
  177. if(!Equipment.isEquipped(s)) {
  178. return false;
  179. }
  180. }
  181.  
  182. return true;
  183. }
  184.  
  185. public boolean checkEquipment() {
  186. if(!wearingOriginalEquipment() && hasOriginalEquipment()) {
  187. wearOriginalEquipment();
  188. return Timing.waitCondition(new Condition() {
  189.  
  190. @Override
  191. public boolean active() {
  192.  
  193. return wearingOriginalEquipment();
  194. }
  195.  
  196. }, General.random(4000, 6000));
  197. }
  198. return false;
  199. }
  200.  
  201. public boolean wearOriginalEquipment() {
  202. getMain().setStatus("Equipping Original Equipment");
  203.  
  204. Interfaces.closeAll();
  205.  
  206. for(String itemName : playerEquipment) {
  207.  
  208. if(Equipment.isEquipped(itemName)) {
  209. continue;
  210. }
  211.  
  212. }
  213. return wearingOriginalEquipment();
  214. }
  215.  
  216. public boolean isWearingRequiredEquipment(ClueTask task) {
  217. if(task.getEmoteClue() != null) {
  218.  
  219. String[] items = task.getEmoteClue().getItems();
  220.  
  221. if(items[0].equals("")) {
  222.  
  223. return isWearingEquipment();
  224. }
  225.  
  226. return isWearingEmoteEquipment(items);
  227.  
  228. }
  229. return false;
  230. }
  231.  
  232. public boolean hasRing() {
  233. return Inventory.getCount(Constants.DUEL_RING_ID) > 0
  234. || Equipment.isEquipped(Constants.DUEL_RING_ID);
  235. }
  236.  
  237. public boolean hasNecklace() {
  238. return Inventory.getCount(Constants.GAMES_NECKLACE_ID) > 0
  239. || Equipment.isEquipped(Constants.GAMES_NECKLACE_ID);
  240. }
  241.  
  242. public boolean isWearingEquipment() {
  243. for(SLOTS s : SLOTS.values()) {
  244. if(Equipment.getItem(s) != null) {
  245. return true;
  246. }
  247. }
  248. return false;
  249. }
  250.  
  251. public boolean isWearingEmoteEquipment(String[] items) {
  252. for(int i = 0; i < items.length; i++) {
  253.  
  254. if(items[i].length() > 0) {
  255.  
  256. if(!Equipment.isEquipped(items[i])) {
  257. return false;
  258. }
  259.  
  260. }
  261. }
  262. return true;
  263. }
  264.  
  265. public boolean wearingOriginalEquipment() {
  266. for(String s : playerEquipment) {
  267. if(!Equipment.isEquipped(s)) {
  268. return false;
  269. }
  270. }
  271. return true;
  272. }
  273.  
  274. public boolean hasOriginalEquipment() {
  275. for(String s : playerEquipment) {
  276. if(!Equipment.isEquipped(s) && Inventory.getCount(s) <= 0) {
  277. return false;
  278. }
  279. }
  280. return true;
  281. }
  282.  
  283.  
  284. public Main getMain() {
  285. return main;
  286. }
  287.  
  288. public void setMain(Main main) {
  289. this.main = main;
  290. }
  291.  
  292. public ArrayList<String> getPlayerEquipment() {
  293. return playerEquipment;
  294. }
  295.  
  296. public void setPlayerEquipment(ArrayList<String> playerEquipment) {
  297. this.playerEquipment = playerEquipment;
  298. }
  299.  
  300. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement