Skip to content

바알 사냥하는데요 계단위에서 사냥하려고 합니다. 좌표를 바꿔야 한다는데 아래에서 어느곳을 바꿔야 하는지 궁금함니다. 검색해보니깐요 아래 하고 틀린것 같아서 도무지 어디를 수정해야 하는지를 몰라서요
function MyMain()
{
 Print("ÿc5날아다녀의 \"바알봇\" 세계에 오신 것을 환영합니다.");

 NTConfig_SnagRange = 0;

 if (MyConfig_BaalLeechBaal < 2)
 {
 if (!NTConfig_PublicMode && MyConfig_BaalLeechBaal == 1)
 NTConfig_PublicMode = true;

 if (MyConfig_BaalLeechBaal == 0 && MyConfig_BaalLeechBot != 0)
 MyLB_WriteMasterMessage("ACT5");

 MyVi_TownManager();

 if (MyConfig_BaalCheckMonster[0] || MyConfig_BaalCheckMonster[1] || MyConfig_BaalCheckMonster[2])
 Load("NTBot/tools/NTToolsThread_Baal.ntj");

 if (!NTTM_TownMove("waypoint"))
 {
 NTC_StopScript("NTToolsThread_Baal.ntj");

 if (MyConfig_BaalLeechBaal == 1)
 MyLB_WriteMasterMessage("STOP");

 return "NTTM_TownMove()";
 }
 if (!MyMo_TakeWaypoint(129))
 {
 NTC_StopScript("NTToolsThread_Baal.ntj");

 if (MyConfig_BaalLeechBaal == 1)
 MyLB_WriteMasterMessage("STOP");

 return "MyMo_TakeWaypoint()";
 }

 if (!NTC_InTown())
 NTP_DoPrecast(true);
 else
 {
 NTC_StopScript("NTToolsThread_Baal.ntj");

 if (MyConfig_BaalLeechBaal == 1)
 MyLB_WriteMasterMessage("STOP");

 return "NTP_DoPrecast()";
 }

 if (!MyBa_ClearThrone())
 {
 if (MyConfig_BaalLeechBaal == 1)
 MyLB_WriteMasterMessage("STOP");

 return "MyBa_ClearThrone()";
 }

 MyConfig_CheckMonster[0] = false;

 MyAt_ClearPosition([15072, 5002, 15118, 5096], _MyAt_MONSTER_TYPE_ALL, true);

 if (NTConfig_PublicMode)
 {
 MyMo_MoveTo(me.areaid, MyConfig_BaalPortalXy[1][0], MyConfig_BaalPortalXy[1][1], 3, true);

 MyCo_Say(MyConfig_BaalMessage[1]);

 MyTP_CheckMakePortal(MyConfig_BaalPortalXy[1][0], MyConfig_BaalPortalXy[1][1], 5, 1);

 if (MyConfig_BaalLeechBaal == 0 && MyConfig_BaalLeechBot == 1)
 MyLB_WriteMasterMessage("OUT");
 else if (MyConfig_BaalLeechBaal == 1)
 MyLB_WritePortalMessage(131, 3);
 }

 NTC_StopScript("NTToolsThread_Baal.ntj");
 }
 else
 {
 NTConfig_PublicMode = false;

 if (!MyLB_LeechBot(5, 131, MyConfig_BaalLeechBaal))
 {
 Print("ÿc1NTBaal.ntj: MyLB_LeechBot() 실패");
 NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿc1NTBaal.ntj : MyLB_LeechBot() 실패 (" + MyCo_GetAreaName() + ")");
 }

 if (MyConfig_BaalLeechBaal == 3)
 return "MyMain()";

 MyConfig_CheckMonster[0] = false;

 MyAt_ClearPosition([15072, 5002, 15118, 5096], _MyAt_MONSTER_TYPE_ALL, true);
 }

 if (MyMo_MoveTo(me.areaid, MyConfig_BaalWaitingXy[1][0], MyConfig_BaalWaitingXy[1][1]))
 MyAt_ClearPosition([15072, 5002, 15118, 5096], _MyAt_MONSTER_TYPE_ALL, true);

 MyBa_KillSummon();

 if (MyConfig_BaalKill)
 {
 if (!MyBa_KillBaal())
 {
 if (MyConfig_BaalLeechBaal == 1)
 MyLB_WriteMasterMessage("STOP");

 return "MyBa_KillBaal()";
 }
 }

 if (NTConfig_PublicMode)
 MyCo_Say(MyConfig_BaalMessage[3]);

 if (MyConfig_BaalLeechBaal == 1)
 MyLB_WriteMasterMessage("STOP");

 return "MyMain()";
}

