|
You last visited: Today at 13:39
Advertisement
Ntbot Assa config help
Discussion on Ntbot Assa config help within the Diablo 2 forum part of the Other Online Games category.
09/05/2009, 15:19
|
#1
|
elite*gold: 0
Join Date: Mar 2009
Posts: 37
Received Thanks: 8
|
Ntbot Assa config help
suche d2nt bot assa config plz mit bo usw.
|
|
|
09/05/2009, 18:12
|
#2
|
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,205
|
der gemoddete hat das.
es gibt auch dafür einen entsprechenden thread....
Code:
Include("config/NTConfig.ntl");
var NTConfig_CastShadowMaster;
var NTConfig_CastShadowWarrior;
var NTConfig_CastBrustOfSpeed;
var NTConfig_CastFade;
var NTConfig_CastBladeShield;
var NTConfig_CastCloakOfShadows;
function NT_LoadConfig()
{
//------------------------------------------------------\\
// Modified by CyberVirus \\
// >>> www.forums.d2trade.pl <<< \\
//------------------------------------------------------\\
//---------------------------------------------------------------------------------------------------------------------------\\
// "Script & Boss Configuration": \\
//---------------------------------------------------------------------------------------------------------------------------\\
//------------------------\\
// "Public Baal Settings" \\
//------------------------\\
Baal_WelcomeMessage = "Welcome to my baal runs!" //What to say at beginning of game.
Baal_TpUpMessage = "TP up. Might be hot!" //What to say when bot opens TP.
Baal_KillBaalMessage = "Let's kill baal! Sorcs, please static." //What to say after last wave, before entering chamber.
Baal_NextGameMessage = "NG!" //What to say after killing Baal.
NTConfig_BRWisperToFriendList = true; //Set to true to whisper GN+PW to your friend list.
//--------------------------\\
// "Public Diablo Settings: \\
//--------------------------\\
Diablo_WelcomeMessage = "Welcome to my chaos runs!" //What to say at beginning of game.
Diablo_TpUpMessage = "TP up. Might be hot!" //What to say when bot opens TP.
Diablo_KillDiabloMessage = "Diablo time! Stay out of star!" //What to say before engaging Diablo.
Diablo_NextGameMessage = "NG!" //What to say after killing Diablo.
NTConfig_DRWisperToFriendList = true; //Set to true to whisper GN+PW to your friend list.
//-------------------------------------\\
// "Public Tal-Rasha's Tombs Settings" \\
//-------------------------------------\\
TalRasha_TpUpMessage = "TP up. Might be hot!" //What to say when bot opens TP.
TalRasha_AfterOpeningTpMessage = "Stay Close!" //What to say after bot opens TP.
TalRasha_AfterCleaningTombMessage = "Tomb clear! Take my TP to town and wait for next tomb!" //What to say when bot has cleared a tomb.
TalRasha_NextGameMessage = "NG!" //What to say after all tombs are cleared.
NTConfig_TombWisperToFriendList = true; //Set to true to whisper GN+PW to your friend list.
//----------------\\
// "Public Boss": \\
//----------------\\
//NTConfig_Script.push("NTPublicDiablo.ntj"); // Uncomment (remove "//" at beginning of line) to do public Diablo runs.
NTConfig_MakeTpOnStartChaosSanctuary = false; // Set to true to make TP when entering Chaos Sanctuary.
NTConfig_MakeTpOnPentagramCenter = true; // Set to true to make tp on Diablo's pentagram.
//NTConfig_Script.push("NTPublicBaal.ntj"); // Uncomment to do public Baal runs.
NTConfig_PublicKillBaal = true; // Set to true to kill Baal, false to only kill minions.
//NTConfig_Script.push("NTPublicTalRashasTomb.ntj"); // Uncomment to do public Tomb runs.
//---------------\\
// "Act I Boss": \\
//---------------\\
//NTConfig_Script.push("NTBishibosh_ENG.ntj");
//NTConfig_Script.push("NTRakanishu_ENG.ntj");
NTConfig_ClearTristram = false; // Set to true to clear Tristram
NTConfig_MooMooFarm = false; // Set to true to pick up Wirt's leg and make portal to Cow Level. (COW LEVEL SCRIPT NOT YET IMPLEMENTED!!)
//NTConfig_Script.push("NTBloodRaven.ntj");
NTConfig_Bishibosh_ENG_Extension = false; // Set to true to go to Bishibosh after killing Blood Raven.
NTConfig_ClearMausoleum = false; // Clear Mausoleum after killing Blood Raven.
NTConfig_ClearCrypt = false; // Clear Crypt after killing Blood Raven.
//NTConfig_Script.push("NTPit.ntj");
NTConfig_ClearTamoeHighLand = false; // Set to true to clear Tamoe Highland. o_O
NTConfig_ClearPitLevel1 = 0; // 0 = Straight to level 2 // 1 = Clear path to level 2 // 2 = Clear everything
//NTConfig_Script.push("NTCountess.ntj");
//NTConfig_Script.push("NTTheSmith.ntj");
//NTConfig_Script.push("NTAndariel.ntj");
NTConfig_ClearAndarielThron = false; // Set to true to clear Andariel's room after killing her.
//----------------\\
// "Act II Boss": \\
//----------------\\
//NTConfig_Script.push("NTRadament.ntj");
//NTConfig_Script.push("NTAncientTunnels.ntj");
//NTConfig_Script.push("NTSummoner.ntj");
NTConfig_FireEyeExtension = true; // Set to true to kill Fireeye after killing Summoner.
//NTConfig_Script.push("NTFastTalRashasTomb.ntj"); //Should not be used in public runs.
//NTConfig_Script.push("NTDuriel.ntj");
//-----------------\\
// "Act III Boss": \\
//-----------------\\
//NTConfig_Script.push("NTTravincal.ntj");
//NTConfig_Script.push("NTMephisto.ntj");
NTConfig_KillCouncilMembers = true; // Set to true to kill council members.
//----------------\\
// "Act IV Boss": \\
//----------------\\
//NTConfig_Script.push("NTHephasto.ntj");
//NTConfig_Script.push("NTFastDiablo.ntj"); //Should not be used in public runs.
//---------------\\
// "Act V Boss": \\
//---------------\\
//NTConfig_Script.push("NTThreshSocket.ntj");
//NTConfig_Script.push("NTEldritch.ntj");
NTConfig_ShenkExtension = true; // Set to true to kill Shenk after killing Eldritch.
NTConfig_DacFarrenExtension = true; // Set to true to kill Dac Farren after Shenk, or Eldritch if Shenk = false
//NTConfig_Script.push("NTPindleskinByWP.ntj"); // Kill Pindleskin by using Halls of Pain WP.
//NTConfig_Script.push("NTPindleskin.ntj"); // Kill Pindleskin by using Anya's portal.
NTConfig_NihlathakExtension = false; // Set to true to to Nihlathak after killing Pindleskin through portal.
//NTConfig_Script.push("NTNihlathak.ntj");
NTConfig_PindleskinExtension = false; // Set to true to go to Pindleskin after killing Nihlathak.
//NTConfig_Script.push("NTFrozenstein.ntj");
NTConfig_ClearFrozenRiver = false; // Set to true to clear Frozen River before killing Frozenstein.
//NTConfig_Script.push("NTGlacialTrail.ntj");
NTConfig_ClearGlacialTrail = false; // Set to true to clear Glacial Trail.
//NTConfig_Script.push("NTIcyCellar.ntj");
NTConfig_ClearIcyCellar = false; // Set to true to clear Icy Cellar.
//NTConfig_Script.push("NTFastBaal.ntj"); // Should not be used in public runs.
NTConfig_KillBaal = true; // Set to true to kill Baal, false to only kill minions.
//---------------------------------------------------\\
// "Chicken, Merc & Others Parametrs Configuration": \\
//---------------------------------------------------\\
me.maxgametime = 0; // Maximum game time (in seconds) before Save & Exit. 600 seconds = 10 minutes.
NTConfig_PrintCoord = false; // Set to true to print coordinates.
NTConfig_StartDelay = 0; // Time (in milliseconds) to wait after game has started.
NTConfig_AreaDelay = 500; // Time to wait (in milliseconds) after entering a new area.
NTConfig_SnagDelay = 500; // Time to wait (in milliseconds) after killing (a boss) to pick items.
NTConfig_SkipHealLife = 90; // If over this amount of Health (%) after entering town, don't go to heal.
NTConfig_SkipHealMana = 70; // If over this amount of Mana (%) after entering town, don't go to heal.
NTConfig_SkipHealCurses = false; // Set to true to NOT go to healer when cursed.
NTConfig_UseMerc = true; // Set to true to use a merc, set to false to not.
NTConfig_ResetWeapon = true; // Set to true to re-equip your merc's weapon after ressurecting him.
NTConfig_LifeThresh = 60; // The amount of health (%) remaining before drinking a Healing Potion.
NTConfig_LifeRejuvThresh = 40; // The amount of health (%) remaining before drinking a Rejuv Potion.
NTConfig_ManaThresh = 30; // The amount of mana (%) remaining before drinking a Mana Potion.
NTConfig_ManaRejuvThresh = 10; // The amount of mana (%) remaining before drinking a Rejuv Potion.
NTConfig_LifeChicken = 30; // The amount of health (%) remaining before chickening (Save & Exit).
NTConfig_ManaChicken = 0; // The amount of mana (%) remaining before chickening (Save & Exit).
NTConfig_ViperSkipNihlathak = false; // Set to true to skip Nihlathak if Tomb Vipers are nearby.
NTConfig_QuitOnHostile = true; // Set to true to chicken if someone hostiles you.
NTConfig_MercLifeThresh = 60; // The amount of health (%) remaining on your Merc before giving him a Healing Potion.
NTConfig_MercRejuvThresh = 40; // The amount of health (%) remaining on your Merc before giving him a Rejuv Potion.
NTConfig_MercChicken = 0; // The amount of health (%) remaining on your Merc before chickeining. 0 = Don't chicken.
//--------------------------------------------------------------------------------------------------------------------------\\
// "Inventory Configuration": \\
//--------------------------------------------------------------------------------------------------------------------------\\
NTConfig_FreeSpace = 8; // Number of rows of free space in your inventory.
NTConfig_Columns[0] = [1,1,1,1,1,1,1,1,0,0];
NTConfig_Columns[1] = [1,1,1,1,1,1,1,1,0,0];
NTConfig_Columns[2] = [1,1,1,1,1,1,1,1,0,0];
NTConfig_Columns[3] = [1,1,1,1,1,1,1,1,0,0];
NTConfig_MinGoldToStash = 100000; // Minimum amount of gold in inventory before stashing.
//---------------------------------------------------------------------------------------------------------------------------\\
// "Belt Configuration": \\
// -Define which potions should go in which belt slot, from left to right. \\
// -Healing Potion = "hp" Mana Potion = "mp" Rejuv Potion = "rv" \\
//---------------------------------------------------------------------------------------------------------------------------\\
NTConfig_BeltColType[0] = "hp";
NTConfig_BeltColType[1] = "mp";
NTConfig_BeltColType[2] = "rv";
NTConfig_BeltColType[3] = "rv";
//-----------------------------------------------------------------------------------------------\\
// Minimum amount of potions in each belt slot before re-stocking. \\ \\
//-----------------------------------------------------------------------------------------------\\
NTConfig_BeltColMin[0] = 4;
NTConfig_BeltColMin[1] = 4;
NTConfig_BeltColMin[2] = 0;
NTConfig_BeltColMin[3] = 0;
//-----------------------------------------------------------------------------------------\\
// "SnagIt Configuration": \\
//-----------------------------------------------------------------------------------------\\
// Uncomment the SnagIt file(S) you wish to use. \\
//-----------------------------------------------------------------------------------------\\
//NTConfig_NIPFilePath.push("normal.nip");
NTConfig_NIPFilePath.push("elite.nip");
NTConfig_SnagRange = 50; // The range to pick up items. 40-50 is a good number here.
NTConfig_OpenChest = true; // Set to true to open chests and weapon/armor racks. This will make the bot buy a key.
//---------------------------------------------------------\\
// "Cubing Configuration": \\
//---------------------------------------------------------\\
NTConfig_Cubing = false; // Set to true to enable cubing script.
//NTConfig_CubingItem.push(["gcw",0,3]); // Chipped Diamond gcw
//NTConfig_CubingItem.push(["gcv",0,3]); // Chipped Amethyst gcv
//NTConfig_CubingItem.push(["gcb",0,3]); // Chipped Saphire gcb
//NTConfig_CubingItem.push(["gcy",0,3]); // Chipped Topaz gcy
//NTConfig_CubingItem.push(["gcr",0,3]); // Chipped Ruby gcr
//NTConfig_CubingItem.push(["gcg",0,3]); // Chipped Emerald gcg
//NTConfig_CubingItem.push(["skc",0,3]); // Chipped Skull skc
//NTConfig_CubingItem.push(["gfw",0,3]); // Flawed Diamond gfw
//NTConfig_CubingItem.push(["gfv",0,3]); // Flawed Amethyst gfv
//NTConfig_CubingItem.push(["gfb",0,3]); // Flawed Saphire gfb
//NTConfig_CubingItem.push(["gfy",0,3]); // Flawed Topaz gfy
//NTConfig_CubingItem.push(["gfr",0,3]); // Flawed Ruby gfr
//NTConfig_CubingItem.push(["gfg",0,3]); // Flawed Emerald gfg
//NTConfig_CubingItem.push(["skf",0,3]); // Flawed Skull skf
//NTConfig_CubingItem.push(["gsw",0,3]); // Normal Diamond gsw
//NTConfig_CubingItem.push(["gsv",0,3]); // Normal Amethyst gsv
//NTConfig_CubingItem.push(["gsb",0,3]); // Normal Saphire gsb
//NTConfig_CubingItem.push(["gsy",0,3]); // Normal Topaz gsy
//NTConfig_CubingItem.push(["gsr",0,3]); // Normal Ruby gsr
//NTConfig_CubingItem.push(["gsg",0,3]); // Normal Emerald gsg
//NTConfig_CubingItem.push(["sku",0,3]); // Normal Skull sku
//NTConfig_CubingItem.push(["glw",0,3]); // Flawless Diamond glw
//NTConfig_CubingItem.push(["gzv",0,3]); // Flawless Amethyst gzv
//NTConfig_CubingItem.push(["glb",0,3]); // Flawless Saphire glb
//NTConfig_CubingItem.push(["gly",0,3]); // Flawless Topaz gly
//NTConfig_CubingItem.push(["glr",0,3]); // Flawless Ruby glr
//NTConfig_CubingItem.push(["glg",0,3]); // Flawless Emerald glg
//NTConfig_CubingItem.push(["skl",0,3]); // Flawless Skull skl
//NTConfig_CubingItem.push(["r01",0,3]); // El Rune r01
//NTConfig_CubingItem.push(["r02",0,3]); // Eld Rune r02
//NTConfig_CubingItem.push(["r03",0,3]); // Tir Rune r03
//NTConfig_CubingItem.push(["r04",0,3]); // Nef Rune r04
//NTConfig_CubingItem.push(["r05",0,3]); // Eth Rune r05
//NTConfig_CubingItem.push(["r06",0,3]); // Ith Rune r06
//NTConfig_CubingItem.push(["r07",0,3]); // Tal Rune r07
//NTConfig_CubingItem.push(["r08",0,3]); // Ral Rune r08
//NTConfig_CubingItem.push(["r09",0,3]); // Ort Rune r09
//NTConfig_CubingItem.push(["r10",0,3,"gcy",0,1]); // Thul Rune + chipped Topaz r10 + gcy
//NTConfig_CubingItem.push(["r11",0,3,"gcv",0,1]); // Amn Rune + chipped Amethyst r11 + gcv
//NTConfig_CubingItem.push(["r12",0,3,"gcb",0,1]); // Sol Rune + chipped Saphire r12 + gcb
//NTConfig_CubingItem.push(["r13",0,3,"gcr",0,1]); // Shael Rune + chipped Ruby r13 + gcr
//NTConfig_CubingItem.push(["r14",0,3,"gcg",0,1]); // Dol Rune + chipped Emerald r14 + gcg
//NTConfig_CubingItem.push(["r15",0,3,"gcw",0,1]); // Hel Rune + chipped Diamond r15 + gcw
//NTConfig_CubingItem.push(["r16",0,3,"gfy",0,1]); // Io Rune + flawed Topaz r16 + gfy
//NTConfig_CubingItem.push(["r17",0,3,"gfv",0,1]); // Lum Rune + flawed Amethyst r17 + gfv
//NTConfig_CubingItem.push(["r18",0,3,"gfb",0,1]); // Ko Rune + flawed Saphire r18 + gfb
//NTConfig_CubingItem.push(["r19",0,3,"gfr",0,1]); // Fal Rune + flawed Ruby r19 + gfr
//NTConfig_CubingItem.push(["r20",0,3,"gfg",0,1]); // Lem Rune + flawed Emerald r20 + gfg
//NTConfig_CubingItem.push(["r21",0,2,"gfw",0,1]); // Pul Rune + flawed Diamond r21 + gfw
//NTConfig_CubingItem.push(["r22",0,2,"gsy",0,1]); // Um Rune + Topaz r22 + gsy
//NTConfig_CubingItem.push(["r23",0,2,"gsv",0,1]); // Mal Rune + Amethyst r23 + gsv
//NTConfig_CubingItem.push(["r24",0,2,"gsb",0,1]); // Ist Rune + Saphire r24 + gsb
//NTConfig_CubingItem.push(["r25",0,2,"gsr",0,1]); // Gul Rune + Ruby r25 + gsr
//NTConfig_CubingItem.push(["r26",0,2,"gsg",0,1]); // Vex Rune + Emerald r26 + gsg
//NTConfig_CubingItem.push(["r27",0,2,"gsw",0,1]); // Ohm Rune + Diamond r27 + gsw
//NTConfig_CubingItem.push(["r28",0,2,"gly",0,1]); // Lo Rune + flawless Topaz r28 + gly
//NTConfig_CubingItem.push(["r29",0,2,"gzv",0,1]); // Sur Rune + flawless Amethyst r29 + gzv
//NTConfig_CubingItem.push(["r30",0,2,"glb",0,1]); // Ber Rune + flawless Saphire r30 + glb
//NTConfig_CubingItem.push(["r31",0,2,"glr",0,1]); // Jah Rune + flawless Ruby r31 + gll
//NTConfig_CubingItem.push(["r32",0,2,"glg",0,1]); // Cham Rune + flawless Emerald r32 + glg
NTConfig_CubingItem.push(["leg",0,1,"tbk",0,1]); // Wirt's Leg + Tome of Town Portal leg + tbk
//--------------------------------------------------------------------------------------------------------\\
// "Gamble Configuration": \\
//--------------------------------------------------------------------------------------------------------\\
NTConfig_Gamble = true; // Set to true to enable gambling.
NTConfig_GambleStopGold = 300000; // Set the amount of gold remaining before stopping the gambling script.
NTConfig_GambleItem.push("rin"); // Rings
NTConfig_GambleItem.push("amu"); // Amulets
NTConfig_GambleItem.push("ci0"); // Circlets
NTConfig_GambleItem.push("ci1"); // Coronets
//NTConfig_GambleItem.push("lgl"); // Leather Gloves
//NTConfig_GambleItem.push("vgl"); // Heavy Gloves
//NTConfig_GambleItem.push("mgl"); // Chain Gloves
//NTConfig_GambleItem.push("tgl"); // Light Gauntlets
//NTConfig_GambleItem.push("hgl"); // Gauntlets
//----------------------------------------------------------------------------------------------------------\\
// "Assassin Attack Configuration" \\
//----------------------------------------------------------------------------------------------------------\\
// A list of spell ID's can be found in Scripts\libs\config\Skill_IDs.txt \\
//----------------------------------------------------------------------------------------------------------\\
// |Traps|: 271:Lightning Sentry, 276:Death Sentry, 256:Shock Field, 258:Quickness \\
//--------------------------------------------------------------------------------------------------------- \\
// |Shadows Disciplines|: 273:Mind Blast, 253:Psychic Hammer, 278:Venom \\
//--------------------------------------------------------------------------------------------------------- \\
// |Martial Arts|: 275:Dragon Flight, 270:Dragon Tail, 274:Blades of Ice \\
//----------------------------------------------------------------------------------------------------------\\
NTConfig_AttackSkill[0] = 0; // Cast your first spell once. Set to 0 if you won't.
NTConfig_AttackSkill[1] = 0; // Cast your primary spell to bosses.
NTConfig_AttackSkill[2] = 0; // Cast your primary spell to others.
NTConfig_AttackSkill[3] = 0; // Cast your primary untimed spell if primary spell is timed spell. Set to 0 if you won't.
NTConfig_AttackSkill[4] = 0; // Cast your secondary spell if monster is immune to your primary spell. Set to 0 if you won't.
NTConfig_AttackSkill[5] = 0; // Cast your secondary untimed spell if secondary spell is timed spell. Set to 0 if you won't.
NTConfig_ClearPosition = true; // Set to true if you want to clear area after killing boss.
NTConfig_CheckSafe = true; // Set to true to check for curses, merc and potion (go to town if needed)
NTConfig_CastShadowMaster = false; // Set to true to cast "Shadow Master".
NTConfig_CastShadowWarrior = true; // Set to true to cast "Shadow Warrior".
NTConfig_CastBrustOfSpeed = false; // Set to true to cast "Brust Of Speed".
NTConfig_CastFade = true; // Set to true to cast "Fade".
NTConfig_CastBladeShield = true; // Set to true to cast "Blade Shield".
NTConfig_CastCloakOfShadows = true; // Set to true to cast "Cloak Of Shadows".
}
hier is noch die Attack.ntl
Code:
const NTA_DAMAGE_NONE = 0;
const NTA_DAMAGE_PHYSICAL = 1;
const NTA_DAMAGE_MAGIC = 2;
const NTA_DAMAGE_FIRE = 3;
const NTA_DAMAGE_LIGHTNING = 4;
const NTA_DAMAGE_COLD = 5;
const NTA_DAMAGE_POISON = 6;
var _NTA_SkillHand = new Array(6);
var _NTA_SkillDamage = new Array(6);
var _NTA_SkillDelay = new Array(6);
function NTA_Initialize()
{
for(var i = 0 ; i < 6 ; i++)
{
if(NTConfig_AttackSkill[i] > 0)
{
_NTA_SkillHand[i] = GetBaseStat("skills.txt", NTConfig_AttackSkill[i], 166) ? 2 : NTC_HAND_RIGHT;
_NTA_SkillDamage[i] = NTA_GetDamageType(NTConfig_AttackSkill[i]);
_NTA_SkillDelay[i] = NTC_GetCastDelay(NTConfig_AttackSkill[i]);
}
}
}
function NTA_KillBoss(classid)
{
var _target;
if(NTConfig_AttackSkill[1] < 1)
return false;
_target = NTC_FindMonster(classid);
if(_target)
{
if(NTConfig_AttackSkill[0] > 0 && NTA_GetResistance(_target, _NTA_SkillDamage[0]) < 100)
NTC_DoCast(NTConfig_AttackSkill[0], _NTA_SkillHand[0], _target);
return NTA_Attack(_target, true, 100);
}
return false;
}
function NTA_ClearPosition(range, spectype)
{
var _orgx, _orgy;
var _target;
var _killnum = 0;
if(NTConfig_AttackSkill[2] < 1)
return false;
if(arguments.length < 1)
range = 20;
if(arguments.length < 2)
spectype = 0;
_orgx = me.x;
_orgy = me.y;
for(var i = 0 ; i < 2 ; i++)
{
_target = NTC_GetUnit(NTC_UNIT_MONSTER);
if(_target)
{
do
{
if(NTA_IsValidTarget(_target) && (spectype == 0 || (_target.spectype & spectype)) && GetDistance(_orgx, _orgy, _target.x, _target.y) < range)
{
if(_killnum == 0)
{
if(NTConfig_AttackSkill[0] > 0 && NTA_GetResistance(_target, _NTA_SkillDamage[0]) < 100 && CheckCollision(me, _target, 3))
NTC_DoCast(NTConfig_AttackSkill[0], _NTA_SkillHand[0], _target);
}
if(NTA_Attack(_target, false, 20))
_killnum++;
}
} while(_target.GetNext());
}
}
if(me.classid == NTC_CHAR_CLASS_PALADIN)
{
if(NTConfig_CastRedemption && _killnum > 1 && NTC_PutSkill(124, NTC_HAND_RIGHT))
NTC_PingDelay(1000);
}
return (_killnum > 0);
}
function NTA_ClearRooms()
{
var _room;
var _rooms;
_room = GetRoom();
if(!_room)
return false;
_rooms = new Array();
do
{
_rooms.push([parseInt(_room.x*5 + _room.xsize*5/2), parseInt(_room.y*5 + _room.ysize*5/2)]);
} while(_room.GetNext());
while(_rooms.length > 0)
{
_rooms.sort(NTA_SortRoomInt);
_room = _rooms.shift();
NTM_MoveTo(me.areaid, _room[0], _room[1], 0, true);
NTP_DoPrecastCTA(true);
}
return true;
}
function NTA_IsValidTarget(monster, simple)
{
if(!monster || monster.type != NTC_UNIT_MONSTER)
return false;
if(monster.hp <= 0 || monster.mode == 0 || monster.mode == 12)
return false;
if(((monster.classid >= 110 && monster.classid <= 113) || monster.classid == 608) && monster.mode == 8) // ignore flying scavengers
return false;
if(monster.classid == 68 && monster.mode == 14) // ignore burrowing maggots
return false;
if((monster.classid == 258 || monster.classid == 261) && monster.mode == 14) // ignore submerged WaterWatchers
return false;
if(monster.GetState(53) || monster.GetState(96)) // Conversion, Revive
return false;
if(arguments.length < 2)
simple = false;
if(!simple)
{
var _name;
var _parent;
// dummy
_name = GetBaseStat("monstats.txt", monster.classid, 5);
if(!_name || _name.toLowerCase() == "dummy")
return false;
// killable
if(!GetBaseStat("monstats.txt", monster.classid, 89))
return false;
// neverCount
if(GetBaseStat("monstats.txt", monster.classid, 93))
return false;
_parent = monster.GetParent();
if(_parent && _parent.type == NTC_UNIT_PLAYER && !GetPlayerFlag(_parent.gid, me.gid, 8))
return false;
}
return true;
}
function NTA_GetDamageType(skillid)
{
var _etype;
if(skillid == 74) // Corpse Explosion
return NTA_DAMAGE_PHYSICAL;
if(skillid == 112) // Blessed Hammer
return NTA_DAMAGE_NONE;
_etype = GetBaseStat("skills.txt", skillid, 233);
switch(_etype)
{
case "cold": return NTA_DAMAGE_COLD;
case "fire": return NTA_DAMAGE_FIRE;
case "ltng": return NTA_DAMAGE_LIGHTNING;
case "mag": return NTA_DAMAGE_MAGIC;
case "pois": return NTA_DAMAGE_POISON;
case "stun": return NTA_DAMAGE_NONE;
default:
if(GetBaseStat("skills.txt", skillid, 178) || GetBaseStat("skills.txt", skillid, 182)) // aura or passive
return NTA_DAMAGE_NONE;
}
return NTA_DAMAGE_PHYSICAL;
}
function NTA_GetResistance(enemy, type)
{
if(!enemy)
return false;
if(arguments.length == 2)
{
switch(type)
{
case NTA_DAMAGE_PHYSICAL:
return enemy.GetStat(36);
case NTA_DAMAGE_MAGIC:
return enemy.GetStat(37);
case NTA_DAMAGE_FIRE:
return enemy.GetStat(39);
case NTA_DAMAGE_LIGHTNING:
return enemy.GetStat(41);
case NTA_DAMAGE_COLD:
return enemy.GetStat(43);
case NTA_DAMAGE_POISON:
return enemy.GetStat(45);
}
}
return 0;
}
function NTA_Attack(target, boss, maxattacks)
{
switch(me.classid)
{
case NTC_CHAR_CLASS_AMAZON:
return NTA_AmazonAttackInt(target, boss, maxattacks);
case NTC_CHAR_CLASS_SORCERESS:
return NTA_SorceressAttackInt(target, boss, maxattacks);
case NTC_CHAR_CLASS_NECROMANCER:
return NTA_NecromancerAttackInt(target, boss, maxattacks);
case NTC_CHAR_CLASS_PALADIN:
return NTA_PaladinAttackInt(target, boss, maxattacks);
case NTC_CHAR_CLASS_BARBARIAN:
return NTA_BarbarianAttackInt(target, boss, maxattacks);
case NTC_CHAR_CLASS_DRUID:
return NTA_DruidAttackInt(target, boss, maxattacks);
case NTC_CHAR_CLASS_ASSASSIN:
return NTA_AssassinAttackInt(target, boss, maxattacks);
}
return false;
}
// Internal function
function NTA_AmazonAttackInt(target, boss, maxattacks)
{
return false;
}
function NTA_SorceressAttackInt(target, boss, maxattacks)
{
var _primaryindex;
var _maxattacks = 0;
var _range1, _range2;
var _prehp;
_primaryindex = boss ? 1 : 2;
switch(NTConfig_AttackSkill[_primaryindex])
{
case 48: // Nova
_range1 = 10;
break;
default:
_range1 = 20;
break;
}
switch(NTConfig_AttackSkill[4])
{
case 48: // Nova
_range2 = 10;
break;
default:
_range2 = 20;
break;
}
if(NTConfig_CastStatic < 100)
{
var _staticlevel = NTC_CheckSkill(42);
if(_staticlevel > 0 && NTA_GetResistance(target, NTA_DAMAGE_LIGHTNING) < 100)
{
var _cast = 0;
var _staticrange = Math.floor((5+_staticlevel-1)*2/3);
while(_cast++ < 10 && NTA_IsValidTarget(target, true) && parseInt(target.hp*100/target.hpmax) > NTConfig_CastStatic && (boss || CheckCollision(me, target, 2)))
{
NTA_MoveCloseInt(target, _staticrange);
if(!NTC_DoCast(42, NTC_HAND_RIGHT, target))
{
if(!boss)
break;
}
}
}
}
_prehp = target.hp;
while(_maxattacks++ < maxattacks && NTA_IsValidTarget(target, true))
{
if(!CheckCollision(me, target, 3))
{
if(boss)
NTA_MoveCloseInt(target, Math.round(GetDistance(me, target)/2));
else if(me.areaid != 131)
return false;
}
if(NTA_GetResistance(target, _NTA_SkillDamage[_primaryindex]) < 100)
{
if((_maxattacks % 2) == 1)
{
if(!NTA_MoveCloseInt(target, _range1) && !boss)
return false;
}
NTA_DoCastInt(_primaryindex, target);
}
else if(NTConfig_AttackSkill[4] > 0 && NTA_GetResistance(target, _NTA_SkillDamage[4]) < 100)
{
if((_maxattacks % 2) == 1)
{
if(!NTA_MoveCloseInt(target, _range2) && !boss)
return false;
}
NTA_DoCastInt(4, target);
}
else
{
if(boss)
{
if((_maxattacks % 2) == 1)
NTA_MoveCloseInt(target, _range1);
NTA_DoCastInt(_primaryindex, target);
}
else
return false;
}
if(boss)
{
if((_maxattacks % 4) == 0 && target.hp >= _prehp)
{
if(target.classid == 526)
return false;
}
if((_maxattacks % 8) == 0)
{
if(target.hp < _prehp)
_prehp = target.hp;
else
return false;
}
}
else
{
if((_maxattacks % 4) == 0)
{
if(target.hp < _prehp)
_prehp = target.hp;
else
return false;
}
}
if(NTConfig_CheckSafe)
{
if(!NTTMGR_CheckSafe(1))
return false;
}
}
return true;
}
function NTA_NecromancerAttackInt(target, boss, maxattacks)
{
var _primaryindex;
var _maxattacks = 0;
var _range1, _range2;
var _prehp;
_primaryindex = boss ? 1 : 2;
switch(NTConfig_AttackSkill[_primaryindex])
{
case 67: // Teeth
case 84: // Bone Spear
case 93: // Bone Spirit
_range1 = 10;
break;
default:
_range1 = 20;
break;
}
switch(NTConfig_AttackSkill[4])
{
case 67: // Teeth
case 84: // Bone Spear
case 93: // Bone Spirit
_range2 = 10;
break;
default:
_range2 = 20;
break;
}
_prehp = target.hp;
while(_maxattacks++ < maxattacks && NTA_IsValidTarget(target, true))
{
if(!CheckCollision(me, target, 3))
{
if(boss)
NTA_MoveCloseInt(target, Math.round(GetDistance(me, target)/2));
else if(me.areaid != 131)
return false;
}
if(NTA_GetResistance(target, _NTA_SkillDamage[_primaryindex]) < 100)
{
if((_maxattacks % 2) == 1)
{
if(!NTA_MoveCloseInt(target, _range1) && !boss)
return false;
}
NTA_DoCastInt(_primaryindex, target);
}
else if(NTConfig_AttackSkill[4] > 0 && NTA_GetResistance(target, _NTA_SkillDamage[4]) < 100)
{
if((_maxattacks % 2) == 1)
{
if(!NTA_MoveCloseInt(target, _range2) && !boss)
return false;
}
NTA_DoCastInt(4, target);
}
else
{
if(boss)
{
if((_maxattacks % 2) == 1)
NTA_MoveCloseInt(target, _range1);
NTA_DoCastInt(_primaryindex, target);
}
else
return false;
}
if(boss)
{
if((_maxattacks % 4) == 0 && target.hp >= _prehp)
{
if(target.classid == 526)
return false;
}
if((_maxattacks % 8) == 0)
{
if(target.hp < _prehp)
_prehp = target.hp;
else
return false;
}
}
else
{
if((_maxattacks % 4) == 0)
{
if(target.hp < _prehp)
_prehp = target.hp;
else
return false;
}
}
if(NTConfig_CheckSafe)
{
if(!NTTMGR_CheckSafe(1))
return false;
}
}
return true;
}
function NTA_PaladinAttackInt(target, boss, maxattacks)
{
var _primaryindex;
var _maxattacks = 0;
var _range1, _range2;
var _prehp1, _prehp2;
var _nohit = true;
_primaryindex = boss ? 1 : 2;
switch(NTConfig_AttackSkill[_primaryindex])
{
case 101: // Holy Bolt
case 121: // Fist of the Heavens
_range1 = 20;
break;
default:
_range1 = 2;
break;
}
switch(NTConfig_AttackSkill[4])
{
case 101: // Holy Bolt
case 121: // Fist of the Heavens
_range2 = 20;
break;
default:
_range2 = 2;
break;
}
_prehp1 = target.hp;
while(_maxattacks++ < maxattacks && NTA_IsValidTarget(target, true))
{
if(!CheckCollision(me, target, 3))
{
if(boss)
{
if(NTConfig_AttackSkill[_primaryindex] == 101 || NTConfig_AttackSkill[_primaryindex] == 121)
NTA_MoveCloseInt(target, Math.round(GetDistance(me, target)/2));
}
else if(me.areaid != 131)
return false;
}
_prehp2 = target.hp;
if(NTA_GetResistance(target, _NTA_SkillDamage[_primaryindex]) < 100)
{
if((_maxattacks % 2) == 1 && _nohit)
{
if(NTConfig_AttackSkill[_primaryindex] == 112)
{
if(!NTM_MoveTo(target.areaid, target.x+1, target.y, 0) && !boss)
return false;
}
else
{
if(!NTA_MoveCloseInt(target, _range1) && !boss)
return false;
}
if(NTConfig_PutAura > 0)
NTC_PutSkill(NTConfig_PutAura, NTC_HAND_RIGHT);
}
NTA_DoCastInt(_primaryindex, target);
}
else if(NTConfig_AttackSkill[4] > 0 && NTA_GetResistance(target, _NTA_SkillDamage[4]) < 100)
{
if((_maxattacks % 2) == 1 && _nohit)
{
if(NTConfig_AttackSkill[4] == 112)
{
if(!NTM_MoveTo(target.areaid, target.x+1, target.y, 0) && !boss)
return false;
}
else
{
if(!NTA_MoveCloseInt(target, _range2) && !boss)
return false;
}
if(NTConfig_PutAura > 0)
NTC_PutSkill(NTConfig_PutAura, NTC_HAND_RIGHT);
}
NTA_DoCastInt(4, target);
}
else
{
if(boss)
{
if((_maxattacks % 2) == 1 && _nohit)
{
if(NTConfig_AttackSkill[_primaryindex] == 112)
NTM_MoveTo(target.areaid, target.x+1, target.y, 0);
else
NTA_MoveCloseInt(target, _range1);
if(NTConfig_PutAura > 0)
NTC_PutSkill(NTConfig_PutAura, NTC_HAND_RIGHT);
}
NTA_DoCastInt(_primaryindex, target);
}
else
return false;
}
if(boss)
{
if((_maxattacks % 8) == 0)
{
if(target.hp < _prehp1)
_prehp1 = target.hp;
else
return false;
}
}
else
{
if((_maxattacks % 4) == 0)
{
if(target.hp < _prehp1)
_prehp1 = target.hp;
else
return false;
}
}
_nohit = (target.hp >= _prehp2);
if(NTConfig_CheckSafe)
{
if(!NTTMGR_CheckSafe(1))
return false;
}
}
return true;
}
function NTA_BarbarianAttackInt(target, boss, maxattacks)
{
return false;
}
function NTA_DruidAttackInt(target, boss, maxattacks)
{
var _primaryindex;
var _maxattacks = 0;
var _range1, _range2;
var _prehp1, _prehp2;
var _nohit = true;
_primaryindex = boss ? 1 : 2;
switch(NTConfig_AttackSkill[_primaryindex])
{
case 240: // Twister
case 245: // Tornado
_range1 = 20;
break;
default:
_range1 = 2;
break;
}
switch(NTConfig_AttackSkill[4])
{
case 240: // Twister
case 245: // Tornado
_range2 = 20;
break;
default:
_range2 = 2;
break;
}
_prehp1 = target.hp;
while(_maxattacks++ < maxattacks && NTA_IsValidTarget(target, true))
{
if(!CheckCollision(me, target, 3))
{
if(boss)
{
if(NTConfig_AttackSkill[_primaryindex] == 240 || NTConfig_AttackSkill[_primaryindex] == 245)
NTA_MoveCloseInt(target, Math.round(GetDistance(me, target)/2));
}
else if(me.areaid != 131)
return false;
}
_prehp2 = target.hp;
if(NTA_GetResistance(target, _NTA_SkillDamage[_primaryindex]) < 100)
{
if((_maxattacks % 2) == 1 && _nohit)
{
if(NTConfig_AttackSkill[_primaryindex] == 245)
{
if(!NTM_MoveTo(target.areaid, target.x+1, target.y, 0) && !boss)
return false;
}
else
{
if(!NTA_MoveCloseInt(target, _range1) && !boss)
return false;
}
}
NTA_DoCastInt(_primaryindex, target);
}
else if(NTConfig_AttackSkill[4] > 0 && NTA_GetResistance(target, _NTA_SkillDamage[4]) < 100)
{
if((_maxattacks % 2) == 1 && _nohit)
{
if(NTConfig_AttackSkill[4] == 240)
{
if(!NTM_MoveTo(target.areaid, target.x+1, target.y, 0) && !boss)
return false;
}
else
{
if(!NTA_MoveCloseInt(target, _range2) && !boss)
return false;
}
}
NTA_DoCastInt(4, target);
}
else
{
if(boss)
{
if((_maxattacks % 2) == 1 && _nohit)
{
if(NTConfig_AttackSkill[_primaryindex] == 245)
NTM_MoveTo(target.areaid, target.x+1, target.y, 0);
else
NTA_MoveCloseInt(target, _range1);
}
NTA_DoCastInt(_primaryindex, target);
}
else
return false;
}
if(boss)
{
if((_maxattacks % 8) == 0)
{
if(target.hp < _prehp1)
_prehp1 = target.hp;
else
return false;
}
}
else
{
if((_maxattacks % 4) == 0)
{
if(target.hp < _prehp1)
_prehp1 = target.hp;
else
return false;
}
}
_nohit = (target.hp >= _prehp2);
if(NTConfig_CheckSafe)
{
if(!NTTMGR_CheckSafe(1))
return false;
}
}
return true;
}
function NTA_AssassinAttackInt(target, boss, maxattacks)
{
var _primaryindex;
var _maxattacks = 0;
var _range1, _range2;
var _prehp;
_primaryindex = boss ? 1 : 2;
switch(NTConfig_AttackSkill[_primaryindex])
{
case 256: // Shock Field
case 271: // Lightning Sentry
_range1 = 10;
break;
default:
_range1 = 20;
break;
}
switch(NTConfig_AttackSkill[4])
{
case 256: // Shock Field
case 271: // Lightning Sentry
_range2 = 10;
break;
default:
_range2 = 20;
break;
}
_prehp = target.hp;
while(_maxattacks++ < maxattacks && NTA_IsValidTarget(target, true))
{
if(!CheckCollision(me, target, 3))
{
if(boss)
NTA_MoveCloseInt(target, Math.round(GetDistance(me, target)/2));
else if(me.areaid != 131)
return false;
}
if(NTA_GetResistance(target, _NTA_SkillDamage[_primaryindex]) < 100)
{
if((_maxattacks % 2) == 1)
{
if(!NTA_MoveCloseInt(target, _range1) && !boss)
return false;
}
NTA_DoCastInt(_primaryindex, target);
}
else if(NTConfig_AttackSkill[4] > 0 && NTA_GetResistance(target, _NTA_SkillDamage[4]) < 100)
{
if((_maxattacks % 2) == 1)
{
if(!NTA_MoveCloseInt(target, _range2) && !boss)
return false;
}
NTA_DoCastInt(4, target);
}
else
{
if(boss)
{
if((_maxattacks % 2) == 1)
NTA_MoveCloseInt(target, _range1);
NTA_DoCastInt(_primaryindex, target);
}
else
return false;
}
if(boss)
{
if((_maxattacks % 4) == 0 && target.hp >= _prehp)
{
if(target.classid == 526)
return false;
}
if((_maxattacks % 8) == 0)
{
if(target.hp < _prehp)
_prehp = target.hp;
else
return false;
}
}
else
{
if((_maxattacks % 4) == 0)
{
if(target.hp < _prehp)
_prehp = target.hp;
else
return false;
}
}
if(NTConfig_CheckSafe)
{
if(!NTTMGR_CheckSafe(1))
return false;
}
}
return true;
}
function NTA_DoCastInt(index, target)
{
var _untimedindex = index < 4 ? 3 : 5;
if(!NTC_DoCast(NTConfig_AttackSkill[index], _NTA_SkillHand[index], target))
return false;
if(_NTA_SkillDelay[index] > 0)
{
if(NTConfig_AttackSkill[_untimedindex] > 0)
{
var _starttick = GetTickCount();
while(NTA_IsValidTarget(target, true))
{
NTC_DoCast(NTConfig_AttackSkill[_untimedindex], _NTA_SkillHand[_untimedindex], target);
if(GetTickCount()-_starttick >= _NTA_SkillDelay[index])
break;
}
}
else
NTC_Delay(_NTA_SkillDelay[index]);
}
return true;
}
function NTA_MoveCloseInt(target, maxrange)
{
var _dist = GetDistance(me, target);
if(_dist > maxrange)
{
var _destx, _desty;
_destx = me.x + Math.round((_dist-maxrange)*(target.x-me.x) / _dist);
_desty = me.y + Math.round((_dist-maxrange)*(target.y-me.y) / _dist);
return NTM_MoveTo(me.areaid, _destx, _desty, 0);
}
return true;
}
function NTA_SortRoomInt(a, b)
{
if(GetDistance(me.x, me.y, a[0], a[1]) < GetDistance(me.x, me.y, b[0], b[1]))
return -1;
return 1;
}
closed
|
|
|
|
Similar Threads
|
suche ntbot shop config
05/26/2010 - Diablo 2 - 2 Replies
könnte sich ma jemand dransetzen eine config zu schreiben,
die anstatt zu gamblen zu anya geht und claws kauft?
falls es das schon gibt wäre ein link nice^^
|
D2NT Assa Config
04/15/2010 - Diablo 2 - 5 Replies
Hallo liebe Mitmember,
nachdem ich mich jetzt einige Tage drum rumgedrückt hab hab ich mich heut dran gemacht die config auf ne schicke trapse anzupassen.
Erst einmal das positive das gröbste ist mir sogar schon gelungen.
Der Bot loggt sich ein erstellt ein Game gambelt fröhlich vor sich hin, kauft tränke belebt den Merc Telt zu den bossen.....
... und da kommt das Problem er telt bis zu den Bossen dann krieg ich ne fehlermeldung
NT_Killboss failed ()
|
baal runs (assa)ntbot ohne baal
01/22/2010 - Diablo 2 - 2 Replies
also ich mach 20 games gestern hatte bei 57 aufgehört nur baal diener
1game
login 11 27 33 sec
game offen 11 27 53 sec
20 games! 12 :33:47
|
[Bot] - D2NT v1.7.2 + NTBot v3.6M3 - Instalacja, NTBot 3.6M3 - Mod by CyberVi
07/27/2009 - Diablo 2 - 27 Replies
Hab das hier grad gesehen.
Mal sehen ob die besser läuft.
Habs aber noch nicht getestet...
EDIT:
Thread : - D2NT v1.7.2 + NTBot v3.6M3 - Instalacja - Diablo 2 Trade Forum - d2trade
Download : SpeedShare - Download D2NT172 NTBot 3.6M3.zip
================================================= =============================
NTBot Script for D2NT
|
ntbot-barbar config!
05/24/2009 - Diablo 2 - 6 Replies
Hallo! Ich versuche die nt bot configs immer umzuschreiben damit sie auf meinem baba passen! Allerdings funktioniert das so nichtr :-(
Gibt es eine d2nt bot config für den barberen? Oder weis wer was ich löschen oder hinzufügen muss damit es funzt?
mfg
|
All times are GMT +1. The time now is 13:39.
|
|