Guest User

Untitled

a guest
Jun 21st, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.39 KB | None | 0 0
  1. package com.scripts;
  2.  
  3. import java.awt.*;
  4.  
  5. import com.kbot2.handlers.eventSystem.eventListeners.PaintListener;
  6. import com.kbot2.scriptable.Script;
  7. import com.kbot2.scriptable.methods.wrappers.Tile;
  8. import com.kbot2.scriptable.methods.wrappers.Obj;
  9. import com.kbot2.scriptable.methods.Calculations;
  10.  
  11. public class AIORunecrafter extends Script implements PaintListener {
  12.  
  13. Tile[] AIRS1 = new Tile[]{new Tile(3013,3355), new Tile(3010,3359), new Tile(3008,3354), new Tile(3008,3349),
  14. new Tile(3008,3344), new Tile(3007,3339), new Tile(3007,3334), new Tile(3007,3329), new Tile(3007,3324),
  15. new Tile(3003,3320), new Tile(3000,3314), new Tile(2998,3309), new Tile(2997,3304), new Tile(2993,3300),
  16. new Tile(2991,3295), new Tile(2986,3294), };
  17.  
  18. Tile[] AIRS2 = new Tile[]{new Tile(3012,3355), new Tile(3009,3359), new Tile(3008,3354), new Tile(3008,3349),
  19. new Tile(3008,3344), new Tile(3007,3339), new Tile(3007,3334), new Tile(3007,3329), new Tile(3007,3324),
  20. new Tile(3002,3321), new Tile(2998,3317), new Tile(2995,3313), new Tile(2996,3308), new Tile(2996,3303),
  21. new Tile(2993,3299), new Tile(2990,3295), new Tile(2985,3294), };
  22.  
  23. Tile[] RAIRS1 = walking.reversePath(AIRS1);
  24.  
  25. Tile[] RAIRS2 = walking.reversePath(AIRS2);
  26.  
  27. Tile[] MIND1 = new Tile[]{new Tile(2946,3368), new Tile(2946,3373), new Tile(2949,3377), new Tile(2953,3381),
  28. new Tile(2958,3382), new Tile(2961,3386), new Tile(2964,3390), new Tile(2965,3395), new Tile(2965,3400),
  29. new Tile(2968,3404), new Tile(2972,3407), new Tile(2976,3411), new Tile(2979,3416), new Tile(2984,3418),
  30. new Tile(2987,3422), new Tile(2987,3428), new Tile(2983,3431), new Tile(2981,3437), new Tile(2978,3441),
  31. new Tile(2976,3446), new Tile(2976,3451), new Tile(2973,3455), new Tile(2973,3460), new Tile(2973,3465),
  32. new Tile(2972,3470), new Tile(2972,3475), new Tile(2973,3480), new Tile(2971,3485), new Tile(2973,3490),
  33. new Tile(2976,3494), new Tile(2977,3499), new Tile(2977,3504), new Tile(2979,3509), new Tile(2983,3512), };
  34.  
  35. Tile[] MIND2 = new Tile[]{new Tile(2945,3368), new Tile(2945,3373), new Tile(2949,3376), new Tile(2953,3379),
  36. new Tile(2958,3379), new Tile(2961,3384), new Tile(2962,3389), new Tile(2964,3394), new Tile(2967,3398),
  37. new Tile(2970,3402), new Tile(2972,3407), new Tile(2976,3410), new Tile(2980,3413), new Tile(2983,3417),
  38. new Tile(2987,3421), new Tile(2987,3426), new Tile(2984,3430), new Tile(2981,3434), new Tile(2980,3439),
  39. new Tile(2976,3445), new Tile(2973,3449), new Tile(2972,3454), new Tile(2972,3459), new Tile(2972,3464),
  40. new Tile(2972,3469), new Tile(2972,3474), new Tile(2969,3478), new Tile(2971,3483), new Tile(2973,3488),
  41. new Tile(2976,3492), new Tile(2977,3497), new Tile(2980,3501), new Tile(2979,3506), new Tile(2979,3511),
  42. new Tile(2984,3512), };
  43.  
  44. Tile[] RMIND1 = walking.reversePath(MIND1);
  45.  
  46. Tile[] RMIND2 = walking.reversePath(MIND2);
  47.  
  48. Tile[] WATER1 = new Tile[]{new Tile(3092,3244), new Tile(3096,3247), new Tile(3098,3242), new Tile(3101,3237),
  49. new Tile(3105,3234), new Tile(3110,3231), new Tile(3113,3227), new Tile(3115,3222), new Tile(3117,3217),
  50. new Tile(3120,3213), new Tile(3124,3209), new Tile(3128,3206), new Tile(3133,3205), new Tile(3138,3202),
  51. new Tile(3141,3198), new Tile(3146,3195), new Tile(3150,3192), new Tile(3153,3188), new Tile(3156,3183),
  52. new Tile(3159,3179), new Tile(3162,3175), new Tile(3164,3170), new Tile(3168,3166), new Tile(3172,3163),
  53. new Tile(3176,3159), new Tile(3181,3157), new Tile(3183,3163), };
  54.  
  55. Tile[] WATER2 = new Tile[]{new Tile(3092,3243), new Tile(3095,3247), new Tile(3098,3243), new Tile(3098,3238),
  56. new Tile(3098,3233), new Tile(3101,3229), new Tile(3106,3227), new Tile(3111,3225), new Tile(3114,3221),
  57. new Tile(3117,3217), new Tile(3120,3212), new Tile(3124,3208), new Tile(3129,3206), new Tile(3134,3205),
  58. new Tile(3138,3202), new Tile(3139,3197), new Tile(3141,3192), new Tile(3145,3188), new Tile(3150,3186),
  59. new Tile(3153,3182), new Tile(3155,3177), new Tile(3159,3174), new Tile(3163,3170), new Tile(3167,3167),
  60. new Tile(3172,3167), new Tile(3177,3167), new Tile(3183,3165), };
  61.  
  62. Tile[] RWATER1 = walking.reversePath(WATER1);
  63.  
  64. Tile[] RWATER2 = walking.reversePath(WATER2);
  65.  
  66. Tile[] EARTH1 = new Tile[]{new Tile(3253,3420), new Tile(3253,3425), new Tile(3257,3428), new Tile(3262,3428),
  67. new Tile(3267,3428), new Tile(3272,3429), new Tile(3275,3433), new Tile(3275,3438), new Tile(3279,3441),
  68. new Tile(3281,3446), new Tile(3281,3451), new Tile(3283,3456), new Tile(3286,3461), new Tile(3290,3465),
  69. new Tile(3295,3466), new Tile(3300,3469), new Tile(3304,3474), };
  70.  
  71. Tile[] EARTH2 = new Tile[]{new Tile(3252,3420), new Tile(3253,3425), new Tile(3257,3428), new Tile(3262,3428),
  72. new Tile(3267,3429), new Tile(3272,3429), new Tile(3275,3433), new Tile(3275,3438), new Tile(3279,3441),
  73. new Tile(3282,3445), new Tile(3284,3450), new Tile(3286,3455), new Tile(3289,3459), new Tile(3291,3464),
  74. new Tile(3296,3467), new Tile(3301,3469), new Tile(3304,3473), };
  75.  
  76. Tile[] REARTH1 = walking.reversePath(EARTH1);
  77.  
  78. Tile[] REARTH2 = walking.reversePath(EARTH2);
  79.  
  80. Tile[] FIRE1 = new Tile[]{new Tile(3383,3269), new Tile(3380,3266), new Tile(3375,3266), new Tile(3370,3266),
  81. new Tile(3365,3266), new Tile(3360,3266), new Tile(3355,3266), new Tile(3349,3266), new Tile(3344,3266),
  82. new Tile(3339,3266), new Tile(3334,3266), new Tile(3329,3266), new Tile(3325,3262), new Tile(3325,3257),
  83. new Tile(3325,3252), new Tile(3325,3247), new Tile(3324,3242), new Tile(3320,3238), new Tile(3315,3237),
  84. new Tile(3310,3235), new Tile(3309,3240), new Tile(3309,3245), new Tile(3309,3250), new Tile(3311,3255), };
  85.  
  86. Tile[] FIRE2 = new Tile[]{new Tile(3383,3269), new Tile(3379,3266), new Tile(3374,3266), new Tile(3369,3266),
  87. new Tile(3364,3266), new Tile(3359,3266), new Tile(3354,3266), new Tile(3349,3266), new Tile(3344,3266),
  88. new Tile(3339,3266), new Tile(3334,3266), new Tile(3329,3266), new Tile(3325,3262), new Tile(3325,3257),
  89. new Tile(3325,3252), new Tile(3325,3247), new Tile(3323,3242), new Tile(3319,3239), new Tile(3314,3237),
  90. new Tile(3309,3239), new Tile(3309,3244), new Tile(3308,3249), new Tile(3313,3253), };
  91.  
  92. Tile[] RFIRE1 = walking.reversePath(FIRE1);
  93.  
  94. Tile[] RFIRE2 = walking.reversePath(FIRE2);
  95.  
  96. Tile[] BODY1 = new Tile[]{new Tile(3094,3491), new Tile(3090,3488), new Tile(3095,3487), new Tile(3099,3484),
  97. new Tile(3100,3479), new Tile(3100,3474), new Tile(3099,3469), new Tile(3096,3465), new Tile(3091,3465),
  98. new Tile(3087,3462), new Tile(3082,3462), new Tile(3077,3461), new Tile(3074,3457), new Tile(3071,3453),
  99. new Tile(3071,3448), new Tile(3067,3445), new Tile(3063,3448), new Tile(3058,3450), new Tile(3055,3446), };
  100.  
  101. Tile[] BODY2 = new Tile[]{new Tile(3094,3491), new Tile(3090,3488), new Tile(3095,3486), new Tile(3098,3482),
  102. new Tile(3100,3477), new Tile(3099,3472), new Tile(3099,3467), new Tile(3094,3465), new Tile(3089,3465),
  103. new Tile(3085,3462), new Tile(3080,3462), new Tile(3075,3459), new Tile(3072,3454), new Tile(3071,3449),
  104. new Tile(3070,3444), new Tile(3066,3441), new Tile(3061,3438), new Tile(3056,3440), new Tile(3055,3445), };
  105.  
  106. Tile[] RBODY1 = walking.reversePath(BODY1);
  107.  
  108. Tile[] RBODY2 = walking.reversePath(BODY2);
  109.  
  110.  
  111. Rectangle BANK_AIRS = new Rectangle(3009, 3355, 7, 3);
  112. Rectangle BANK_MIND = new Rectangle(2943, 3368, 4, 5);
  113. Rectangle BANK_WATER = new Rectangle(3092, 3240, 3, 6);
  114. Rectangle BANK_EARTH = new Rectangle(3250, 3419, 7, 4);
  115. Rectangle BANK_FIRE = new Rectangle(3380, 3267, 5, 6);
  116. Rectangle BANK_BODY = new Rectangle(3091, 3488, 4, 7);
  117.  
  118. Rectangle RUINS_AIRS = new Rectangle(2981, 3288, 8, 8);
  119. Rectangle RUINS_MIND = new Rectangle(2978, 3511, 7, 6);
  120. Rectangle RUINS_WATER = new Rectangle(3181, 3161, 8, 7);
  121. Rectangle RUINS_EARTH = new Rectangle(3301, 3471, 8, 7);
  122. Rectangle RUINS_FIRE = new Rectangle(3309, 3251, 8, 8);
  123. Rectangle RUINS_BODY = new Rectangle(3049, 3441, 8, 8);
  124.  
  125. Rectangle ALTAR_AIRS = new Rectangle(2837, 4826, 13, 15);
  126. Rectangle ALTAR_MIND = new Rectangle(2762, 4819, 40, 35);
  127. Rectangle ALTAR_WATER = new Rectangle(3475, 4822, 25, 23);
  128. Rectangle ALTAR_EARTH = new Rectangle(2631, 4817, 51, 39);
  129. Rectangle ALTAR_FIRE = new Rectangle(2574, 4830, 20, 21);
  130. Rectangle ALTAR_BODY = new Rectangle(2507, 4831, 26, 18);
  131.  
  132. int BANKS[] = {11758, 2213, 11402, 27663, 26972};
  133. int RUNES[] = {556, 557, 554, 555, 558, 559};
  134. int RUINZ[] = {7104, 7105, 7106, 7108, 7110, 7112, 7114};
  135. int ALTARS[] = {2478, 2479, 2480, 2481, 2482, 2483};
  136. int PORTALS[] = {2465, 2466, 2467, 2468, 2469, 2470};
  137. int ESS = 1436;
  138. int status = 0;
  139. int RUNES_CRAFTED = 0;
  140. int WHICH_RUNE = 6; // 1-Air, 2-Mind, 3-Water, 4-Earth, 5-Fire, 6-Body
  141.  
  142. boolean TO_ALTAR;
  143.  
  144. Obj BANK;
  145. Obj RUINS;
  146. Obj ALTAR;
  147. Obj PORTAL;
  148.  
  149.  
  150. public boolean active() {
  151. return true;
  152. }
  153.  
  154. @Override
  155. public boolean onStart() {
  156.  
  157.  
  158. return true;
  159. }
  160.  
  161.  
  162.  
  163. public int loop() {
  164. switch (status) {
  165.  
  166. case 0://Start up Checks
  167. Tile myLoc = getMyPlayer().getLocation();
  168. Point a = new Point(myLoc.getX(), myLoc.getY());
  169. if (BANK_AIRS.contains(a)||BANK_MIND.contains(a)||BANK_WATER.contains(a)||
  170. BANK_EARTH.contains(a)||BANK_FIRE.contains(a)||BANK_BODY.contains(a)) {
  171. status = 1; }
  172.  
  173.  
  174. return random(300, 500);
  175.  
  176. case 1://Banking
  177. BANK = getClosestObject(7, BANKS);
  178. if (inventory.getCount(false, ESS) > 26) {
  179. TO_ALTAR = true;
  180. status = 2; }
  181. else if (!bank.isOpen()) {
  182. if (inventory.contains(RUNES)||!inventory.contains(ESS)) {
  183. if (WHICH_RUNE == 5) {
  184. BANK.doAction("Bank"); }
  185. if (!(WHICH_RUNE == 5)) {
  186. BANK.doAction("quickly"); }
  187. sleep(800, 1200); } }
  188. else if (bank.isOpen()) {
  189. if (inventory.getCount() == 0) {
  190. bank.withdrawItem(ESS, 28);
  191. sleep(400, 650); }
  192. if (inventory.getCount() > 0 && !inventory.contains(ESS)) {
  193. bank.depositInventory();
  194. sleep(400, 700); } }
  195.  
  196.  
  197. return random(200, 300);
  198.  
  199. case 2://checking which paths to take
  200. if (walking.getEnergy() > random(30, 70)) {
  201. walking.setRunning(true); }
  202. if (WHICH_RUNE == 1) {
  203. status = 3; }
  204. if (WHICH_RUNE == 2) {
  205. status = 4; }
  206. if (WHICH_RUNE == 3) {
  207. status = 5; }
  208. if (WHICH_RUNE == 4) {
  209. status = 6; }
  210. if (WHICH_RUNE == 5) {
  211. status = 7; }
  212. if (WHICH_RUNE == 6) {
  213. status = 8; }
  214.  
  215.  
  216. return random(200, 300);
  217.  
  218. case 3://Air paths
  219. int RAN = random(1, 2);
  220. if (TO_ALTAR) {
  221. if (RAN == 1) {
  222. walking.walkPath(walking.randomizePath(AIRS1, 2, 2));
  223. status = 9; }
  224. if (RAN == 2) {
  225. walking.walkPath(walking.randomizePath(AIRS2, 2, 2));
  226. status = 9; } }
  227. if (!TO_ALTAR) {
  228. if (RAN == 1) {
  229. walking.walkPath(walking.randomizePath(RAIRS1, 2, 2));
  230. status = 0; }
  231. if (RAN == 2) {
  232. walking.walkPath(walking.randomizePath(RAIRS2, 2, 2));
  233. status = 0; } }
  234.  
  235.  
  236. return random(200, 300);
  237.  
  238. case 4://Mind paths
  239. int RAND = random(1, 2);
  240. if (TO_ALTAR) {
  241. if (RAND == 1) {
  242. walking.walkPath(walking.randomizePath(MIND1, 2, 2));
  243. status = 9; }
  244. if (RAND == 2) {
  245. walking.walkPath(walking.randomizePath(MIND2, 2, 2));
  246. status = 9; } }
  247. if (!TO_ALTAR) {
  248. if (RAND == 1) {
  249. walking.walkPath(walking.randomizePath(RMIND1, 2, 2));
  250. status = 0; }
  251. if (RAND == 2) {
  252. walking.walkPath(walking.randomizePath(RMIND2, 2, 2));
  253. status = 0; } }
  254.  
  255.  
  256. return random(200, 300);
  257.  
  258. case 5://Water paths
  259. int RANDO = random(1, 2);
  260. if (TO_ALTAR) {
  261. if (RANDO == 1) {
  262. walking.walkPath(walking.randomizePath(WATER1, 2, 2));
  263. status = 9; }
  264. if (RANDO == 2) {
  265. walking.walkPath(walking.randomizePath(WATER2, 2, 2));
  266. status = 9; } }
  267. if (!TO_ALTAR) {
  268. if (RANDO == 1) {
  269. walking.walkPath(walking.randomizePath(RWATER1, 2, 2));
  270. status = 0; }
  271. if (RANDO == 2) {
  272. walking.walkPath(walking.randomizePath(RWATER2, 2, 2));
  273. status = 0; } }
  274.  
  275.  
  276. return random(200, 300);
  277.  
  278. case 6://Earth paths
  279. int RANDOM = random(1, 2);
  280. if (TO_ALTAR) {
  281. if (RANDOM == 1) {
  282. walking.walkPath(walking.randomizePath(EARTH1, 2, 2));
  283. status = 9; }
  284. if (RANDOM == 2) {
  285. walking.walkPath(walking.randomizePath(EARTH2, 2, 2));
  286. status = 9; } }
  287. if (!TO_ALTAR) {
  288. if (RANDOM == 1) {
  289. walking.walkPath(walking.randomizePath(REARTH1, 2, 2));
  290. status = 0; }
  291. if (RANDOM == 2) {
  292. walking.walkPath(walking.randomizePath(REARTH2, 2, 2));
  293. status = 0; } }
  294.  
  295. return random(200, 300);
  296.  
  297. case 7://Fire paths
  298. int RANDOMS = random(1, 2);
  299. if (TO_ALTAR) {
  300. if (RANDOMS == 1) {
  301. walking.walkPath(walking.randomizePath(FIRE1, 2, 2));
  302. status = 9; }
  303. if (RANDOMS == 2) {
  304. walking.walkPath(walking.randomizePath(FIRE2, 2, 2));
  305. status = 9; } }
  306. if (!TO_ALTAR) {
  307. if (RANDOMS == 1) {
  308. walking.walkPath(walking.randomizePath(RFIRE1, 2, 2));
  309. status = 0; }
  310. if (RANDOMS == 2) {
  311. walking.walkPath(walking.randomizePath(RFIRE2, 2, 2));
  312. status = 0; } }
  313.  
  314. return random(200, 300);
  315.  
  316. case 8://Body paths
  317. int RANDOMs = random(1, 2);
  318. if (TO_ALTAR) {
  319. if (RANDOMs == 1) {
  320. walking.walkPath(walking.randomizePath(BODY1, 2, 2));
  321. status = 9; }
  322. if (RANDOMs == 2) {
  323. walking.walkPath(walking.randomizePath(BODY2, 2, 2));
  324. status = 9; } }
  325. if (!TO_ALTAR) {
  326. if (RANDOMs == 1) {
  327. walking.walkPath(walking.randomizePath(RBODY1, 2, 2));
  328. status = 0; }
  329. if (RANDOMs == 2) {
  330. walking.walkPath(walking.randomizePath(RBODY2, 2, 2));
  331. status = 0; } }
  332.  
  333. return random(200, 300);
  334.  
  335. case 9://enter ruins
  336. RUINS = getClosestObject(7, RUINZ);
  337. Tile myLoca = getMyPlayer().getLocation();
  338. Point b = new Point(myLoca.getX(), myLoca.getY());
  339. if (getMyPlayer().isMoving()) {
  340. return random(400, 600); }
  341. if (ALTAR_AIRS.contains(b)||ALTAR_MIND.contains(b)||ALTAR_WATER.contains(b)||
  342. ALTAR_EARTH.contains(b)||ALTAR_FIRE.contains(b)||ALTAR_BODY.contains(b)) {
  343. status = 10; }
  344. else if (RUINS_AIRS.contains(b)||RUINS_MIND.contains(b)||RUINS_WATER.contains(b)||
  345. RUINS_EARTH.contains(b)||RUINS_FIRE.contains(b)||RUINS_BODY.contains(b)) {
  346. RUINS.doAction("Enter");
  347. sleep(500, 700); }
  348.  
  349.  
  350. return random(200, 300);
  351.  
  352. case 10: //crafting runes leaving portal
  353. PORTAL = getClosestObject(20, PORTALS);
  354. ALTAR = getClosestObject(20, ALTARS);
  355. Tile myLocat = getMyPlayer().getLocation();
  356. Point c = new Point(myLocat.getX(), myLocat.getY());
  357. if (RUINS_AIRS.contains(c)||RUINS_MIND.contains(c)||RUINS_WATER.contains(c)||
  358. RUINS_EARTH.contains(c)||RUINS_FIRE.contains(c)||RUINS_BODY.contains(c)) {
  359. TO_ALTAR = false;
  360. status = 2; }
  361. if (getMyPlayer().isMoving()) {
  362. return random(400, 600); }
  363. if (getMyPlayer().getAnimation() != -1) {
  364. return random(400, 600); }
  365. else if (!(RUINS_AIRS.contains(c)||RUINS_MIND.contains(c)||RUINS_WATER.contains(c)||
  366. RUINS_EARTH.contains(c)||RUINS_FIRE.contains(c)||RUINS_BODY.contains(c))) {
  367. Tile port = PORTAL.getLocation();
  368. Tile alta = ALTAR.getLocation();
  369. if (inventory.contains(RUNES)) {
  370. if (Calculations.onScreen(getCalculations().tileToScreen(PORTAL.getLocation()))) {
  371. PORTAL.doAction("Use");
  372. sleep(400, 600);}
  373. if (!Calculations.onScreen(getCalculations().tileToScreen(PORTAL.getLocation()))) {
  374. walking.walkToMM(port); } }
  375. else if (Calculations.onScreen(getCalculations().tileToScreen(ALTAR.getLocation()))) {
  376. ALTAR.doAction("Craft");
  377. sleep(300, 500); }
  378. else if (!Calculations.onScreen(getCalculations().tileToScreen(ALTAR.getLocation()))) {
  379. walking.walkToMM(alta); } }
  380.  
  381.  
  382. return random(200, 300);
  383.  
  384. }
  385. return random(200, 300);
  386.  
  387. }
  388.  
  389. void clickMouse(int x, int y, int randx, int randy, boolean button) {
  390. mouse.moveMouse(x, y, randx, randy);
  391. sleep(100);
  392. mouse.clickMouse(button);
  393.  
  394. }
  395.  
  396. public String getName() {
  397. return "AIO Runecrafter";
  398. }
  399.  
  400. public String getAuthor() {
  401. return "Ryan";
  402. }
  403.  
  404. public String getDescription() {
  405. return "Will craft all f2p runes";
  406. }
  407.  
  408. public void onRepaint(Graphics g) {
  409.  
  410. g.setColor(new Color(0, 0, 0, 100));
  411. g.setColor(Color.white);
  412. g.drawString("Current Status " + status, 20, 100);
  413.  
  414.  
  415. }
  416. }
Add Comment
Please, Sign In to add comment