d2nt leechbot delay bevor gameleave

12/15/2010 17:55 groove123#1
Hey!

Ich habe im Augenblick 2 Charaktere auf dem selben Account die beide gerne level 95 für PVP erreichen würden.

2 Möglichkeiten habe ich in betracht gezogen und für den Fall, dass mir hier niemand helfen kann werde ich mich wohl selbst etwas genauer mit dem Bot beschäftigen müssen.
Ist es möglich das ganze so einzustellen, dass der Leecher IM Game wartet bis der Leader ein neues Game erstellt und dann erst leavt um zu joinen?

Falls nicht wäre auch ein Sleeptimer bevor er das game verlässt (sei es nun eine mingametime oder eine art countdown ab dann wenn der boss leavt) eine Lösung für mich.



Charcfg :
Code:
var NTConfig_UseRedemptionHP;
var NTConfig_UseRedemptionMP;

function NT_LoadConfig()
{
 //------------------------------------------------------------------------------
 // Boss configuration
 //------------------------------------------------------------------------------
 //NTConfig_Script.push("NTPindleskin.ntj"); NTConfig_NihlathakExtension = false;
 //NTConfig_Script.push("NTNihlathak.ntj"); NTConfig_PindleskinExtension = true;
 //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("NTDiablo.ntj");
      NTConfig_Script.push("NTBaalLeech.ntj"); NTConfig_KillBaal = true;
      //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 = true;
 //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 = 1; // 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;

 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
 me.maxgametime = 0; // time in seconds, maximum game length (0 is infinite)
 NTConfig_StartDelay = 0; // Delay time in milliseconds to start;
 NTConfig_AreaDelay = 0; // Delay time in milliseconds to change area;
 NTConfig_SnagDelay = 0; // Delay time in milliseconds to wait before starting picking items

 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
 NTConfig_SkipHealLife = 90; // If you have more than this percent of life, you won't go to a healer
 NTConfig_SkipHealMana = 70; // If you have more than this percent of mana, you won't go to a healer
 NTConfig_UseMerc = true; // Set to true if you use a mercenary, will revive merc at a reviver npc.
 NTConfig_ResetWeapon = false; // Set to true to reset weapon when reviving merc

 NTConfig_LifeThresh = 60; // Drink a normal potion if under this percent of life.
 NTConfig_LifeRejuvThresh = 40; // Drink a rejuvenation potion if under this percent of life.
 NTConfig_ManaThresh = 30; // Drink a normal potion if under this percent of mana.
 NTConfig_ManaRejuvThresh = 10; // Drink a rejuvenation potion if under this percent of mana.
 NTConfig_LifeChicken = 30; // This is your chicken life percent. If you go below this life total, exit game.
 NTConfig_ManaChicken = 0; // This is your chicken mana percent. If you go below this mana total, exit game.

 NTConfig_MercLifeThresh = 50; // This is the threshold to use a life potion on your merc in percent.
 NTConfig_MercRejuvThresh = 30; // This is the threshold to use a rejuv potion on your merc in percent.
 NTConfig_MercChicken = 0; // This is your mercs chicken life percent. If he goes below this, exit game.

 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
 NTConfig_FreeSpace = 4;  // Number of free columns. If less full columns are free stashing is set.

 // The numbers correspond to your inventory. Set 0 to keep whatever is there, 1 to stash it.
 NTConfig_Columns[0] = [1,1,1,0,0,0,0,0,0,0];
 NTConfig_Columns[1] = [1,1,1,0,0,0,0,0,0,0];
 NTConfig_Columns[2] = [1,1,0,0,0,0,0,0,0,0];
 NTConfig_Columns[3] = [1,1,0,0,0,0,0,0,0,0];

 NTConfig_MinGoldToStash = 100000; // Maximum gold amount carried before going to stash

 //----------------------------------------------------------------------------------------------
 // Type of potion used in each belt column
 // Available types : "hp" = health | "mp" = mana | "rv" = rejuv. Can use other potion types too.
 // Keep equal types at adjacent columns. First HP then MP and then HP again is a bad choice.
 // Keep HP and MP at the beginning of the belt (in case you want to use rejuv and other types).
 // Rejuvenations MUST, I REPEAT MUST be at the end of the belt (last x columns).
 // To use rejuvenations only, put "rv" in all columns.
 //----------------------------------------------------------------------------------------------
 NTConfig_BeltColType[0] = "hp";
 NTConfig_BeltColType[1] = "mp";
 NTConfig_BeltColType[2] = "rv";
 NTConfig_BeltColType[3] = "rv";

 //-----------------------------------------------------------------------------------
 // SnagIt configuration
 // Select one group only (normal / advance / extreme)
 //-----------------------------------------------------------------------------------
 //NTConfig_NIPFilePath.push("normal/normal.nip");
 //NTConfig_NIPFilePath.push("normal/magic_rare.nip");
 //NTConfig_NIPFilePath.push("normal/set.nip");
 //NTConfig_NIPFilePath.push("normal/unique.nip");
 //NTConfig_NIPFilePath.push("normal/craft.nip");

 NTConfig_NIPFilePath.push("advance/normal.nip");
 NTConfig_NIPFilePath.push("advance/magic_rare.nip");
 NTConfig_NIPFilePath.push("advance/set.nip");
 NTConfig_NIPFilePath.push("advance/unique.nip");
 NTConfig_NIPFilePath.push("advance/craft.nip");

 //NTConfig_NIPFilePath.push("extreme/normal.nip");
 //NTConfig_NIPFilePath.push("extreme/magic_rare.nip");
 //NTConfig_NIPFilePath.push("extreme/set.nip");
 //NTConfig_NIPFilePath.push("extreme/unique.nip");
 //NTConfig_NIPFilePath.push("extreme/craft.nip");

 NTConfig_SnagRange = 1000; // Radius to check for dropped items. 40 is a good number here

 //------------------------------------------------------------------------------
 // Cubing configuration
 //------------------------------------------------------------------------------
 NTConfig_Cubing = false;  // Enable cubing

 //NTConfig_CubingItem.push([NTCU_GEM, 560]); // Flawless Amethyst
 //NTConfig_CubingItem.push([NTCU_GEM, 565]); // Flawless Topaz
 //NTConfig_CubingItem.push([NTCU_GEM, 570]); // Flawless Saphire
 //NTConfig_CubingItem.push([NTCU_GEM, 575]); // Flawless Emerald
 //NTConfig_CubingItem.push([NTCU_GEM, 580]); // Flawless Ruby
 //NTConfig_CubingItem.push([NTCU_GEM, 585]); // Flawless Diamond
 //NTConfig_CubingItem.push([NTCU_GEM, 600]); // Flawless Skull

 //NTConfig_CubingItem.push([NTCU_MAGIC, 420]); // Magic Tiara
 //NTConfig_CubingItem.push([NTCU_MAGIC, 421]); // Magic Diadem

 //NTConfig_CubingItem.push([NTCU_MAGIC_CHARM, 603]); // Magic Small Charm
 NTConfig_CubingItem.push([NTCU_MAGIC_CHARM, 605]); // Magic Grand Charm

 NTConfig_CubingItem.push([NTCU_CRAFT_HITPOWER_GLOVES, 382]); // Craft Heavy Bracers
 //NTConfig_CubingItem.push([NTCU_CRAFT_HITPOWER_GLOVES, 452]); // Craft Vambraces

 //NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_HELM, 354]);  // Craft Casque
 //NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_HELM, 424]);  // Craft Armet
 //NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_BOOTS, 388]); // Craft Battle Boots
 //NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_BOOTS, 458]); // Craft Mirrored Boots
 //NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_GLOVES, 381]); // Craft Sharkskin Gloves
 //NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_GLOVES, 451]); // Craft Vampirebone Gloves
 //NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_BELT, 392]);  // Craft Mesh Belt
 //NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_BELT, 462]);  // Craft Mithril Coil
 //NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_AMULET, 520]); // Craft Amulet
 NTConfig_CubingItem.push([NTCU_CRAFT_BLOOD_RING, 522]);  // Craft Ring

 NTConfig_CubingItem.push([NTCU_CRAFT_CASTER_AMULET, 520]); // Craft Amulet

 //NTConfig_CubingItem.push([NTCU_CRAFT_SAFETY_SHIELD, 447]); // Craft Monarch
 //NTConfig_CubingItem.push([NTCU_CRAFT_SAFETY_AMULET, 520]); // Craft Amulet

 NTConfig_CubingItem.push([NTCU_ESSENSE, 0]);

 //NTConfig_CubingItem.push([NTCU_RUNE_THUL, 562]);
 //NTConfig_CubingItem.push([NTCU_RUNE_AMN, 557]);
 //NTConfig_CubingItem.push([NTCU_RUNE_SOL, 567]);
 //NTConfig_CubingItem.push([NTCU_RUNE_SHAEL, 577]);
 //NTConfig_CubingItem.push([NTCU_RUNE_DOL, 572]);
 //NTConfig_CubingItem.push([NTCU_RUNE_HEL, 582]);
 //NTConfig_CubingItem.push([NTCU_RUNE_IO, 563]);
 //NTConfig_CubingItem.push([NTCU_RUNE_LUM, 558]);
 //NTConfig_CubingItem.push([NTCU_RUNE_KO, 568]);
 //NTConfig_CubingItem.push([NTCU_RUNE_FAL, 578]);
 NTConfig_CubingItem.push([NTCU_RUNE_LEM, 573]);
 NTConfig_CubingItem.push([NTCU_RUNE_PUL, 583]);
 NTConfig_CubingItem.push([NTCU_RUNE_UM, 564]);
 NTConfig_CubingItem.push([NTCU_RUNE_MAL, 559]);
 //NTConfig_CubingItem.push([NTCU_RUNE_IST, 569]);
 NTConfig_CubingItem.push([NTCU_RUNE_GUL, 579]);
 //NTConfig_CubingItem.push([NTCU_RUNE_VEX, 574]);
 //NTConfig_CubingItem.push([NTCU_RUNE_OHM, 584]);
 //NTConfig_CubingItem.push([NTCU_RUNE_LO, 565]);
 //NTConfig_CubingItem.push([NTCU_RUNE_SUR, 560]);
 //NTConfig_CubingItem.push([NTCU_RUNE_BER, 570]);
 //NTConfig_CubingItem.push([NTCU_RUNE_JAH, 580]);
 //NTConfig_CubingItem.push([NTCU_RUNE_CHAM, 575]);

 //***** Include the following, Primary item must be setted in item_configs folder *****

 //NTConfig_CubingItem.push([NTCU_SOCKET_BODYARMOR, 442]); // Socket Sacred Armor

 //NTConfig_CubingItem.push([NTCU_SOCKET_WEAPON, 255]); // Socket Thresher
 //NTConfig_CubingItem.push([NTCU_SOCKET_WEAPON, 256]); // Socket Cryptic Axe
 //NTConfig_CubingItem.push([NTCU_SOCKET_WEAPON, 257]); // Socket Great Poleaxe
 //NTConfig_CubingItem.push([NTCU_SOCKET_WEAPON, 258]); // Socket Giant Thresher

 //NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_WEAPON, 295]); // Titan's Revenge : Exceptional -> Elite

 //NTConfig_CubingItem.push([NTCU_UPGRADE_N_UNIQUE_ARMOR, 337]); // Magefist : Normal -> Exceptional
 //NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_ARMOR, 360]); // Skin of the Vipermagi : Exceptional -> Elite
 //NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_ARMOR, 383]); // Magefist or Lava Gout : Exceptional -> Elite
 //NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_ARMOR, 389]); // Gore Rider : Exceptional -> Elite
 //NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_ARMOR, 477]); // Arreat's Face : Exceptional -> Elite
 //NTConfig_CubingItem.push([NTCU_UPGRADE_E_UNIQUE_ARMOR, 481]); // Herald Of Zakarum : Exceptional -> Elite

 //------------------------------------------------------------------------------
 // Gamble configuration
 // To specify what items to gamble, adjust the array with the desired item codes
 //------------------------------------------------------------------------------
 NTConfig_Gamble = false;  // Enable gambling
 NTConfig_GambleStartGold = 800000; // Gold amount to start the gambling
 NTConfig_GambleStopGold = 300000; // Gold amount to stop the gambling

 NTConfig_GambleItem.push(520); // Amulets
 NTConfig_GambleItem.push(522); // Rings
 NTConfig_GambleItem.push(418); // Circlets
 NTConfig_GambleItem.push(419); // Coronets
 //NTConfig_GambleItem.push(334); // Leather Gloves
 //NTConfig_GambleItem.push(335); // Heavy Gloves
 NTConfig_GambleItem.push(336); // Chain Gloves
 //NTConfig_GambleItem.push(337); // Light Gauntlets
 //NTConfig_GambleItem.push(338); // Gauntlets

 //------------------------------------------------------------------------------
 // General configuration
 //------------------------------------------------------------------------------
 NTConfig_PublicMode = true;
 NTConfig_CheckCloneDiablo = true; // Set to true if you want to wait in game after notifying "Diablo Walks the Earth" msg.
 NTConfig_OpenChest = true;   // Set to true to open chest
 me.quitonhostile = false;

 //------------------------------------------------------------------------------
 // Attack configuration
 //------------------------------------------------------------------------------
 NTConfig_AttackSkill[0] = 0; // First skill. Set to 0 if you won't
 NTConfig_AttackSkill[1] = 0; // Primary skill to boss.
 NTConfig_AttackSkill[2] = 0; // Primary aura to boss. Set to 0 if you won't
 NTConfig_AttackSkill[3] = 0; // Primary skill to others.
 NTConfig_AttackSkill[4] = 0; // Primary aura to others. Set to 0 if you won't
 NTConfig_AttackSkill[5] = 0; // Secondary skill in case monster is immune to primary skill. Set to 0 if you won't
 NTConfig_AttackSkill[6] = 0; // Secondary aura. Set to 0 if you won't
 NTConfig_ClearPosition = true; // 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 = 0x04|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 = 0x01|0x04|0x10|0x40;

 NTConfig_UseRedemptionHP = 80; // Use Redemption if under this percent of life. Set to 0 if you won't
 NTConfig_UseRedemptionMP = 60; // Use Redemption if under this percent of mana. Set to 0 if you won't
}
Leechscript

Code:
function NTMain()
{

Include("libs/common/NTCommon.ntl");
NTC_IncludeLibs();
NTC_IncludeConfig("NTBot/char_configs");

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

NTA_Initialize(); // 10

var _leader = "Pluppey"; // Name of leader's character in game (exactly)

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

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

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

NTTMGR_TownManager();

NTTM_TownMove("portalspot");

for(i = 0; i <= 200; i++)
{
if(NTC_InMyParty(_leader))
break;

Delay(200);
} 

while(me.areaid == 109 && NTC_InMyParty(_leader))
{
NTM_UsePortal("BluePortal", 131, _leader); // 50
Delay(5000);

}

NTP_DoPrecast(true);

while(NTC_InMyParty(_leader))
{
Delay(1000);
}


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

}
greez
12/16/2010 16:54 Philipp111#2
würde mich auch interessieren
12/16/2010 20:19 xdoddestroyer#3
Ich sehe das nur bei mein co leader, dass der warted bis der leader neues game auf mach. Bei leecher habe ich es noch nicht gesehen!

vieleicht kannst du von der baalleechfight ini was entnehmen!

ed:

hier mal meine

Code:
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 != 109)
   {
   if(!NTTM_TownMove("waypoint"))
   {
      NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_TownMove()");
      return;
   }

   if(!NTM_TakeWaypoint(109))
   {
      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 == 109 && NTC_InMyParty(NTConfig_Leader))
   {
      NTM_UsePortal("BluePortal", 131, NTConfig_Leader); // 50
      Delay(1000);
       
   }
   
   NTP_DoPrecast(true);

   while(NTC_InMyParty(NTConfig_Leader))
   {


   NT_ClearThroneInt();

   while(1)
   {
      if(me.classid == NTC_CHAR_CLASS_PALADIN || me.classid == NTC_CHAR_CLASS_BARBARIAN)
         NTM_MoveTo(me.areaid, 15093, 5029);
      else
         NTM_MoveTo(me.areaid, 15092, 5040);

      if(me.GetState(2))
         NTC_PutSkill(109, NTC_HAND_RIGHT);


      for(i = 0 ; i < 6 ; i++)
      {
         _wave = NT_ThroneCheckInt();
         if(_wave > 0)
            break;

         NTC_Delay(500);
      }


      _starttick = GetTickCount();

      while(_wave == 0)
      {
         if(!NT_ThronePreAttackInt())
            NTC_Delay(200);

         if(GetTickCount()-_starttick > 15000)
         {
            NT_ClearThroneInt();

            _starttick = GetTickCount();
         }

        _wave = NT_ThroneCheckInt();
      }

      switch(_wave)
      {
      case 1:
         NTA_ClearPosition(40, true, 1);
         NTP_DoPrecast(true);
         break;
      case 3:
         NTA_ClearPosition(40, true, 2);
         break;
      case 4:
         NTA_ClearPosition(40, true, 2);
         break;
      case 5:
         NTA_ClearPosition(40, true);
         break;
      default:
         NTA_ClearPosition(40, true, 1);
         break;
      }

      if(_wave == 5)
         break;
   }

   if(NTConfig_KillBaal)
   {
      var _portal;

      if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe|0x01, NTConfig_CheckMercSafe))
      {
         NTC_SendMsgToScript("NTBotGame.ntj", "NTTMGR_CheckSafe()");
         return;
      }

      NTM_MoveTo(me.areaid, 15092, 5010);

      NTP_DoPrecast(true);

      while(NTC_FindUnit(NTC_UNIT_MONSTER, 543))
         NTC_Delay(500);

      _portal = NTC_FindUnit(NTC_UNIT_OBJECT, 563, 1);

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

      if(!NTM_UsePortal("Portal", 132, null, _portal))
      {
         NTC_SendMsgToScript("NTBotGame.ntj", "NTM_UsePortal()");
         return;
      }

      NTM_MoveTo(me.areaid, 15138, 5916);

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

      NTSI_PickItems();
   }


   }


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

}


// Internal function
function NT_ClearThroneInt()
{
	var _attackpos = [15112, 5068, 15075, 5065, 15114, 5045, 15114, 5012, 15095, 5024, 15078, 5013, 15092, 5040];

	for(var i = 0 ; i < _attackpos.length ; i += 2)
	{
		NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]);

		NTA_ClearPosition(25, true, 2);
	}
}

function NT_ThroneCheckInt()
{
	var _monster;

	if(!NTC_FindUnit(NTC_UNIT_MONSTER, 543))
		return 5;

	_monster = NTC_FindUnit(NTC_UNIT_MONSTER);

	if(_monster)
	{
		do
		{
			if(NTA_IsValidMonster(_monster))
			{
				if(_monster.classid == 23 || _monster.classid == 62)
					return 1;

				if(_monster.classid == 105 || _monster.classid == 381)
					return 2;

				if(_monster.classid == 557)
					return 3;

				if(_monster.classid == 558)
					return 4;

				if(_monster.classid == 571)
					return 5;
			}
		} while(_monster.GetNext());
	}

	return 0;
}

function NT_ThronePreAttackInt()
{
	if(me.classid == NTC_CHAR_CLASS_SORCERESS)
	{
		if(NTConfig_AttackSkill[3] == 56 || NTConfig_AttackSkill[3] == 59)
			return NTC_CastSkill(NTConfig_AttackSkill[3], 2, 15092, 5028);
	}
	else if(me.classid == NTC_CHAR_CLASS_PALADIN)
	{
		if(NTConfig_AttackSkill[3] == 112)
		{
			if(NTConfig_AttackSkill[4] > 0)
				NTC_PutSkill(NTConfig_AttackSkill[4], NTC_HAND_RIGHT);

			return NTC_CastSkill(NTConfig_AttackSkill[3], 2);
		}
	}

	return false;
}

function NT_CheckHydraInt()
{
	var _hydra1, _hydra2, _hydra3;

	_hydra1 = NTC_FindUnit(NTC_UNIT_MONSTER, 351);
	_hydra2 = NTC_FindUnit(NTC_UNIT_MONSTER, 352);
	_hydra3 = NTC_FindUnit(NTC_UNIT_MONSTER, 353);

	if((_hydra1 && _hydra1.GetStat(172) != 2 && _hydra1.GetState(105))
		|| (_hydra2 && _hydra2.GetStat(172) != 2 && _hydra2.GetState(105))
		|| (_hydra3 && _hydra3.GetStat(172) != 2 && _hydra3.GetState(105)))
	{
		NTM_MoveTo(me.areaid, 15112, 5004);

		if(me.GetState(2))
			NTC_PutSkill(109, NTC_HAND_RIGHT);

		NTC_PingDelay(3000);
	}
}