Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
D2NT: My Necro Does Not Use CE after Max Skellies
#1
Hello All,

I've been trying to get my D2NT 3.3 Bot to work on my Fishymancer, but I have yet to find a working script for this build.

After doing some research on necro scripts for d2nt, I got my necro working; however, he does not want to use his attacks (Corpse Explosion + Bone Spear) after his skellies and mages are maxed out.

Can someone help with the NTAttack file to get this up and running?

Here is my Attack Configuration under NTConfig_Necromancer_Swanson


Code:
//------------------------------------------------------------------------------
    // Attack configuration
    //------------------------------------------------------------------------------
    //------------------------------------------------------------------------------
    // Curses / Curse States & Golems
    //------------------------------------------------------------------------------
    // Amplify Damage = 66
    //
        // Dim Vision     = 71
    //    
        // Weaken         = 72
    // Corpse Explositon = 74
    //    
        // Iron maiden    = 76
    //
    // Terror       = 77
    //    
        // Confuse       = 81
    //    
    // Life Tap       = 82
    // Bone Spear      = 84
    //    
    // Attract        = 86
    //    
    // Decrepify      = 87
    //    
    // Lower Resist   = 91
    //
    // No Golem / You already have an Iron Golem out = 0
    //    
    // Clay Golem      = 1
    //
    // Blood Golem    = 2
    //
    // Fire Golem     = 3
    //-----------------------------------------------------------------------------    
    
    NTConfig_Curse = 66;        // Place curse to cast (above)
    NTConfig_Skele = 15;            // Number of Skeletons you can summon
    NTConfig_Mage = 15;             // Number of Mages you can summon
    NTConfig_Revive = 0;            //Number of Revives you want to summon
    NTConfig_Golem = 1;           // The golem you want to use (above)
    NTConfig_AttackSkill[0] = 84;    // First skill. Set to 0 if you won't
    NTConfig_AttackSkill[1] = 84;    // Primary skill to boss.
    NTConfig_AttackSkill[2] = 84;    // Primary untimed skill to boss. Set to 0 if you won't
    NTConfig_AttackSkill[3] = 74;    // Primary skill to others.
    NTConfig_AttackSkill[4] = 84;    // Primary untimed skill to others. Set to 0 if you won't
    NTConfig_AttackSkill[5] = 74;    // Secondary skill in case monster is immune to primary skill. Set to 0 if you won't
    NTConfig_AttackSkill[6] = 74;    // Secondary untimed skill. Set to 0 if you won't
    NTConfig_ClearPosition = false;    // Set to true if you want to clear area after killing boss.


    // Check self safe in field (NOT in town). Set to 0 if you won't
    // 0x01 : Potion, 0x02 : Poison, 0x04 : Amplify Damage, 0x08 : Weaken, 0x10 : Iron Maiden, 0x20 : Decrepify, 0x40 : Lower Resist
    NTConfig_CheckSelfSafe = 0x40;
    // Check merc's safe in field (NOT in town). Set to 0 if you won't
    // 0x01 : Death, 0x02 : Poison, 0x04 : Amplify Damage, 0x08 : Weaken, 0x10 : Iron Maiden, 0x20 : Decrepify, 0x40 : Lower Resist
    NTConfig_CheckMercSafe = 0x40;
}


I am assuming the error is in this section of the NTAttack file:


Code:
function NTA_NecromancerAttackPatternInt()
{
    
    var _maxindex, _maxskill;
    var _avgskilllevel = new Array();


    _avgskilllevel[0] = me.GetSkill(84, false);
    _avgskilllevel[0] = me.GetSkill(74, false);


    _maxindex = -1;
    _maxskill = 0;


    for(var i = 0 ; i < _avgskilllevel.length ; i++)
    {
        if(_avgskilllevel[i] > _maxskill)
        {
            _maxindex = i;
            _maxskill = _avgskilllevel[i];
        }
    }


    switch(_maxindex)
    {
    case 0:
        NTConfig_AttackSkill[0] = 84;    
        NTConfig_AttackSkill[1] = 84;    
        NTConfig_AttackSkill[2] = 84;    
        NTConfig_AttackSkill[3] = 74;    
        NTConfig_AttackSkill[4] = 84;    
        NTConfig_AttackSkill[5] = 74;    
        NTConfig_AttackSkill[6] = 74;
        break;
    
    }


    return (NTConfig_AttackSkill[1] && NTConfig_AttackSkill[3]);
}


function GetCurseState(skillid)
{
    if(NTConfig_Curse == 66)
    
    return 9;


    if(NTConfig_Curse == 71)
    
    return 23;


    if(NTConfig_Curse == 76)
    
    return 55;


    if(NTConfig_Curse == 77)
    
    return 56;


    if(NTConfig_Curse == 81)
    
    return 59;


    if(NTConfig_Curse == 82)
    
    return 58;


    if(NTConfig_Curse == 86)
    
    return 57;


    if(NTConfig_Curse == 87)
    
    return 60;


    if(NTConfig_Curse == 91)
    
    return 61;
}


function NTA_NecromancerAttackInt(target, firstorder)
{


    if(NTTMGR_CheckCurse(NTConfig_CheckSelfSafe&0x10, NTConfig_CheckMercSafe&0x10))
    {
        if(!NTTMGR_VisitTown())
            return 0;
    }


    //Ensure target is cursed
    if(!target.GetState(GetCurseState()))
        NTC_CastSkill(NTConfig_Curse, NTC_HAND_RIGHT, target);
    
    if(GetDistance(me, target) > 10)
    {
        var _pos = me.GetOptimalAttackPos(target.areaid, target.x, target.y, 10, 4);


        if(_pos)
            NTM_MoveTo(target.areaid, _pos[0], _pos[1], 0);
    }


    if(_SkeleCount < NTConfig_Skele || _MageCount < NTConfig_Mage || _ReviveCount < NTConfig_Revive)
    {
        RaiseDead();
        NTC_Delay(200);
        return 3;
    }
    if(!NTConfig_UseAttack)
    {
        NTC_Delay(200);
        return 3;    
    }
    else
    {
        var _primaryindex;


        //Pick attack type (boss/other)
        _primaryindex = (target.spectype&0x0A) ? 1 : 3;


        if(NTA_GetResistance(target, _NTA_SkillDamage[_primaryindex]) <= 90)
        {
            if(!NTA_NecromancerCastSkillInt(_primaryindex, target))
                return 2;
    
            return 3;
        }


        //Use alternate attack if first two are resisted
        if(NTConfig_AttackSkill[5] > 0 && NTA_GetResistance(target, _NTA_SkillDamage[5]) <= 80)
        {        
            if(target.name == "Horadrim Ancient")
            {
                NTM_MoveTo(target.areaid, target.x, target.y, 0);
                NTC_PingDelay(1000);
            }
            else
            {
                NTA_NecromancerCastSkillInt(5, target);
                return 2;
            }
            return 3;
        }
    


        if(NTA_GetResistance(target, _NTA_SkillDamage[_primaryindex]) < 100 || (_primaryindex == 1 && NTC_GetMerc()))
        {
            if(!NTA_NecromancerCastSkillInt(_primaryindex, target))
                return 2;


            return 3;
        }


        return 1;
    }
}


function NTA_NecromancerCastSkillInt(index, target)
{
    if(me.GetSkillStatus(NTConfig_AttackSkill[index]) != 8)
    {
        if(GetDistance(me, target) > _NTA_SkillRange[index] || !CheckCollision(me, target, 4))
        {
            var _pos = me.GetOptimalAttackPos(target.areaid, target.x, target.y, _NTA_SkillRange[index], 4);


            if(_pos)
                NTM_MoveTo(target.areaid, _pos[0], _pos[1], 0);
        }


        return NTC_CastSkill(NTConfig_AttackSkill[index], _NTA_SkillHand[index], target);
    }


    if(NTConfig_AttackSkill[index+1] > 0)
    {
        if(GetDistance(me, target) > _NTA_SkillRange[index+1] || !CheckCollision(me, target, 4))
        {
            var _pos = me.GetOptimalAttackPos(target.areaid, target.x, target.y, _NTA_SkillRange[index+1], 4);


            if(_pos)
                NTM_MoveTo(target.areaid, _pos[0], _pos[1], 0);
        }


        return NTC_CastSkill(NTConfig_AttackSkill[index+1], _NTA_SkillHand[index+1], target);
    }


    for(var i = 0 ; i < 25 ; i++)
    {
        NTC_Delay(NTC_DELAY_FRAME);


        if(me.GetSkillStatus(NTConfig_AttackSkill[index]) != 8)
            break;
    }


    return false;
}


Can someone either pinpoint the error or send me a working NTAttack file for a necro who uses Skellies+Mages+CE+Golem?


All Help is greatly appreciated.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  [D2NT Release] Druid Script skidude 20 17,261 08-25-2012, 01:20 AM
Last Post: comper
  D2NT BoT Gh0sT17 52 2,030 07-31-2012, 11:10 PM
Last Post: comper
  D2nt need help on some stuff wishyq 3 165 07-22-2012, 12:44 PM
Last Post: comper
  Little Help Please? (D2NT) pnsmcgraw 12 263 07-16-2012, 02:46 PM
Last Post: Mythosis
  MasivB's D2NT Simple Unique PickIt masivb 1 115 07-03-2012, 05:03 AM
Last Post: comper
  D2nt - how do i stay in game when sojs sell? brianwalter86 5 349 07-01-2012, 02:02 PM
Last Post: comper
  Nooby D2NT Questions Kieran Wilson 0 128 06-25-2012, 04:35 PM
Last Post: Kieran Wilson
  [D2NT Release]Item Logging with XML 3.0+ skidude 76 14,528 06-25-2012, 01:27 PM
Last Post: masivb
  D2nt Bot jewel pickit/godly item pickit Nightwish 3 228 06-23-2012, 04:18 AM
Last Post: comper
  someone please help my d2nt bot wont kill any bosses mcmullenp4 2 177 06-19-2012, 10:18 AM
Last Post: comper

Forum Jump:


Users browsing this thread: 2 Guest(s)