Advertisement
iant06

Untitled

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