daily pastebin goal
44%
SHARE
TWEET

Untitled

a guest Jun 19th, 2017 46 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function NTMain()
  2. {
  3.     Include("libs/common/NTCommon.ntl");
  4.     NTC_IncludeLibs();
  5.     NTC_IncludeConfig("NTBot/char_configs");
  6.  
  7.     var i;
  8.     var _wave;
  9.     var _starttick;
  10.  
  11.     NT_LoadConfig();
  12.     NTSI_LoadNIPFiles("NTBot/item_configs");
  13.  
  14.     NTA_Initialize();
  15.  
  16.     if(!NTTM_CheckAct())
  17.     {
  18.         NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
  19.         return;
  20.     }
  21.  
  22.     NTTMGR_TownManager();
  23.  
  24.     if(!NTTM_TownMove("waypoint"))
  25.     {
  26.         NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_TownMove()");
  27.         return;
  28.     }
  29.  
  30.     if(!NTM_TakeWaypoint(129))
  31.     {
  32.         NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()");
  33.         return;
  34.     }
  35.     NTC_SwapWeapons(1)
  36.     NTP_DoPrecast(true);
  37.  
  38.     for(i = 0 ; i < 2 ; i++)
  39.     {
  40.         if(!NTM_MoveToStair(me.areaid, 130+i))
  41.         {
  42.             NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveToStair()");
  43.             return;
  44.         }
  45.  
  46.         if(!NTM_TakeStair(130+i))
  47.         {
  48.             NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeStair()");
  49.             return;
  50.         }
  51.     }
  52.  
  53.     if(!NTM_MoveTo(me.areaid, 15112, 5068))
  54.     {
  55.         NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()");
  56.         return;
  57.     }
  58.  
  59.     NTA_ClearPosition(20, true, 2);
  60.  
  61.     if(NTConfig_PublicMode)
  62.     {
  63.         NTM_MoveTo(me.areaid, 15116, 5068);
  64.  
  65.         NTC_PingDelay(1000);
  66.  
  67.         NTA_ClearPosition(20, true, 2);
  68.  
  69.         NTM_MoveTo(me.areaid, 15116, 5068);
  70.  
  71.         NTM_MakeTP();
  72.         Say("O_O!!");
  73.     }
  74.  
  75.     NT_ClearThroneInt();
  76.  
  77.     if(NTConfig_PublicMode)
  78.     {
  79.         NTM_MoveTo(me.areaid, 15112, 5004, 1, true);
  80.  
  81.         NTM_MakeTP();
  82.         Say("O_O!!");
  83.     }
  84.  
  85.     while(1)
  86.     {
  87.         if(me.classid == NTC_CHAR_CLASS_PALADIN || me.classid == NTC_CHAR_CLASS_BARBARIAN)
  88.             NTM_MoveTo(me.areaid, 15092, 5028);
  89.         else
  90.             NTM_MoveTo(me.areaid, 15092, 5040);
  91.  
  92.         if(me.GetState(2))
  93.             NTC_PutSkill(109, NTC_HAND_RIGHT);
  94.  
  95.         for(i = 0 ; i < 6 ; i++)
  96.         {
  97.             _wave = NT_ThroneCheckInt();
  98.             if(_wave > 0)
  99.                 break;
  100.  
  101.             NTC_Delay(500);
  102.         }
  103.  
  104.         _starttick = GetTickCount();
  105.  
  106.         while(_wave == 0)
  107.         {
  108.             if(!NT_ThronePreAttackInt())
  109.                 NTC_Delay(200);
  110.  
  111.             if(GetTickCount()-_starttick > 15000)
  112.             {
  113.                 NT_ClearThroneInt();
  114.  
  115.                 _starttick = GetTickCount();
  116.             }
  117.  
  118.             _wave = NT_ThroneCheckInt();
  119.         }
  120.  
  121.         switch(_wave)
  122.         {
  123.         case 1:
  124.             NTA_ClearPosition(40, true, 1);
  125.             NTP_DoPrecast(true);
  126.             break;
  127.         case 3:
  128.             NTA_ClearPosition(40, true, 2);
  129.             NT_CheckHydraInt();
  130.             break;
  131.         case 4:
  132.             NTA_ClearPosition(40, true, 2);
  133.             break;
  134.         case 5:
  135.             NTA_ClearPosition(40, true);
  136.             break;
  137.         default:
  138.             NTA_ClearPosition(40, true, 1);
  139.             break;
  140.         }
  141.  
  142.         if(_wave == 5)
  143.             break;
  144.     }
  145.    if(NTConfig_KillBaal)
  146.    {
  147.       var _portal;
  148.  
  149.       if(NTConfig_PublicMode)
  150.          Say("O_O!!");
  151.  
  152.       NTM_MoveTo(me.areaid, 15092, 5010);
  153.  
  154.       NTP_DoPrecast(true);
  155.  
  156.       while(NTC_FindUnit(NTC_UNIT_MONSTER, 543))
  157.          NTC_Delay(500);
  158.  
  159.       _portal = NTC_FindUnit(NTC_UNIT_OBJECT, 563, 1);
  160.  
  161.       if(!_portal)
  162.       {
  163.          NTC_SendMsgToScript("NTBotGame.ntj", "NTC_FindUnit()");
  164.          return;
  165.       }
  166.  
  167.       if(!NTM_UsePortal("Portal", 132, null, _portal))
  168.       {
  169.          NTC_SendMsgToScript("NTBotGame.ntj", "NTM_UsePortal()");
  170.          return;
  171.       }
  172.  
  173.       NTM_MoveTo(me.areaid, 15138, 5916);
  174.  
  175.       if(!NTA_KillMonster(544))
  176.       {
  177.          NTC_SendMsgToScript("NTBotGame.ntj", "NTA_KillMonster()");
  178.          return;
  179.       }
  180.  
  181.       NTSI_PickItems();
  182.    }
  183.  
  184.     if(NTConfig_PublicMode)
  185.         Say("O_O!!");
  186.  
  187.     NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
  188. }
  189.  
  190. // Internal function
  191. function NT_ClearThroneInt()
  192. {
  193.     var _attackpos = [15112, 5068, 15075, 5065, 15114, 5045, 15114, 5012, 15095, 5024, 15078, 5013, 15092, 5040];
  194.  
  195.     for(var i = 0 ; i < _attackpos.length ; i += 2)
  196.     {
  197.         NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]);
  198.  
  199.         NTA_ClearPosition(25, true, 2);
  200.     }
  201. }
  202.  
  203. function NT_ThroneCheckInt()
  204. {
  205.     var _monster;
  206.  
  207.     if(!NTC_FindUnit(NTC_UNIT_MONSTER, 543))
  208.         return 5;
  209.  
  210.     _monster = NTC_FindUnit(NTC_UNIT_MONSTER);
  211.  
  212.     if(_monster)
  213.     {
  214.         do
  215.         {
  216.             if(NTA_IsValidMonster(_monster))
  217.             {
  218.                 if(_monster.classid == 23 || _monster.classid == 62)
  219.                     return 1;
  220.  
  221.                 if(_monster.classid == 105 || _monster.classid == 381)
  222.                     return 2;
  223.  
  224.                 if(_monster.classid == 557)
  225.                     return 3;
  226.  
  227.                 if(_monster.classid == 558)
  228.                     return 4;
  229.  
  230.                 if(_monster.classid == 571)
  231.                     return 5;
  232.             }
  233.         } while(_monster.GetNext());
  234.     }
  235.  
  236.     return 0;
  237. }
  238.  
  239. function NT_ThronePreAttackInt()
  240. {
  241.     if(me.classid == NTC_CHAR_CLASS_SORCERESS)
  242.     {
  243.         if(NTConfig_AttackSkill[3] == 56 || NTConfig_AttackSkill[3] == 59)
  244.             return NTC_CastSkill(NTConfig_AttackSkill[3], 2, 15092, 5028);
  245.     }
  246.     else if(me.classid == NTC_CHAR_CLASS_PALADIN)
  247.     {
  248.         if(NTConfig_AttackSkill[3] == 112)
  249.         {
  250.             if(NTConfig_AttackSkill[4] > 0)
  251.                 NTC_PutSkill(NTConfig_AttackSkill[4], NTC_HAND_RIGHT);
  252.  
  253.             return NTC_CastSkill(NTConfig_AttackSkill[3], 2);
  254.         }
  255.     }
  256.  
  257.     return false;
  258. }
  259.  
  260. function NT_CheckHydraInt()
  261. {
  262.     var _hydra1, _hydra2, _hydra3;
  263.  
  264.     _hydra1 = NTC_FindUnit(NTC_UNIT_MONSTER, 351);
  265.     _hydra2 = NTC_FindUnit(NTC_UNIT_MONSTER, 352);
  266.     _hydra3 = NTC_FindUnit(NTC_UNIT_MONSTER, 353);
  267.  
  268.     if((_hydra1 && _hydra1.GetStat(172) != 2 && _hydra1.GetState(105))
  269.         || (_hydra2 && _hydra2.GetStat(172) != 2 && _hydra2.GetState(105))
  270.         || (_hydra3 && _hydra3.GetStat(172) != 2 && _hydra3.GetState(105)))
  271.     {
  272.         NTM_MoveTo(me.areaid, 15112, 5004);
  273.  
  274.         if(me.GetState(2))
  275.             NTC_PutSkill(109, NTC_HAND_RIGHT);
  276.  
  277.         NTC_PingDelay(3000);
  278.     }
  279. }
RAW Paste Data
Top