Guest User

Untitled

a guest
Jan 24th, 2015
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.85 KB | None | 0 0
  1. import org.osbot.rs07.api.map.Position;
  2. import org.osbot.rs07.api.model.NPC;
  3. import org.osbot.rs07.script.Script;
  4. import org.osbot.rs07.script.ScriptManifest;
  5. import org.osbot.rs07.utility.Area;
  6.  
  7. import java.awt.*;
  8.  
  9. @ScriptManifest(author = "Tyler", info = "Start in Lumbridg Cow Pen", name = "Cow Killer", version = 0, logo = "")
  10.  
  11. public class CowKiller extends Script
  12. {
  13. //Declare Variables
  14. Area COW_AREA = new Area(3265, 3298, 3253, 3255);
  15. Area BANK_AREA = new Area(3207, 3222, 3210, 3216);
  16. Area STAIRS_AREA = new Area(3203, 3206, 3207, 3210);
  17. NPC cow = npcs.closest("Cow","Cow calf");
  18.  
  19. //WALK FROM COW PEN TO STAIRS
  20. private Position[] PATH_PEN_TO_STAIRS =
  21. {
  22. new Position(3255, 3267, 0),
  23. new Position(3250, 3260, 0),
  24. new Position(3252, 3253, 0),
  25. new Position(3256, 3247, 0),
  26. new Position(3259, 3241, 0),
  27. new Position(3259, 3233, 0),
  28. new Position(3255, 3227, 0),
  29. new Position(3249, 3226, 0),
  30. new Position(3243, 3225, 0),
  31. new Position(3235, 3220, 0),
  32. new Position(3225, 3218, 0),
  33. new Position(3218, 3218, 0),
  34. new Position(3215, 3213, 0),
  35. new Position(3206, 3209, 0)
  36. };
  37. //WALK FROM STAIRS TO BANK
  38. private Position[] PATH_STAIRS_TO_BANK =
  39. {
  40. new Position(3206, 3215, 2),
  41. new Position(3208, 3220, 2),
  42. };
  43. //WALK FROM BANK TO STAIRS
  44. private Position[] PATH_BANK_TO_STAIRS =
  45. {
  46. new Position(3205, 3216, 2),
  47. new Position(3205, 3209, 2),
  48. };
  49. //WALK FROM STAIRS TO PEN
  50. private Position[] PATH_STAIRS_TO_PEN =
  51. {
  52. new Position(3206, 3209, 0),
  53. new Position(3215, 3213, 0),
  54. new Position(3218, 3218, 0),
  55. new Position(3225, 3218, 0),
  56. new Position(3235, 3220, 0),
  57. new Position(3243, 3225, 0),
  58. new Position(3249, 3226, 0),
  59. new Position(3255, 3227, 0),
  60. new Position(3259, 3233, 0),
  61. new Position(3259, 3241, 0),
  62. new Position(3256, 3247, 0),
  63. new Position(3252, 3253, 0),
  64. new Position(3250, 3260, 0),
  65. new Position(3255, 3267, 0),
  66. };
  67.  
  68. //OnStart
  69. public void onStart()
  70. {
  71. log("Welcome to my Cow Killer!");
  72. log("Enjoy the script!");
  73. }
  74.  
  75. //Declare State
  76. private enum State
  77. {
  78. ATTACK,
  79. WALK_TO_STAIRS_FROM_PEN,
  80. GO_UPSTAIRS1,
  81. GO_UPSTAIRS2,
  82. WALK_TO_BANK,
  83. WALK_TO_STAIRS_FROM_BANK,
  84. GO_DOWNSTAIRS1,
  85. GO_DOWNSTAIRS2,
  86. WALK_TO_PEN,
  87. BANK,
  88. WAIT,
  89. }
  90.  
  91. //Finds State
  92. private State getState()
  93. {
  94. //ATTACKS
  95. if(!inventory.isFull() && COW_AREA.contains(myPlayer()) && !myPlayer().isUnderAttack() && !cow.isUnderAttack() && cow != null)
  96. {
  97. return State.ATTACK;
  98. }
  99. //WALK FROM COW PEN TO STAIRS
  100. if(inventory.isFull() && COW_AREA.contains(myPlayer()))
  101. {
  102. return State.WALK_TO_STAIRS_FROM_PEN;
  103. }
  104. //GOES UP FIRST SET OF STAIRS
  105. if(myPosition().getZ() == 0 && STAIRS_AREA.contains(myPlayer()) && inventory.isFull())
  106. {
  107. return State.GO_UPSTAIRS1;
  108. }
  109. //GOES UP SECOND SET OF STAIRS
  110. if(myPosition().getZ() == 1 && STAIRS_AREA.contains(myPlayer()) && inventory.isFull())
  111. {
  112. return State.GO_UPSTAIRS2;
  113. }
  114. //WALKS FROM STAIRS TO BANK
  115. if(myPosition().getZ() == 2 && STAIRS_AREA.contains(myPlayer()) && inventory.isFull())
  116. {
  117. return State.WALK_TO_BANK;
  118. }
  119. //BANKS ITEMS
  120. if(myPosition().getZ() == 2 && BANK_AREA.contains(myPlayer()) && inventory.isFull())
  121. {
  122. return State.BANK;
  123. }
  124. //WALKS FROM BANK BACK TO STAIRS
  125. if(myPosition().getZ() == 2 && BANK_AREA.contains(myPlayer()) && inventory.isEmpty())
  126. {
  127. return State.WALK_TO_STAIRS_FROM_BANK;
  128. }
  129. //GOES DOWN STAIRS TO REACH SECOND FLOOR
  130. if(myPosition().getZ() == 2 && STAIRS_AREA.contains(myPlayer()) && inventory.isEmpty())
  131. {
  132. return State.GO_DOWNSTAIRS1;
  133. }
  134. //GOES DOWN STAIRS TO REACH FIRST FLOOR
  135. if(myPosition().getZ() == 1 && STAIRS_AREA.contains(myPlayer()) && inventory.isEmpty())
  136. {
  137. return State.GO_DOWNSTAIRS2;
  138. }
  139. //WALKS FROM LUMBRIDGE CASTLE TO COW PEN
  140. if(myPosition().getZ() == 0 && STAIRS_AREA.contains(myPlayer()) && inventory.isEmpty())
  141. {
  142. return State.WALK_TO_PEN;
  143. }
  144. return State.WAIT;
  145. }
  146.  
  147. //Executes State
  148. public int onLoop() throws InterruptedException
  149. {
  150. switch (getState())
  151. {
  152. //ATTACKING
  153. case ATTACK:
  154. cow = npcs.closest("Cow","Cow calf");
  155. cow.interact("Attack");
  156. break;
  157.  
  158. //WALKS FROM COW PEN TO STAIRS
  159. case WALK_TO_STAIRS_FROM_PEN:
  160. localWalker.walkPath(PATH_PEN_TO_STAIRS);
  161. break;
  162.  
  163. //GOES UP FIRST SET OF STAIRS
  164. case GO_UPSTAIRS1:
  165. objects.closest("Staircase").interact("Climb-up");
  166. sleep(random(300, 500));
  167. break;
  168.  
  169. //GOES UP SECOND SET OF STAIRS
  170. case GO_UPSTAIRS2:
  171. objects.closest("Staircase").interact("Climb-up");
  172. sleep(random(300, 500));
  173. break;
  174.  
  175. //WALKS FROM STAIRS TO BANK
  176. case WALK_TO_BANK:
  177. localWalker.walkPath(PATH_STAIRS_TO_BANK);
  178. sleep(random(300, 500));
  179. break;
  180.  
  181. //BANKS ITEMS
  182. case BANK:
  183. bank.open();
  184. sleep(random(450, 500));
  185. bank.depositAll();
  186. sleep(random(300, 500));
  187. bank.close();
  188. break;
  189.  
  190. //WALKS FROM BANK BACK TO STAIRS
  191. case WALK_TO_STAIRS_FROM_BANK:
  192. localWalker.walkPath(PATH_BANK_TO_STAIRS);
  193. sleep(random(300, 500));
  194. break;
  195.  
  196. //GOES DOWN STAIRS TO REACH SECOND FLOOR
  197. case GO_DOWNSTAIRS1:
  198. objects.closest("Staircase").interact("Climb-down");
  199. sleep(random(300, 500));
  200. break;
  201.  
  202. //GOES DOWN STAIRS TO REACH FIRST FLOOR
  203. case GO_DOWNSTAIRS2:
  204. objects.closest("Staircase").interact("Climb-down");
  205. sleep(random(300, 500));
  206. break;
  207.  
  208. //WALKS FROM LUMBRIDGE CASTLE TO COW PEN
  209. case WALK_TO_PEN:
  210. localWalker.walkPath(PATH_STAIRS_TO_PEN);
  211. sleep(random(300, 500));
  212. break;
  213.  
  214. //WAIT
  215. case WAIT:
  216. sleep(random(500, 700));
  217. break;
  218. }
  219. return random(200, 300);
  220. }
  221.  
  222. //On Exit
  223. public void onExit()
  224. {
  225. log("Thanks for running Oak Cutter!");
  226. }
  227.  
  228.  
  229. public void onPaint(Graphics2D g)
  230. {
  231.  
  232. }
  233.  
  234. }
Advertisement
Add Comment
Please, Sign In to add comment