Guest
Public paste!

Untitled

By: a guest | Mar 20th, 2010 | Syntax: JavaScript | Size: 9.02 KB | Hits: 443 | Expires: Never
Copy text to clipboard
  1. function NT_TagTeamDiablo() {
  2.     // Leader Character Name, Doesn't really fight much so its good for a sorc.
  3.     var Leader = "CHARACTER1";
  4.     // Main Runners (they open seals and kill mini-bosses. 'Member' goes with Leader to Infector of Souls as it's generally hardest boss.
  5.     var Your = "CHARACTER2";
  6.     var Greatest = "CHARACTER3";
  7.     var Member = "CHARACTER4";
  8.  
  9.     var _GoToRiverOfFlame = false
  10.     var _GoToThePandemoniumFortress = false
  11.     var _EnterTheChaosSancturary = false
  12.     var _GoOpenSeals = false
  13.        
  14.     addEventListener("chatmsg", ListenToLeader);
  15.  
  16.     print("ÿc3Starting Tag Team Diablo, By YourGreatestMember");
  17.     if (!NTTM_CheckAct(4)) {
  18.         return false;
  19.     }
  20.     NTTMGR_TownManager();
  21.  
  22.     // LEADER START
  23.     if (me.charname == Leader) {
  24.         var Tag1 = getUnit(0, Your),
  25.             Tag2 = getUnit(0, Greatest),
  26.             Tag3 = getUnit(0, Member);
  27.  
  28.         while (!Tag1 || !Tag2 || !Tag3) {
  29.             Tag1 = getUnit(0, Your);
  30.             Tag2 = getUnit(0, Greatest);
  31.             Tag3 = getUnit(0, Member);
  32.             delay(1000);
  33.         }
  34.         say("Go to River of Flame");
  35.         GoToRiverOfFlame();
  36.         while (!Tag1 || !Tag2 || !Tag3) {
  37.             Tag1 = getUnit(0, Your);
  38.             Tag2 = getUnit(0, Greatest);
  39.             Tag3 = getUnit(0, Member);
  40.             delay(1000);
  41.         }
  42.  
  43.         print("ÿc5Precasting");
  44.         NTP_DoPrecast();
  45.         say("Go to The Pandemonium Fortress");
  46.         GoToThePandemoniumFortress();
  47.         print("ÿc8Going to Chaos Sanctuary");
  48.         NTM_TravelTO(108)
  49.         NTM_MoveTo(7792, 5292);
  50.         NTM_MakeTP();
  51.         say("Enter The Chaos Sancturary");
  52.  
  53.         while (!Tag1 || !Tag2 || !Tag3) {
  54.             Tag1 = getUnit(0, Your);
  55.             Tag2 = getUnit(0, Greatest);
  56.             Tag3 = getUnit(0, Member);
  57.             delay(1000);
  58.         }
  59.         NTC_Delay(100);
  60.                
  61.         say("Go Open Seals");
  62.         NTC_Delay(2000);
  63.         if (!NTM_MoveToObject(NTC_UNIT_OBJECT, 392, 392)) return false;
  64.         for (var n = 0; n < 35; n++) {
  65.             delay(250);
  66.             if (NTC_FindMonster(getLocaleString(2853)))
  67.             break;
  68.         }
  69.  
  70.         if (NTA_KillBoss(getLocaleString(2853), 50))
  71.         NTSI_PickItems();
  72.         KillDiablo();
  73.     }
  74.  
  75.     // LEADER END
  76.        
  77.     // YOUR START
  78.     if (me.charname == Your) {
  79.         if (!NTTM_TownMove("portalspot")) return false;
  80.         while (me.area == 103) {
  81.             delay(1000);
  82.         }
  83.         ListenToLeader();
  84.         while (!_GoToRiverOfFlame) {
  85.             delay(300);
  86.         }
  87.         while (!_GoToThePandemoniumFortress) {
  88.             delay(300);
  89.         }
  90.         while (!_EnterTheChaosSancturary) {
  91.             delay(300);
  92.         }
  93.         while (!_GoOpenSeals) {
  94.             delay(300);
  95.         }
  96.     }
  97.     // YOUR END
  98.        
  99.     // GREATEST START
  100.     if (me.charname == Greatest) {
  101.         if (!NTTM_TownMove("portalspot")) return false;
  102.         while (me.area == 103) {
  103.             delay(1000);
  104.         }
  105.         ListenToLeader();
  106.         while (!_GoToRiverOfFlame) {
  107.             delay(300);
  108.         }
  109.         while (!_GoToThePandemoniumFortress) {
  110.             delay(300);
  111.         }
  112.         while (!_EnterTheChaosSancturary) {
  113.             delay(300);
  114.         }
  115.         while (!_GoOpenSeals) {
  116.             delay(300);
  117.         }
  118.     }
  119.     // GREATEST END
  120.        
  121.     // MEMBER START
  122.     if (me.charname == Member) {
  123.         if (!NTTM_TownMove("portalspot")) return false;
  124.         while (me.area == 103) {
  125.             delay(1000);
  126.         }
  127.         ListenToLeader();
  128.         while (!_GoToRiverOfFlame) {
  129.             delay(300);
  130.         }
  131.         while (!_GoToThePandemoniumFortress) {
  132.             delay(300);
  133.         }
  134.         while (!_EnterTheChaosSancturary) {
  135.             delay(300);
  136.         }
  137.         while (!_GoOpenSeals) {
  138.             delay(300);
  139.         }
  140.  
  141.     }
  142.     // MEMBER END
  143.     return true;
  144. }
  145.  
  146. function GoToRiverOfFlame() {
  147.     print("ÿc8Going to River of Flame");
  148.     if (!NTTM_TownMove("waypoint")) return false;
  149.     if (!NTM_UsePortal("Waypoint", 107)) {
  150.         print("ÿc8Seems we do not have the waypoint, Lets go get it! Traveling to River of Flame");
  151.         NTM_TravelTO(107);
  152.         print("ÿc8Interacting with Waypoint as we don't have it.");
  153.         NTM_GotoWaypoint(107, true, 10000);
  154.     }
  155.     return false;
  156. }
  157.  
  158. function GoToThePandemoniumFortress() {
  159.     print("ÿc8Going to The Pandemonium Fortress");
  160.     if (me.classid == NTC_CHAR_CLASS_PALADIN) {
  161.         NTC_PutSkill(117, NTC_HAND_RIGHT);
  162.         NTC_DoCast(117, 2);
  163.     }
  164.     if (!NTM_UsePortal("Waypoint", 103)) {
  165.         NTM_TravelTO(103);
  166.     }
  167.     if (!NTTM_TownMove("portalspot")) return false;
  168.     return false;
  169. }
  170.  
  171. function EnterTheChaosSancturary() {
  172.     var Leader1 = "CHARACTER1";
  173.     NTM_UsePortal("BluePortal", 108, Leader1);
  174.     return false;
  175.  
  176. }
  177.  
  178. function GoOpenSeals() {
  179.     var LeaderA = "CHARACTER1";
  180.     var Your1 = "CHARACTER2";
  181.     var Greatest1 = "CHARACTER3";
  182.     var Member1 = "CHARACTER4";
  183.     while (me.area == 103) {
  184.         delay(1000);
  185.     }
  186.     if (me.charname == Your1) {
  187.         if (!NTM_MoveToObject(NTC_UNIT_OBJECT, 395, 395)) return false;
  188.         OpenSeal(395)
  189.         if (!NTM_MoveToObject(NTC_UNIT_OBJECT, 396, 396)) return false;
  190.         OpenSeal(396)
  191.         if (me.y > 5265 && me.y <= 5275) NTM_MoveTo(7677, 5287);
  192.         else NTM_MoveTo(7675, 5321)
  193.  
  194.         for (var n = 0; n < 20; n++) {
  195.             delay(250);
  196.             if (NTC_FindMonster(getLocaleString(2851))) break;
  197.         }
  198.  
  199.         if (NTA_KillBoss(getLocaleString(2851), 20)) {
  200.             NTSI_PickItems();
  201.             KillDiablo();
  202.             NTM_UsePortal("BluePortal", 103, LeaderA);
  203.             return true;
  204.         }
  205.         return false;
  206.  
  207.     }
  208.  
  209.     if (me.charname == Greatest1) {
  210.         if (!NTM_MoveToObject(NTC_UNIT_OBJECT, 394, 394)) return false;
  211.         OpenSeal(394)
  212.         if (me.x > 7810 && me.x <= 7825) NTM_MoveTo(7777, 5160);
  213.         else NTM_MoveTo(7777, 5200);
  214.  
  215.         for (var n = 0; n < 20; n++) {
  216.             delay(250);
  217.             if (NTC_FindMonster(getLocaleString(2852))) break;
  218.         }
  219.  
  220.         if (NTA_KillBoss(getLocaleString(2852), 30)) {
  221.             NTSI_PickItems();
  222.             KillDiablo();
  223.             NTM_UsePortal("BluePortal", 103, LeaderA);
  224.             return true;
  225.         }
  226.         return false;
  227.     }
  228.  
  229.     if (me.charname == Member1) {
  230.         if (!NTM_MoveToObject(NTC_UNIT_OBJECT, 393, 393)) return false;
  231.         OpenSeal(393)
  232.         if (!NTM_MoveToObject(NTC_UNIT_OBJECT, 392, 392)) return false;
  233.         OpenSeal(392)
  234.  
  235.         for (var n = 0; n < 20; n++) {
  236.             delay(250);
  237.             if (NTC_FindMonster(getLocaleString(2853))) break;
  238.         }
  239.  
  240.         if (NTA_KillBoss(getLocaleString(2853), 50)) NTSI_PickItems();
  241.         KillDiablo();
  242.         NTM_UsePortal("BluePortal", 103, LeaderA);
  243.         return true;
  244.     }
  245.     return false;
  246. }
  247.  
  248. function KillDiablo() {
  249.     if (!NTM_MoveTo(7800, 5294)) return false;
  250.     NTT_CleanPotions();
  251.     for (var n = 0; n < 30; n++) {
  252.         if (me.classid == NTC_CHAR_CLASS_PALADIN) {
  253.             NTC_PutSkill(113, NTC_HAND_RIGHT);
  254.             NTC_DoCast(112, 2);
  255.             NTC_DoCast(112, 2);
  256.             NTC_DoCast(112, 2);
  257.             NTC_DoCast(112, 2);
  258.             NTC_DoCast(112, 2);
  259.             NTC_DoCast(112, 2);
  260.             NTC_Delay(250);
  261.         }
  262.         if (NTC_FindMonster(243)) {
  263.             print("ÿc1Killing Diablo");
  264.             if (NTA_KillBoss(243, 1000)) {
  265.                 NTSI_PickItems();
  266.                 return true;
  267.             }
  268.         }
  269.  
  270.         NTC_Delay(500);
  271.     }
  272.     print("ÿc;Diablo not found.");
  273.     return false;
  274. }
  275.  
  276. function ListenToLeader(Leader, msg) {
  277.     if (msg == "Go to River of Flame") {
  278.         var _GoToRiverOfFlame = false;
  279.         _GoToRiverOfFlame = true;
  280.         GoToRiverOfFlame();
  281.     }
  282.     if (msg == "Go to The Pandemonium Fortress") {
  283.         var _GoToThePandemoniumFortress = false;
  284.         _GoToThePandemoniumFortress = true;
  285.         GoToThePandemoniumFortress();
  286.     }
  287.     if (msg == "Enter The Chaos Sancturary") {
  288.         var _EnterTheChaosSancturary = false;
  289.         _EnterTheChaosSancturary = true;
  290.         EnterTheChaosSancturary();
  291.     }
  292.     if (msg == "Go Open Seals") {
  293.         var _GoOpenSeals = false;
  294.         _GoOpenSeals = true;
  295.         GoOpenSeals();
  296.     }
  297. }
  298.  
  299. function findTagLeader() {
  300.     for (var i = 0; i < 100; i++) {
  301.         if (findLeader(Leader)) break;
  302.         delay(100);
  303.     }
  304. }
  305.  
  306. function findLeader(Leader) {
  307.     var _Leader = getUnit(0, Leader)
  308.     if (_Leader) return _Leader.area;
  309.     var area = 0;
  310.     var a = getParty();
  311.     if (!a) return false;
  312.  
  313.     do {
  314.         if (a.name == Leader) {
  315.             area = a.area;
  316.         }
  317.     } while (a.getNext());
  318.     if (area == 0) {
  319.         return false;
  320.     }
  321.     return area;
  322. }
  323.  
  324. function OpenSeal(sealID) {
  325.     var _unit = NTC_GetUnit(NTC_UNIT_OBJECT, sealID);
  326.     _unit.interact();
  327.     _unit.interact();
  328. }