Okay So i know the Chaos/Diablo Script that comes with your D2NT is weak at best.
In case no one knew how to edit there attack config to help prevent getting stuck on casters in lava/behind walls/etc (it will still happen sometimes ..

) but
If you goto D2NT folder...scripts folder...libs...common...NTAttack.ntl
search inside for
function NTA_IsValidMonster(monster)then add this so it looks like this
function NTA_IsValidMonster(monster)
{
if(monster.name == GetLocaleString(3162) && GetDistance(me.x,me.y,monster.x,monster.y) <= 25 )
if(!CheckCollision(me.areaid, monster.x, monster.y, 0) || !CheckCollision(me.areaid, monster.x, monster.y, 1) || !CheckCollision(me.areaid, monster.x, monster.y, 5))
return false;
var _classid;
if(monster.hp <= 0 || monster.mode == 0 || monster.mode == 12)
return false;
_classid = monster.classid;***then the rest of the script****I wanted to share with you my version of the chaos script that i use. I took a few functions from someones on EoN then modified all telepoints/clrs/etc/etc added some fucntions...
The current config is to clear from start (you can make it clear from star///only clear Champions///Only Clear Seal Bosses+Diablo.

Enjoy.
I use this. In 892 runs i have gotten 0 seal nulls.
Copy/paste this code into your existing diablo.ntj
then for your boss configuration make it look like this (ofc erase // infront of the bosses you wish to run)
Also on a side note...if ALL you run is this chaos script i recommend you add at least 1 other monster (like eldritch//Threshsocket as my chaos script if ran solo will start to "shift" and in order to reset you have to go somewhere else (even if all you do is kill a quick monster) It resets the points
//------------------------------------------------------------------------------
// Boss configuration
//------------------------------------------------------------------------------
NTConfig_Script.push("NTDiablo.ntj");
//use 1 for true and 0 for false
NTConfig_SealOrder = ['w', 'n', 'e']; //seal order, w = west (vizier), n = north (de seis), e = east (venom)
NTConfig_NextGameMsg = ''; // leave = '' to say nothing
NTConfig_FastMode = 0; // open seals and kill bosses only (a little more dangerous)
NTConfig_SkipRegularMonsters = 0; // true = skip regular monsters (non uniques/champs)
NTConfig_ClearFromFront = 1; // clear from the entrance to the star
NTConfig_OpenHiddenStashes = 0; // open the hidden stashes, doesnt open on fastmode
NTConfig_MakeTP = 1; // true to make a tp. if clearing from front it will make one there, else at star
// if MakeTP is true its basically public mode, if not none of the below will trigger
NTConfig_WaitAndBO = 1; // true = bot will wait for x seconds and cast BO (if you dont have CTA set to false)
NTConfig_BOSayMsg = 'Let me clear quick'; // what to say when preparing to cast BO (dont include seconds)
NTConfig_BOWait = 2; // time in seconds to wait before using BO
//NTConfig_Script.push("NTPindleskin.ntj"); NTConfig_NihlathakExtension = false;
//NTConfig_Script.push("NTNihlathak.ntj"); NTConfig_PindleskinExtension = false;
//NTConfig_Script.push("NTEldritch.ntj"); NTConfig_ShenkExtension = true;
//NTConfig_Script.push("NTThreshSocket.ntj");
//NTConfig_Script.push("NTFrozenRiver.ntj"); NTConfig_ClearFrozenRiver = false;
//NTConfig_Script.push("NTGlacialTrail.ntj"); NTConfig_ClearGlacialTrail = false;
//NTConfig_Script.push("NTIcyCellar.ntj"); NTConfig_ClearIcyCellar = false;
//NTConfig_Script.push("NTBaal.ntj"); NTConfig_KillBaal = true;
//NTConfig_Script.push("NTHephasto.ntj");
//NTConfig_Script.push("NTIzual.ntj");
//NTConfig_Script.push("NTMephisto.ntj");
//NTConfig_Script.push("NTTravincal.ntj");
//NTConfig_Script.push("NTKurastTravel.ntj");
//NTConfig_Script.push("NTAct3Sewers.ntj"); NTConfig_ClearA3SewersLevel1 = 1; // 0 : don't clear, 1 : clear path only, 2 : clear all
//NTConfig_Script.push("NTSummoner.ntj"); NTConfig_KillFireEye = false;
//NTConfig_Script.push("NTDuriel.ntj");
//NTConfig_Script.push("NTAncientTunnels.ntj");
//NTConfig_Script.push("NTColdworm.ntj");
//NTConfig_Script.push("NTRadament.ntj");
//NTConfig_Script.push("NTAndariel.ntj");
//NTConfig_Script.push("NTCountess.ntj");
//NTConfig_Script.push("NTTreehead.ntj");
//NTConfig_Script.push("NTPit.ntj"); NTConfig_ClearPitLevel1 = 0; // 0 : don't clear, 1 : clear path only, 2 : clear all
//NTConfig_Script.push("NTMausoleum.ntj"); NTConfig_KillBloodRaven = true;
//NTConfig_Script.push("NTHole.ntj"); NTConfig_ClearHoleLevel1 = 1; // 0 : don't clear, 1 : clear path only, 2 : clear all
//NTConfig_Script.push("NTTristram.ntj"); NTConfig_KillRakanishu = true;
//NTConfig_Script.push("NTNihlathak.ntj"); NTConfig_PindleskinExtension = false;
here it is! Enjoy
function NTMain()
{
Include("libs/common/NTCommon.ntl");
NTC_IncludeLibs();
NTC_IncludeConfig("NTBot/char_configs");
NT_LoadConfig();
NTSI_LoadNIPFiles("NTBot/item_configs");
NTA_Initialize();
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(!NTTM_CheckAct())
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
return;
}
NTTMGR_TownManager();
if(!NTTM_TownMove("waypoint"))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_TownMove()");
return;
}
if(!NTM_TakeWaypoint(107))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()");
return;
}
NT_CheckShrine();
if(!NTM_MoveTo(108, 7792, 5565))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()");
return;
}
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(!NT_KillMonster(243, 2))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTA_KillMonster()");
return;
}
NTSI_PickItems();
NTC_Delay(500);
if(NTConfig_NextGameMsg != '')
Say(NTConfig_NextGameMsg);
NTC_Delay(250);
}
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;
}