Thondar

s

Jun 10th, 2011
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.03 KB | None | 0 0
  1. import java.awt.*;
  2.  
  3.  
  4. @ScriptManifest(authors = {"Tarth, Thondar"}, keywords = {"Cow, Hide, Lumbridge"}, name = "CowHider", description = "A Cowhide looter, loots cowhides near Lumbridge", version = 1.1)
  5.  
  6. public class CowHider extends Script implements PaintListener{
  7. int lumbridgecheck = 6539;
  8. int bankerID = 9710;
  9. int gateID = 45212;
  10. int cowhide = 1739;
  11. int bones = 526;
  12. int cowhideprice;
  13. int bonesprice;
  14. int bankerLU = 36786;
  15. int staircase1 = 36773;
  16. int staircase2 = 36774;
  17. int staircase3 = 36775;
  18. int luBankTop = 33505;
  19. long starttime;
  20. public int Inventory = 0;
  21. public int bonesInv = 0;
  22. public int hidesgot;
  23. public int bonesgot;
  24. private boolean bankTele;
  25. RSTile lootpath = new RSTile(3256,3284);
  26. RSTile cowpath = new RSTile(3251,3266);
  27. RSTile BankTile = new RSTile (3449,3720);
  28. RSTile LUBankTile = new RSTile (3206,3209);
  29. RSTile TopBankTile = new RSTile (3208,3220,2);
  30.  
  31. private boolean restCheck;
  32. private boolean antibanCheck;
  33.  
  34. private boolean guiWait = true;
  35.  
  36. cowhider g = new cowhider();
  37.  
  38. @Override
  39. public boolean onStart() {
  40. mouse.setSpeed(random(4, 6));
  41. starttime = System.currentTimeMillis();
  42. g.setVisible(true);
  43. while(guiWait) sleep(500);
  44. walking.setRun(true);
  45. cowhideprice = grandExchange.lookup(cowhide).getGuidePrice();
  46. bonesprice = grandExchange.lookup(bones).getGuidePrice();
  47. atLumbridge();
  48. if (atLumbridge() == false && atField() == false){
  49. lumbridgeTeleport();
  50.  
  51. }
  52.  
  53. return true;
  54. }
  55.  
  56. public void lumbridgeTeleport(){
  57. final int lumbridge = Magic.SPELL_HOME_TELEPORT;
  58. if (players.getMyPlayer().getAnimation() == -1)
  59. magic.castSpell(lumbridge);
  60. sleep(1250, 1750);
  61.  
  62. }
  63.  
  64. public boolean atLumbridge(){
  65. RSArea LUArea = new RSArea(new RSTile(3201, 3201), new RSTile(3262,
  66. 3253));
  67. return LUArea.contains(getMyPlayer().getLocation());
  68. }
  69.  
  70. public boolean atLumbridgeTop(){
  71. RSObject BankTop = objects.getNearest(luBankTop);
  72. if(BankTop != null)
  73. if(BankTop.isOnScreen());
  74. return true;
  75. }
  76.  
  77. public boolean atField(){
  78. RSArea TopArea = new RSArea(new RSTile(3237, 3248), new RSTile(3269,
  79. 3299));
  80. return TopArea.contains(getMyPlayer().getLocation());
  81. }
  82.  
  83. public boolean atDaem(){
  84. RSArea DaemArea = new RSArea(new RSTile(3391, 3651),
  85. new RSTile(3490, 3773));
  86. return DaemArea.contains(getMyPlayer().getLocation());
  87. }
  88.  
  89. public void bankLumbridge() {
  90. RSObject stairs = objects.getNearest(staircase1, staircase2);
  91. if (restCheck == true) {
  92. rest();
  93. }
  94. if(stairs.isOnScreen())
  95. stairs.doAction("Climb-up Staircase");
  96. sleep(300, 500);
  97. }
  98.  
  99. public void bankLumbridgeTop() {
  100. RSObject banker = objects.getNearest(bankerLU);
  101. RSObject stairs = objects.getNearest(staircase2);
  102. if (restCheck == true) {
  103. rest();
  104. }
  105. if(stairs != null)
  106. if(stairs.isOnScreen())
  107. stairs.doAction("Climb-up Staircase");
  108. sleep(300, 500);
  109. if (bank.isOpen()) {
  110. bank.depositAll();
  111. Inventory = inventory.getCount(cowhide);
  112. hidesgot += Inventory;
  113. bonesInv = inventory.getCount(bones);
  114. bonesgot += bonesInv;
  115. sleep(800, 1100);
  116. bank.close();
  117. } else {
  118. if(banker != null) {
  119. if(banker.isOnScreen())
  120. banker.doAction("Use-quickly Bank booth");{
  121. } sleep(1800, 2100);
  122. }else{
  123. walking.getPath(TopBankTile);
  124. }
  125. }
  126. }
  127.  
  128. public void moveToCowField(){
  129. walking.getPath(cowpath).traverse();
  130. return;
  131. }
  132.  
  133. private void rest() {
  134. if(restCheck == true);
  135. if(walking.getEnergy() < 30)
  136. walking.rest(random(70,95));
  137. }
  138.  
  139. public void loot(){
  140. RSGroundItem hide = groundItems.getNearest(cowhide);
  141. if (restCheck == true) {
  142. rest();
  143. }
  144. if(!inventory.isFull())
  145. if(hide != null) {
  146. if(hide.isOnScreen()){
  147. hidePickup();
  148. camera.moveRandomly(300);
  149. if (hide.doAction("Take Cowhide")){
  150. sleep(800,1000);
  151. while(getMyPlayer().isMoving())
  152. sleep(100,150);
  153. }
  154. } else {
  155. walking.walkTileMM(new RSTile(hide.getLocation().getX(), hide.getLocation().getY()));
  156. camera.moveRandomly(200);
  157. }
  158. }
  159. else {
  160. walking.getPath(lootpath).traverse();
  161. }
  162. }
  163.  
  164. private void antiBan() {
  165. int t = random(0, 10);
  166. int r = random(0, 15);
  167. if (t == 7);
  168. if (r == 2) {
  169. mouse.moveSlightly();
  170. sleep(500, 800);
  171. }
  172.  
  173. if (r == 3) {
  174. mouse.moveRandomly(10, 50);
  175. }
  176.  
  177. if (r == 5) {
  178. camera.moveRandomly(random(350, 650));
  179. }
  180.  
  181. if (r == 6) {
  182. camera.moveRandomly(random(450, 750));
  183. }
  184.  
  185. if (r == 8) {
  186. camera.moveRandomly(random(150, 450));
  187. }
  188.  
  189. if (r == 10) {
  190. camera.moveRandomly(random(750, 1250));
  191. }
  192.  
  193. if (r == 12) {
  194. mouse.moveOffScreen();
  195. }
  196.  
  197. if (r == 14) {
  198. camera.moveRandomly(random(500, 900));
  199. }
  200. }
  201.  
  202.  
  203. public void Bank() {
  204. RSNPC banker = npcs.getNearest(bankerID);
  205. if (restCheck == true) {
  206. rest();
  207. }
  208. if (bank.isOpen()) {
  209. bank.depositAll();
  210. Inventory = inventory.getCount(cowhide);
  211. hidesgot += Inventory;
  212. bonesInv = inventory.getCount(bones);
  213. bonesgot += bonesInv;
  214. sleep(800, 1100);
  215. bank.close();
  216. } else {
  217. if(banker != null) {
  218. if(banker.isOnScreen())
  219. banker.doAction("Bank Fremennik banker");{
  220. } sleep(1800, 2100);
  221. } else {
  222. walking.getPath(BankTile).traverse();
  223. }
  224. }
  225. }
  226.  
  227. private void teleport() {
  228. if (game.getCurrentTab() != Game.TAB_EQUIPMENT) {
  229. game.openTab(Game.TAB_EQUIPMENT);
  230. sleep(random(300, 600));
  231. }
  232. interfaces.get(Equipment.INTERFACE_EQUIPMENT)
  233. .getComponent(Equipment.RING).doAction("Teleport");
  234. sleep(750, 1250);
  235. }
  236.  
  237.  
  238. private RSGroundItem hidePickup() {
  239. return groundItems.getNearest(new Filter<RSGroundItem>() {
  240. public boolean accept(RSGroundItem g) {
  241. return g.getItem().getID() == cowhide;
  242. }
  243. });
  244. }
  245.  
  246.  
  247. public int loop() {
  248. if(atLumbridge() && !inventory.isFull()) {
  249. moveToCowField();
  250. return 0;}
  251. if(atField() && !inventory.isFull()) {
  252. loot();
  253. return 0;}
  254. if(atDaem() && !inventory.isFull()) {
  255. lumbridgeTeleport();
  256. return 0;}
  257. if(atDaem() && inventory.isFull()) {
  258. walking.walkTo(BankTile);
  259. Bank();
  260. return 0;}
  261. if(atLumbridgeTop() && !inventory.isFull()) {
  262. lumbridgeTeleport();
  263. return 0;}
  264. if(atLumbridge() && inventory.isFull()) {
  265. walking.walkTileMM(LUBankTile);
  266. bankLumbridge();
  267. return 0;}
  268. if(atField() && inventory.isFull() && bankTele == true) {
  269. if (players.getMyPlayer().getAnimation() == -1)
  270. lumbridgeTeleport();
  271. sleep(900, 1300);
  272. return 0;}
  273. if(atField() && inventory.isFull() && bankTele == false) {
  274. if (players.getMyPlayer().getAnimation() == -1)
  275. teleport();
  276. sleep(900, 1300);
  277. return 0;}
  278. if(atLumbridgeTop() && inventory.isFull()) {
  279. bankLumbridgeTop();
  280. return 0;}
  281. if(antibanCheck == true) {
  282. antiBan();
  283. }
  284. return random(500, 1500);
  285. }
  286.  
  287. @Override
  288. public void onFinish() {
  289. env.saveScreenshot(true);
  290. }
  291.  
  292. // --------------- PAINT --------------- //
  293.  
  294. private Image getImage(String url) {
  295. try {
  296. return ImageIO.read(new URL(url));
  297. } catch(IOException e) {
  298. return null;
  299. }
  300. }
  301.  
  302. private final Color color1 = new Color(150, 110, 75);
  303.  
  304. private final Font font1 = new Font("Calibri", 0, 18);
  305.  
  306. private final Image img1 = getImage("http://i.imgur.com/Rxa1A.jpg");
  307. private final Image img2 = getImage("http://i.imgur.com/pzrmW.gif");
  308. private final Image img3 = getImage("http://i.imgur.com/cwGcs.gif");
  309. private final Image img4 = getImage("http://i.imgur.com/wJiPx.png");
  310. private final Image img5 = getImage("http://imageshack.us/m/713/2005/cooltext524990002.png");
  311. private final Image img6 = getImage("http://imageshack.us/m/29/834/cooltext524988541.png");
  312. private final Image img7 = getImage("http://imageshack.us/m/811/825/cooltext524990524.png");
  313. private final Image img8 = getImage("http://imageshack.us/m/36/5995/cooltext524986645.png");
  314. private final Image img9 = getImage("http://imageshack.us/m/7/4655/cooltext524991734.png");
  315. private final Image img14 = getImage("http://i.imgur.com/eUH7L.png");
  316. private final Image img15 = getImage("http://i.imgur.com/JWplE.png");
  317. private final Image img16 = getImage("http://i.imgur.com/aUisg.png");
  318.  
  319.  
  320. public void onRepaint(Graphics g1) {
  321.  
  322. long millis = System.currentTimeMillis() - starttime;
  323. long hours = millis / (1000 * 60 * 60);
  324. millis -= hours * (1000 * 60 * 60);
  325. long minutes = millis / (1000 * 60);
  326. millis -= minutes * (1000 * 60);
  327. long seconds = millis / 1000;
  328.  
  329. float hidesec = 0;
  330. if ((minutes > 0 || hours > 0 || seconds > 0) && hidesgot > 0) {
  331. hidesec = ((float) hidesgot)/(float)(seconds + (minutes*60) + (hours*60*60));
  332. }
  333.  
  334. float bonessec = 0;
  335. if ((minutes > 0 || hours > 0 || seconds > 0) && bonesgot > 0) {
  336. bonessec = ((float) bonesgot)/(float)(seconds + (minutes*60) + (hours*60*60));
  337. }
  338.  
  339. float bonesmin = bonessec * 60;
  340. float bboneshour = bonesmin * 60;
  341. float bgoldhour = bboneshour * bonesprice;
  342. float hidemin = hidesec * 60;
  343. float hhidehour = hidemin * 60;
  344. float hgoldhour = hhidehour * cowhideprice;
  345. float agoldhour = bgoldhour + hgoldhour;
  346. int agoldearned = hidesgot * cowhideprice;
  347. int bgoldearned = bonesgot * bonesprice;
  348. int goldearned = agoldearned + bgoldearned;
  349. int hidehour = Math.round(hhidehour);
  350. int goldhour = Math.round(agoldhour);
  351.  
  352. Graphics2D g = (Graphics2D)g1;
  353. g.drawImage(img1, 7, 345, null);
  354. g.drawImage(img2, 11, 439, null);
  355. g.drawImage(img3, 9, 392, null);
  356. g.drawImage(img4, 10, 349, null);
  357. g.setFont(font1);
  358. g.setColor(color1);
  359. g.drawString(+ hours + ":" + minutes + ":" + seconds, 190, 371);
  360. g.drawString("" + goldearned, 70, 417);
  361. g.drawString("" + goldhour, 240, 417);
  362. g.drawString("" + hidesgot, 70, 462);
  363. g.drawString("" + hidehour, 240, 462);
  364. g.drawImage(img5, -4, 342, null);
  365. g.drawImage(img5, -4, 388, null);
  366. g.drawImage(img6, -25, 304, null);
  367. g.drawImage(img6, -25, 343, null);
  368. g.drawImage(img7, 371, 327, null);
  369. g.drawImage(img7, 33, 328, null);
  370. g.drawImage(img8, -19, 249, null);
  371. g.drawImage(img6, -25, 380, null);
  372. g.drawImage(img6, 488, 302, null);
  373. g.drawImage(img6, 488, 338, null);
  374. g.drawImage(img7, 371, 428, null);
  375. g.drawImage(img7, 33, 427, null);
  376. g.drawImage(img7, 200, 427, null);
  377. g.drawImage(img8, -18, 383, null);
  378. g.drawImage(img6, 488, 378, null);
  379. g.drawImage(img7, 371, 370, null);
  380. g.drawImage(img7, 371, 400, null);
  381. g.drawImage(img7, 200, 370, null);
  382. g.drawImage(img7, 200, 397, null);
  383. g.drawImage(img7, 371, 343, null);
  384. g.drawImage(img7, 33, 353, null);
  385. g.drawImage(img7, 33, 381, null);
  386. g.drawImage(img7, 33, 402, null);
  387. g.drawImage(img9, 28, 258, null);
  388. g.drawImage(img14, 144, 395, null);
  389. g.drawImage(img14, 144, 440, null);
  390. g.drawImage(img15, 316, 395, null);
  391. g.drawImage(img15, 316, 440, null);
  392. g.drawImage(img16, 398, 356, null);
  393.  
  394. }
  395.  
  396. class cowhider extends JFrame {
  397. public cowhider() {
  398. initComponents();
  399. }
  400.  
  401. private void startButtonActionPerformed(ActionEvent e) {
  402. String chosen = comboBox1.getSelectedItem().toString();
  403. if(chosen.equals("Lumbridge")) {
  404. bankTele = true;
  405. }else{
  406. bankTele = false;
  407. }
  408. if(checkBox1.isSelected()) {
  409. restCheck = true;
  410. }
  411. if(checkBox2.isSelected()) {
  412. antibanCheck = true;
  413. }
  414.  
  415. guiWait = false;
  416. g.dispose();
  417. }
  418.  
  419. private void initComponents() {
  420. // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents
  421. // Generated using JFormDesigner Evaluation license - Jonas Bill Jensen
  422. label1 = new JLabel();
  423. comboBox1 = new JComboBox();
  424. label2 = new JLabel();
  425. startButton = new JButton();
  426. label3 = new JLabel();
  427. checkBox1 = new JCheckBox();
  428. checkBox2 = new JCheckBox();
  429.  
  430. //======== this ========
  431. Container contentPane = getContentPane();
  432.  
  433. //---- label1 ----
  434. label1.setText("Cowhider");
  435. label1.setFont(new Font("Calibri", Font.PLAIN, 30));
  436. label1.setHorizontalAlignment(SwingConstants.CENTER);
  437.  
  438. //---- comboBox1 ----
  439. comboBox1.setModel(new DefaultComboBoxModel(new String[] {
  440. "Lumbridge",
  441. "Daemonheim"
  442. }));
  443.  
  444. //---- label2 ----
  445. label2.setText("Where to bank:");
  446.  
  447. //---- startButton ----
  448. startButton.setText("Start");
  449. startButton.addActionListener(new ActionListener() {
  450. @Override
  451. public void actionPerformed(ActionEvent e) {
  452. startButtonActionPerformed(e);
  453. }
  454. });
  455.  
  456. //---- label3 ----
  457. label3.setText("NB! Daemonheim banking requiers a \"Ring of kinship\"");
  458. label3.setFont(new Font("Tahoma", Font.ITALIC, 11));
  459.  
  460. //---- checkBox1 ----
  461. checkBox1.setText("Rest");
  462.  
  463. //---- checkBox2 ----
  464. checkBox2.setText("Antiban");
  465.  
  466. GroupLayout contentPaneLayout = new GroupLayout(contentPane);
  467. contentPane.setLayout(contentPaneLayout);
  468. contentPaneLayout.setHorizontalGroup(
  469. contentPaneLayout.createParallelGroup()
  470. .addGroup(contentPaneLayout.createSequentialGroup()
  471. .addContainerGap()
  472. .addGroup(contentPaneLayout.createParallelGroup()
  473. .addComponent(startButton, GroupLayout.Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE)
  474. .addComponent(label1, GroupLayout.Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE)
  475. .addGroup(GroupLayout.Alignment.TRAILING, contentPaneLayout.createSequentialGroup()
  476. .addComponent(label2)
  477. .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 7, Short.MAX_VALUE)
  478. .addComponent(comboBox1, GroupLayout.PREFERRED_SIZE, 180, GroupLayout.PREFERRED_SIZE))
  479. .addComponent(label3, GroupLayout.Alignment.TRAILING, GroupLayout.PREFERRED_SIZE, 262, GroupLayout.PREFERRED_SIZE)
  480. .addGroup(GroupLayout.Alignment.TRAILING, contentPaneLayout.createSequentialGroup()
  481. .addComponent(checkBox1, GroupLayout.PREFERRED_SIZE, 86, GroupLayout.PREFERRED_SIZE)
  482. .addGap(28, 28, 28)
  483. .addComponent(checkBox2, GroupLayout.PREFERRED_SIZE, 99, GroupLayout.PREFERRED_SIZE)))
  484. .addContainerGap())
  485. );
  486. contentPaneLayout.setVerticalGroup(
  487. contentPaneLayout.createParallelGroup()
  488. .addGroup(contentPaneLayout.createSequentialGroup()
  489. .addContainerGap()
  490. .addComponent(label1)
  491. .addGap(18, 18, 18)
  492. .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.LEADING, false)
  493. .addComponent(label2, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  494. .addComponent(comboBox1, GroupLayout.DEFAULT_SIZE, 28, Short.MAX_VALUE))
  495. .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
  496. .addComponent(label3)
  497. .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 33, Short.MAX_VALUE)
  498. .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
  499. .addComponent(checkBox1)
  500. .addComponent(checkBox2))
  501. .addGap(18, 18, 18)
  502. .addComponent(startButton, GroupLayout.PREFERRED_SIZE, 39, GroupLayout.PREFERRED_SIZE)
  503. .addContainerGap())
  504. );
  505. pack();
  506. setLocationRelativeTo(getOwner());
  507. // JFormDesigner - End of component initialization //GEN-END:initComponents
  508. }
  509.  
  510. // JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables
  511. // Generated using JFormDesigner Evaluation license - Jonas Bill Jensen
  512. private JLabel label1;
  513. private JComboBox comboBox1;
  514. private JLabel label2;
  515. private JButton startButton;
  516. private JLabel label3;
  517. private JCheckBox checkBox1;
  518. private JCheckBox checkBox2;
  519. // JFormDesigner - End of variables declaration //GEN-END:variables
  520. }
  521.  
  522.  
  523. }
Advertisement
Add Comment
Please, Sign In to add comment