Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.13 KB | None | 0 0
  1. function NT_Leech()
  2. {
  3. // General Maintenance
  4. var leader = "LEADER_NAME_HERE";
  5. var i;
  6. var _wave;
  7. var _starttick;
  8.  
  9. // General Maintenance
  10. print("yc3Starting Baal Leech Script");
  11. if (!NTTM_CheckAct(5))
  12. {
  13. return false;
  14. }
  15. NTTMGR_TownManager();
  16.  
  17. // Double Check Location
  18. if (me.area != 109)
  19. {
  20. NTTM_TownMove("waypoint");
  21. NTM_UsePortal("Waypoint", 109);
  22. }
  23.  
  24. // Move to Potal Spot
  25. if (!NTTM_TownMove("portalspot"))
  26. {
  27. return false;
  28. }
  29.  
  30. // Delay until in party with Leader
  31. for (var i = 0; i < 100; i++)
  32. {
  33. if (findLead(leader)) break;
  34. for (var j = 0; j < NT_Leader.length; j++)
  35. {
  36. if (findLead(NT_Leader[j])) leader = NT_Leader[j];
  37.  
  38. }
  39. delay(100);
  40. }
  41.  
  42. // Quit With Leader
  43. QuitWithLeader = leader;
  44.  
  45. // Enter Portal
  46. while (me.area == 109)
  47. {
  48. if (NTConfig_PureLeech)
  49. {
  50. NTC_Delay(30000);
  51. }
  52. NTM_UsePortal("BluePortal", 131, leader);
  53. delay(1000);
  54. if (!findLead(leader))
  55. {
  56. var a = getParty();
  57. if (!a) return false;
  58. do
  59. {
  60. sendCopyData(null, "OOG", 0, "Leader Not Found-->" + a.name + "<--");
  61. } while (a.getNext());
  62. return false;
  63. }
  64. }
  65.  
  66. // Precasting
  67. print("yc5Precasting");
  68. NTP_DoPrecast();
  69. NTC_Delay(250);
  70.  
  71. if (NTConfig_PureLeech)
  72. {
  73. NTM_MoveTo(15113, 5053);
  74. while (1)
  75. {
  76.  
  77. if (me.getState(2)) NTC_PutSkill(109, NTC_HAND_RIGHT);
  78.  
  79. for (i = 0; i < 0; i++)
  80. {
  81. _wave = NT_ThroneCheckInt();
  82. if (_wave > 0) break;
  83.  
  84. NTC_Delay(500);
  85. }
  86.  
  87. // Start Waves
  88. while (_wave == 0)
  89. {
  90. _wave = NT_ThroneCheckInt();
  91. }
  92.  
  93.  
  94. // End of Wave 1
  95. if (_wave == 1);
  96.  
  97. // End of Wave 1 Precasts
  98. if (_wave == 1 && NTConfig_BaalPrecastSettings == 1 || _wave == 1 && NTConfig_BaalPrecastSettings == 2 || _wave == 1 && NTConfig_BaalPrecastSettings == 3)
  99. {
  100. NTM_MoveTo(15094, 5038);
  101. NTC_Delay(400);
  102. NTP_DoPrecast();
  103. NTC_Delay(400);
  104. NTM_MoveTo(15113, 5053);
  105. }
  106.  
  107. // End of Wave 2 Precasts
  108. else if (_wave == 2);
  109. if (_wave == 2 && NTConfig_BaalPrecastSettings == 1)
  110. {
  111. NTM_MoveTo(15094, 5038);
  112. NTC_Delay(400);
  113. NTP_DoPrecast();
  114. NTC_Delay(400);
  115. NTM_MoveTo(15113, 5053);
  116. }
  117.  
  118. // End of Wave 2 Clensing
  119. if (_wave == 2 && NTConfig_BaalClensing)
  120. {
  121. if (me.classid == NTC_CHAR_CLASS_PALADIN)
  122. {
  123. NTC_PutSkill(109, NTC_HAND_RIGHT);
  124. }
  125. }
  126.  
  127. // End of Wave 3 Precasts
  128. else if (_wave == 3);
  129. if (_wave == 3 && NTConfig_BaalPrecastSettings == 1 || _wave == 3 && NTConfig_BaalPrecastSettings == 3)
  130. {
  131. NTM_MoveTo(15094, 5038);
  132. NTC_Delay(400);
  133. NTP_DoPrecast();
  134. NTC_Delay(400);
  135. NTM_MoveTo(15113, 5053);
  136. }
  137.  
  138. // End of Wave 4 Precasts
  139. else if (_wave == 4);
  140. if (_wave == 4 && NTConfig_BaalPrecastSettings == 1)
  141. {
  142. NTM_MoveTo(15094, 5038);
  143. NTC_Delay(250);
  144. NTP_DoPrecast();
  145. NTM_MoveTo(15113, 5053);
  146. }
  147.  
  148. else if (_wave == 5) break;
  149.  
  150. if (!findLead(leader)) return false;
  151. while (NTC_FindMonster(getLocaleString(3061)))
  152. {
  153. NTC_Delay(350);
  154. if (!findLead(leader)) return false;
  155. }
  156. delay(300);
  157. }
  158. if (!findLead(leader)) return false;
  159. }
  160. else
  161. {
  162.  
  163. // Initiate Main Part of Script.
  164. NT_ClearThroneInt();
  165.  
  166. while (1)
  167. {
  168.  
  169. // Move into Position for waves.
  170. if (me.classid == NTC_CHAR_CLASS_PALADIN || me.classid == NTC_CHAR_CLASS_BARBARIAN) NTM_MoveTo(15092, 5028);
  171. else NTM_MoveTo(15092, 5040);
  172.  
  173. // If Poisoned use Clensing.
  174. if (me.getState(2)) NTC_PutSkill(109, NTC_HAND_RIGHT);
  175.  
  176. // Check Throne
  177. for (i = 0; i < 6; i++)
  178. {
  179. _wave = NT_ThroneCheckInt();
  180. if (_wave > 0) break;
  181.  
  182. NTC_Delay(500);
  183. }
  184.  
  185. // General Maintenance
  186. _starttick = getTickCount();
  187.  
  188. // Start Waves
  189. while (_wave == 0)
  190. {
  191. if (!NT_ThronePreAttackInt()) NTC_Delay(250);
  192.  
  193. if (getTickCount() - _starttick > 20000)
  194. {
  195. NT_ClearThroneInt();
  196.  
  197. _starttick = getTickCount();
  198. }
  199.  
  200. _wave = NT_ThroneCheckInt();
  201. }
  202.  
  203. // Holy Bolt Support
  204. if (NTConfig_BaalHolyBolt)
  205. {
  206.  
  207. // Kill Sequence for waves 1,3,4 and 5
  208. if (_wave != 2)
  209. {
  210. NTA_ClearPosition(40, 0x04);
  211. NTA_ClearPosition(40);
  212. NTA_ClearPosition();
  213. NTSI_PickItems();
  214. NTT_CleanPotions();
  215. NTC_Delay(250);
  216. NTA_ClearPosition(40, 0x04);
  217. NTA_ClearPosition(40);
  218. NTA_ClearPosition();
  219. NTSI_PickItems();
  220. }
  221. else
  222. {
  223.  
  224. // Kill Sequence for wave 2 (Holy Bolt)
  225. NTA_ClearPosition(40, 0x04, true);
  226. NTA_ClearPosition(40, 0, true);
  227. NTA_ClearPosition(40);
  228. NTSI_PickItems();
  229. NTT_CleanPotions();
  230. NTC_Delay(250);
  231. NTA_ClearPosition(40, 0x04, true);
  232. NTA_ClearPosition(40, 0, true);
  233. NTA_ClearPosition(40);
  234. NTSI_PickItems();
  235. NTT_CleanPotions();
  236. }
  237. }
  238. else
  239. {
  240. NTA_ClearPosition(40, 0x04);
  241. NTA_ClearPosition(40);
  242. NTA_ClearPosition();
  243. NTSI_PickItems();
  244. NTT_CleanPotions();
  245. NTC_Delay(250);
  246. NTA_ClearPosition(40, 0x04);
  247. NTA_ClearPosition(40);
  248. NTA_ClearPosition();
  249. NTSI_PickItems();
  250. }
  251.  
  252. // End of Wave 1
  253. if (_wave == 1);
  254.  
  255. // End of Wave 1 Precasts
  256. if (_wave == 1 && NTConfig_BaalPrecastSettings == 1 || _wave == 1 && NTConfig_BaalPrecastSettings == 2 || _wave == 1 && NTConfig_BaalPrecastSettings == 3)
  257. {
  258. NTC_Delay(250);
  259. NTP_DoPrecast();
  260. }
  261.  
  262. // End of Wave 2 Precasts
  263. else if (_wave == 2);
  264. if (_wave == 2 && NTConfig_BaalPrecastSettings == 1)
  265. {
  266. NTC_Delay(250);
  267. NTP_DoPrecast();
  268. }
  269.  
  270. // End of Wave 2 Clensing
  271. if (_wave == 2 && NTConfig_BaalClensing)
  272. {
  273. if (me.classid == NTC_CHAR_CLASS_PALADIN)
  274. {
  275. NTC_PutSkill(109, NTC_HAND_RIGHT);
  276. }
  277. }
  278.  
  279. // End of Wave 3 Precasts
  280. else if (_wave == 3);
  281. if (_wave == 3 && NTConfig_BaalPrecastSettings == 1 || _wave == 3 && NTConfig_BaalPrecastSettings == 3)
  282. {
  283. NTC_Delay(250);
  284. NTP_DoPrecast();
  285. }
  286.  
  287. // End of Wave 3 Avoid Hydra
  288. if (_wave == 3 && NTConfig_BaalAvoidHydra)
  289. {
  290. NT_CheckHydraInt();
  291. }
  292.  
  293. // End of Wave 4 Precasts
  294. else if (_wave == 4);
  295. if (_wave == 4 && NTConfig_BaalPrecastSettings == 1)
  296. {
  297. NTC_Delay(250);
  298. NTP_DoPrecast();
  299. }
  300.  
  301. // End of Wave 5
  302. else if (_wave == 5) break;
  303. if (!findLead(leader)) return false;
  304. }
  305. }
  306. // Kill Baal
  307. if (NTConfig_KillBaal)
  308. {
  309. // General Maintenance
  310. var _portal;
  311.  
  312. // Check Safe
  313. if (NTConfig_CheckSafe)
  314. {
  315. if (!NTTMGR_CheckSafe(3)) return false;
  316. }
  317.  
  318. // Move to Stairs and Precast
  319. NTM_MoveTo(15092, 5010);
  320. NTC_Delay(250);
  321. NTP_DoPrecast();
  322.  
  323. // Find Baal
  324. while (NTC_FindMonster(getLocaleString(3061)))
  325. NTC_Delay(250);
  326.  
  327. // General Maintenace
  328. _portal = NTC_GetUnit(NTC_UNIT_OBJECT, 563);
  329.  
  330. // If unable to find portal, end run.
  331. if (!_portal) return false;
  332.  
  333. // Enter Portal
  334. if (!NTM_UsePortal("Portal", 132, null, _portal)) return false;
  335.  
  336. // Move to Middle
  337. NTM_MoveTo(15138, 5916);
  338.  
  339. // Leechers Stay close to baal!
  340. if (NTConfig_PureLeech)
  341. {
  342. var _baal;
  343. _baal = NTC_FindMonster(getLocaleString(3061))
  344. while (_baal && _baal.hp > 0)
  345. {
  346. if (getDistance(me, _baal) > 10) NTM_MoveTo(_baal.x, _baal.y);
  347. //NTM_MoveTo(_baal.x, _baal.y);
  348. _baal = NTC_FindMonster(getLocaleString(3061))
  349. NTSI_PickItems();
  350. NTC_Delay(500);
  351. if (!findLead(leader)) return false;
  352. }
  353.  
  354. while (!NTC_FindMonster(getLocaleString(3061)))
  355. NTSI_PickItems();
  356. if (!findLead(leader)) return false;
  357. NTC_Delay(250);
  358. return true;
  359. }
  360.  
  361. // Kill baal
  362. if (!NTA_KillBoss(getLocaleString(3061))) return false;
  363. NTSI_PickItems();
  364. if (!findLead(leader)) return false;
  365. }
  366.  
  367. sendCopyData(null, "OOG", 0, "Quit:Full Run");
  368. return true;
  369. }
  370.  
  371. // Clear Throne
  372. function NT_ClearThroneInt()
  373. {
  374.  
  375. // Baal Fast Setup
  376. if (NTConfig_BaalFastSetup)
  377. {
  378.  
  379. // Attack Array Coords
  380. var _attackpos = [15094, 5029, 15094, 5029, 15105, 5019, 15108, 5041, 15101, 5060, 15087, 5062, 15080, 5042, 15083, 5016, 15094, 5034, 15094, 5058];
  381.  
  382. // Process Attack Array Coords
  383. for (var i = 0; i < _attackpos.length; i += 2)
  384. {
  385. NTM_MoveTo(_attackpos[i], _attackpos[i + 1]);
  386.  
  387. NTA_ClearPosition(25, 0x04);
  388. NTA_ClearPosition(25);
  389. NTSI_PickItems();
  390. }
  391. if (me.classid == NTC_CHAR_CLASS_PALADIN || me.classid == NTC_CHAR_CLASS_BARBARIAN) NTM_MoveTo(15092, 5028);
  392. else NTM_MoveTo(15092, 5040);
  393. }
  394. else
  395. {
  396.  
  397. // If Baal Fast Setup is set to false
  398. // Attack Array Coords
  399. var _attackpos = [15104, 5059, 15083, 5063, 15082, 5041, 15083, 5018, 15103, 5018, 15107, 5040, 15094, 5057, 15094, 5034];
  400.  
  401. // Process Attack Array Coords
  402. for (var i = 0; i < _attackpos.length; i += 2)
  403. {
  404. NTM_MoveTo(_attackpos[i], _attackpos[i + 1]);
  405.  
  406. NTA_ClearPosition(25, 0x04);
  407. NTA_ClearPosition(25);
  408. NTSI_PickItems();
  409. }
  410. }
  411. NTT_CleanPotions();
  412. }
  413.  
  414. // Check Waves
  415. function NT_ThroneCheckInt()
  416. {
  417.  
  418. // General Maintenance
  419. var _monster;
  420.  
  421. // If Unable to find Baal, return 5 (same as killing all the waves)
  422. if (!NTC_FindMonster(getLocaleString(3061))) return 5;
  423.  
  424. // General Maintenance
  425. _monster = NTC_GetUnit(NTC_UNIT_MONSTER);
  426.  
  427. // Find Valid Monsters
  428. if (_monster)
  429. {
  430. do
  431. {
  432. if (NTA_IsValidTarget(_monster))
  433. {
  434. if (_monster.classid == 23 || _monster.classid == 62) return 1;
  435.  
  436. if (_monster.classid == 105 || _monster.classid == 381) return 2;
  437.  
  438. if (_monster.classid == 557) return 3;
  439.  
  440. if (_monster.classid == 558) return 4;
  441.  
  442. if (_monster.classid == 571) return 5;
  443. }
  444. } while (_monster.getNext());
  445. }
  446.  
  447. return 0;
  448. }
  449.  
  450. // Throne Pre Attack
  451. function NT_ThronePreAttackInt()
  452. {
  453. if (me.classid == NTC_CHAR_CLASS_SORCERESS)
  454. {
  455. if (NTConfig_AttackOthers == 56 || NTConfig_AttackOthers == 59) return NTC_DoCast(NTConfig_AttackOthers, 2, 15092, 5028);
  456. }
  457. else if (me.classid == NTC_CHAR_CLASS_PALADIN)
  458. {
  459. if (NTConfig_AttackOthers == 112)
  460. {
  461. if (NTConfig_PutAura > 0) NTC_PutSkill(NTConfig_PutAura, NTC_HAND_RIGHT);
  462.  
  463. return NTC_DoCast(NTConfig_AttackOthers, 2);
  464. }
  465. }
  466.  
  467. return false;
  468. }
  469.  
  470. // Avoid Hydras
  471. function NT_CheckHydraInt()
  472. {
  473.  
  474. // General Maintenance
  475. var _hydra1, _hydra2, _hydra3;
  476. _hydra1 = NTC_GetUnit(NTC_UNIT_MONSTER, 351);
  477. _hydra2 = NTC_GetUnit(NTC_UNIT_MONSTER, 352);
  478. _hydra3 = NTC_GetUnit(NTC_UNIT_MONSTER, 353);
  479.  
  480. // If Hydras exist move to corner of room.
  481. if ((_hydra1 && _hydra1.getStat(172) != 2 && _hydra1.getState(105)) || (_hydra2 && _hydra2.getStat(172) != 2 && _hydra2.getState(105)) || (_hydra3 && _hydra3.getStat(172) != 2 && _hydra3.getState(105)))
  482. {
  483. NTM_MoveTo(15112, 5004);
  484.  
  485. if (me.getState(2)) NTC_PutSkill(109, NTC_HAND_RIGHT);
  486.  
  487. NTC_Delay(3000);
  488. }
  489. }
  490.  
  491. // Find Leader
  492. function findLead(leader)
  493. {
  494. var _lead = getUnit(0, leader)
  495. if (_lead) return _lead.area;
  496. var area = 0;
  497. var a = getParty();
  498. if (!a) return false;
  499. do
  500. {
  501. if (a.name == leader)
  502. {
  503. return true;
  504. }
  505. } while (a.getNext());
  506. if (area == 0)
  507. {
  508. return false;
  509.  
  510. }
  511. return area;
  512. }
  513.  
  514. // Quit with Leader
  515. function LeaveWithLeader(mode, param, name1, name2)
  516. {
  517. if (mode == 0 || mode == 1 || mode == 3) if (name1 == QuitWithLeader) quit();
  518. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement