Advertisement
Guest User

Untitled

a guest
Sep 17th, 2015
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.02 KB | None | 0 0
  1. package scripts.moneymaking.tabber;
  2.  
  3. import org.tribot.api.General;
  4. import org.tribot.api.Timing;
  5. import org.tribot.api.util.ABCUtil;
  6. import org.tribot.api2007.Banking;
  7. import org.tribot.api2007.Camera;
  8. import org.tribot.api2007.GameTab;
  9. import org.tribot.api2007.Interfaces;
  10. import org.tribot.api2007.Inventory;
  11. import org.tribot.api2007.Login;
  12. import org.tribot.api2007.Magic;
  13. import org.tribot.api2007.NPCChat;
  14. import org.tribot.api2007.Objects;
  15. import org.tribot.api2007.Player;
  16. import org.tribot.api2007.Walking;
  17. import org.tribot.api2007.WebWalking;
  18. import org.tribot.api2007.GameTab.TABS;
  19. import org.tribot.api2007.types.RSInterface;
  20. import org.tribot.api2007.types.RSItem;
  21. import org.tribot.api2007.types.RSObject;
  22. import org.tribot.api2007.types.RSTile;
  23.  
  24. import scripts.methods.Methods;
  25.  
  26. public class House {
  27.  
  28. private Main main;
  29.  
  30. public House(Main m) {
  31. setMain(m);
  32. }
  33.  
  34. public void setMain(Main main) {
  35. this.main = main;
  36. }
  37.  
  38. public Main getMain() {
  39. return main;
  40. }
  41.  
  42. private ABCUtil abc = new ABCUtil();
  43.  
  44. public boolean teleport() {
  45. if(isInside()) {
  46. getMain().setState(State.MAKING_TABS);
  47. return true;
  48. }
  49. if(Banking.isBankScreenOpen()) {
  50. Banking.close();
  51. }
  52. RSItem[] tab = Inventory.find(Constants.HOUSE_TAB_ID);
  53. if(tab != null && tab.length > 0) {
  54. tab[0].click("Break");
  55. General.sleep(abc.DELAY_TRACKER.ITEM_INTERACTION.next());
  56. abc.DELAY_TRACKER.ITEM_INTERACTION.reset();
  57. if(isInsideHouse(5000)) {
  58. getMain().setState(State.MAKING_TABS);
  59. return true;
  60. }
  61. }
  62. return false;
  63. }
  64.  
  65. private boolean isInsideHouse(int i) {
  66. long t = System.currentTimeMillis();
  67. while (Timing.timeFromMark(t) < i) {
  68. if(isInside()) {
  69. return true;
  70. }
  71. getMain().sleep(50, 150);
  72. }
  73. return false;
  74. }
  75.  
  76. private boolean clickedPortal(int i) {
  77. long t = System.currentTimeMillis();
  78. while (Timing.timeFromMark(t) < i) {
  79. if(NPCChat.getOptions() != null) {
  80. return true;
  81. }
  82. getMain().sleep(50, 150);
  83. }
  84. return false;
  85. }
  86.  
  87. public boolean isFinished() {
  88. if(!getMain().getButler().hasResources()) {
  89. getMain().println("Out of resources.");
  90. getMain().setEndScript(true);
  91. }
  92. return false;
  93. }
  94.  
  95. private boolean enterPortal() {
  96. RSObject portal = getPortal();
  97. if(portal != null) {
  98. if(!portal.isOnScreen()) {
  99. WebWalking.walkTo(new RSTile(2953, 3224));
  100. Methods.turnCameraTowards(portal);
  101. }
  102. while(Player.isMoving() && Player.getPosition().distanceTo(portal) > 2 && !portal.isOnScreen()) {
  103. getMain().sleep(50, 100);
  104. }
  105. portal.click("Enter");
  106. General.sleep(abc.DELAY_TRACKER.SWITCH_OBJECT.next());
  107. abc.DELAY_TRACKER.SWITCH_OBJECT.reset();
  108. if(clickedPortal(1000)) {
  109. NPCChat.selectOption("Go to your house", true);
  110. return true;
  111. }
  112. }
  113. return false;
  114. }
  115.  
  116. public boolean dropItems() {
  117. int[] requiredItems = {
  118. 995, // money
  119. 985, // key half
  120. 987, // key half
  121. 554,
  122. 555,
  123. 556,
  124. 557,
  125. Constants.HOUSE_TAB_ID,
  126. Constants.VARROCK_TAB_ID,
  127. Constants.LUMBRIDGE_TAB_ID,
  128. Constants.CAMELOT_TAB_ID,
  129. Constants.FALADOR_TAB_ID,
  130. Constants.AIR_RUNE_ID,
  131. Constants.LAW_RUNE_ID,
  132. Constants.SOFT_CLAY_ID,
  133. Constants.SOFT_CLAY_ID + 1
  134. };
  135. Inventory.dropAllExcept(requiredItems);
  136. return true;
  137. }
  138.  
  139. public boolean enterHouse() {
  140. enterPortal();
  141. if(!isInsideHouse(4000)) {
  142. return false;
  143. }
  144. return true;
  145. }
  146.  
  147. public boolean performHouseTask() {
  148. dropItems();
  149. if(Inventory.getCount(Constants.SOFT_CLAY_ID) <= 0) {
  150. getMain().setState(State.INTERACTING_WITH_BUTLER);
  151. return true;
  152. }
  153. if(isInside()) {
  154. if(Camera.getCameraAngle() <= 50) {
  155. Camera.setCameraAngle(80 + General.random(10, 20));
  156. }
  157. RSObject lectern = getLectern();
  158. if(lectern != null) {
  159. if(!isAtLectern(lectern)) {
  160. if(!Walking.walkTo(lectern)) {
  161. if(!Magic.selectSpell("Teleport to house")) {
  162. Login.logout();
  163. Login.login();
  164. }
  165. }
  166. }
  167. if(!lectern.isOnScreen()) {
  168. Methods.turnCameraTowards(lectern);
  169. }
  170. if(NPCChat.getClickContinueInterface() == null) {
  171. if(makingTabs || Player.getAnimation() == 4068) {
  172. getMain().println("Random stuff.");
  173. Methods.performAntiBan(getMain());
  174. if(madeTablet(Inventory.getCount(Constants.SOFT_CLAY_ID), 1000 * Inventory.getCount(Constants.SOFT_CLAY_ID))) {
  175. return true;
  176. }
  177. }
  178. } else {
  179. makingTabs = false;
  180. }
  181. if(!makingTabs && !Interfaces.isInterfaceValid(Constants.INTERFACE_ID) && Inventory.getCount(Constants.SOFT_CLAY_ID) >= 1) {
  182. if(!GameTab.open(TABS.INVENTORY)) {
  183. GameTab.open(TABS.INVENTORY);
  184. }
  185. int dist = lectern.getPosition().distanceTo(Player.getPosition());
  186. if(dist < 3) {
  187. if(!lectern.click("Study")) {
  188. lectern.click("Study");
  189. }
  190. General.sleep(abc.DELAY_TRACKER.SWITCH_OBJECT.next());
  191. abc.DELAY_TRACKER.SWITCH_OBJECT.reset();
  192. } else if(!Walking.walkTo(lectern)) {
  193. if(!Magic.selectSpell("Teleport to house")) {
  194. Login.logout();
  195. Login.login();
  196. }
  197. }
  198. }
  199. }
  200. if(clickedLectern(2000)) {
  201.  
  202. RSInterface tabInterface = Interfaces.get(Constants.INTERFACE_ID);
  203. if(tabInterface != null) {
  204. Object[] data = getInterfaceData();
  205. if(tabInterface.getChild((Integer) data[0]).click("Make-All")) {
  206. General.sleep(abc.DELAY_TRACKER.SWITCH_OBJECT.next());
  207. abc.DELAY_TRACKER.SWITCH_OBJECT.reset();
  208. getMain().sleep(1000, 2000);
  209. if(!Interfaces.isInterfaceValid(Constants.INTERFACE_ID)) {
  210. //if(Player.getAnimation() == 4068) {
  211. getMain().println("Random stuff.");
  212. makingTabs = true;
  213. Methods.performAntiBan(getMain());
  214. //getMain().sleep(Inventory.getCount(Constants.SOFT_CLAY_ID) * 750);
  215. //}
  216. }
  217. }
  218. }
  219. }
  220. return false;
  221. }
  222. return false;
  223. }
  224.  
  225. public boolean makingTabs = false;
  226.  
  227. public double getTabXP() {
  228. switch(getMain().getTabType()) {
  229. case HOUSE:
  230. return 30;
  231. case VARROCK:
  232. return 35;
  233. case FALADOR:
  234. return 48;
  235. case CAMELOT:
  236. return 55.5;
  237. case LUMBRIDGE:
  238. return 41;
  239. case ARDOUGNE:
  240. return 61;
  241. case WATCHTOWER:
  242. return 68;
  243. }
  244. return 0;
  245. }
  246.  
  247. public int getTabId() {
  248. switch(getMain().getTabType()) {
  249. case HOUSE:
  250. return Constants.HOUSE_TAB_ID;
  251. case VARROCK:
  252. return Constants.VARROCK_TAB_ID;
  253. case FALADOR:
  254. return Constants.FALADOR_TAB_ID;
  255. case CAMELOT:
  256. return Constants.CAMELOT_TAB_ID;
  257. case LUMBRIDGE:
  258. return Constants.LUMBRIDGE_TAB_ID;
  259. case ARDOUGNE:
  260. return Constants.ARDOUGNE_TAB_ID;
  261. case WATCHTOWER:
  262. return Constants.WATCHTOWER_TAB_ID;
  263. }
  264. return 0;
  265. }
  266.  
  267. public Object[] getInterfaceData() {
  268. switch(getMain().getTabType()) {
  269. case VARROCK:
  270. return new Object[]{ Constants.VARROCK_TAB_CHILD_ID, "Varrock Teleport" };
  271. case CAMELOT:
  272. return new Object[]{ Constants.CAMELOT_TAB_CHILD_ID, "Camelot Teleport" };
  273. case FALADOR:
  274. return new Object[]{ Constants.FALADOR_TAB_CHILD_ID, "Falador Teleport" };
  275. case HOUSE:
  276. return new Object[]{ Constants.HOUSE_TAB_CHILD_ID, "Teleport to house" };
  277. case LUMBRIDGE:
  278. return new Object[]{ Constants.LUMBRIDGE_TAB_CHILD_ID, "Lumbridge Teleport" };
  279. case ARDOUGNE:
  280. return new Object[]{ Constants.ARDOUGNE_TAB_CHILD_ID, "Ardougne Teleport" };
  281. case WATCHTOWER:
  282. return new Object[]{ Constants.WATCHTOWER_TAB_CHILD_ID, "Watchtower Teleport" };
  283. }
  284. return null;
  285. }
  286.  
  287. private boolean madeTablet(int clayAmount, int i) {
  288. long t = System.currentTimeMillis();
  289. while (Timing.timeFromMark(t) < i) {
  290. if(Player.getAnimation() != -1) {
  291. return true;
  292. }
  293. getMain().sleep(40, 80);
  294. }
  295. return false;
  296. }
  297.  
  298. private boolean clickedLectern(int i) {
  299. while(Player.isMoving()) {
  300. getMain().sleep(50, 150);
  301. }
  302. long t = System.currentTimeMillis();
  303. while (Timing.timeFromMark(t) < i) {
  304. if(Interfaces.isInterfaceValid(Constants.INTERFACE_ID)) {
  305. return true;
  306. }
  307. getMain().sleep(40, 80);
  308. }
  309. return false;
  310. }
  311.  
  312. public boolean isAtLectern() {
  313. if(getLectern() != null) {
  314. RSObject lectern = getLectern();
  315. if(Methods.distanceTo(getMain(), lectern.getPosition()) <= 1) {
  316. return true;
  317. }
  318. }
  319. return false;
  320. }
  321.  
  322. private boolean isAtLectern(RSObject lectern) {
  323. if(Methods.distanceTo(getMain(), lectern.getPosition()) <= 1) {
  324. return true;
  325. }
  326. return false;
  327. }
  328.  
  329. public boolean isOutside() {
  330. if(getPortal() != null) {
  331. return true;
  332. }
  333. return false;
  334. }
  335.  
  336. private RSObject getPortal() {
  337. return Methods.findObjectByModelPoints(new int[] {Constants.HOUSE_PORTAL});
  338. }
  339.  
  340. public RSObject getLectern() {
  341. RSObject lectern[] = Objects.findNearest(64, "Lectern");
  342. if(lectern != null && lectern.length > 0) {
  343. return lectern[0];
  344. }
  345. return null;
  346. //return Methods.findObjectByModelPoints(new int[]{ Constants.EAGLE_LECTERN });
  347. }
  348.  
  349. public boolean isInside() {
  350. if(getLectern() != null) {
  351. return true;
  352. }
  353. return false;
  354. }
  355.  
  356. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement