Author Topic: New Script Idea  (Read 309 times)

akia

  • Guest
New Script Idea
« on: October 30, 2010, 03:33:19 PM »
Is there someone who can write a DiabloLeechFight script to go along with "Coop's" Chaos Script. Im having trouble with my follower leading ahead of the Leader because they are running two different movement and attack postion/timing. Ive searched and tried the existing LeechFight scripts and none seem to go with his version of chaos.

mythosis

  • Guest
Re: New Script Idea
« Reply #1 on: October 30, 2010, 09:29:32 PM »
I've mentioned something about this before, but I don't have time to search for it right now. Try searching (from the home page) to see if you find anything.

Something like
leader: durring attack pos loop, NTConfig_Pos++
followers: var _myPos=0 .... durring loop: while(_myPos > NTConfig_Pos) { delay(1000); }
Don't think I ever got around to testing it, but if you get my drift...

Offline cooptheking03

  • D2NT Specialist
  • Big Boss Man
  • PureKaoz HeRo
  • *******
  • Posts: 1656
  • Reputation 4
  • I Run This Chizz
    • View Profile
Re: New Script Idea
« Reply #2 on: November 07, 2010, 10:22:10 AM »
NTDiabloLeechFightCoop.ntj 

Code: [Select]
function NTMain()
{
   
   Include("libs/common/NTCommon.ntl");
   NTC_IncludeLibs();
   NTC_IncludeConfig("NTBot/char_configs");

   NT_LoadConfig();
   NTSI_LoadNIPFiles("NTBot/item_configs");

   NTA_Initialize(); // 10

   if(!NTTM_CheckAct())
   {
      NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
      return;
   }

   if(me.areaid != 103)
   {
   if(!NTTM_TownMove("waypoint"))
   {
      NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_TownMove()");
      return;
   }

   if(!NTM_TakeWaypoint(103))
   {
      NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()");
      return;
   }
   }
       
   NTTMGR_TownManager();
   
   NTTM_TownMove("portalspot");

   for(i = 0; i <= 100; i++)
   {
      if(NTC_InMyParty(NTConfig_Leader))
         break;

      Delay(200);
   }   

   while(me.areaid == 103 && NTC_InMyParty(NTConfig_Leader))
   {
      NTM_UsePortal("BluePortal", 108, NTConfig_Leader); // 50
      Delay(1000);
       
   }

    var FrontToStarX    = [7792,7794,7791,7777,7813,7769,7782,7802,7819,7768,7770,7791,7819];
    var FrontToStarY    = [5564,5529,5495,5486,5486,5445,5421,5421,5446,5390,5355,5355,5376];

    var FrontToStarFastX = [7799,7802,7802,7819,7821,7821,7821];
    var FrontToStarFastY = [5569,5531,5498,5486,5450,5416,5376];


    if(NTConfig_ClearFromFront == 1)
    {
        if(NTConfig_MakeTP == 1)
        {
            var _x = me.x;
            var _y = me.y;
            NT_Clear(20, true, 1);
            if(me.x != _x && me.y != _y) NTM_MoveTo(108, _x, _y);
            NT_Clear(20, true, 1);
            if(me.x != _x && me.y != _y) NTM_MoveTo(108, _x, _y);
            NTM_MakeTP();
            if(NTConfig_WaitAndBO == 1)
            {
                Say(NTConfig_BOSayMsg + " " + NTConfig_BOWait);
                NTC_Delay(NTConfig_BOWait*1000);
                    NTP_DoPrecast(true);
            }
        }

        for(var i = 0; i < FrontToStarX.length; i++)
        {
            NT_Clear(35, true, 1);
            NTM_MoveTo(108, FrontToStarX[i], FrontToStarY[i]);
            if(NTConfig_OpenHiddenStashes == 1) NT_OpenHiddenStashes();
        }
    }

    else
    {
        NTM_MoveTo(108, 7791, 5290);
    }

    NT_GetSeals();

    NT_KillDiablo();

    NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
}

function NT_VizierSeal(type)
{
    var V1X     = [7768,7755,7741,7733,7723,7714,7707,7680,7666];//   |||||||||
    var V1Y     = [5289,5295,5282,5291,5300,5282,5315,5310,5311];//   |||

    var V2X     = [7767,7756,7744,7747,7750,7741,7729,7720,7720,7721,7719,7712,7700,7687,7676];//   |||   |||
    var V2Y     = [5292,5284,5275,5290,5303,5310,5314,5312,5301,5288,5273,7292,5294,5294,5292];//      |||
   
    if(type == 1)
    {
        for(var i = 0; i < V1X.length; i++)
        {
            NTM_MoveTo(108, V1X[i], V1Y[i]);
            if(NTConfig_OpenHiddenStashes == 1) NT_OpenHiddenStashes();
            if(NTConfig_FastMode != 1) NT_Clear(25, true, 1);
        }
           
        for(var n = 0; n < 2; n++)
        {   
            NT_OpenSeal(396, 7667, 5315);
            NTM_MoveTo(108, 7672, 5307);

            for(var i = 0 ; i < 15 ; i++)
            {
                NTC_Delay(100);
                if(NT_KillMonster(GetLocaleString(2851), 1))
                {   
                    if(NTConfig_FastMode != 1) NT_Clear(30, false, 1);
                    NTSI_PickItems();
                    NT_OpenSeal(395,  7664, 5275);
                    return NT_BackToStar();
                }               
            }

            NT_OpenSeal(395,  7664, 5275);
        }

    }

    else
    {
       
        for(var i = 0; i < V2X.length; i++)
        {
            NTM_MoveTo(108, V2X[i], V2Y[i]);
            if(NTConfig_OpenHiddenStashes == 1) NT_OpenHiddenStashes();
            if(NTConfig_FastMode != 1) NT_Clear(25, true, 1);
        }
   
        for(var n = 0; n < 2; n++)
        {

            NT_OpenSeal(396, 7664, 5275);
            NTM_MoveTo(108, 7667, 5292);

            for(var i = 0 ; i < 30 ; i++)
            {
                NTC_Delay(150);
                if(NT_KillMonster(GetLocaleString(2851), 1))
                {   
                    if(NTConfig_FastMode != 1) NT_Clear(30, false, 1);
                    NTSI_PickItems();
                    NT_OpenSeal(395, 7667, 5315);
                    return NT_BackToStar();
                }               
            }
       
            NT_OpenSeal(395, 7667, 5315);
        }
    }
   
    return NT_BackToStar();
}

function NT_DeSeisSeal(type)
{
    var S1X    = [7786,7801,7786,7787,7810,7811,7810,7790,7774,7773,7794];// shape of an "S" or "5"
    var S1Y    = [5263,5249,5245,5227,5233,5215,5198,5194,5181,5156,5154];

    var S2X    = [7791,7783,7800,7809,7785,7773,7773,7776,7794,7811,7817,7815,7798,7785];// Shape of "2"
    var S2Y    = [5265,5256,5247,5232,5230,5222,5212,5194,5194,5193,5177,5157,5155,5155];

   
    if(type == 2)
    {
       
        for(var i = 0; i < S2X.length; i++)
        {
            NTM_MoveTo(108, S2X[i], S2Y[i]);
            NT_Clear(25, true, 1);
            if(NTConfig_OpenHiddenStashes == 1) NT_OpenHiddenStashes();
        }

        for(var n = 0; n < 2; n++)
        {
              NT_OpenSeal(394, 7773, 5155);
            NTM_MoveTo(108, 7809, 5202);
            NTM_TeleportTo(7812, 5224);
            NTM_MoveTo(108, 7793, 5234);

            for(i = 0 ; i < 15 ; i++)
            {
                NTC_Delay(100);
                if(NT_KillMonster(GetLocaleString(2852), 1))
                {   
                    NTSI_PickItems();
                    if(NTConfig_FastMode != 1) NT_ClearPosition(40, true, 1);
                    return NT_BackToStar();
                }
                else
                {
                    NT_OpenSeal(394, 7773, 5155);
                    NTM_MoveTo(108, 7809, 5202);
                    NTM_TeleportTo(7812, 5224);
                    NTM_MoveTo(108, 7793, 5234);
                   
                    for(i = 0 ; n < 15 ; i++)
                    {
                        NTC_Delay(100);
                        if(NT_KillMonster(GetLocaleString(2852), 1))
                        {   
                            NTSI_PickItems();
                            if(NTConfig_FastMode != 1) NT_ClearPosition(40, true, 1);
                            return NT_BackToStar();
                        }
                    }
                }
            }
        }
    }
    else
    {   
        for(var i = 0; i < S1X.length; i++)
        {
            NTM_MoveTo(108, S1X[i], S1Y[i]);
            NT_Clear(25, true, 1);
            if(NTConfig_OpenHiddenStashes == 1) NT_OpenHiddenStashes();
        }
   
        for(var n = 0; n < 2; n++)
        {
            NT_OpenSeal(394, 7803, 5154);
            NTM_MoveTo(108, 7789, 5157);
       
            for(i = 0 ; i < 15 ; i++)
            {
                NTC_Delay(100);
                if(NT_KillMonster(GetLocaleString(2852), 1))
                {   
                    NTSI_PickItems();
                    if(NTConfig_FastMode != 1) NT_ClearPosition(40, true, 1);
                    return NT_BackToStar();
                }
            }
        }
    }

    return NT_BackToStar();
}   

function NT_InfectorSeal(type)
{
    var I1X   = [7822,7826,7832,7850,7858,7868,7877,7891,7907,7927,7932];// looks like a hook
    var I1Y   = [5297,5278,5307,5278,7305,5297,5276,5276,5276,5279,5298];

    var I2X   = [7825,7827,7834,7845,7855,7852,7875,7896,7917];// shape of a "t"
    var I2Y   = [5293,5276,5291,5315,5301,5278,5293,5295,5291];

   
    if(type == 2)
    {
        for(var i = 0; i < I2X.length; i++)
        {
            NTM_MoveTo(108, I2X[i], I2Y[i]);
            NT_Clear(25, true, 1);
            if(NTConfig_OpenHiddenStashes == 1) NT_OpenHiddenStashes();
        }

        for(var n = 0; n < 2; n++)
        {   
            NT_OpenSeal(392, 7895, 5309);
            NTM_MoveTo(108, 7899, 5295);

            for(i = 0 ; i < 15 ; i++)
            {
                NTC_Delay(200);
   
                if(NT_KillMonster(GetLocaleString(2853), 1))
                {
                    if(NTConfig_FastMode != 1) NT_Clear(40, false, 1);
                    NTSI_PickItems();
                    NT_OpenSeal(393, 7895, 5275);
                    return NT_BackToStar();
                }
            }

            NT_OpenSeal(393, 7915, 5275);
        }
    }

    else
    {
        for(var i = 0; i < I1X.length; i++)
        {
            NTM_MoveTo(108, I1X[i], I1Y[i]);
            NT_Clear(25, true, 1);
            if(NTConfig_OpenHiddenStashes == 1) NT_OpenHiddenStashes();
        }

        for(var n = 0; n < 2; n++)
        {
            NT_OpenSeal(392, 7924, 5315);
            NTM_MoveTo(108, 7932, 5297);

            for(i = 0 ; i < 15 ; i++)
            {
                NTC_Delay(200);
   
                if(NT_KillMonster(GetLocaleString(2853), 1))
                {
                    if(NTConfig_FastMode != 1) NT_Clear(40, false, 1);
                    NTSI_PickItems();
                    NT_OpenSeal(393, 7915, 5275);
                    return NT_BackToStar();
                }
            }

            NT_OpenSeal(393, 7915, 5275);
        }
    }
   
    return NT_BackToStar();
}   

function NT_KillDiablo()
{
    if(NTConfig_MakeTP == 1)
    {
        NTM_MoveTo(108, 7827, 5284);
        NTM_MakeTP();
        NTM_MoveTo(108, 7791, 5290);
    }

   NTC_FindUnit(NTC_UNIT_MONSTER, 243, 100);

   if(!NTA_ClearPosition(25, true, 2)) {
      NTA_ClearPosition();
   }
   NTSI_PickItems();



   NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");

}

function NT_BackToStar()
{
    NTM_MoveTo(108, 7791, 5290);

    if(NTConfig_FastMode != 1) NT_Clear(25, true, 1);
   
    if(me.x != 7791 && me.y != 5290) NTM_MoveTo(108, 7791, 5290);

    if(NTConfig_FastMode != 1)
    {
        NTP_DoPrecast(true);
        NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe)
    }
}

function NT_GetSeals()
{
    if(me.x != 7791 && me.y != 5290)
    {
        NTM_MoveTo(108, 7791, 5290);
        NT_Clear(20, true, 1);
    }
   
    if(NTConfig_MakeTP == 1  && NTConfig_FastMode != 1)
    {
        NT_Clear(20, true, 1);
        NTM_MoveTo(108, 7791, 5290);
        NTM_MakeTP();
        if(NTConfig_WaitAndBO == 1)
        {
            Say(NTConfig_BOSayMsg + " " + NTConfig_BOWait);
            NTC_Delay(NTConfig_BOWait*1000);
                NTP_DoPrecast(true);
        }
    }   

    Print("?c5Getting seal information...");

    var _result = false;
    var viztype, venomtype, seistype;


    var pre = GetPresetUnits(108, NTC_UNIT_OBJECT);

    for(var i = 0; i < pre.length; i++)
    {
        if(pre[i].id == 396)
        {
            if(pre[i].roomy*5 + pre[i].y == 5275 && pre[i].roomx*5 + pre[i].x == 7655)

                viztype = 2;
            else
           
                viztype = 1;
        }
   
        if(pre[i].id == 394)
        {
            if(pre[i].roomx*5 + pre[i].x != 7773)
                seistype = 1;
            else
                seistype = 2;
        }

        if(pre[i].id == 392)
        {
            if(pre[i].roomx*5 + pre[i].x == 7893)
                venomtype = 2;
            else
                venomtype = 1;
        }
    }
   
    Print("?c5Grand Vizier of Chaos, Type: " + viztype);
    Print("?c5Lord De Seis, Type: " + seistype);
    Print("?c5Infector of Souls, Type: " + venomtype);
   
    for(var i = 0; i < 3; i++)
    {
        switch(NTConfig_SealOrder[i])
        {
            case 'w':
                    _result = NT_VizierSeal(viztype);
                    _result = false;
                break;
            case 'n':
                    _result = NT_DeSeisSeal(seistype);
                    _result = false;
                break;
            case 'e':
                    _result = false;
                    _result = NT_InfectorSeal(venomtype);
                break;
            default:
                    _result = NT_VizierSeal(viztype);
       
                    _result = false;
   
                    _result = NT_DeSeisSeal(seistype);
           
                    _result = false;
   
                    _result = NT_InfectorSeal(venomtype);

                    return _result;
                break;
        }
    }

    return _result;   
}

function NT_OpenSeal(classid, x, y)
{
    NTM_MoveTo(108, x, y);

    if(NTConfig_FastMode != 1)
        NT_Clear(40, true, 1);

    var seal = NTC_FindUnit(NTC_UNIT_OBJECT, classid, 10);

    if(seal.mode > 0) return;

    for(var i = 0; i < 4; i++)
    {
        if((i % 2) == 0)
        {
            if(GetDistance(me, seal) > 2) NTM_MoveTo(seal.areaid, seal.x+4, seal.y);

            NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, seal);
           
            if(seal.mode > 0) return Print("?c5Seal " + classid + " is now activated!");
        }

        NTC_Delay(200);
    }
}

function NT_CheckShrine()
{
    NTC_Delay(250);

    var shrine = NTC_FindUnit(NTC_UNIT_OBJECT, GetLocaleString(2225), 3);

    if(shrine)
    {
        do
        {       
            if(GetDistance(me.x,me.y,shrine.x,shrine.y) < 15)
            {
                switch(shrine.shrinetype)
                {
                    case 12: // skill shrine
                    case 13: // mana recharge shrine
                        NTM_MoveTo(108, shrine.x, shrine.y);
                        NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, shrine);
                        break;
                    default:
                        break;
                }
            }

        }while(shrine.GetNext());
    }

    NTP_DoPrecast(true);
}

function NT_OpenHiddenStashes()
{
    var _chest = GetUnit(NTC_UNIT_OBJECT, GetLocaleString(3274));
   
    if(_chest)
        do
        {
            if(GetDistance(me.x,me.y,_chest.x,_chest.y) < 20 && !_chest.mode > 0 )
            {
                NTM_MoveTo(108, _chest.x+1, _chest.y)
                if(NTC_OpenChest(_chest))
                {
                    NTSI_PickItems();
                    break;
                }
            }
                   
        }while(_chest.GetNext());
}

function NT_KillMonster(classid, retry)
{
    if(arguments.length < 2)
        retry = 0;

    var _target;

    if(NTConfig_AttackSkill[1] < 1)
        return false;

    _target = NTC_FindUnit(NTC_UNIT_MONSTER, classid, retry);

    if(!_target)
        return false;

    if(_target.IsAttackable())
    {
        var _attackcount = 0;

        while(_attackcount < 300 && NTA_IsValidMonster(_target))
        {
            if(NTA_Attack(_target, (_attackcount%30) == 0) < 2)
                break;

            _attackcount++;
        }
    }

    if(_target.hp <= 0 || _target.mode == 0 || _target.mode == 12)
        return true;
   
}

function NT_Clear(range, pickitem, safelevel)
{
    if(NTConfig_SkipRegularMonsters == 1) NT_ClearPosition(range, pickitem, safelevel, 1);

    else NT_ClearPosition(range, pickitem, safelevel, 0);
}

function NT_ClearPosition(range, pickitem, safelevel, spectype)
{
    var _orgx, _orgy;
    var _skiplist;
    var _attackcount = 0;
    var _target;
    var _distance, _mingid, _mindistance;
    var _result;
   

    if(NTConfig_AttackSkill[1] < 1 || NTConfig_AttackSkill[3] < 1)
        return false;

    switch(arguments.length)
    {
    case 0:
        range = 20;
    case 1:
        pickitem = true;
    case 2:
        safelevel = 0;
    case 3:
        spectype = 0;
    default:
        if(NTConfig_CheckSelfSafe < 0x01 && NTConfig_CheckMercSafe < 0x01)
            safelevel = 0;
        break;
    }

    _orgx = me.x;
    _orgy = me.y;

   
    _skiplist = new Array();

    while(_attackcount < (i+1)*100)
    {
        _mindistance = 100000;

        _target = NTC_FindUnit(NTC_UNIT_MONSTER);

        if(_target)
        {
            do
            {
                if(_skiplist.indexOf(_target.gid) < 0)
                {
                       
                    if(_target.IsAttackable() && (_target.spectype != spectype))
                    {
           
                        if(GetDistance(_orgx, _orgy, _target.x, _target.y) <= range && NTA_IsValidMonster(_target))
                        {
                            _distance = GetDistance(me, _target);

                            if(_distance < _mindistance)
                            {
                                _mingid = _target.gid;
                                _mindistance = _distance;
                            }
                        }
                    }
                    else
                        _skiplist.push(_target.gid);
                }
            } while(_target.GetNext());
        }

        if(_mindistance < 100000)
        {
        _target = NTC_FindUnit(NTC_UNIT_MONSTER, _mingid);

            if(_target)
            {
                _result = NTA_Attack(_target, (_attackcount%30) == 0);

                switch(_result)
                {
                case 1:
                    _skiplist.push(_mingid);
                    break;
                case 2:
                case 3:
                    _attackcount++;
                    break;
                default:
                    return false;
                }
            }
        }
        else
            break;
    }
   

    if(me.classid == NTC_CHAR_CLASS_PALADIN)
    {
        if(_attackcount > 2 && (parseInt(me.hp*100/me.hpmax) < NTConfig_UseRedemptionHP || parseInt(me.mp*100/me.mpmax) < NTConfig_UseRedemptionMP))
        {
            if(NTC_PutSkill(124, NTC_HAND_RIGHT))
                NTC_PingDelay(1000);
        }
    }
   
    if(me.classid == NTC_CHAR_CLASS_SORCERESS)
    {
        if(_attackcount > 2)
            NTC_CastSkill(58, NTC_HAND_RIGHT);
    }
   
    if(pickitem && _attackcount > 0)
        NTSI_PickItems();

    switch(safelevel)
    {
    case 1:
        return NTTMGR_CheckSafe(0x00, NTConfig_CheckMercSafe&0x01);
    case 2:
        return NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe);
    }

    return true;
}

I Do Not Do Support Via PM.
I Can Help Xfer Anycore/Anyrealm/Anytime.
PM me here or on JSP : TheAmazingShac0

Offline cooptheking03

  • D2NT Specialist
  • Big Boss Man
  • PureKaoz HeRo
  • *******
  • Posts: 1656
  • Reputation 4
  • I Run This Chizz
    • View Profile
Re: New Script Idea
« Reply #3 on: November 07, 2010, 10:23:46 AM »
If you dont want ti  to click seals (so your leader doesnt get the seal null which is rare but still annoying sometimes)
use this that i made

PLEASE NOTE THE VAR LEADER ..you need to change Gpk-PoundITdawg to whatever your leaders name is
NTDiabloNoSealsLeech.ntj
Code: [Select]
var leader = "Gpk-PoundITdawg";  // ur leader name
function NTMain()
{
   
   Include("libs/common/NTCommon.ntl");
   NTC_IncludeLibs();
   NTC_IncludeConfig("NTBot/char_configs");

   NT_LoadConfig();
   NTSI_LoadNIPFiles("NTBot/item_configs");

   NTA_Initialize(); // 10

RegisterEvent(EVENT_GAMEMSG, quitfunc);

   if(!NTTM_CheckAct())
   {
      NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
      return;
   }

   if(me.areaid != 103)
   {
   if(!NTTM_TownMove("waypoint"))
   {
      NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_TownMove()");
      return;
   }

   if(!NTM_TakeWaypoint(103))
   {
      NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()");
      return;
   }
   }
       
   NTTMGR_TownManager();
   
   NTTM_TownMove("portalspot");

   for(i = 0; i <= 100; i++)
   {
      if(NTC_InMyParty(NTConfig_Leader))
         break;

      Delay(200);
   }   

   while(me.areaid == 103 && NTC_InMyParty(NTConfig_Leader))
   {
      NTM_UsePortal("BluePortal", 108, NTConfig_Leader); // 50
      Delay(1000);
       
   }

    var FrontToStarX    = [7792,7794,7791,7777,7813,7769,7782,7802,7819,7768,7770,7791,7819];
    var FrontToStarY    = [5564,5529,5495,5486,5486,5445,5421,5421,5446,5390,5355,5355,5376];

    var FrontToStarFastX = [7799,7802,7802,7819,7821,7821,7821];
    var FrontToStarFastY = [5569,5531,5498,5486,5450,5416,5376];


    if(NTConfig_ClearFromFront == 1)
    {
        if(NTConfig_MakeTP == 1)
        {
            var _x = me.x;
            var _y = me.y;
            NT_Clear(20, true, 1);
            if(me.x != _x && me.y != _y) NTM_MoveTo(108, _x, _y);
            NT_Clear(20, true, 1);
            if(me.x != _x && me.y != _y) NTM_MoveTo(108, _x, _y);
            NTM_MakeTP();
            if(NTConfig_WaitAndBO == 1)
            {
                Say(NTConfig_BOSayMsg + " " + NTConfig_BOWait);
                NTC_Delay(NTConfig_BOWait*1000);
                    NTP_DoPrecast(true);
            }
        }

        for(var i = 0; i < FrontToStarX.length; i++)
        {
            NT_Clear(35, true, 1);
            NTM_MoveTo(108, FrontToStarX[i], FrontToStarY[i]);
            if(NTConfig_OpenHiddenStashes == 1) NT_OpenHiddenStashes();
        }
    }

    else
    {
        NTM_MoveTo(108, 7791, 5290);
    }

    NT_GetSeals();

    NT_KillDiablo();

    NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
}

function NT_VizierSeal(type)
{
    var V1X     = [7768,7755,7741,7733,7723,7714,7707,7680,7666];//   |||||||||
    var V1Y     = [5289,5295,5282,5291,5300,5282,5315,5310,5311];//   |||

    var V2X     = [7767,7756,7744,7747,7750,7741,7729,7720,7720,7721,7719,7712,7700,7687,7676];//   |||   |||
    var V2Y     = [5292,5284,5275,5290,5303,5310,5314,5312,5301,5288,5273,7292,5294,5294,5292];//      |||
   
    if(type == 1)
    {
        for(var i = 0; i < V1X.length; i++)
        {
            NTM_MoveTo(108, V1X[i], V1Y[i]);
            if(NTConfig_OpenHiddenStashes == 1) NT_OpenHiddenStashes();
            if(NTConfig_FastMode != 1) NT_Clear(25, true, 1);
        }
           
        for(var n = 0; n < 2; n++)
        {   
            NTM_MoveTo(108, 7672, 5307);

            for(var i = 0 ; i < 15 ; i++)
            {
                NTC_Delay(100);
                if(NT_KillMonster(GetLocaleString(2851), 1))
                {   
                    if(NTConfig_FastMode != 1) NT_Clear(30, false, 1);
                    NTSI_PickItems();
                    return NT_BackToStar();
                }               
            }

        }

    }

    else
    {
       
        for(var i = 0; i < V2X.length; i++)
        {
            NTM_MoveTo(108, V2X[i], V2Y[i]);
            if(NTConfig_OpenHiddenStashes == 1) NT_OpenHiddenStashes();
            if(NTConfig_FastMode != 1) NT_Clear(25, true, 1);
        }
   
        for(var n = 0; n < 2; n++)
        {

            NTM_MoveTo(108, 7667, 5292);

            for(var i = 0 ; i < 30 ; i++)
            {
                NTC_Delay(150);
                if(NT_KillMonster(GetLocaleString(2851), 1))
                {   
                    if(NTConfig_FastMode != 1) NT_Clear(30, false, 1);
                    NTSI_PickItems();
                    return NT_BackToStar();
                }               
            }
       
        }
    }
   
    return NT_BackToStar();
}

function NT_DeSeisSeal(type)
{
    var S1X    = [7786,7801,7786,7787,7810,7811,7810,7790,7774,7773,7794];// shape of an "S" or "5"
    var S1Y    = [5263,5249,5245,5227,5233,5215,5198,5194,5181,5156,5154];

    var S2X    = [7791,7783,7800,7809,7785,7773,7773,7776,7794,7811,7817,7815,7798,7785];// Shape of "2"
    var S2Y    = [5265,5256,5247,5232,5230,5222,5212,5194,5194,5193,5177,5157,5155,5155];

   
    if(type == 2)
    {
       
        for(var i = 0; i < S2X.length; i++)
        {
            NTM_MoveTo(108, S2X[i], S2Y[i]);
            NT_Clear(25, true, 1);
            if(NTConfig_OpenHiddenStashes == 1) NT_OpenHiddenStashes();
        }

        for(var n = 0; n < 2; n++)
        {
            NTM_MoveTo(108, 7809, 5202);
            NTM_TeleportTo(7812, 5224);
            NTM_MoveTo(108, 7793, 5234);

            for(i = 0 ; i < 15 ; i++)
            {
                NTC_Delay(100);
                if(NT_KillMonster(GetLocaleString(2852), 1))
                {   
                    NTSI_PickItems();
                    if(NTConfig_FastMode != 1) NT_ClearPosition(40, true, 1);
                    return NT_BackToStar();
                }
                else
                {
                    NTM_MoveTo(108, 7809, 5202);
                    NTM_TeleportTo(7812, 5224);
                    NTM_MoveTo(108, 7793, 5234);
                   
                    for(i = 0 ; n < 15 ; i++)
                    {
                        NTC_Delay(100);
                        if(NT_KillMonster(GetLocaleString(2852), 1))
                        {   
                            NTSI_PickItems();
                            if(NTConfig_FastMode != 1) NT_ClearPosition(40, true, 1);
                            return NT_BackToStar();
                        }
                    }
                }
            }
        }
    }
    else
    {   
        for(var i = 0; i < S1X.length; i++)
        {
            NTM_MoveTo(108, S1X[i], S1Y[i]);
            NT_Clear(25, true, 1);
            if(NTConfig_OpenHiddenStashes == 1) NT_OpenHiddenStashes();
        }
   
        for(var n = 0; n < 2; n++)
        {
            NTM_MoveTo(108, 7789, 5157);
       
            for(i = 0 ; i < 15 ; i++)
            {
                NTC_Delay(100);
                if(NT_KillMonster(GetLocaleString(2852), 1))
                {   
                    NTSI_PickItems();
                    if(NTConfig_FastMode != 1) NT_ClearPosition(40, true, 1);
                    return NT_BackToStar();
                }
            }
        }
    }

    return NT_BackToStar();
}   

function NT_InfectorSeal(type)
{
    var I1X   = [7822,7826,7832,7850,7858,7868,7877,7891,7907,7927,7932];// looks like a hook
    var I1Y   = [5297,5278,5307,5278,7305,5297,5276,5276,5276,5279,5298];

    var I2X   = [7825,7827,7834,7845,7855,7852,7875,7896,7917];// shape of a "t"
    var I2Y   = [5293,5276,5291,5315,5301,5278,5293,5295,5291];

   
    if(type == 2)
    {
        for(var i = 0; i < I2X.length; i++)
        {
            NTM_MoveTo(108, I2X[i], I2Y[i]);
            NT_Clear(25, true, 1);
            if(NTConfig_OpenHiddenStashes == 1) NT_OpenHiddenStashes();
        }

        for(var n = 0; n < 2; n++)
        {   
            NTM_MoveTo(108, 7899, 5295);

            for(i = 0 ; i < 15 ; i++)
            {
                NTC_Delay(200);
   
                if(NT_KillMonster(GetLocaleString(2853), 1))
                {
                    if(NTConfig_FastMode != 1) NT_Clear(40, false, 1);
                    NTSI_PickItems();
                    return NT_BackToStar();
                }
            }

        }
    }

    else
    {
        for(var i = 0; i < I1X.length; i++)
        {
            NTM_MoveTo(108, I1X[i], I1Y[i]);
            NT_Clear(25, true, 1);
            if(NTConfig_OpenHiddenStashes == 1) NT_OpenHiddenStashes();
        }

        for(var n = 0; n < 2; n++)
        {
            NTM_MoveTo(108, 7932, 5297);

            for(i = 0 ; i < 15 ; i++)
            {
                NTC_Delay(200);
   
                if(NT_KillMonster(GetLocaleString(2853), 1))
                {
                    if(NTConfig_FastMode != 1) NT_Clear(40, false, 1);
                    NTSI_PickItems();
                    return NT_BackToStar();
                }
            }

        }
    }
   
    return NT_BackToStar();
}   

function NT_KillDiablo()
{
    if(NTConfig_MakeTP == 1)
    {
        NTM_MoveTo(108, 7827, 5284);
        NTM_MakeTP();
        NTM_MoveTo(108, 7791, 5290);
    }

   NTC_FindUnit(NTC_UNIT_MONSTER, 243, 100);

   if(!NTA_ClearPosition(25, true, 2)) {
      NTA_ClearPosition();
   }
   NTSI_PickItems();



   NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");

}

function NT_BackToStar()
{
    NTM_MoveTo(108, 7791, 5290);

    if(NTConfig_FastMode != 1) NT_Clear(25, true, 1);
   
    if(me.x != 7791 && me.y != 5290) NTM_MoveTo(108, 7791, 5290);

    if(NTConfig_FastMode != 1)
    {
        NTP_DoPrecast(true);
        NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe)
    }
}

function NT_GetSeals()
{
    if(me.x != 7791 && me.y != 5290)
    {
        NTM_MoveTo(108, 7791, 5290);
        NT_Clear(20, true, 1);
    }
   
    if(NTConfig_MakeTP == 1  && NTConfig_FastMode != 1)
    {
        NT_Clear(20, true, 1);
        NTM_MoveTo(108, 7791, 5290);
        NTM_MakeTP();
        if(NTConfig_WaitAndBO == 1)
        {
            Say(NTConfig_BOSayMsg + " " + NTConfig_BOWait);
            NTC_Delay(NTConfig_BOWait*1000);
                NTP_DoPrecast(true);
        }
    }   

    Print("?c5Getting seal information...");

    var _result = false;
    var viztype, venomtype, seistype;


    var pre = GetPresetUnits(108, NTC_UNIT_OBJECT);

    for(var i = 0; i < pre.length; i++)
    {
        if(pre[i].id == 396)
        {
            if(pre[i].roomy*5 + pre[i].y == 5275 && pre[i].roomx*5 + pre[i].x == 7655)

                viztype = 2;
            else
           
                viztype = 1;
        }
   
        if(pre[i].id == 394)
        {
            if(pre[i].roomx*5 + pre[i].x != 7773)
                seistype = 1;
            else
                seistype = 2;
        }

        if(pre[i].id == 392)
        {
            if(pre[i].roomx*5 + pre[i].x == 7893)
                venomtype = 2;
            else
                venomtype = 1;
        }
    }
   
    Print("?c5Grand Vizier of Chaos, Type: " + viztype);
    Print("?c5Lord De Seis, Type: " + seistype);
    Print("?c5Infector of Souls, Type: " + venomtype);
   
    for(var i = 0; i < 3; i++)
    {
        switch(NTConfig_SealOrder[i])
        {
            case 'w':
                    _result = NT_VizierSeal(viztype);
                    _result = false;
                break;
            case 'n':
                    _result = NT_DeSeisSeal(seistype);
                    _result = false;
                break;
            case 'e':
                    _result = false;
                    _result = NT_InfectorSeal(venomtype);
                break;
            default:
                    _result = NT_VizierSeal(viztype);
       
                    _result = false;
   
                    _result = NT_DeSeisSeal(seistype);
           
                    _result = false;
   
                    _result = NT_InfectorSeal(venomtype);

                    return _result;
                break;
        }
    }

    return _result;   
}


function NT_CheckShrine()
{
    NTC_Delay(250);

    var shrine = NTC_FindUnit(NTC_UNIT_OBJECT, GetLocaleString(2225), 3);

    if(shrine)
    {
        do
        {       
            if(GetDistance(me.x,me.y,shrine.x,shrine.y) < 15)
            {
                switch(shrine.shrinetype)
                {
                    case 12: // skill shrine
                    case 13: // mana recharge shrine
                        NTM_MoveTo(108, shrine.x, shrine.y);
                        NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, shrine);
                        break;
                    default:
                        break;
                }
            }

        }while(shrine.GetNext());
    }

    NTP_DoPrecast(true);
}

function NT_OpenHiddenStashes()
{
    var _chest = GetUnit(NTC_UNIT_OBJECT, GetLocaleString(3274));
   
    if(_chest)
        do
        {
            if(GetDistance(me.x,me.y,_chest.x,_chest.y) < 20 && !_chest.mode > 0 )
            {
                NTM_MoveTo(108, _chest.x+1, _chest.y)
                if(NTC_OpenChest(_chest))
                {
                    NTSI_PickItems();
                    break;
                }
            }
                   
        }while(_chest.GetNext());
}

function NT_KillMonster(classid, retry)
{
    if(arguments.length < 2)
        retry = 0;

    var _target;

    if(NTConfig_AttackSkill[1] < 1)
        return false;

    _target = NTC_FindUnit(NTC_UNIT_MONSTER, classid, retry);

    if(!_target)
        return false;

    if(_target.IsAttackable())
    {
        var _attackcount = 0;

        while(_attackcount < 300 && NTA_IsValidMonster(_target))
        {
            if(NTA_Attack(_target, (_attackcount%30) == 0) < 2)
                break;

            _attackcount++;
        }
    }

    if(_target.hp <= 0 || _target.mode == 0 || _target.mode == 12)
        return true;
   
}

function quitfunc(msg, type)
{

//quit when leader leaves game

   if(msg.indexOf(leader) != -1 && (msg.indexOf("weaken") != -1 || msg.indexOf("timeout") != -1)) {
      ExitGame();
   }
}

function NT_Clear(range, pickitem, safelevel)
{
    if(NTConfig_SkipRegularMonsters == 1) NT_ClearPosition(range, pickitem, safelevel, 1);

    else NT_ClearPosition(range, pickitem, safelevel, 0);
}

function NT_ClearPosition(range, pickitem, safelevel, spectype)
{
    var _orgx, _orgy;
    var _skiplist;
    var _attackcount = 0;
    var _target;
    var _distance, _mingid, _mindistance;
    var _result;
   

    if(NTConfig_AttackSkill[1] < 1 || NTConfig_AttackSkill[3] < 1)
        return false;

    switch(arguments.length)
    {
    case 0:
        range = 20;
    case 1:
        pickitem = true;
    case 2:
        safelevel = 0;
    case 3:
        spectype = 0;
    default:
        if(NTConfig_CheckSelfSafe < 0x01 && NTConfig_CheckMercSafe < 0x01)
            safelevel = 0;
        break;
    }

    _orgx = me.x;
    _orgy = me.y;

   
    _skiplist = new Array();

    while(_attackcount < (i+1)*100)
    {
        _mindistance = 100000;

        _target = NTC_FindUnit(NTC_UNIT_MONSTER);

        if(_target)
        {
            do
            {
                if(_skiplist.indexOf(_target.gid) < 0)
                {
                       
                    if(_target.IsAttackable() && (_target.spectype != spectype))
                    {
           
                        if(GetDistance(_orgx, _orgy, _target.x, _target.y) <= range && NTA_IsValidMonster(_target))
                        {
                            _distance = GetDistance(me, _target);

                            if(_distance < _mindistance)
                            {
                                _mingid = _target.gid;
                                _mindistance = _distance;
                            }
                        }
                    }
                    else
                        _skiplist.push(_target.gid);
                }
            } while(_target.GetNext());
        }

        if(_mindistance < 100000)
        {
        _target = NTC_FindUnit(NTC_UNIT_MONSTER, _mingid);

            if(_target)
            {
                _result = NTA_Attack(_target, (_attackcount%30) == 0);

                switch(_result)
                {
                case 1:
                    _skiplist.push(_mingid);
                    break;
                case 2:
                case 3:
                    _attackcount++;
                    break;
                default:
                    return false;
                }
            }
        }
        else
            break;
    }
   

    if(me.classid == NTC_CHAR_CLASS_PALADIN)
    {
        if(_attackcount > 2 && (parseInt(me.hp*100/me.hpmax) < NTConfig_UseRedemptionHP || parseInt(me.mp*100/me.mpmax) < NTConfig_UseRedemptionMP))
        {
            if(NTC_PutSkill(124, NTC_HAND_RIGHT))
                NTC_PingDelay(1000);
        }
    }
   
    if(me.classid == NTC_CHAR_CLASS_SORCERESS)
    {
        if(_attackcount > 2)
            NTC_CastSkill(58, NTC_HAND_RIGHT);
    }
   
    if(pickitem && _attackcount > 0)
        NTSI_PickItems();

    switch(safelevel)
    {
    case 1:
        return NTTMGR_CheckSafe(0x00, NTConfig_CheckMercSafe&0x01);
    case 2:
        return NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe);
    }

    return true;
}

I Do Not Do Support Via PM.
I Can Help Xfer Anycore/Anyrealm/Anytime.
PM me here or on JSP : TheAmazingShac0