function MyBa_ClearThrone()
{
 if (NTC_InTown() || !MyMo_MoveToStairs([me.areaid, me.areaid + 1, 0, 0, MyConfig_BaalClear[0][0], MyConfig_BaalClear[0][1]]))
 {
 NTC_StopScript("NTToolsThread_Baal.ntj");
 return false;
 }
 if (NTC_InTown() || !MyMo_MoveToStairs([me.areaid, me.areaid + 1, 0, 0, MyConfig_BaalClear[1][0], MyConfig_BaalClear[1][1]]))
 {
 NTC_StopScript("NTToolsThread_Baal.ntj");
 return false;
 }

 MyConfig_CheckMonster[0] = false;

 if (NTC_InTown() || !MyMo_MoveTo(me.areaid, 15112, 5068, 3, MyConfig_BaalClear[2][0], MyConfig_BaalClear[2][1]))
 {
 NTC_StopScript("NTToolsThread_Baal.ntj");
 return false;
 }

 if (NTConfig_PublicMode && MyConfig_BaalPortalOpen)
 {
 MyMo_MoveTo(me.areaid, MyConfig_BaalPortalXy[0][0], MyConfig_BaalPortalXy[0][1]);

 MyCo_Say(MyConfig_BaalMessage[0]);

 NTM_MakeTP();

 if (MyConfig_BaalLeechBaal == 0 && MyConfig_BaalLeechBot == 2)
 MyLB_WriteCheckMessage("ATTACK");
 else if (MyConfig_BaalLeechBaal == 1)
 MyLB_WritePortalMessage(131, 2);
 }

 MyAt_ClearPosition(20, _MyAt_MONSTER_TYPE_ALL, true);

 if (NTConfig_PublicMode)
 {
 MyMo_MoveTo(me.areaid, 15095, 5068);

 MyAt_ClearPosition(20, _MyAt_MONSTER_TYPE_ALL, true);

 if (!MyConfig_BaalPortalOpen)
 {
 MyMo_MoveTo(me.areaid, MyConfig_BaalPortalXy[0][0], MyConfig_BaalPortalXy[0][1]);

 if (MyAt_ClearPosition(15, _MyAt_MONSTER_TYPE_ALL, true))
 MyMo_MoveTo(me.areaid, MyConfig_BaalPortalXy[0][0], MyConfig_BaalPortalXy[0][1]);

 MyCo_Say(MyConfig_BaalMessage[0]);

 NTM_MakeTP();

 if (MyConfig_BaalLeechBaal == 0 && MyConfig_BaalLeechBot == 2)
 MyLB_WriteCheckMessage("ATTACK");
 else if (MyConfig_BaalLeechBaal == 1)
 MyLB_WritePortalMessage(131, 2);
 }
 }

 return true;
}

function MyBa_KillSummon()
{
 var i;
 var _iSummon;
 var _findItem = MyConfig_BarbarianFindItem[0];

 MyConfig_BarbarianFindItem[0] = false;

 while (true)
 {
 MyMo_MoveTo(me.areaid, MyConfig_BaalWaitingXy[1][0], MyConfig_BaalWaitingXy[1][1]);

 NTC_PutSkill(109, NTC_HAND_RIGHT);

 for (i = 0; i < 6; i++)
 {
 _iSummon = MyBa_CheckSummon();
 if (_iSummon > 0)
 break;

 Delay(500);
 }

 if (MyConfig_BaalLeechBaal == 0 && MyConfig_BaalLeechBot == 2)
 MyLB_WriteMasterMessage(me.areaid + "/" + MyConfig_BaalWaitingXy[0][0] + "/" + MyConfig_BaalWaitingXy[0][1]);

 _MyMo_TickCount = GetTickCount();

 while (_iSummon == 0)
 {
 if (!MyBa_ThronePreAttack())
 Delay(200);

 if (GetTickCount() > (_MyMo_TickCount + 10000))
 {
 MyAt_ClearPosition([15072, 5002, 15118, 5096], _MyAt_MONSTER_TYPE_ALL, true);

 MyMo_MoveTo(me.areaid, MyConfig_BaalWaitingXy[1][0], MyConfig_BaalWaitingXy[1][1]);

 _MyMo_TickCount = GetTickCount();
 }

 _iSummon = MyBa_CheckSummon();
 }

 if (_iSummon == 2 && MyConfig_AttackSkill[5][0] == 101)
 MyAt_ClearPosition(40, _MyAt_MONSTER_TYPE_NOT_NORMAL);

 MyAt_ClearPosition(40, _MyAt_MONSTER_TYPE_ALL, true);

 if (_iSummon == 1)
 NTP_DoPrecast(true);
 else if (_iSummon == 3)
 MyBa_CheckHydra();
 else if (_iSummon == 5)
 break;
 }

 MyConfig_BarbarianFindItem[0] = _findItem;
}

function MyBa_CheckSummon()
{
 var _unit;

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

 _unit = NTC_FindUnit(NTC_UNIT_MONSTER);
 if (_unit)
 {
 do
 {
 if (_unit.IsAttackable() && MyUn_IsValidMonster(_unit))
 {
 switch (_unit.classid)
 {
 case 23:
 case 62: return 1;
 case 105:
 case 381: return 2;
 case 557: return 3;
 case 558: return 4;
 case 571: return 5;
 }
 }
 } while (_unit.GetNext());
 }

 return 0;
}

function MyBa_ThronePreAttack()
{
 switch (me.classid)
 {
 case NTC_CHAR_CLASS_AMAZON:
 if (NTC_GetSkillLevel(28))
 {
 var _target = new Array();

 _target.x = 15092;
 _target.y = 5028;

 if (!MyUn_IsClass(356, false, _target, 3))
 return MyAt_HoldSkill(28, NTC_HAND_RIGHT, _target);
 }
 break;

 case NTC_CHAR_CLASS_NECROMANCER:
 break;

 case NTC_CHAR_CLASS_SORCERESS:
 if (MyConfig_AttackSkill[3][0] == 51 || MyConfig_AttackSkill[3][0] == 56 || MyConfig_AttackSkill[3][0] == 59 || MyConfig_AttackSkill[3][0] == 62)
 return MyAt_HoldSkill(MyConfig_AttackSkill[3][0], NTC_HAND_RIGHT, 15092, 5028);
 break;

 case NTC_CHAR_CLASS_PALADIN:
 if (MyConfig_AttackSkill[3][0] == 112)
 {
 MyMo_MoveTo(me.areaid, MyConfig_BaalWaitingXy[1][0], MyConfig_BaalWaitingXy[1][1]);

 NTC_SwapWeapons(MyConfig_AttackSkill[3][2] - 1);

 if (MyConfig_AttackSkill[3][3] > 0)
 NTC_PutSkill(MyConfig_AttackSkill[3][3], NTC_HAND_RIGHT);

 return MyAt_HoldSkill(MyConfig_AttackSkill[3][0], NTC_HAND_LEFT);
 }
 break;

 case NTC_CHAR_CLASS_BARBARIAN:
 break;

 case NTC_CHAR_CLASS_DRUID:
 break;

 case NTC_CHAR_CLASS_ASSASSIN:
 var i;
 var _classId, _count;
 var _target = new Array();

 switch (MyConfig_AttackSkill[3][0])
 {
 case 261: _classId = 411; break;
 case 262: _classId = 410; break;
 case 271: _classId = 412; break;
 case 272: _classId = 415; break;
 case 276: _classId = 416; break;
 }

 if (_classId)
 {
 _target.x = 15092;
 _target.y = 5028;

 _count = ((MyConfig_AttackSkill[3][0] == 271) ? MyConfig_AssassinLightningSentry : 5) - MyUn_IsClass(_classId, true, _target, 10);
 if (_count > 0)
 {
 NTC_SwapWeapons(0);

 for (i = 0; i < _count; i++)
 MyAt_HoldSkill(MyConfig_AttackSkill[3][0], NTC_HAND_RIGHT, _target);
 }

 if (MyConfig_AttackSkill[3][0] == 271 && MyConfig_AssassinLightningSentry < 5)
 {
 _count = 5 - MyConfig_AssassinLightningSentry - MyUn_IsClass(416, true, _target, 10);
 if (_count > 0)
 {
 NTC_SwapWeapons(0);

 for (i = 0; i < _count; i++)
 MyAt_HoldSkill(276, NTC_HAND_RIGHT, _target);
 }
 }
 }
 break;
 }

 return false;
}

function MyBa_CheckHydra()
{
 var _hydra1 = NTC_FindUnit(NTC_UNIT_MONSTER, 351);
 var _hydra2 = NTC_FindUnit(NTC_UNIT_MONSTER, 352);
 var _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)))
 {
 MyMo_MoveTo(me.areaid, 15112, 5004);

 NTC_PutSkill(109, NTC_HAND_RIGHT);

 NTC_PingDelay(3000);
 }
}

function MyBa_KillBaal()
{
 var _portal;

 if (MyConfig_BaalLeechBaal < 2)
 {
 if (MyConfig_BaalLeechBaal == 0 && MyConfig_BaalLeechBot == 1)
 MyLB_WriteCheckMessage("IN");
 else if (MyConfig_BaalLeechBaal == 1)
 MyLB_WriteMasterMessage("IN");

 if (NTConfig_PublicMode)
 MyCo_Say(MyConfig_BaalMessage[2]);
 }

 if (MyConfig_BaalInventory && (NTT_CheckUnids() > 0 || MyMM_MakeMoney(false) > 0))
 {
 if (!MyMo_TownManager(true, true, false))
 return false;
 }

 if (!MyAt_CheckSafe())
 return false;

 MyMo_MoveTo(me.areaid, 15092, 5010);

 NTP_DoPrecast(true);

 while (NTC_FindUnit(NTC_UNIT_MONSTER, 543))
 MyAt_ClearPosition(20, _MyAt_MONSTER_TYPE_ALL, true) ? MyMo_MoveTo(me.areaid, 15092, 5010) : Delay(1000);

 _portal = NTC_FindUnit(NTC_UNIT_OBJECT, 563, 1);
 if (!_portal)
 return false;

 if (!NTM_UsePortal("Portal", 132, null, _portal))
 return false;

 if (MyConfig_BaalLeechBaal < 2)
 {
 if (MyConfig_BaalLeechBaal == 1 || MyConfig_BaalLeechBot == 1)
 {
 MyMo_MoveTo(me.areaid, 15206, 5908);

 NTM_MakeTP();

 MyLB_WriteMasterMessage("OUT");
 }
 else if (MyConfig_BaalLeechBot == 2)
 NTM_MakeTP();
 }

 MyMo_MoveTo(me.areaid, 15138, 5916);

 return MyAt_KillBoss(544, null);
}