만능쫄봇 전용 텔레로 오리 안다, 피트 추가-17차 버젼#2
분류
봇관련
조회 수
1,202
추천 수
6
안녕하세요?
이 자료는 아래의 [만능쫄봇 전용 텔레로 오리 카오스런 하기-17차 버젼#1]
자료에 이어 안다와 피트 사냥터 자료 입니다..^^
등록된 모든 쫄과 함께 사냥 합니다.
피트는 1층까지 텔레후 사냥하며, 2층 진입시 자동으로 포탈 열어 둡니다.
(일반적으로 뒤처진 쫄은 핼프 하니까요)
주의 ** [만능쫄봇 전용 텔레로 오리 카오스런 하기-17차 버젼#1] 정상 동작시
추가 사냥터 입니다.
===============================================================================================================================
1. scripts\NTBot\bots\MyJjolBotJjol.ntj --> 수정할곳
-------------------------------------------------------
case "CHAOS11":
if (me.charname == Purpose_First)
{
Say("!리더님이 시키니 마을 가야지. !!!");
if (NTTM_CheckAct(4)) MyJB_WriteJjolMessage("1");
Delay(120000);
}
break;
// 추가 -> ------------------------------------------------------------------------------------------------------------------------------
case "ANDA": // 카타콤 4층으로 이동(텔레)
if (me.charname == Purpose_Telpo)
{
if (!MyMo_MoveToStairs([35, 36], [36, 37]))
MyJB_WriteJjolMessage("MyMo_MoveToStairs()");
if (!MyMo_MoveTo(me.areaid, 22566, 9578))
MyJB_WriteJjolMessage("MyMo_MoveTo()");
if (NTTM_CheckAct(1)) MyJB_WriteJjolMessage("1");
Say("!리더님, 안다가 살려 달라고 사정 하던데? !!!");
}
break;
case "FIT": // 피터 1층으로 이동(텔레)
if (me.charname == Purpose_Telpo)
{
if (MyMo_MoveToStairs([6, 7, 12]))
MyMo_MoveTo(me.areaid, (me.x + 10), (me.y + 10));
if (NTTM_CheckAct(1))
MyJB_WriteJjolMessage("1");
Say("!리더님, 피트1층 문 열었다 !!!");
}
break;
// --------------------------------------------------------------------------------------------------------
===============================================================================================================================
2. scripts\NTBot\bots\MyAndariel.ntj --> 수정할곳
-------------------------------------------------------
function MyMain()
{
// 추가 -> ---------------------------------------------------------------------------------
if (MyConfig_JjolBotGisaJjol > 0)
{
MyJB_WriteGisaMessage("IN"); Delay(1000);
MyJB_WriteGisaMessage("ACT1");
if (NTC_InTown()) MyVi_TownManager();
}
if (!MyMo_Start(35)) return "MyMo_Start()";
Say(" 안다리엘 갑니다. ");
NTM_WalkTo(me.x + 5, me.y + 4); Delay(2000);
if (!NTM_MakeTP()) return "NTM_MakeTP()";
MyJB_WriteCheckMessage("OUT");
var _player1, _player2;
for (var i = 1; i <= 100; i++)
{
_player1 = MyUn_GetPlayerUnit(Purpose_Telpo, 1, true);
_player2 = MyUn_GetPlayerUnit(Purpose_Order, 1, true);
if (_player1 && _player2) break;
else MyJB_WriteCheckMessage("RESUME");
Delay(1000);
}
if (!_player1 || !_player2 ) return "MyUn_GetPlayerUnit()";
MyJB_WriteCheckMessage("BO"); Delay(4000);
MyJB_WriteCheckMessage("ANDA");
NTP_DoPrecast(true); Delay(1000);
MyTP_UsePortal({ owner:me.charname });
NTM_WalkTo(me.x - 6, me.y - 5);
MyJB_WriteCheckMessage("IN");
var _msg;
for (i = 1; i <= 60; i++)
{
_msg = MyIL_File("NTBot/MyData/JjolBot/JjolBotJjolMessage[" + Purpose_Telpo + "].txt", 0);
Delay(1000);
if (_msg == "1" )
{
MyTP_UsePortal({ owner:Purpose_Telpo });
if (!NTM_MakeTP()) return "NTM_MakeTP()";
MyJB_WriteCheckMessage("ATTACK");
MyAt_ClearPosition(20);
break;
}
}
if (_msg != "1") return "Tele Fail:"+_msg;
if (MyConfig_DiaBotJjolBot == 2) MyJB_WriteCheckMessage("RESUME");
Say("!좋은템도 안 주면서 살려 달라고? !!!");
// <----------------------------------------------------------------------------------------
// 주석처리 (카타콤4층 까지) -> ------------------------------------------------------------
/*
if (MyConfig_AndarielJjolBot != 0)
MyJB_WriteGisaMessage("ACT1");
if (MyConfig_AndarielAntidotePotion > 0)
{
MyVi_BuyItem(514, MyConfig_AndarielAntidotePotion, 2, true);
MyCo_CancelMenu();
}
if (!MyMo_Start(35))
return "MyMo_Start()";
if (!MyMo_MoveToStairs([me.areaid, 36, 0, 0, MyConfig_AndarielClear[0][0], MyConfig_AndarielClear[0][1]], [36, 37, 0, 0, MyConfig_AndarielClear[1][0], MyConfig_AndarielClear[1][1]]))
return "MyMo_MoveToStairs()";
if (!MyMo_MoveTo(me.areaid, 22580, 9595, 3, MyConfig_AndarielClear[2][0] == 1, MyConfig_AndarielClear[2][1]))
return "MyMo_MoveTo()";
if (MyConfig_AndarielJjolBot != 0)
{
if (!MyMo_MoveTo(me.areaid, 22579, 9595))
return "MyMo_MoveTo()";
_MyJB_Portal.x = 22579;
_MyJB_Portal.y = 9595;
MyTP_MakeTownPortal();
if (!MyMo_MoveTo(me.areaid, 22566, 9587))
return "MyMo_MoveTo()";
MyJB_WriteCheckMessage((MyConfig_AndarielJjolBot == 1) ? "OUT" : "ATTACK");
if (MyConfig_AndarielKill != 3)
{
Print("ÿc4참고: 'MyConfig_AndarielJjolBot = 0'이 아니면 'MyConfig_AndarielKill = 3'으로 자동 설정됩니다.");
MyConfig_AndarielKill = 3;
}
}
else if (!MyMo_MoveTo(me.areaid, 22580, 9596))
return "MyMo_MoveTo()";
*/
// <----------------------------------------------------------------------------------------
switch (MyConfig_AndarielKill)
{
case 0:
if (!MyMo_MoveTo(me.areaid, 22532, 9553))
return "MyMo_MoveTo()";
if (!MyAt_KillBoss(156, null, -1))
return "MyAt_KillBoss()";
break;
case 1:
if (!MyMo_MoveTo(me.areaid, 22546, 9546))
return "MyMo_MoveTo()";
if (!MyAt_KillBoss(156, null, -1))
return "MyAt_KillBoss()";
break;
case 2:
if (!MyMo_MoveTo(me.areaid, 22561, 9555))
return "MyMo_MoveTo()";
if (!MyAnd_KillAndariel2())
return "MyAnd_KillAndariel2()";
break;
case 3:
if (MyConfig_AndarielJjolBot == 0)
{
if (!MyMo_MoveTo(me.areaid, 22566, 9587))
return "MyMo_MoveTo()";
}
MyAt_ClearPosition(22);
if (me.x != 22566 || me.y != 9587)
MyMo_MoveTo(me.areaid, 22562, 9583);
if (!MyAnd_KillAndariel3())
{
if (MyConfig_AndarielJjolBot != 0)
MyJB_WriteCheckMessage("IN");
return "MyAnd_KillAndariel3()";
}
if (MyConfig_AndarielJjolBot != 0 && MyConfig_AndarielClear[2][0] != 2)
MyJB_WriteCheckMessage("IN");
break;
}
MySI_PickItems(2000);
if (MyConfig_AndarielClear[2][0] == 2)
{
MyAt_ClearRooms(MyConfig_AndarielClear[2][1]);
if (MyConfig_AndarielJjolBot != 0)
MyJB_WriteCheckMessage("IN");
}
// 추가 -> ---------------------------------------------------------------------------------
MyJB_WriteCheckMessage("IN"); Delay(3000);
// <------------------------------------------------------------------------------------
return "MyMain()";
}
function MyAnd_KillAndariel2()
{
var _iAttack, _targetHp;
var _target = NTC_FindUnit(NTC_UNIT_MONSTER, 156, 5);
if (!_target)
// 이하는 원본대로
===============================================================================================
3. scripts\NTBot\bots\MyPit.ntj --> 수정할곳
-----------------------------------------------
function MyMain()
{
var _openChest;
// 추가 -> ---------------------------------------------------------------------------------
if (MyConfig_JjolBotGisaJjol > 0)
{
MyJB_WriteGisaMessage("IN"); Delay(1000);
MyJB_WriteGisaMessage("ACT1");
if (NTC_InTown()) MyVi_TownManager();
}
if (!MyMo_Start(6)) return "MyMo_Start()";
Say(" 피터1층 갑니다. ");
NTM_WalkTo(me.x + 5, me.y + 4); Delay(2000);
if (!NTM_MakeTP()) return "NTM_MakeTP()";
MyJB_WriteCheckMessage("OUT");
var _player1, _player2;
for (var i = 1; i <= 100; i++)
{
_player1 = MyUn_GetPlayerUnit(Purpose_Telpo, 1, true);
_player2 = MyUn_GetPlayerUnit(Purpose_Order, 1, true);
if (_player1 && _player2) break;
else MyJB_WriteCheckMessage("RESUME");
Delay(1000);
}
if (!_player1 || !_player2 ) return "MyUn_GetPlayerUnit()";
MyJB_WriteCheckMessage("BO"); Delay(4000);
MyJB_WriteCheckMessage("FIT");
NTP_DoPrecast(true); Delay(1000);
MyTP_UsePortal({ owner:me.charname });
NTM_WalkTo(me.x - 6, me.y - 5);
MyJB_WriteCheckMessage("IN");
var _msg;
for (i = 1; i <= 60; i++)
{
_msg = MyIL_File("NTBot/MyData/JjolBot/JjolBotJjolMessage[" + Purpose_Telpo + "].txt", 0);
Delay(1000);
if (_msg == "1" )
{
MyTP_UsePortal({ owner:Purpose_Telpo });
if (!NTM_MakeTP()) return "NTM_MakeTP()";
MyJB_WriteCheckMessage("ATTACK");
MyAt_ClearPosition(20);
break;
}
}
if (_msg != "1") return "Tele Fail:"+_msg;
if (MyConfig_DiaBotJjolBot == 2) MyJB_WriteCheckMessage("RESUME");
Say("!이쁘게 말하면 더 좋잔아, 반말이 뭐냐? !!!");
// <----------------------------------------------------------------------------------------
// 주석처리 (피트 1층까지) -> --------------------------------------------------------------
//if (!MyMo_Start(6)) return "MyMo_Start()";
//if (!MyMo_MoveToStair(7, 12, 0, 0, MyConfig_PitClear[0][0], MyConfig_PitClear[0][1], 65535 + 7))
//return "MyMo_MoveToStair()";
// <----------------------------------------------------------------------------------------
if (!MyMo_MoveToStairs([7, 12, 0, 0, MyConfig_PitClear[1][0], MyConfig_PitClear[1][1]], [12, 16, 0, 0, MyConfig_PitClear[2][0], MyConfig_PitClear[2][1]]))
return "MyMo_MoveToStairs()";
NTConfig_SnagRange = 0;
_openChest = MyConfig_OpenChest[0];
MyConfig_OpenChest[0] = false;
// 추가 (피트2층 포탈열기) -> --------------------------------------------------------------
NTM_WalkTo(me.x + 10, me.y + 10); Delay(1000);
if (!NTM_MakeTP()) return "NTM_MakeTP()";
Say("!고함만 질러대는 뚱댕이 보다 내가 좋지? !!!");
// <----------------------------------------------------------------------------------------
if (MyConfig_PitClear[3][0] == 2)
{
for (var i = 0; i < 3; i++)
{
MyAt_ClearPosition([7519, 14413, 7615, 14474], MyConfig_PitClear[3][1]);
MyMo_MoveTo(me.areaid, 7563, 14434);
MySI_SnagIt();
}
}
MyMo_MoveTo(me.areaid, 7610 + 2, 14419 + 2, 3, MyConfig_PitClear[3][0] == 1, MyConfig_PitClear[3][1]);
if (NTConfig_OpenChest)
MyCo_OpenChest(NTC_GetSpecialChest());
MyCo_OpenChest(55);
MySI_PickItems();
MyConfig_OpenChest[0] = _openChest;
return "MyMain()";
}
======================================================================================================
4. 기사캐릭 이니에서 아래부분 수정
----------------------------------
NTConfig_Script.push(["MyAndariel.ntj"]); // 액트 1: 카타콤 2, 3, 4층으로 이동 -> 안다리엘 사냥
MyConfig_AndarielJjolBot = 2; // 만능 쫄봇 = 0: 사용 안 함/ 1: 쫄봇(멈춤)/ 2: 쫄봇(움직임)
// 윗줄 2 로 지정 중요
MyConfig_AndarielAntidotePotion = 0; // 사 먹을 해독포션 개수
MyConfig_AndarielClear = [[0, 0x01], [0, 0x01], [0, 0x01]]; // [카타콤 2층, 카타콤 3층, 카타콤 4층]
MyConfig_AndarielKill = 1; // 안다리엘 잡기 = 0: 왼쪽 벽/ 1: 머리 찍기/ 2: 거리 유지하기/ 3: 입구 근처 상자 쌓여 있는 곳 * 참고: 'MyConfig_AndarielJjolBot = 0'이 아니면 3으로 자동 설정됩니다.
// 카타콤4층까지 텔레
NTConfig_Script.push(["MyPit.ntj"]); // 액트 1: 블랙 마쉬로 이동 -> 타모에 고지로 이동 -> 피트 1, 2층으로 이동 -> 전체 사냥/상자 열기
MyConfig_PitClear = [[0, 0x01], [0, 0x01], [1, 0x01], [2, 0x01]]; // [블랙 마쉬, 타모에 고지, 피트 1층, 피트 2층]
// 피트1층까지 텔레, 피트2층 진입 포탈오픈
========================================================================================================
// 수정 끝.