Advertisement
Guest User

Untitled

a guest
May 26th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.52 KB | None | 0 0
  1. function NTMain()
  2. {
  3. Include("libs/common/NTCommon.ntl");
  4. NTC_IncludeLibs();
  5. NTC_IncludeConfig("NTBot/char_configs");
  6. NTSI_LoadNIPFiles("NTBot/item_configs");
  7. NT_LoadConfig();
  8. NTA_Initialize();
  9.  
  10. var ask_tp_done = false;
  11. DBGPRT("SimonSayz loaded..");
  12.  
  13. while(GetLeaderObj() == null) {
  14. GotoTown(false);
  15. Print("leader not in game yet! checking again in 5 sec...");
  16. Delay(5000);
  17. }
  18.  
  19. while (true) {
  20. var leader = GetLeaderObj();
  21. var leader_area = GetLeaderArea();
  22. if (leader_area == 0) {// leader area not found
  23. GotoTown(false);
  24. Print("leader not found! checking again in 2.5 sec...");
  25. Delay(2500);
  26. } else {
  27. if (leader_area != me.areaid) {
  28. Print("leader is not in my area, trying to get to him...");
  29. if (NTC_InTown()) {
  30. NTTM_TownMove("portalspot");
  31. if (!NTM_UsePortal("BluePortal", leader_area, NTConfig_Simon_Leader)) {
  32. if (!NTM_TakeWaypoint(leader_area) && !ask_tp_done) {
  33. Say("please create a TP, i dont got a waypoint to your area");
  34. ask_tp_done = true;
  35. }
  36. }
  37. } else {
  38. if (GetDistance(me, leader) < 100) { // should be a "walkable" area change
  39. if (NTM_MoveTo(leader_area, leader.x, leader.y))
  40. continue;
  41. }
  42.  
  43. var portal = NTM_FindPortalAreaInt(leader_area);
  44. if (portal != -1 && GetDistance(me, portal) < 15 && ClickPlayerPortal(portal))
  45. continue;
  46.  
  47. if (!MoveToStair(3, me.areaid, leader_area)) {
  48. if (!GotoTown(true)) {
  49. Say("im stuck somehow..");
  50. NTC_SendMsgToScript("NTBotGame.ntj", "GotoTown()");
  51. break;
  52. }
  53. } else if (!NTM_TakeStair(leader_area)) {
  54. if (!GotoTown(true)) {
  55. Say("im stuck somehow..");
  56. NTC_SendMsgToScript("NTBotGame.ntj", "GotoTown()");
  57. break;
  58. }
  59. if (!ask_tp_done) {
  60. Say("please create a TP, i cant follow you to this area");
  61. ask_tp_done = true;
  62. }
  63. }
  64. }
  65. } else {
  66. ask_tp_done = false;
  67. if (NTC_InTown()) {
  68. NTTMGR_TownManager(true);
  69. Delay(1000);
  70. } else {
  71. NTM_MoveTo(leader.areaid, leader.x, leader.y);
  72. }
  73. }
  74. }
  75. Delay( 100 );
  76. }
  77.  
  78. NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
  79. }
  80.  
  81. function DBGPRT(msg)
  82. {
  83. if (NTConfig_Simon_Debug)
  84. Print("�c8" + msg);
  85. }
  86.  
  87. function GetLeaderArea()
  88. {
  89. var find = NTC_FindUnit(NTC_UNIT_PLAYER, NTConfig_Simon_Leader);
  90. if (find != null)
  91. return find.areaid;
  92.  
  93. var player = GetPlayerUnit();
  94. while(player.GetNext())
  95. {
  96. if (player.name == NTConfig_Simon_Leader)
  97. return player.areaid;
  98.  
  99. }
  100.  
  101. return 0;
  102. }
  103.  
  104. function GetLeaderObj()
  105. {
  106. var player = GetPlayerUnit();
  107. while(player.GetNext())
  108. {
  109. if (player.name == NTConfig_Simon_Leader)
  110. return player;
  111.  
  112. }
  113.  
  114. return null;
  115. }
  116.  
  117. function GotoTown(portal_spot)
  118. {
  119. var i = 0;
  120. for (; i <= 5; i++) {
  121. if (!NTTM_CheckAct())
  122. continue;
  123.  
  124. if(portal_spot && !NTTM_TownMove("portalspot"))
  125. continue;
  126.  
  127. break;
  128. }
  129.  
  130. return (i != 5);
  131.  
  132. }
  133.  
  134. function MoveToStair(trys, cur, nxt)
  135. {
  136. for(var i = 0; i < trys; i++) {
  137. if (NTM_MoveToStair(cur, nxt))
  138. return true;
  139. }
  140. return false;
  141. }
  142.  
  143. function ClickPlayerPortal(object, dest)
  144. {
  145. for(var i = 0 ; i < 20 ; i++)
  146. {
  147. if((i % 5) == 0)
  148. {
  149. if(i == 10)
  150. NTM_MoveTo(me.areaid, me.x+6, me.y+6);
  151.  
  152. if(NTM_GetCloserInt(object))
  153. NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, object);
  154. }
  155.  
  156. NTC_Delay(200);
  157.  
  158. if(me.areaid == 0 || me.areaid == dest)
  159. break;
  160. }
  161.  
  162. while(me.areaid == 0)
  163. NTC_Delay(50);
  164.  
  165. return (me.areaid == dest);
  166. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement