Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.15 KB | None | 0 0
  1. var globalvar = false;
  2. var nextGameVar = false;
  3. function NT_Leech()
  4. {
  5. var leader="Nt-GotAidsTwice";
  6. var i;
  7. var _wave;
  8. var _starttick;
  9. addEventListener("chatmsg", BaalMsg);
  10. if (NT_LeechType == 1)
  11. {
  12. globalvar = true;
  13. }
  14.  
  15. print("ÿc3Start Baal Leech script");
  16.  
  17. if(!NTTM_CheckAct(5))
  18. return false;
  19.  
  20. NTTMGR_TownManager();
  21.  
  22. if(!NTTM_TownMove("portalspot"))
  23. return false;
  24. //delay untill partied with leader
  25. for(var i = 0 ; i < 100 ; i++)
  26. {
  27. if (findLead(leader))
  28. break;
  29. for (var j = 0 ; j < NT_Leader.length ; j++){
  30. if (findLead(NT_Leader[j]))
  31. leader = NT_Leader[j];
  32.  
  33. }
  34. delay (100);
  35. }
  36. QuitWithLeader =leader;
  37. while(me.area==109){
  38. if (globalvar)
  39. NTM_UsePortal("BluePortal", 131,leader);
  40. delay (1000);
  41. if (!findLead(leader)) {
  42. var a = getParty();
  43. if(!a)
  44. return false;
  45. do {
  46. sendCopyData(null, "OOG", 0,"Leader Not Found-->"+a.name+"<--" );
  47. } while(a.getNext());
  48. return false;
  49. }
  50. }
  51. NTP_DoPrecast();
  52. if (NT_LeechType != 3)
  53. NT_ClearThroneInt();
  54.  
  55.  
  56.  
  57. while(NT_LeechType != 3)
  58. {
  59. var _attackpos = [7792, 5525, 7793, 5501, 7773, 5495, 7768, 5480, 7767, 5458, 7770, 5438, 7774, 5417, 7767, 5391, 7768, 5369, 7769, 5345, 7770, 5320, 7780, 5308];
  60. //print("ÿc5Precasting");
  61. //NTP_DoPrecast();
  62.  
  63. if(me.classid == NTC_CHAR_CLASS_PALADIN || me.classid == NTC_CHAR_CLASS_BARBARIAN)
  64. NTM_MoveTo(15092, 5028);
  65. else
  66. NTM_MoveTo(15092, 5040);
  67.  
  68. if(me.getState(2))
  69. NTC_PutSkill(109, NTC_HAND_RIGHT);
  70.  
  71. for(i = 0 ; i < 6 ; i++)
  72. {
  73. _wave = NT_ThroneCheckInt();
  74. if(_wave > 0)
  75. break;
  76.  
  77. NTC_Delay(500);
  78. }
  79.  
  80. _starttick = getTickCount();
  81.  
  82. while(_wave == 0)
  83. {
  84. if(!NT_ThronePreAttackInt())
  85. NTC_Delay(250);
  86.  
  87. if(getTickCount()-_starttick > 15000)
  88. {
  89. NT_ClearThroneInt();
  90.  
  91. _starttick = getTickCount();
  92. }
  93.  
  94. _wave = NT_ThroneCheckInt();
  95. }
  96.  
  97. NTA_ClearPosition(40, 0x04);
  98. NTA_ClearPosition(40);
  99. NTSI_PickItems();
  100. NTT_CleanPotions();
  101.  
  102. if(_wave == 1){
  103. print("ÿc5First Wave");
  104. //NTP_DoPrecast();
  105. } else if(_wave == 3)
  106. NT_CheckHydraInt();
  107. else if(_wave == 5)
  108. break;
  109. if (!findLead(leader)) return false;
  110. }
  111.  
  112. while(findLead(leader) && NT_LeechType == 3)
  113. {
  114. NTC_Delay(500);
  115. if(nextGameVar == true) {
  116. delay(10000);
  117. return false;
  118. }
  119. }
  120.  
  121. if(NTConfig_KillBaal && NT_LeechType != 3)
  122. {
  123. var _portal;
  124.  
  125. NTM_MoveTo(15092, 5010);
  126.  
  127. NTP_DoPrecast();
  128.  
  129. while(NTC_FindMonster("Baal"))
  130. NTC_Delay(250);
  131.  
  132. _portal = NTC_GetUnit(NTC_UNIT_OBJECT, 563);
  133.  
  134. if(!_portal)
  135. return false;
  136.  
  137. if(!NTM_UsePortal("Portal", 132, null, _portal))
  138. return false;
  139.  
  140. NTM_MoveTo(15138, 5916);
  141.  
  142. if(!NTA_KillBoss(544))
  143. return false;
  144. if (!findLead(leader)) return false;
  145. NTSI_PickItems();
  146. sendCopyData(null, "OOG", 0,"Quit:Full Run" );
  147. }
  148.  
  149.  
  150.  
  151. return true;
  152. }
  153.  
  154. // Internal function
  155. function NT_ClearThroneInt()
  156. {
  157. var _attackpos = [15112, 5068, 15075, 5065, 15114, 5045, 15114, 5012, 15095, 5024, 15078, 5013, 15092, 5040];
  158.  
  159. for(var i = 0 ; i < _attackpos.length ; i += 2)
  160. {
  161. NTM_MoveTo(_attackpos[i], _attackpos[i+1]);
  162.  
  163. NTA_ClearPosition(25, 0x04);
  164. NTA_ClearPosition(25);
  165. NTSI_PickItems();
  166. }
  167.  
  168. NTT_CleanPotions();
  169. }
  170.  
  171. function NT_ThroneCheckInt()
  172. {
  173. var _monster;
  174.  
  175. if(!NTC_FindMonster("Baal"))
  176. return 5;
  177.  
  178. _monster = NTC_GetUnit(NTC_UNIT_MONSTER);
  179.  
  180. if(_monster)
  181. {
  182. do
  183. {
  184. if(NTA_IsValidTarget(_monster))
  185. {
  186. if(_monster.classid == 23 || _monster.classid == 62)
  187. return 1;
  188.  
  189. if(_monster.classid == 105 || _monster.classid == 381)
  190. return 2;
  191.  
  192. if(_monster.classid == 557)
  193. return 3;
  194.  
  195. if(_monster.classid == 558)
  196. return 4;
  197.  
  198. if(_monster.classid == 571)
  199. return 5;
  200. }
  201. } while(_monster.getNext());
  202. }
  203.  
  204. return 0;
  205. }
  206.  
  207. function NT_ThronePreAttackInt()
  208. {
  209. if(me.classid == NTC_CHAR_CLASS_SORCERESS)
  210. {
  211. if(NTConfig_AttackOthers == 56 || NTConfig_AttackOthers == 59)
  212. return NTC_DoCast(NTConfig_AttackOthers, 2, 15092, 5028);
  213. }
  214. else if(me.classid == NTC_CHAR_CLASS_PALADIN)
  215. {
  216. if(NTConfig_AttackOthers == 112)
  217. {
  218. if(NTConfig_PutAura > 0)
  219. NTC_PutSkill(NTConfig_PutAura, NTC_HAND_RIGHT);
  220.  
  221. return NTC_DoCast(NTConfig_AttackOthers, 2);
  222. }
  223. }
  224.  
  225. return false;
  226. }
  227.  
  228. function NT_CheckHydraInt()
  229. {
  230. var _hydra1, _hydra2, _hydra3;
  231.  
  232. _hydra1 = NTC_GetUnit(NTC_UNIT_MONSTER, 351);
  233. _hydra2 = NTC_GetUnit(NTC_UNIT_MONSTER, 352);
  234. _hydra3 = NTC_GetUnit(NTC_UNIT_MONSTER, 353);
  235.  
  236. if((_hydra1 && _hydra1.getStat(172) != 2 && _hydra1.getState(105))
  237. || (_hydra2 && _hydra2.getStat(172) != 2 && _hydra2.getState(105))
  238. || (_hydra3 && _hydra3.getStat(172) != 2 && _hydra3.getState(105)))
  239. {
  240. NTM_MoveTo(15112, 5004);
  241.  
  242. if(me.getState(2))
  243. NTC_PutSkill(109, NTC_HAND_RIGHT);
  244.  
  245. NTC_Delay(3000);
  246. }
  247. }
  248. function findLead(leader)
  249. {
  250. var _lead= getUnit(0, leader)
  251. if(_lead)
  252. return _lead.area;
  253. // leader not found look in party
  254. var area =0;
  255. var a = getParty();
  256. if(!a)
  257. return false;
  258. //sendCopyData(null, "OOG", 0,"party len:"+a.partyid );
  259. do {
  260. if (a.name==leader){
  261. return true;
  262. }
  263. } while(a.getNext());
  264. if (area==0) {
  265. //sendCopyData(null, "OOG", 0,"Quit:Quit()" );
  266. return false;
  267.  
  268. }
  269. return area;
  270. }
  271.  
  272. function LeaveWithLeader(mode, param,name1,name2){ //event is called from default
  273. if (mode == 0 || mode == 1 || mode ==3 )
  274. if (name1 == QuitWithLeader)
  275. quit();
  276. }
  277.  
  278. function BaalMsg(who,msg) {
  279. if (msg == "1")
  280. globalvar = true
  281. if (msg == "Lets Kill Baal!" && NT_LeechType == 3)
  282. nextGameVar = true;
  283. }
  284. // alogwe (original script by krazy_kow ?.. i think..)
  285. //
  286. // ExpShrineHunter v1.0
  287. //
  288. //
  289.  
  290. function ExpShrineHunt()
  291. {
  292.  
  293. if(!NTTM_CheckAct(1))
  294. return false;
  295. NTTMGR_TownManager();
  296.  
  297. var _es = FindShrine();
  298.  
  299. if(!_es)
  300. {
  301. NTM_MakeTP();
  302. NTM_UsePortal("BluePortal", 1, me.name);
  303. print("ÿc4+ExpShrineExt: No shrines found.");
  304. return false;
  305. }
  306.  
  307. //Shrine has been found & waiting in Act1 Town for Safe TP Message to hit shrine and go Leech
  308. print("ÿc4+ExpShrineExt: Found experience shrine.");
  309. NTM_GetCloserInt(_es);
  310. for(var tries = 0; tries <= 50; tries++)
  311. {
  312. if(!me.getState(137))
  313. {
  314. NTM_GetCloserInt(_es);
  315. _es.interact();
  316. }
  317. if(me.getState(137))
  318. {
  319. print("ÿc4+ExpShrineExt: Experience shrine activated.");
  320. break;
  321. }
  322. NTC_Delay(80);
  323. }
  324. print("ÿc4+ExpShrineExt: End +ExpShrineExt");
  325. return true;
  326. }
  327. ////END v2.0
  328.  
  329.  
  330. //ShrineHunter Internal Functions
  331.  
  332. function FindShrine()
  333. {
  334. var _Shrine = [ 2, 81, 83, 85, 86, 93, 96, 97, 109, 116, 120, 123, 124, 133, 134,
  335. 135, 136, 150, 151, 172, 173, 184, 190, 191, 197, 199, 200, 201, 226, 231,
  336. 232, 260, 275, 276, 277, 278, 279, 282, 299, 300, 303, 325, 361, 414, 415,
  337. 421, 422, 423, 427, 428, 464, 465, 472, 479, 483, 484, 488, 491, 492, 495,
  338. 497, 499, 503, 509, 512, 520, 521, 522 ];
  339.  
  340. var _shrineAreas = [2, 3, 4, 5, 6, 7]; // <---- this line is an array of areas the bot goes to hunt for shrines, in order of array elements..
  341.  
  342. if(!NTTM_CheckAct())
  343. return false;
  344.  
  345. for(var i = 0; i < _shrineAreas.length; i++)
  346. {
  347. if(i != 4)
  348. {
  349. NTM_TravelTO(_shrineAreas[i], true);
  350. }
  351. else
  352. {
  353. if(!NTM_GotoWaypoint(me.area, true, 100))
  354. {
  355. NTM_TravelTO(_shrineAreas[i], true);
  356. }
  357. else
  358. {
  359. NTM_UsePortal("Waypoint", 5)
  360. }
  361. }
  362.  
  363. var _unit = NTC_GetPresetUnits(NTC_UNIT_OBJECT, 0, _shrineAreas[i]);
  364.  
  365. for(var j = 0; j < _unit.length; j++)
  366. {
  367. for(var k = 0; k < _Shrine.length; k++)
  368. {
  369. if(_unit[j].id == _Shrine[k])
  370. {
  371. NTM_MoveTo(_unit[j].roomx*5+_unit[j].x+5, _unit[j].roomy*5+_unit[j].y+5, 0, false)
  372. if(CheckShrines())
  373. {
  374. return CheckShrines();
  375. }
  376. }
  377. }
  378. }
  379. }
  380. return false;
  381. }
  382.  
  383. function CheckShrines()
  384. {
  385. var _unit = NTC_GetUnit(NTC_UNIT_OBJECT);
  386. if(_unit)
  387. {
  388. do
  389. {
  390. if(!CheckIfShrine(_unit))
  391. {
  392. continue;
  393. }
  394. return _unit;
  395. } while(_unit.getNext());
  396. }
  397.  
  398. return false;
  399. }
  400.  
  401. function CheckIfShrine(shrine)
  402. {
  403. if(shrine.objtype != 15)
  404. {
  405. return false;
  406. }
  407. if(shrine.mode)
  408. {
  409. return false;
  410. }
  411. return true;
  412. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement