Guest User

Untitled

a guest
Apr 21st, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.00 KB | None | 0 0
  1. //////////////// config options /////////////////////////////
  2. //// NTConfig_FollowtoWorldStone = true;
  3.  
  4. //// NTConfig_LeechBaal = 1, 2 or, 3;
  5. //// NTConfig_RunScriptAfterBaal
  6. //// NTConfig_Leader
  7. //// NTConfig_LeechPrecast
  8. //// NTConfig_LeechBo
  9. //// NTConfig_UsePaliAura
  10. //// NTConfig_PreWaveSpam
  11. //// NTConfig_TeleEachWaveHelper
  12. //// NTConfig_LeechHolyBoltBaal
  13. //// NTConfig_TeleEachWaveHelper
  14. //// NTConfig_LeechHydra
  15. //// NTConfig_LeechWalkAround
  16. ////
  17. RegisterEvent(EVENT_SCRIPTMSG, HostileHandler);
  18. var _hostilepause = false;
  19.  
  20. var poscount = 1;
  21. var TakeShrine = -1;
  22. var Baal_PreMessage = "";
  23.  
  24. var _trapsPreCasted;
  25.  
  26. function NTMain(){
  27.  
  28. Include("libs/common/NTCommon.ntl");
  29. NTC_IncludeLibs();
  30. NTC_IncludeConfig("NTBot/char_configs");
  31.  
  32. NT_LoadConfig();
  33. NTSI_LoadNIPFiles("NTBot/item_configs");
  34.  
  35. NTA_Initialize();
  36.  
  37. NTConfig_Shrines = [0]; // this turns off grabbing shrine grabbing option may want to add a check if you are searching shrines, but really doesn't matter
  38.  
  39. if(!NTTM_CheckAct()){
  40. NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
  41. return;
  42. }
  43. NTTMGR_TownManager();
  44. LXPC_SearchShrines();
  45. if(XpSearchContinue){ // this handles the case where you have searched all areas and haven't found a shrine
  46. NTTM_CheckAct(5);
  47. NTTM_TownMove("portalspot");
  48. while(TakeShrine <= 2 && NTConfig_TakeTpBaal != "first"){
  49. NT_BaalLeechMessageHandler();
  50. Delay(500);
  51. }
  52. switch(NTConfig_LeechBaal)
  53. {
  54. case 1:
  55. if(!NT_LeechBaalFighter()){
  56. NTC_SendMsgToScript("NTBotGame.ntj", "NT_LeechBaalFighter()");
  57. }
  58. break;
  59. case 2:
  60. if(!NT_LeechBaalFighterWalking()){
  61. NTC_SendMsgToScript("NTBotGame.ntj", "NT_LeechBaalFighterWalking()");
  62. }
  63. break;
  64. default:
  65. if(!NT_LeechBaalPassively()){
  66. NTC_SendMsgToScript("NTBotGame.ntj", "NT_LeechBaalPassively()");
  67. }
  68. break;
  69. }
  70. }
  71. else if(NTC_InTown()){
  72. NTTM_CheckAct();
  73. NTTMGR_TownManager();
  74. NTTM_TownMove("portalspot");
  75. while(TakeShrine <= 0 && NTConfig_TakeTpBaal != "first"){
  76. NT_BaalLeechMessageHandler();
  77. Delay(500);
  78. }
  79. LXPC_GrabShrineXp();
  80. NTTMGR_TownManager();
  81. NTTM_TownMove("portalspot");
  82. while(TakeShrine <= 2 && NTConfig_TakeTpBaal != "first"){
  83. NT_BaalLeechMessageHandler();
  84. Delay(500);
  85. }
  86. switch(NTConfig_LeechBaal)
  87. {
  88. case 1:
  89. if(!NT_LeechBaalFighter()){
  90. NTC_SendMsgToScript("NTBotGame.ntj", "NT_LeechBaalFighter()");
  91. }
  92. break;
  93. case 2:
  94. if(!NT_LeechBaalFighterWalking()){
  95. NTC_SendMsgToScript("NTBotGame.ntj", "NT_LeechBaalFighterWalking()");
  96. }
  97. break;
  98. default:
  99. if(!NT_LeechBaalPassively()){
  100. NTC_SendMsgToScript("NTBotGame.ntj", "NT_LeechBaalPassively()");
  101. }
  102. break;
  103. }
  104. }
  105. Delay(2e3);
  106. if(NTConfig_RunScriptAfterBaal){
  107. NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
  108. }
  109. else{
  110. while(1){
  111. Delay(500);
  112. }
  113. }
  114. }
  115.  
  116. function NT_LeechBaalPassively(){
  117. if(NTConfig_TakeTpBaal != "first") {
  118. for(var i = 0 ; i < 100 && me.areaid == 109 ; i++){
  119. NTM_UsePortal("BluePortal", 131, NTConfig_Leader);
  120. }
  121. }
  122. else{
  123. var myStartArea = me.areaid;
  124. while(1){
  125. NTM_UsePortal("BluePortal", 131, NTConfig_Leader);
  126. if (myStartArea != me.areaid) {
  127. break;
  128. }
  129. Delay(500);
  130. }
  131. }
  132.  
  133. if(NTConfig_LeechPrecast){
  134. NTP_DoPrecast(true, NTConfig_LeechBo);
  135. }
  136. NTM_MoveTo(me.areaid, leechpos[0], leechpos[1]);
  137. if(NTConfig_UsePaliAura > 0){
  138. NTC_PutSkill(NTConfig_UsePaliAura, NTC_HAND_RIGHT);
  139. }
  140. if(NTConfig_FollowtoWorldStone){
  141. while(NTC_CheckPlayer(NTConfig_Leader)){
  142. if(_leaderareaid == 132)
  143. break;
  144. if(NTTMGR_CheckCurse(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe) || me.hp <= parseInt((me.hpmax*NTConfig_TPChicken)/100)){
  145. if(!NTTMGR_VisitTown())
  146. return 0;
  147. }
  148. if(!NTKBL_ThronePreAttackInt()){
  149. NTC_Delay(800);
  150. }
  151. else{
  152. NTC_Delay(200);
  153. }
  154. }
  155. var _portal;
  156. NTM_MoveTo(me.areaid, 15092, 5010);
  157. while(NTC_FindUnit(NTC_UNIT_MONSTER, 543)){
  158. NTC_Delay(500);
  159. }
  160. _portal = NTC_FindUnit(NTC_UNIT_OBJECT, 563, 1);
  161. if(!_portal){
  162. return false;
  163. }
  164. if(!NTM_UsePortal("Portal", 132, null, _portal)){
  165. return false;
  166. }
  167. NTM_MoveTo(me.areaid, 15193, 5913);
  168. if(NTConfig_LeechPrecast){
  169. NTP_DoPrecast(true, NTConfig_LeechBo);
  170. }
  171. if(NTConfig_UsePaliAura > 0){
  172. NTC_PutSkill(NTConfig_UsePaliAura, NTC_HAND_RIGHT);
  173. }
  174. return true;
  175. }
  176. else{
  177. while(NTC_CheckPlayer(NTConfig_Leader)){
  178. if(_leaderareaid == 132)
  179. break;
  180. if(NTTMGR_CheckCurse(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe) || me.hp <= parseInt((me.hpmax*NTConfig_TPChicken)/100)){
  181. if(!NTTMGR_VisitTown())
  182. return 0;
  183. }
  184. Delay(500);
  185. }
  186. return true;
  187. }
  188. }
  189.  
  190. function NTKBL_ThronePreAttackInt(){
  191. if(me.classid == NTC_CHAR_CLASS_SORCERESS){
  192. if(NTConfig_PreWaveSpam > 0){
  193. if(poscount == 1){
  194. poscount = 2;
  195. return NTC_CastSkill(NTConfig_PreWaveSpam, 0, KBLSpamPos[0], KBLSpamPos[1]);
  196. }
  197. else if(poscount == 2){
  198. poscount = 3;
  199. return NTC_CastSkill(NTConfig_PreWaveSpam, 0, KBLSpamPos[2], KBLSpamPos[3]);
  200. }
  201. else{
  202. poscount = 1;
  203. return NTC_CastSkill(NTConfig_PreWaveSpam, 0, KBLSpamPos[4], KBLSpamPos[5]);
  204. }
  205. }
  206. }
  207. return false;
  208. }
  209.  
  210. function NT_LeechBaalFighter(){
  211. var i;
  212. var _wave;
  213. var _starttick;
  214. if(NTConfig_TakeTpBaal != "first") {
  215. for(var i = 0 ; i < 100 && me.areaid == 109 ; i++){
  216. if(NT_FindLeaderTPInt(131, NTConfig_Leader)){
  217. NTM_UsePortal("BluePortal", 131, NTConfig_Leader)
  218. }
  219. else if(NT_FindLeaderTPInt(130, NTConfig_Leader)){
  220. NTM_UsePortal("BluePortal", 130, NTConfig_Leader)
  221. }
  222. }
  223. }
  224. else{
  225. var myStartArea = me.areaid;
  226. while(1){
  227. NTM_UsePortal("BluePortal", 131, NTConfig_Leader);
  228. if (myStartArea != me.areaid) {
  229. break;
  230. }
  231. Delay(500);
  232. }
  233. }
  234. if(me.areaid == 130){
  235. NTP_DoPrecast(true, NTConfig_LeechBo);
  236. if(!NTM_TakeStair(131)){
  237. return false;
  238. }
  239. if(!NTM_MoveTo(me.areaid, 15112, 5068)){
  240. return false;
  241. }
  242. }
  243. else{
  244. NTP_DoPrecast(true, NTConfig_LeechBo);
  245. }
  246. NT_ClearThroneInt();
  247. while(1){
  248. NTM_MoveTo(me.areaid, prewavespot[0], prewavespot[1]); //break;
  249. if(me.GetState(2))
  250. NTC_PutSkill(109, NTC_HAND_RIGHT);
  251. if(NTConfig_IdInField){
  252. NT_FieldID();
  253. }
  254. for(i = 0 ; i < 6 ; i++){
  255. _wave = NT_ThroneCheckInt();
  256. if(_wave > 0)
  257. break;
  258. NTC_Delay(50);
  259. }
  260. _starttick = GetTickCount();
  261. while(_wave == 0){
  262. if(!NT_ThronePreAttackInt())
  263. NTC_Delay(200);
  264. if(GetTickCount()-_starttick > 15000){
  265. NT_ClearThroneInt();
  266. _starttick = GetTickCount();
  267. }
  268. _wave = NT_ThroneCheckInt();
  269. }
  270. switch(_wave){
  271. case 1:
  272. if(NTConfig_TeleEachWaveHelper){
  273. NTM_TeleportTo(me.x+1, me.y+3);
  274. }
  275. NTA_ClearPosition(40, true, 1);
  276. NTP_DoPrecast(true, NTConfig_LeechBo);
  277. break;
  278. case 2:
  279. if(NTConfig_TeleEachWaveHelper){
  280. NTM_TeleportTo(me.x+1, me.y+3);
  281. }
  282. if(NTConfig_LeechHolyBoltBaal)
  283. if (me.classid == NTC_CHAR_CLASS_PALADIN && NTConfig_AttackSkill[5] == 101)
  284. achmel();
  285. NTA_ClearPosition(40, true, 2);
  286. break;
  287. case 3:
  288. if(NTConfig_TeleEachWaveHelper){
  289. NTM_TeleportTo(me.x+1, me.y+3);
  290. }
  291. NTA_ClearPosition(40, true, 2);
  292. if(NTConfig_LeechHydra > 0){
  293. NT_CheckHydraInt();
  294. }
  295. else
  296. NTC_Delay(3000);
  297. break;
  298. case 4:
  299. if(NTConfig_TeleEachWaveHelper){
  300. NTM_TeleportTo(me.x+1, me.y+3);
  301. }
  302. NTA_ClearPosition(40, true, 2);
  303. break;
  304. case 5:
  305. if(NTConfig_TeleEachWaveHelper){
  306. NTM_TeleportTo(me.x+1, me.y+3);
  307. }
  308. NTA_ClearPosition(40, true);
  309. break;
  310. default:
  311. if(NTConfig_TeleEachWaveHelper){
  312. NTM_TeleportTo(me.x+1, me.y+3);
  313. }
  314. NTA_ClearPosition(40, true, 1);
  315. break;
  316. }
  317. if(_wave != 0) // Need to force a one time cast/wave Assassin only
  318. _trapsPreCasted = false;
  319. if(_wave == 5)
  320. break;
  321. }
  322. if(NTConfig_FollowtoWorldStone){
  323. var _portal;
  324. /*if(NTConfig_TownBeforeBaal && NTT_CheckInventoryBeforeBaal()){ // leaving this in for now..may or may not impliment it
  325. Delay(1000);
  326. if(NTConfig_PublicMode)
  327. Say(Baal_FreeSpaceMessage);
  328. NTTMGR_VisitTown();
  329. }*/
  330. if(NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe)){
  331. NTTMGR_VisitTown();
  332. }
  333. NTM_MoveTo(me.areaid, 15092, 5010);
  334. NTP_DoPrecast(true, NTConfig_LeechBo);
  335. if(NTConfig_IdInField){
  336. NT_FieldID();
  337. }
  338. while(NTC_FindUnit(NTC_UNIT_MONSTER, 543))
  339. NTC_Delay(500);
  340. _portal = NTC_FindUnit(NTC_UNIT_OBJECT, 563, 1);
  341. if(!_portal){
  342. return false;
  343. }
  344. if(!NTM_UsePortal("Portal", 132, null, _portal)){
  345. return false;
  346. }
  347. NTM_MoveTo(me.areaid, 15138, 5916);
  348. if(!NTA_KillMonster(544)){
  349. return false;
  350. }
  351. NTSI_PickItems();
  352. }
  353. return true;
  354. }
  355.  
  356. function NT_LeechBaalFighterWalking(){
  357.  
  358. var i;
  359. var _wave;
  360. var _starttick;
  361. if(NTConfig_TakeTpBaal != "first") {
  362. for(var i = 0 ; i < 100 && me.areaid == 109 ; i++)
  363. NTM_UsePortal("BluePortal", 131, NTConfig_Leader);
  364. }
  365. else{
  366. var myStartArea = me.areaid;
  367. while(1){
  368. NTM_UsePortal("BluePortal", 131, NTConfig_Leader);
  369. if (myStartArea != me.areaid) {
  370. break;
  371. }
  372. Delay(500);
  373. }
  374. }
  375.  
  376. NTP_DoPrecast(true, NTConfig_LeechBo);
  377. NTM_WalkTo(15115, 5045);
  378. NTA_ClearPosition(25, true, 2);
  379. NTM_WalkTo(15092, 5045);
  380. NTA_ClearPosition(40, true, 2);
  381. while(1){
  382. NTM_MoveTo(me.areaid, prewavespot[0], prewavespot[1]); //break;
  383. if(me.GetState(2))
  384. NTC_PutSkill(109, NTC_HAND_RIGHT);
  385. if(NTConfig_IdInField){
  386. NT_FieldID();
  387. }
  388. for(i = 0 ; i < 6 ; i++){
  389. _wave = NT_ThroneCheckInt();
  390. if(_wave > 0)
  391. break;
  392. NTC_Delay(500);
  393. }
  394. _starttick = GetTickCount();
  395. while(_wave == 0){
  396. if(!NT_ThronePreAttackInt())
  397. NTC_Delay(200);
  398. if(GetTickCount()-_starttick > 20000)
  399. _starttick = GetTickCount();
  400. _wave = NT_ThroneCheckInt();
  401. }
  402. switch(_wave){
  403. case 1:
  404. NTA_ClearPosition(40, true, 1);
  405. NTP_DoPrecast(true, NTConfig_LeechBo);
  406. break;
  407. case 3:
  408. NTA_ClearPosition(40, true, 2);
  409. break;
  410. case 4:
  411. NTA_ClearPosition(40, true, 2);
  412. break;
  413. case 5:
  414. NTA_ClearPosition(40, true);
  415. break;
  416. default:
  417. NTA_ClearPosition(40, true, 1);
  418. break;
  419. }
  420. if(_wave != 0) // Need to force a one time cast/wave Assassin only
  421. _trapsPreCasted = false;
  422. if(_wave == 5)
  423. break;
  424. }
  425. if(NTConfig_FollowtoWorldStone){
  426. var _portal;
  427. if(NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe)){
  428. NTTMGR_VisitTown();
  429. }
  430. NTM_WalkTo(15092, 5010);
  431. NTP_DoPrecast(true, NTConfig_LeechBo);
  432. if(NTConfig_IdInField){
  433. NT_FieldID();
  434. }
  435. while(NTC_GetUnit(NTC_UNIT_MONSTER, 543))
  436. NTC_Delay(500);
  437. _portal = NTC_GetUnit(NTC_UNIT_OBJECT, 563, 1);
  438. if(!_portal){
  439. return false;
  440. }
  441. if(!NTM_UsePortal("Portal", 132, null, _portal)){
  442. return false;
  443. }
  444. NTM_WalkTo(15175, 5938);
  445. NTM_WalkTo(15138, 5938);
  446. if(!NTA_KillMonster(544)){
  447. return false;
  448. }
  449. NTSI_PickItems();
  450. }
  451. return true;
  452. }
  453.  
  454. function NT_ThroneCheckInt(){
  455. var _monster;
  456. if(!NTC_GetUnit(NTC_UNIT_MONSTER, 543))
  457. return 5;
  458. _monster = NTC_GetUnit(NTC_UNIT_MONSTER);
  459. if(_monster){
  460. do{
  461. if(NTA_IsValidMonster(_monster)){
  462. if(_monster.classid == 23 || _monster.classid == 62)
  463. return 1;
  464. if(_monster.classid == 105 || _monster.classid == 381)
  465. return 2;
  466. if(_monster.classid == 557)
  467. return 3;
  468. if(_monster.classid == 558)
  469. return 4;
  470. if(_monster.classid == 571)
  471. return 5;
  472. }
  473. } while(_monster.GetNext());
  474. }
  475. return 0;
  476. }
  477.  
  478. function NT_ThronePreAttackInt(){
  479. if(me.classid == NTC_CHAR_CLASS_SORCERESS){
  480. if(NTConfig_PreWaveSpam > 0){
  481. if(poscount == 1){
  482. poscount = 2;
  483. return NTC_CastSkill(NTConfig_PreWaveSpam, 0, KBLSpamPos[0], KBLSpamPos[1]);
  484. }
  485. else if(poscount == 2){
  486. poscount = 3;
  487. return NTC_CastSkill(NTConfig_PreWaveSpam, 0, KBLSpamPos[2], KBLSpamPos[3]);
  488. }
  489. else{
  490. poscount = 1;
  491. return NTC_CastSkill(NTConfig_PreWaveSpam, 0, KBLSpamPos[4], KBLSpamPos[5]);
  492. }
  493. }
  494. }
  495. else if(me.classid == NTC_CHAR_CLASS_DRUID){
  496. if(NTConfig_AttackSkill[3] == 245){
  497. return NTC_CastSkill(NTConfig_AttackSkill[3], 2, DruidPreAtt[0], DruidPreAtt[1]);
  498. }
  499. }
  500. else if(me.classid == NTC_CHAR_CLASS_NECROMANCER){
  501. if(NTConfig_PreWaveSpam > 0)
  502. return NTC_CastSkill(NTConfig_PreWaveSpam, _NTA_SkillHand[NTConfig_PreWaveSpam], NecroPreAtt[0], NecroPreAtt[1]);
  503. }
  504. else if(me.classid == NTC_CHAR_CLASS_PALADIN){
  505. if(NTConfig_AttackSkill[3] == 112){
  506. NTC_PutSkill(NTConfig_AttackSkill[3], NTC_HAND_LEFT);
  507. NTC_PutSkill(NTConfig_AttackSkill[4], NTC_HAND_RIGHT);
  508. return NTC_CastSkill(NTConfig_AttackSkill[3], 2, 15092, 5028);
  509. }
  510. }
  511. else if(me.classid == NTC_CHAR_CLASS_ASSASSIN){
  512. var _attackPos = [15088,5023,15087,5032,15098,5022,15101,5034,15094,5029];
  513. if(NTConfig_UseTraps && !_trapsPreCasted) {
  514. for(var i=0;i<5;i++) {
  515. if(i == 0 || i == 2 || i == 3) // Added delays to prevent trap miscast
  516. NTC_Delay(25);
  517. if(NTConfig_TrapSet[i] > 0)
  518. NTC_CastSkill(NTConfig_TrapSet[i], NTC_HAND_RIGHT, _attackPos[i*2],_attackPos[(i*2)+1]);
  519. }
  520. _trapsPreCasted = true;
  521. }
  522. if(NTConfig_AttackSkill[3] == 256)
  523. if(me.GetSkillStatus(NTConfig_AttackSkill[3]) != 8)
  524. return NTC_CastSkill(NTConfig_AttackSkill[3], 2, 15093, 5030);
  525. }
  526. return false;
  527. }
  528.  
  529. function NT_ClearThroneInt(){
  530. var _attackpos = [15112, 5068, 15075, 5065, 15114, 5045, 15114, 5012, 15095, 5024, 15078, 5013, 15092, 5040];
  531. for(var i = 0 ; i < _attackpos.length ; i += 2){
  532. NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]);
  533. NTA_ClearPosition(25, true, 2);
  534. }
  535. }
  536.  
  537. function NT_CheckHydraInt(){
  538. var _hydra1, _hydra2, _hydra3;
  539. _hydra1 = NTC_FindUnit(NTC_UNIT_MONSTER, 351);
  540. _hydra2 = NTC_FindUnit(NTC_UNIT_MONSTER, 352);
  541. _hydra3 = NTC_FindUnit(NTC_UNIT_MONSTER, 353);
  542. if((_hydra1 && _hydra1.GetStat(172) != 2 && _hydra1.GetState(105))
  543. || (_hydra2 && _hydra2.GetStat(172) != 2 && _hydra2.GetState(105))
  544. || (_hydra3 && _hydra3.GetStat(172) != 2 && _hydra3.GetState(105))){
  545. if(NTConfig_LeechHydra == 1)
  546. NTM_MoveTo(me.areaid, 15112, 5004); // right side
  547. else if(NTConfig_LeechHydra == 2)
  548. NTM_MoveTo(me.areaid, 15073, 5002); // left side
  549. if(me.GetState(2))
  550. NTC_PutSkill(109, NTC_HAND_RIGHT);
  551. NTC_PingDelay(3000);
  552. }
  553. }
  554.  
  555. function achmel(){
  556. var x = 0;
  557. var _holdTargetHp = 0;
  558. NTC_PutSkill(NTConfig_AttackSkill[6], NTC_HAND_RIGHT);
  559. var _achmel = NTC_FindUnit(NTC_UNIT_MONSTER, GetLocaleString(21852));
  560. while (_achmel && _achmel.hp > 0){
  561. _holdTargetHp = _achmel.hp;
  562. for(var i = 0; i < 5 ; i++){
  563. NTC_CastSkill(NTConfig_AttackSkill[5], NTC_HAND_LEFT, _achmel);
  564. }
  565. if(_holdTargetHp <= _achmel.hp && NTConfig_LeechWalkAround) {
  566. x++;
  567. if(x % 2 == 0)
  568. NTM_WalkTo(me.x+10, me.y);
  569. else
  570. NTM_WalkTo(me.x-10, me.y);
  571. }
  572. }
  573. var _company = NTC_FindUnit(NTC_UNIT_MONSTER, 105);
  574. do{
  575. while (_company != null && _company.hp >0 && !_company.GetState(53) && !_company.GetState(96)){
  576. _holdTargetHp = _company.hp;
  577. for(var i = 0; i < 5 ; i++){
  578. NTC_CastSkill(NTConfig_AttackSkill[5], NTC_HAND_LEFT, _company);
  579. }
  580. if(_holdTargetHp <= _company.hp && NTConfig_LeechWalkAround){
  581. x++;
  582. if(x % 2 == 0)
  583. NTM_WalkTo(me.x+10, me.y);
  584. else
  585. NTM_WalkTo(me.x-10, me.y);
  586. }
  587. }
  588. } while (_company && _company.GetNext());
  589. }
  590.  
  591. function HostileHandler(msg){
  592. if(msg == "pause"){
  593. if(_hostilepause){
  594. Print("yc3Resuming...");
  595. _hostilepause = false;
  596. }
  597. else {
  598. Print("yc1Pausing to kill hostiles...");
  599. _hostilepause = true;
  600. ClickMap(NTC_CLICK_LUP, NTC_SHIFT_NONE, null);
  601. ClickMap(NTC_CLICK_RUP, NTC_SHIFT_NONE, null);
  602. while(_hostilepause)
  603. NTC_Delay(250);
  604. }
  605. }
  606. }
  607.  
  608. function NT_BaalLeechMessageHandler(){ // credit for the basics of this function goes to kolton
  609.  
  610. var _msg = NT_File("logs/messagecomands/"+me.charname+"-baal.txt", 0);
  611.  
  612. if (_msg && _msg != Baal_PreMessage){ // only 2 cases here. 1. grabs shrine 2. takes tp depending on message. Ofc need to make sure if 2 happens 1 will happen also
  613. Baal_PreMessage = _msg; //^^^^^^ so maybe do a var switch here instead of breaking the loop???? can return the var change instead of returning true maybe
  614. switch (_msg.substring(_msg.indexOf("/") + 1)){ // see under this function for idea
  615. case "grabshrine":
  616. //Print(COLOR_8 + "retrieved take shrine message")
  617. TakeShrine = 1;
  618. return; // actualy may just go back to having this return false pretty sure that would work just as well
  619. //break;
  620. case "takebtp":
  621. //Print(COLOR_8 + "retrieved take tp message");
  622. TakeShrine = 3;
  623. return; //return false is all we have to do to break the above while loop
  624. //break;
  625. }
  626. }
  627. return;
  628. }
  629.  
  630. function NT_FindLeaderTPInt(dest, ownername){
  631. var _portal;
  632. var _portalname;
  633.  
  634. _portalname = GetLocaleString(3226);
  635.  
  636. for(var i = 0 ; i <= 2 ; i++){
  637. _portal = NTC_FindUnit(NTC_UNIT_OBJECT, _portalname);
  638. if(_portal){
  639. do{
  640. if(_portal.mode == 2 && NTC_CheckOwner(_portal, ownername) && GetDistance(me, _portal) <= 30
  641. && (_portal.subareaid == dest || _portal.subareaid == dest + 768))
  642. return true;
  643. } while(_portal.GetNext());
  644. }
  645. }
  646. return false;
  647. }
  648.  
  649. function CheckTamoeHighland(){ // should change this to move to tamoe without going to pit
  650. if(NTTM_CheckAct()){
  651. NTTM_TownMove("waypoint");
  652. NTM_TakeWaypoint(6);
  653. NTP_DoPrecast(true);
  654. NTM_MoveToStair(7, 12);
  655. return true;
  656. }
  657. return false;
  658. }
  659.  
  660. function CheckBloodMoor(){ // this should go into common file someplace or in shrine files
  661. if(!NTTM_CheckAct(1)){
  662. NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
  663. return;
  664. }
  665. if(!NTTM_TownMove("exit")){
  666. NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_TownMove()");
  667. return;
  668. }
  669. NTC_PingDelay(200);
  670. NTTM_OutOfAct1();
  671. }
Add Comment
Please, Sign In to add comment