credits to bigapple90
.: Amazon Jav/Bow Class Script :.
.:.:.:.:.:.:.: Version 1.6 June 24 2010 :.:.:.:.:.:.:.
NOTES BOWZON:
* MAKE SURE YOUR BOW IS ON THE LEFT WEAPON SLOT.
* Make sure on weapon swap (CTA) the left skill is on attack and on bow switch (Main) left skill is NOT attack. This is in case bot leaves on wrong weapon switch and cannot equip arrows.
* It would be best to start with no arrows in weapon slot or in inventory.
* If you are worried that for some strange reason the bot will drop the bow then you shouldn't use this script.
* Bot will only buy arrows/bolts if multiple shot is at least level 1. This is to prevent javazon from buying arrows. If Javazon has 1 into multiple shot then you are screwed lol
* While attacking, if the bot reaches low arrows/bolts it will TP and either buy new ones
* Crossbow/bolts supported
NOTES JAVAZON:
* Bot will repair javelins if they break while attacking
Bot uses clear-position to find monsters/wave instead of spamming a different kind of loop to find them
Option to clear worldstone 2 and 3 room/path
Paladin will engage the magic immune first on wave 2
add this to Char configure under boss config:
Step [2]: Copy this code and paste it above these lines :
Step [3]: Now, replace these functions:
with this code
Save and close NTAttack.
If you don't plan to use a bowzon you can skip to number 20
Step [5][A]: Open NTTown, copy this code and paste it at the end of NTTown
[B.]Now find this code:
Change it to this:
Save and close NTTown
Step [6]: Open NTTownManager, add this variable to the top:
Paste it under:
[B.] Copy this code:
And paste it at the end of NTTownManager
Step [9]: Add the red:
Step [10]: Add the red:
Save and close NTConfig.
Step [12]: Copy a Sorcoress NTConfig and rename it like so:
Step [14]:
.: Amazon Jav/Bow Class Script :.
.:.:.:.:.:.:.: Version 1.6 June 24 2010 :.:.:.:.:.:.:.
NOTES BOWZON:
* MAKE SURE YOUR BOW IS ON THE LEFT WEAPON SLOT.
* Make sure on weapon swap (CTA) the left skill is on attack and on bow switch (Main) left skill is NOT attack. This is in case bot leaves on wrong weapon switch and cannot equip arrows.
* It would be best to start with no arrows in weapon slot or in inventory.
* If you are worried that for some strange reason the bot will drop the bow then you shouldn't use this script.
* Bot will only buy arrows/bolts if multiple shot is at least level 1. This is to prevent javazon from buying arrows. If Javazon has 1 into multiple shot then you are screwed lol
* While attacking, if the bot reaches low arrows/bolts it will TP and either buy new ones
* Crossbow/bolts supported
NOTES JAVAZON:
* Bot will repair javelins if they break while attacking
Quote:Here is a custom NTBaalWhat's different:
that I made, I have tested 50 runs with lightning fury with 100% success. Try it if you crash at throne and let me know how or if it works.
Bot uses clear-position to find monsters/wave instead of spamming a different kind of loop to find them
Option to clear worldstone 2 and 3 room/path
Paladin will engage the magic immune first on wave 2
add this to Char configure under boss config:
Quote:NTConfig_Script.push("NTBaal.ntj");
NTConfig_KillBaal = true;
NTConfig_ClearWorldStone1 = 0; // 0 = no, 1 = path, 2 = all
NTConfig_ClearWorldStone2 = 0; // 0 = no, 1 = path, 2 = all
NTConfig_TPMsg = "TP up"; //tp message
Quote:(OLD) Videos:Step [1]: Open NTAttack. At the top change:
BowZon at chaos sanc: YouTube - Bowzon D2NT
BowZon at Baal: YouTube - Baal-BowZon D2NT
JavZon at Baal: YouTube - Javazon Baal D2NT
JavZon at chaos sanc: YouTube - Javazon Chaos D2NT
Quote:for(var i = 0 ; i < 7 ; i++)to
Quote:for(var i = 0 ; i < 8 ; i++)Now add these case codes for spell range:
Code:
case 6: //Magic Arrow
case 7: //Fire Arrow
_NTA_SkillRange[i] = 15;
break;
case 10: //Jab
_NTA_SkillRange[i] = 3;
break;
case 11: //Cold Arrow
case 12: //Multiple Shot
case 16: //Exploding Arrow
case 21: //Ice arrow
case 22: //Guided arrow
_NTA_SkillRange[i] = 20;
break;
case 24: //Charged Strike
_NTA_SkillRange[i] = 3;
break;
case 25: //Plague jav
_NTA_SkillRange[i] = 10;
break;
case 26://Strafe
case 27://Immolation Arrow
_NTA_SkillRange[i] = 15;
break;
case 30: //Fend
_NTA_SkillRange[i] = 3;
break;
case 31: //Freezing arrow
_NTA_SkillRange[i] = 15;
break;
case 35: //Lightning Fury
_NTA_SkillRange[i] = 12;
break;
Code:
// Internal function
function NTA_AmazonAttackPatternInt()
Code:
function NTA_AmazonAttackPatternInt(), function NTA_AmazonAttackInt(target, firstorder), function NTA_AmazonCastSkillInt(index, target)
Save and close NTAttack.
If you don't plan to use a bowzon you can skip to number 20
Step [5][A]: Open NTTown, copy this code and paste it at the end of NTTown
[B.]Now find this code:
Code:
if(!_havespace)
{
if(NTT_CheckSpace(item.xsize, item.ysize))
_havespace = true;
}
Code:
if(!_havespace)
{
if(item.classid == 526 || item.classid == 528)
_havespace = true;
else if(NTT_CheckSpace(item.xsize, item.ysize))
_havespace = true;
}
Step [6]: Open NTTownManager, add this variable to the top:
Quote:var _NTTMGR_BuyArrows;Step [8][A]: Copy this code:
Code:
if(me.GetSkill(12, false) > 1)
{
_NTTMGR_BuyArrows = true;
if(NTC_InTown())
NTTMGR_CheckAmazonBow();
}
Code:
NTC_PutSkill(115, NTC_HAND_RIGHT);
Code:
function NTTMGR_CheckAmazonBow()
{
if(me.GetSkill(NTC_HAND_LEFT) == 0 || me.GetSkill(NTC_HAND_RIGHT) == 149 || me.GetSkill(NTC_HAND_RIGHT) == 155)
NTC_SwapWeapons();
var _weapon = me.GetItems();
if(_weapon)
{
for(var i = 0 ; i < _weapon.length ; i++)
{
if(_weapon[i].classid == 526 || _weapon[i].classid == 528)
{
if(_weapon[i].GetStat(70) <= 350 && _weapon[i].itemloc == 5 && _weapon[i].mode == 1)
{
SetUIState(0x01, true);
NTC_PingDelay(200);
NTC_ItemToCursor(_weapon[i]);
NTC_PingDelay(200);
NTC_ClearCursor();
NTC_PingDelay(200);
me.Cancel(1);
break;
}
}
}
}
}
Step [9]: Add the red:
Quote:if(_NTTMGR_DoRepair || _NTTMGR_BuyArrows)
NTTMGR_VisitCharsi();
Quote:if(_NTTMGR_DoHeal || _NTTMGR_RemoveCurse || _NTTMGR_DoRepair || _NTTMGR_BuyArrows)
NTTMGR_VisitFara();
Quote:if(_NTTMGR_DoRepair || _NTTMGR_BuyKey || _NTTMGR_BuyArrows)
NTTMGR_VisitHratli();
Quote:if(_NTTMGR_DoRepair || _NTTMGR_BuyArrows)
NTTMGR_VisitHalbu();
Quote:if(_NTTMGR_DoRepair || _NTTMGR_BuyArrows)
NTTMGR_VisitLarzuk();
Step [10]: Add the red:
Quote:function NTTMGR_VisitCharsi()
{
var _npc;
NTTM_TownMove("charsi");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_CHARSI, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(_NTTMGR_DoRepair || _NTTMGR_BuyArrows)
if(NTT_DoTrade(_npc))
if(_NTTMGR_DoRepair)
NTT_RepairItems(_npc);
if(_NTTMGR_BuyArrows)
NTT_FillArrows(_npc);
me.Cancel(1);
}
}
}
Quote:function NTTMGR_VisitFara()
{
var _npc;
NTTM_TownMove("fara");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_FARA, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(_NTTMGR_DoRepair || _NTTMGR_BuyArrows)
if(NTT_DoTrade(_npc))
if(_NTTMGR_DoRepair)
NTT_RepairItems(_npc);
if(_NTTMGR_BuyArrows)
NTT_FillArrows(_npc);
me.Cancel(1);
}
}
}
Quote:function NTTMGR_VisitHratli()
{
var _npc;
NTTM_TownMove("hratli");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_HRATLI, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(NTT_DoTrade(_npc))
{
if(_NTTMGR_DoRepair)
NTT_RepairItems(_npc);
if(_NTTMGR_BuyKey)
NTT_FillKey(_npc);
if(_NTTMGR_BuyArrows)
NTT_FillArrows(_npc);
}
me.Cancel(1);
}
}
}
Quote:function NTTMGR_VisitHalbu()
{
var _npc;
NTTM_TownMove("halbu");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_HALBU, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(_NTTMGR_DoRepair || _NTTMGR_BuyArrows)
if(NTT_DoTrade(_npc))
if(_NTTMGR_DoRepair)
NTT_RepairItems(_npc);
if(_NTTMGR_BuyArrows)
NTT_FillArrows(_npc);
me.Cancel(1);
}
}
}
Quote:function NTTMGR_VisitLarzuk()
{
var _npc;
NTTM_TownMove("larzuk");
_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_LARZUK, 5);
if(_npc)
{
if(NTT_DoInteract(_npc))
{
if(NTT_DoTrade(_npc))
if(_NTTMGR_DoRepair || _NTTMGR_BuyArrows)
if(_NTTMGR_DoRepair)
NTT_RepairItems(_npc);
if(_NTTMGR_BuyArrows)
NTT_FillArrows(_npc);
me.Cancel(1);
}
}
}
Quote:Finally, save and close NTTownManager.Step [11]: Open NTConfig and change:
Quote:var NTConfig_AttackSkill = new Array(7);to
Code:
var NTConfig_AttackSkill = new Array(8);
Step [12]: Copy a Sorcoress NTConfig and rename it like so:
Quote:NTConfig_Amazon_(charnamehere)Step [13]: Open the new config file.
Step [14]:
Quote://------------------------------------------------------------------------------Don't forget to config everything else (bosses, chicken settings, etc)
// Attack configuration
//------------------------------------------------------------------------------
//6 = Magic Arrow
//7 = Fire Arrow
//10 = Jab
//11 = Cold Arrow
//12 = Multiple Shot
//16 = Exploding Arrow
//21 = Ice Arrow
//22 = Guided Arrow
//24 = Charged Strike
//25 = Plague Jav
//26 = Strafe
//27 = Immolation Arrow
//30 = Fend
//31 = Freezing Arrow
//35 = Lightning Fury
NTConfig_AttackSkill[0] = 0; // First skill. Maybe slow missiles
NTConfig_AttackSkill[1] = 0; // Primary skill to super unique/champion.
NTConfig_AttackSkill[2] = 0; // Primary untimed skill to super unique/champion.
NTConfig_AttackSkill[3] = 0; // Primary skill to others.
NTConfig_AttackSkill[4] = 0; // Primary untimed skill to others.
NTConfig_AttackSkill[5] = 0; // Secondary skill in case monster is immune to primary skill.
NTConfig_AttackSkill[6] = 0; // Secondary untimed skill.
NTConfig_AttackSkill[7] = 0; // Primary skill to boss (diablo/baal/meph/etc) Not immune to spells I guess.
[SIGPIC]http://yfrog.com/mhskidudecopyg[/SIGPIC]