쫄봇 자동 텔레/퀘드랍(2) - 메피스토(수정1)
분류
봇관련
조회 수
2,366
추천 수
19
쫄봇 자동 텔레/퀘드랍(2) - 메피스토 [NTBot4.2_2.2 날아다녀님 버전]
업데이트 ------------------------------------------------------------------------------------------------------------------------
5.14
- #2. MyMephisto.ntj : MyMephisto.ntj는 원래 블리소서용이라 팔라 등 다른 캐릭으로 사냥시 적합하지 않습니다. 제가 큰 실수를 했네요. 애초에 NTmephisto를 개조 했어야 하는데요. 임시로 패치를 했습니다.
- #2. MyMephisto.ntj : 메피 죽인 후 쫄들이 가끔 포탈못타는 문제 개선
---------------------------------------------------------------------------------------------------------------------------------------------
지난 강좌와 연장되는 내용이므로, 자세한 설정 및 사용법은 생략합니다. NTBot4.2_2.3에서 작동하는지는 확인 못했습니다. 적용 해보신분 있으면 알려주세요.
http://tradia.me/diablo2/diablo2_tips/238251
시간되는대로 듀리엘, 안다 등도 올리겠습니다. 이미 적용해서 쓰는분들께서 포스팅 해주셔도 됩니다.
#1. MyLeechBot.ntj
function MyL_CheckMessageAuto()
{
var _msg = MyL_ReadMessage();
if (_msg && _msg != _MyL_Message)
{
var _result = _msg.split("/");
if (_result.length < 3)
{
switch (_result[1])
{
// 추가-------------------------------------------------
case "MEPHY": // 메피스토한테 이동(텔레)
if (me.charname == MyConfig_LeechBotTeleeName)
{
if (!MyMo_MoveToStair(me.areaid, 102))
MyL_WriteMessage("-1");
if (!NTM_TakeStair(102))
MyL_WriteMessage("-1");
if (!MyMo_MoveTo(me.areaid, 17592, 8070))
MyL_WriteMessage("-1");
if (NTTM_CheckAct(3))
MyL_WriteMessage("1");
else
MyL_WriteMessage("-1");
}
break;
// 추가-------------------------------------------------
#2. MyMephisto.ntj
function MyMain()
{
if (MyConfig_MyMephistoLeechBot != 0)
MyLB_WriteMessage("ACT3");
MyVi_TownManager();
if (!NTTM_TownMove("waypoint"))
return "NTTM_TownMove()";
if (!MyMo_TakeWaypoint(101))
return "MyMo_TakeWaypoint()";
NTP_DoPrecast(true);
// 추가 <-------------------------------------------------
if (MyConfig_LeechBotWarcryName)
{
NTM_WalkTo(me.x+2, me.y+1);
if (!NTM_MakeTP())
return "NTM_MakeTP()";
MyLB_WriteCheckMessage("OUT");
var _player1, _player2;
for (var i = 1; i <= 20; i++)
{
_player1 = MyConfig_LeechBotTeleeName ? MyUn_GetPlayerUnit(MyConfig_LeechBotTeleeName, 1, true) : true;
_player2 = MyUn_GetPlayerUnit(MyConfig_LeechBotWarcryName, 1, true);
if (_player1 && _player2)
break;
Delay(1000);
}
if (!_player1 || !_player2 )
return "MyUn_GetPlayerUnit()";
MyLB_WriteMessage("BO");
Delay(10000);
}
if (MyConfig_LeechBotTeleeName)
{
MyLB_WriteMessage("MEPHY");
MyTP_UsePortal(me.charname);
Delay(3000);
MyLB_WriteMessage("IN");
var _msg;
for (i = 1; i <= 50; i++)
{
_msg = MyIL_File("NTBot/MyData/LeechBot/LeechBotLeechMessage[" + MyConfig_LeechBotTeleeName + "].txt", 0);
Delay(1000);
if (_msg == "1" )
{
if (!MyTP_UsePortal(MyConfig_LeechBotTeleeName))
return "MyTP_UsePortal(MyConfig_LeechBotTeleeName)";
break;
}
else if (_msg == "-1" )
return "AutoTeleport Fail";
}
if (_msg != "1" && _msg != "-1")
return "AutoTeleport Fail - Time Out";
}
else
{
if (!MyMo_MoveToStair(me.areaid, 102))
return "MyMo_MoveToStair()";
if (!NTM_TakeStair(102))
return "NTM_TakeStair()";
}
// 추가 ------------------------------------------------->
if (MyConfig_MyMephistoLeechBot != 0)
{
if (!MyMo_MoveTo(me.areaid, 17592, 8070))
return "MyMo_MoveTo()";
NTM_MakeTP();
MyLB_WriteCheckMessage((MyConfig_MyMephistoLeechBot == 1) ? "OUT" : "ATTACK");
MyMo_MoveTo(me.areaid, 17555, 8069);
MyConfig_MyMephistoKill = 0;
}
else if(!MyMo_MoveTo(me.areaid, 17564, 8069))
return "MyMo_MoveTo()";
// 소서가 기사 아닐경우 문제해결
// if (!MyMe_KillMephisto())
// return "MyMe_KillMephisto()";
// 수정 <---------------------------------------------------------------------------------------- 5.14 수정
if (me.classid == NTC_CHAR_CLASS_SORCERESS)
{
if (!MyMe_KillMephisto())
return "MyMe_KillMephisto()";
}
else
{
if (!MyAt_KillBoss(242))
return "MyAt_KillBoss()";
}
// 수정 --------------------------------------------------------------------------------------->
// 쫄들이 가끔 포탈을 못타는 경우
// 수정 <---------------------------------------------------------------------------------------- 5.14 수정
if (!MyConfig_MyMephistoCouncilMember && MyConfig_MyMephistoLeechBot != 0)
MyLB_WriteMessage("ACT3");
// -------------------------------------------------------------------->
...................................