Advertisement
iant06

Untitled

Nov 4th, 2015
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.97 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()[i][0];
  87.  
  88. if(skill != null) {
  89.  
  90. int lvl = (Integer) e.getReq()[i][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. wearItem(Inventory.find(itemName));
  213.  
  214. }
  215. return wearingOriginalEquipment();
  216. }
  217.  
  218. public boolean isWearingRequiredEquipment(ClueTask task) {
  219. if(task.getEmoteClue() != null) {
  220.  
  221. String[] items = task.getEmoteClue().getItems();
  222.  
  223. if(items[0].equals("")) {
  224.  
  225. return isWearingEquipment();
  226. }
  227.  
  228. return isWearingEmoteEquipment(items);
  229.  
  230. }
  231. return false;
  232. }
  233.  
  234. public boolean hasRing() {
  235. return Inventory.getCount(Constants.DUEL_RING_ID) > 0
  236. || Equipment.isEquipped(Constants.DUEL_RING_ID);
  237. }
  238.  
  239. public boolean hasNecklace() {
  240. return Inventory.getCount(Constants.GAMES_NECKLACE_ID) > 0
  241. || Equipment.isEquipped(Constants.GAMES_NECKLACE_ID);
  242. }
  243.  
  244. public boolean isWearingEquipment() {
  245. for(SLOTS s : SLOTS.values()) {
  246. if(Equipment.getItem(s) != null) {
  247. return true;
  248. }
  249. }
  250. return false;
  251. }
  252.  
  253. public boolean isWearingEmoteEquipment(String[] items) {
  254. for(int i = 0; i < items.length; i++) {
  255.  
  256. if(items[i].length() > 0) {
  257.  
  258. if(!Equipment.isEquipped(items[i])) {
  259. return false;
  260. }
  261.  
  262. }
  263. }
  264. return true;
  265. }
  266.  
  267. public boolean wearingOriginalEquipment() {
  268. for(String s : playerEquipment) {
  269. if(!Equipment.isEquipped(s)) {
  270. return false;
  271. }
  272. }
  273. return true;
  274. }
  275.  
  276. public boolean hasOriginalEquipment() {
  277. for(String s : playerEquipment) {
  278. if(!Equipment.isEquipped(s) && Inventory.getCount(s) <= 0) {
  279. return false;
  280. }
  281. }
  282. return true;
  283. }
  284.  
  285.  
  286. public Main getMain() {
  287. return main;
  288. }
  289.  
  290. public void setMain(Main main) {
  291. this.main = main;
  292. }
  293.  
  294. public ArrayList<String> getPlayerEquipment() {
  295. return playerEquipment;
  296. }
  297.  
  298. public void setPlayerEquipment(ArrayList<String> playerEquipment) {
  299. this.playerEquipment = playerEquipment;
  300. }
  301.  
  302. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement