Skip to content

팁 게시판

쫄봇 자동 텔레보내서 보쌈 - 안다/듀리엘[5/25리플확인하세요]

분류 봇관련 조회 수 2,441 추천 수 22

안녕하세요. 오리 카인입니다.

thething님 자료로 보쌈+카오스런 하고 있습니다.

thething님이 아랫글에서 허락해 주셔서 안다&듀리엘 텔레보내서 잡는 법 포스팅합니다.

비번방을 팔라/소서/바바 3케릭만 하기때문에 자주 랠따가 와서 보쌈까지 하고 있습니다.

바바 외에는 모두 공격합니다. 바바는 팔라와 근접해서 쫄하기때문에 기사에게 몹 몰리는걸 방지하고 있습니다.


=1차수정 : 텔레실패시 오류메시지후 바로 다음사냥터로 넘어가게
 오더받고 홀리쉴드 시전하게

=2차수정 : 쫄들 포탈 잘 사들고 다니게 (타운매니저가 아닌 Leechbot.ntj에서 포탈체크)

=3차수정 : 쫄들 처음 방 들어와서 아이템 정리할때 포탈수 10개 이하시 사놓게

==================선행 조건======================

1. thething님 자료로 카오스런이 원활히 되고 있어야 됩니다.

2. D2NT3.1_NTBot4.2_3 날아다녀님 3차 수정봇입니다.
(여기에 thething님 자료 적용)

3. 3케릭이 협동해서 사냥합니다. 쫄 키우려고 하시는분에게는 비추천합니다.
쫄수는 2로 고정입니다. 1이나 3이상은 테스트해보지 못했습니다.

==================개조 방법======================

1. 케릭터.ntj 수정
NTConfig_Paladin_캐릭터이름.ntj 열어서 사냥터 추가해줍니다.

//----------------------------------------------------------TT_Mod
NTConfig_Script.push("MyAndariel.ntj"); // 안다리엘 안전하게 잡기
MyConfig_MyAndarielKill = 1; // 0: 원본 좌표/ 1: 머리 찍기/ 2: 입구 근처 상자 쌓여있는 곳
MyConfig_MyAndarielLeechBot = 2; // 0: 사용 안함/ 1: 쫄봇(멈춤)/ 2: 쫄봇(움직임)
MyConfig_MyAndarielAntidotePotion = 0; // 해독포션 사 먹기

NTConfig_Script.push("MyDuriel.ntj"); // 듀리얼 안전하게 잡기
MyConfig_MyDurielKill = 0; // 0: 맞짱/ 1: 거리 유지하기/ 2: 티리얼 있는 곳으로 유인하기
MyConfig_MyDurielLeechBot = 2; // 0: 사용 안함/ 1: 쫄봇(멈춤)/ 2: 쫄봇(움직임)

NTConfig_Script.push("MyMephisto.ntj"); // 메피스토 안전하게 잡기
MyConfig_MyMephistoKill = 0; // 0: 맞짱/ 1: 강 쪽으로 유인하기
MyConfig_MyMephistoCouncilMember = false; // 카운슬 멤버 잡기
MyConfig_MyMephistoLeechBot = 2; // 0: 사용 안함/ 1: 쫄봇(멈춤)/ 2: 쫄봇(움직임)
//-----------------------------------------------------------TT_mod

사냥 순서는 상관 없지만 듀리엘을 첫번째에 넣지 않기를 추천드립니다. 오더 못받을수 있습니다.


2. 1번 파일을 scripts\NTBot\bots 폴더에 압축을 풀어주세요.
 (bots.jpg를 bots.zip로 확장자 변경해주세요. 강좌란이라 그런지 zip 확장자론 못올리네요.
 (강제로 알집으로 열어도 됩니다.)

또는 아래 처럼 수정하셔도 됩니다. (1번 파일에는 모든 적용된 파일이 있습니다.)


===========안다리얼 scripts\NTBot\bots\MyAndariel.ntj==========

scripts\NTBot\bots\MyAndariel.ntj 파일 열고
아래 구문중 프레캐스트아래에

 if (!NTTM_TownMove("waypoint"))
 return "NTTM_TownMove()";
 if (!MyMo_TakeWaypoint(35))
 return "MyMo_TakeWaypoint()";

 NTP_DoPrecast(true);

 //----------------------------------------------------------> TT_mod
 // 웨이로 이동 후 함성 받기
 if (MyConfig_MyAndarielLeechBot != 0 && MyConfig_LeechBotTeleeName)
 {
 NTM_WalkTo(me.x+2, me.y+1);
 
 if (!NTM_MakeTP())
 return "NTM_MakeTP()";
 Say("보쌈먹습니다 먼저 안다누님 보러갑니다.");
 MyLB_WriteCheckMessage("OUT");

 var _player1, _player2;
 for (var i = 1; i <= 50; i++) // 파티원 검사 20초이던걸 50초로
 {
 _player1 = MyUn_GetPlayerUnit(MyConfig_LeechBotTeleeName, 1, 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);
 MyLB_WriteMessage("ANDA");
 MyTP_UsePortal(me.charname);
 MyLB_WriteMessage("IN"); 

 var _msg;
 for (i = 1; i <= 60; i++)
 {
 _msg = MyIL_File("NTBot/MyData/LeechBot/LeechBotLeechMessage[" + MyConfig_LeechBotTeleeName + "].txt", 0);
 Delay(1000);
 
 if (_msg == "1" )
 {
 MyTP_UsePortal(MyConfig_LeechBotTeleeName)
 NTM_MakeTP();
 MyLB_WriteMessage("ATTACK");
 MyAt_ClearPosition(20);
 break;
 } 
 }
 if (_msg != "1")
 return "Tele Fail:"+_msg;//탤레실패시
 if (!_msg)
 return "LeechBotLeechMessage";

 }
 // <-------------------------------------------------- TT_mod


//이동 부분 주석처리
/*
 if (!MyMo_MoveToStairs([35, 36], [36, 37]))
 return "MyMo_MoveToStairs()";

 if (MyConfig_MyAndarielLeechBot != 0)
 {
 if (!MyMo_MoveTo(me.areaid, 22579, 9595))
 return "MyMo_MoveTo()";

 NTM_MakeTP();

 if (!MyMo_MoveTo(me.areaid, 22571, 9588))
 return "MyMo_MoveTo()";

 MyLB_WriteCheckMessage((MyConfig_MyAndarielLeechBot == 1) ? "OUT" : "ATTACK");

 MyConfig_MyAndarielKill = 2;
 }
 else if (!MyMo_MoveTo(me.areaid, 22580, 9596))
 return "MyMo_MoveTo()";
*/

좀 더 아래로 내려와서

 if (MyConfig_MyAndarielLeechBot != 0)
 MyLB_WriteMessage("IN");

위 부분을 아래처럼 수정합니다.

 if (MyConfig_MyAndarielLeechBot != 0)
 {
 MyLB_WriteMessage("ACT1");
 Delay(5000); //쫄들 마을로 갈 시간 주기
 }

===========듀리엘 scripts\NTBot\bots\MyDuriel.ntj==========

scripts\NTBot\bots\MyDuriel.ntj파일 열고
아래 if문 2개 다음 아래에

 if (!NTTM_TownMove("waypoint"))
 return "NTTM_TownMove()";
 if (!MyMo_TakeWaypoint(46))
 return "MyMo_TakeWaypoint()";

 //----------------------------------------------------------> TT_mod
 // 웨이로 이동 후 함성 받기
 if (MyConfig_MyMephistoLeechBot != 0 && MyConfig_LeechBotTeleeName)
 {
// NTM_WalkTo(me.x+2, me.y+1);
 
 if (!NTM_MakeTP())
 return "NTM_MakeTP()";
 Say("보쌈먹습니다 듀리엘 보러갑니다.");
 MyLB_WriteCheckMessage("OUT");

 var _player1, _player2;
 for (var i = 1; i <= 50; i++) // 파티원 검사 20초이던걸 50초로
 {
 _player1 = MyUn_GetPlayerUnit(MyConfig_LeechBotTeleeName, 1, 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);
 MyLB_WriteMessage("DURI");
 NTP_DoPrecast(true);
 Delay(1000);
 MyTP_UsePortal(me.charname);
 MyLB_WriteMessage("IN"); 

 var _msg;
 for (i = 1; i <= 60; i++)
 {
 _msg = MyIL_File("NTBot/MyData/LeechBot/LeechBotLeechMessage[" + MyConfig_LeechBotTeleeName + "].txt", 0);
 Delay(1000);
 
 if (_msg == "1" )
 {
 MyTP_UsePortal(MyConfig_LeechBotTeleeName)
 NTM_MakeTP();
 MyLB_WriteMessage("ATTACK");
 MyAt_ClearPosition(20);
 break;
 } 
 }
 if (_msg != "1")
 return "Tele Fail:"+_msg;//탤레실패시
 if (!_msg)
 return "LeechBotLeechMessage";

 }
 // <-------------------------------------------------- TT_mod

//이동 부분 주석처리
/*
 _tombs = GetRoom();
 if (!_tombs)
 return "GetRoom()";

 if(!MyMo_MoveToPresetUnit(me.areaid, NTC_UNIT_TILE, _tombs.correcttomb - 28))
 return "MyMo_MoveToPresetUnit()";

 _unit = NTC_FindUnit(NTC_UNIT_TILE, _tombs.correcttomb - 28, 5);
 if(!_unit)
 return "NTC_FindUnit()";

 if(!NTM_TakeStair(_unit.subareaid))
 return "NTM_TakeStair()";
 if (!MyDu_MoveToPresetUnit(me.areaid, NTC_UNIT_OBJECT, 152))
 return "MyDu_MoveToPresetUnit()";
 if (!MyDu_TakeStair(100))
 return "MyDu_TakeStair()";
*/

 if (MyConfig_MyDurielLeechBot != 0)
 {
//포탈 새로 여는 부분 주석처리 NTM_MakeTP();


좀 더 아래로 내려와서

 if (MyConfig_MyDurielLeechBot != 0)
 MyLB_WriteMessage("IN");

위 부분을 아래처럼 수정합니다.

 if (MyConfig_MyDurielLeechBot != 0)
 {
 MyLB_WriteMessage("ACT2");
 Delay(5000); //쫄들 마을갈 시간 주기 1000=1초
 }


===========리치봇 scripts\NTBot\bots\MyLeechBot.ntj==========
scripts\NTBot\bots\MyLeechBot.ntj 파일열고

ⓐ thething님 자료중 추가부분에 if문 주석처리
(기존 파티가 잘되던분들은 적용하지 않으셔도 됩니다.)

function MyMain()
{
 LeechBotHelpMsg = -1;

 var i;
 var _portal;
 var _playerMaster, _unitMaster;
 var _attackCount, _pickCount, _precastCount, _mercCount, _errorCount;
 var _myExperience, _experience, _lastExperience;
 var _preAreaId, _preX, _preY;
 var _prePlayer = new Array(3);
 var _result;

 //-------------------------------------------------------->TT_mod
// if (me.charname == MyConfig_LeechBotGameMaker) //주석처리 기사인식 잘하게
 MyIL_File("NTBot/MyData/LeechBot/LeechBotMasterName.txt", 1, MyConfig_LeechBotAutoMaster)
 
 //Load("NTBot/tools/NTToolsThread_MyLeechBot.ntj");
 //<-------------------------------------------------------TT_mod

ⓑ 아래 내려와서 thething님 자료중 카오스 이동 아래에 추가

 //-------------------------------------->TT_mod 추가
 case "BO": // 함성 하기
 if (me.charname == MyConfig_LeechBotWarcryName)
 {
 NTC_SwapWeapons(1) // 2번 무기 슬롯을 이용할 경우 
 while (!NTC_CastSkill(155, NTC_HAND_RIGHT))
 Delay(10)
 while (!NTC_CastSkill(138, NTC_HAND_RIGHT))
 Delay(10)
 while (!NTC_CastSkill(149, NTC_HAND_RIGHT))
 Delay(10)
 NTC_SwapWeapons(0);
 MyLB_WriteMessage(_MyL_Message);
}
break;

 case "CHAOS": // 카오스 중앙으로 이동(텔레)
 if (me.charname == MyConfig_LeechBotTeleeName)
 {
 if( MyMo_MoveTo(108, 7792 + 10, 5292 - 4) )
 {
 if (NTTM_CheckAct(4))
 MyL_WriteMessage("1"); 
 }
 }
 break; 
 //<---------------------------------------------TT_mod
 // case "CHAOS":
 // 에서 이동방법이나 좌표는 MyAutoTeleport.ntj 를 참고하면 됩니다.
 // -------> function MyAT_카오스_생츄어리() 내 이동 방법 참고
 // 이 외에도 모든 사냥터의 좌표를 알 수 있습니다.

//안다
//----------------------------------------------mod
 case "ANDA": // 카타콤 4층으로 이동(텔레)
 if (me.charname == MyConfig_LeechBotTeleeName)
 {
 if (!MyMo_MoveToStairs([35, 36], [36, 37]))
 MyL_WriteMessage("MyMo_MoveToStairs()");

 if (!MyMo_MoveTo(me.areaid, 22579, 9595))
 return "MyMo_MoveTo()";

 if (NTTM_CheckAct(1))
 MyL_WriteMessage("1"); 
 }
 break; 
//----------------------------------------------mod

//듀리엘
//---------------------------------------------ㅡmod
 case "DURI": // 듀리엘방으로 이동(텔레)
 if (me.charname == MyConfig_LeechBotTeleeName)
 {
 _tombs = GetRoom();
 if (!_tombs)
 MyL_WriteMessage("GetRoom()");

 if(!MyMo_MoveToPresetUnit(me.areaid, NTC_UNIT_TILE, _tombs.correcttomb - 28))
 MyL_WriteMessage("MyMo_MoveToPresetUnit()");

 _unit = NTC_FindUnit(NTC_UNIT_TILE, _tombs.correcttomb - 28, 5);
 if(!_unit)
 MyL_WriteMessage("NTC_FindUnit()");

 if(!NTM_TakeStair(_unit.subareaid))
 MyL_WriteMessage("NTM_TakeStair()");
 if (!MyDu_MoveToPresetUnit(me.areaid, NTC_UNIT_OBJECT, 152))
 MyL_WriteMessage("MyDu_MoveToPresetUnit()");
 if (!MyDu_TakeStair(100))
 MyL_WriteMessage("MyDu_TakeStair()");

 if (NTTM_CheckAct(2))
 MyL_WriteMessage("1"); 
 }
 break;
//----------------------------------------------mod


ⓒ 3개의 function을 가장 뒤에 복사해 넣습니다.

//---------------------------------------TT_mod
//듀리엘 방 찾아기기
function MyDu_TakeStair(classId)
{
 var i;
 var _unit = NTC_FindUnit(NTC_UNIT_OBJECT, classId, 50);

 if (_unit)
 {
 var _preAreaId = me.areaid;

 for (i = 0; i < 100; i++)
 {
 if ((i % 5) == 0)
 {
 if (NTC_GetSkillLevel(43) && MyMo_MoveCloseInt(_unit, 20))
 NTC_CastSkill(43, NTC_HAND_RIGHT, _unit);
 else if (NTM_GetCloserInt(_unit))
 NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _unit);
 }

 Delay(100);

 if (me.areaid != _preAreaId)
 {
 while (me.areaid == 0)
 Delay(200);

 if (me.areaid != _preAreaId)
 {
 NTC_PingDelay(NTConfig_AreaDelay);
 return true;
 }
 else
 return false;
 }
 }
 }

 return false;
}


function MyDu_CheckCoord(x, y)
{
 var i;
 var _unitX, _unitY;
 var _coordList = [[0, x - 11, y - 11], [0, x - 11, y + 3], [0, x - 11, y + 15], [0, x + 7, y - 11], [0, x + 7, y + 3], [0, x + 7, y + 15]];
 var _unit = NTC_FindUnit(NTC_UNIT_MONSTER, null, 5);

 if (!_unit)
 return false;

 do
 {
 if (_unit.IsAttackable())
 {
 _unitX = _unit.x;
 _unitY = _unit.y;

 for (i = 0; i < 6; i++)
 {
 if (GetDistance(_coordList[i][1], _coordList[i][2], _unitX, _unitY) <= 6)
 _coordList[i][0]++;
 }
 }
 } while (_unit.GetNext());

 _coordList.sort(function (a, b) { return (a[0] - b[0]); });

 return MyMo_MoveTo(me.areaid, _coordList[0][1], _coordList[0][2]);
}

function MyDu_MoveToPresetUnit(areaId, unitType, classId, offsetX, offsetY, isClearPath, specType)
{
 var i, j;
 var _oldUnits, _newUnits;

 if (arguments.length < 4) { offsetX = 0;
 offsetY = 0; }
 if (arguments.length < 6) isClearPath = false;
 if (arguments.length < 7) specType = _MyAt_MONSTER_TYPE_ALL;

 for (i = 0; i < 3; i++)
 {
 _oldUnits = GetPresetUnits(areaId, unitType);
 if (_oldUnits)
 {
 for (j = 0; j < _oldUnits.length; j++)
 {
 if (_oldUnits[j].id == classId)
 {
 if (MoveTo(areaId, _oldUnits[j].roomx * 5 + _oldUnits[j].x + offsetX, _oldUnits[j].roomy * 5 + _oldUnits[j].y + offsetY, 3, isClearPath, specType))
 return true;
 else
 {
 switch (me.areaid)
 {
 case 29:
 case 30:
 case 31:
 case 51:
 case 52:
 case 53:
 case 54:
 var _moveXy = [[30, 0], [0, 30], [-30, 0], [0, -30]];

 for (i = 0; i < 4; i++)
 {
 while (true)
 {
 if (!NTM_TeleportTo(me.x + _moveXy[i][0], me.y + _moveXy[i][1]))
 break;
 if (MoveTo(areaId, _oldUnits[j].roomx * 5 + _oldUnits[j].x + offsetX, _oldUnits[j].roomy * 5 + _oldUnits[j].y + offsetY, 0, isClearPath, specType))
 return true;
 }
 }
 break;
 }

 return false;
 }
 }
 }
 }

 if (i < 2)
 Delay(500);
 }

 function MoveTo(areaId, x, y, retry, isClearPath, specType)
 {
 var i, j;
 var _isTeleport;
 var _path, _checkPath;
 var _preX, _preY;
 var _retry = 0;

 if (MyConfig_AttackSkill[1] == 112 || MyConfig_AttackSkill[3] == 112)
 {
 if (me.x == x && me.y == y)
 return true;
 }
 else if (Math.abs(me.x - x) < 2 && Math.abs(me.y - y) < 2)
 return true;

 if (arguments.length < 4) retry = 4;
 if (arguments.length < 5) isClearPath = false;
 if (arguments.length < 6) specType = _MyAt_MONSTER_TYPE_ALL;

 if (NTC_InTown())
 {
 if (isClearPath)
 return false;

 _isTeleport = false;
 isClearPath = false;
 }
 else if (NTC_GetSkillLevel(54))
 _isTeleport = true;
 else
 {
 MyMo_CheckEnigma();

 if (NTC_GetSkillLevel(54))
 _isTeleport = true;
 else
 return MyMo_RunTo(areaId, x, y, retry, isClearPath, specType);
 }

 _path = GetPath(areaId, me.x, me.y, x, y, _isTeleport);
 if (!_path)
 return (NTC_InTown() && (NTM_WalkTo(x, y) || NTTM_TownMoveXY(x, y)));

 for (i = 0; i < _path.length; i++)
 {
 if ((i + 1) >= _path.length)
 return MyDu_CheckCoord(x, y);

 if (!isClearPath || !MyConfig_SafeHunting || MyUn_CheckCowKing() || MyUn_CheckSafe(_path[i][0], _path[i][1], 15, 5))
 {
 for (j = 0; j < 2; j++)
 {
 if (_isTeleport)
 {
 if (NTM_TeleportTo(_path[i][0], _path[i][1]))
 break;
 }
 else if (NTM_WalkTo(_path[i][0], _path[i][1]))
 break;
 else if (NTTM_TownMoveXY(_path[i][0], _path[i][1]))
 break;
 }

 if (j > 1)
 {
 if (_retry++ < retry)
 {
 _path = GetPath(areaId, me.x, me.y, x, y, _isTeleport);
 if (_path)
 {
 i = -1;
 continue;
 }
 }

 return false;
 }
 }
 else if (!MyMo_RunTo(me.areaid, _path[i][0], _path[i][1]))
 return false;

 if (isClearPath && !MyUn_CheckCowKing())
 {
 _preX = me.x;
 _preY = me.y;

 MyAt_ClearPosition(30, specType, true);

 NTP_DoPrecast(false);

 if (_isTeleport && (me.x != _preX || me.y != _preY) && (i + 1) < _path.length)
 {
 _checkPath = GetPath(me.areaid, me.x, me.y, _path[i + 1][0], _path[i + 1][1], _isTeleport);
 if (_checkPath && _checkPath.length > 1)
 {
 if (!MyMo_MoveTo(me.areaid, _preX, _preY))
 return false;
 }
 }
 }

 MyCS_CatchShrine();
 }

 return true;
 }

 return true;
}
//---------------------------------------TT_mod


==================리치봇 MyLeechBot.ntj======================
scripts\NTBot\bots\MyLeechBot.ntj 파일열고

ⓐ 포탈수가 부족하면 상점 들리게

function MyL_CheckPortal(count)
{
 if (arguments.length < 1)
 count = 4; 

 _NTTMGR_BuyTP = !MyTP_CheckBeltScroll() && NTTMGR_CheckScrolls(1) < count;

위 구문을 아래처럼 수정

function MyL_CheckPortal(count)
{
//주석처리 if (arguments.length < 1)
 count = 10; 

 _NTTMGR_BuyTP = !MyTP_CheckBeltScroll() && NTTMGR_CheckScrolls(1) < count;

ⓑ 아이템 정리할때 포탈수 확인하고 사기

 if (MyConfig_LeechBotItem[0])
 {
 StatusText[0] == 1 && MyCo_SetStatusText("ÿc4아이템 정리 중 (ÿc0...ÿc4)");
 MyVi_TownManager(!MyConfig_LeechBotItem[1]);
 }

위 구문을 아래처럼 수정

 if (MyConfig_LeechBotItem[0])
 {
 StatusText[0] == 1 && MyCo_SetStatusText("ÿc4아이템 정리 중 (ÿc0...ÿc4)");
 MyVi_TownManager(!MyConfig_LeechBotItem[1]);
 MyL_CheckPortal(); //아이템 정리중 체크포탈
 }

============================================================


주의 !!!!
1. 이 자료와 관련 없는 질문은 사절합니다.
2. 파일에는 아래 메피자료도 적용되어 있습니다. (1차수정메피 적용중)
3. 제 테스트 환경은 팔라/소서/바바 입니다.
팔라 11K햄딘/ 소서 오브파볼소서/ 바바 오더샤우트마스터
4. 수정하시기 전에 기존 봇폴더를 복사해놓으시길 추천드립니다.


special thk : thething 님
thething님이 더 완벽한 자료 올려주실거라 믿습니다.


ps : 5/17 포탈 문제 해결했습니다. 질문은 리플로 해주세요. 이 자료와 관련된 질문만 받습니다.
 쫄봇 전체적인걸 물어 보시거나, 자료실 렙이 안되서 메일로 봇 보내달란분들 자중좀 해주세요;;
댓글73
  • 윤지근웅아빠 2010.05.19 21:41
    기존에 받아놓은 파일에서 뭔가를 건들였던것 같네요. 지금은 아주 잘 돌아갑니다. 포탈책을 오류가 자꾸나서 지금은 아예 포탈책만 8권씩 사서 넣어놨더니 잘 돌아가네요.^^
  • 카인 2010.05.20 10:14
    상점 정리 하다 늦어서 불러도 안오는 쫄들 있을 경우 이 방법 쓰세요. 제가 테스트해보진 못했습니다. 웨이에서 파티원 검사시 모든 파티원이 모이지 않았다면 오게 부르는겁니다. //----------------------------------------------------------> TT_mod // 웨이로 이동 후 함성 받기 if (MyConfig_MyMephistoLeechBot != 0 && MyConfig_LeechBotTeleeName) { // NTM_WalkTo(me.x+2, me.y+1); if (!NTM_MakeTP()) return "NTM_MakeTP()"; Say("보쌈먹습니다 듀리엘 보러갑니다."); MyLB_WriteCheckMessage("OUT"); var _player1, _player2; for (var i = 1; i <= 50; i++) // 파티원 검사 20초이던걸 50초로 { _player1 = MyUn_GetPlayerUnit(MyConfig_LeechBotTeleeName, 1, true); _player2 = MyUn_GetPlayerUnit(MyConfig_LeechBotWarcryName, 1, true); if (_player1 && _player2) break; //---------------------------------------------TT_mod else if (!_player1 || !_player2 ) MyLB_WriteMessage("RESUME"); //---------------------------------------------TT_mod Delay(1000); } if (!_player1 || !_player2 ) return "MyUn_GetPlayerUnit()"; 포탈문제는 제 자료 문제는 아닌듯 싶습니다. 전 50방돌동안 소서 카오스 치킨외에는 에러가 나지 않거든요. (안다,듀리엘 쫄움직임 // 메피 쫄멈춤) 방 조인하면 포탈 확인하고 사 놓기에 그방 돌동안 모자랄 일은 없고요. ps : 제 글에 리플이 50개가 넘었군요. 참 많이 모자란 자료 테스트 해주신 모든 분들 감사드립니다.
  • Kook~ 2010.05.21 10:14
    카인님/ 수고가많으셨습니다 좋은자료 테스트잘하고갑니다 액2 듀리엘사냥터에서는 적용하지않으셔도될것같아요 그대신 for (var i = 1; i <= 50; i++) // 파티원 검사는 조금 늘려주시구요 TT_mod추가시 오더받고 포탈을안타고 마을웨이로 바로가는경우도 생겨서 열씸히 달려가요 그러면 사냥끝나고 들어오는경우가 생겨서 다른 액트는 마을웨이하고 포탈여는곳이 가까우니 상관없지만 액2는 거리가있으니 참고만하세요^^수고하셨습니다^^
  • 소녀 2010.05.21 11:10
    카인님 고생 많으시고요..자료 감사합니다. Kook~님/바로윗글로 편하게 애들 방입장후 각자템정리후 출발하네요. Kook~님도 고생 많으시네요..
  • Kook~ 2010.05.21 17:41
    소녀님/감사합니다 저도 테스트하고 자료활용하는 1인중하나입니다 다 똑같지요^^고생은요~만드신분들이 고생이죠^^ 다들 즐거운 하루보내세요^^
  • PARAGON 2010.05.21 19:42
    고생 많으셨네요... 많은 도움 됐습니다... 감사합니다
  • 듀엣 2010.05.22 17:57
    네 잘읽었습니다. 유용한정보 감사드립니다 수고 하십시요!!!
  • harusari 2010.05.22 23:13
    좋은정보로 잘 사용하고 있습니다^^ 다른건 모두 잘 작동하는데 가끔 사냥중에 포탈타고 마을다녀오는사이에 기존 인식되었던 몹이 죽은걸 인식못하고 스킬시전을 하고 있습니다. 혹은 기사가 다음사냥터로 가는데 안따라가고 근처있는 잔몹처리하다 시간 다보내고 오류나서 게임끝날때까지 그러다 방나가네요. 설명이 길었는데 보스몹 잡고난뒤 다음사냥터로 강제로 보내는 방법은 없을까요?
  • 쿠울 2010.05.23 22:00
    카인님 감사합니다. 날아다녀님 4차버젼에 쫄포함 4마리 잘 돌아갑니다. 액1 안다 잡을때 오더밥 말고 망치바바(쫄) 기사가 안다잡을 동안 포탈 위치 바로 아래에 문열라고 왔다갔다하다가 근처몹들한테 신나게 어더터지는데.. 10방중 6방정도 같은증상이 보여서 문의드려봅니다.
  • 다시해보자디아 2010.05.24 08:11
    쿠울님// 윗 댓글중에 마각님 글 읽어보셔요.. 저도 그문제로 마각님글 참고해서 사용하니 그런현상은 없더군요
  • Erogizer 2010.05.24 22:40
    5차버전으로 수정하신분 도움좀주세요 4차버전까지는 잘 사용했는데 5차버전은 또 다른부분이 많나보네요 thething님 강좌부터 카인님 강좌까지 다 해놓고 실행하면 안다는 함께 사냥합니다 듀리엘은 기사혼자사냥한뒤 소서가 플라이하는데 듀리엘이 없어서 오류납니다 메피는 또 함께 사냥하구요 디아는 기사가 불강가면 NTDiablo.ntj : MyDi_ClearSeal()오류나면서 로비로 나갑니다 2차부터 수정될때마다 새버전 수정해서 사용했는데 5차는 몇번을 다시 수정해봐도안되네요
  • 카인 2010.05.25 21:36
    오늘 봇게시판 보니 8명넣고 하시는분 있더군요. 3명이 최적이긴한데... 4명이상일 경우, 쫄들에게 막혀서 기사가 움직임이 원활하지 않네요. 그래서 안다와 메피쪽 코드수정 알려드립니다. ==================메피======================= 메피사냥터파일 열어서 제꺼와 비교하시면서 고치세요 소서가 원래 열던곳에 열고 팔라가 메피앞까지 전진한후 포탈엽니다. if (MyConfig_MyMephistoLeechBot != 0) { if (!MyMo_MoveTo(me.areaid, 17592, 8070)) return "MyMo_MoveTo()"; MyMo_MoveTo(me.areaid, 17560, 8069); //위치이동 원좌표 17555-8069 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()"; //----------------------------------TT_mod if (me.classid == NTC_CHAR_CLASS_SORCERESS) { if (!MyMe_KillMephisto()) return "MyMe_KillMephisto()"; } else { if (!MyAt_KillBoss(242)) return "MyAt_KillBoss()"; } //----------------------------------TT_mod if (!MyConfig_MyMephistoCouncilMember && MyConfig_MyMephistoLeechBot != 0) MySI_PickItems(); MySI_PickItems(); MyLB_WriteMessage("ACT3"); Delay(5000); //쫄들 마을갈 시간주기 if (NTConfig_OpenChest) { if (MyMo_MoveTo(me.areaid, 17537, 8064)) { if (MyMe_OpenChest(17513, 8063)) MySI_PickItems(); } } if (MyConfig_MyMephistoCouncilMember) { MyMe_KillCouncilMember(); if (MyConfig_MyMephistoLeechBot != 0) MyLB_WriteMessage("IN"); } return "MyMain()"; } =================안다====================== 4명이상일때 액1마을에서 쫄들에게 막혀 카타콤4층포탈 못들어가는 기사 잘들어가게 하기 안다사냥터 파일 열고 비교하시면서 고치세요. var _player1, _player2; for (var i = 1; i <= 50; i++) // 파티원 검사 20초이던걸 50초로 { _player1 = MyUn_GetPlayerUnit(MyConfig_LeechBotTeleeName, 1, 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); MyLB_WriteMessage("ANDA"); NTP_DoPrecast(true); Delay(1000); MyTP_UsePortal(me.charname); NTM_WalkTo(me.x-2, me.y-1); //마을들어간후 위로 살짝움직임 MyLB_WriteMessage("IN");
  • 나카시마미카 2010.05.25 23:29
    카인// 듀리엘방 찾아가기<<<요부분은 어디부분에 복사해 넣는건가요? 봐도 이해해가;;
  • 카인 2010.05.26 06:23
    나카시마미카 // ⓒ 말씀인가요? ⓐ한곳과 같은곳에 합니다.
  • AndrewKim 2010.05.29 23:18
    좋은 자료 감사합니다. 잘 사용하겠습니다.
  • 나카시마미카 2010.06.02 23:42
    카인님 다 잘 돌아가는데 보쌈만 잡고 계속 나가네요;; 디아블로<<주석풀어도 보쌈만계속 잡네요.ㅠ 어디가 문제인지?;;
  • King Bomb 2010.06.07 21:00
    네 잘읽었습니다. 유용한정보 감사드립니다
  • 동몽몽 2010.06.10 10:28
    알기쉬운 설명 감사합니다. 참고하겠습니다.
  • 언제나스마일 2010.06.10 21:11
    좋은정보 얻어가요~ 감사합니다!!
  • 극체라소서 2010.06.20 18:18
    좋은 정보 감사합니다. 정말 수고 많으셨어요.
  • 카인 2010.07.06 04:09
    나카시마미카 님// 선행조건1이 되시고 있으시다면 안될리 없을텐데요. 다시 확인부탁합니다.
  • 원조뚜루당 2010.10.27 16:35
    좋은정보 감사합니다. 지금 잘 돌아가고 있습니다. 그런데 한가지 변경하고 싶은것이 있습니다. 보쌈이 끝나고 디아런 갈때 바바만 함성하고 마을로 와서 대기하도록 하고 싶은데 어떻게 해야 하나요? 날아다녀님 2차를 쓰고 있습니다. 즐거운 한주되세요.^^
  • 으흥으헝 2011.07.06 22:32
    깔끔하네요 좋은정보감사합니다

팁 게시판

번호 분류 제목 글쓴이 날짜 조회
공지   게시판 푸시 알림 / 통합 앱 서비스 31 file 트디개발자 2023.09.20 830.8k
공지 디아관련 에테리얼 벅큐빙 표 219 eunnanoDiablo™ 2008.03.05 140.2k
공지 디아관련 케릭별 갑옷 착용 모습 325 수린[아빠] 2009.06.09 111.4k
공지 디아관련 디아블로 각종 팁과 정보 간추림 입니다 (_ _) 1547 조은아저씨 2010.05.24 211.6k
공지 봇관련 유니크 업글 표 366 file 카인 2013.11.02 412.8k
공지   맨땅 초보자 가이드 597 file 뮤리아 2020.10.16 994.4k
공지   카카오톡 1:1 채팅방 만드는 법 101 트디개발자 2018.05.20 424.4k
2261 아이템/앵벌 알바생 성과분석자료입니다. (룬별드랍장소/장소별룬드랍) 84 causeim 2010.05.20 4.3k
2260 게임관련 노멀3솟모넉 아칸갑만드는법 51 잔다르크 2010.05.20 3.6k
2259 디아관련 각 난위도, 엑트, 몬스터별 고급룬 드랍 정보 46 file 조은아저씨 2010.05.19 3.8k
2258 디아관련 오리를 하는데 도움이 되는 각종정보입니다.. 37 루인 2010.05.18 2.2k
2257 봇관련 아무것도없이 8봇이상 봇돌리기 노하우(뽀이님 방법에 참고만^^) 26 로카aaaa 2010.05.18 4.0k
2256 봇관련 대기열로 인한 재시작 무시하기 다시올립니다. 37 file roger 2010.05.16 3.3k
2255 봇관련 룬 및 참 큐빙 시 보석 숫자 조정하기... 36 St_rose 2010.05.16 2.8k
2254 디아관련 Windows7 & Vista 사용자를위한 입니다. 20 LyuAe™ 2010.05.16 1.1k
2253 디아관련 기본 채널 설정하기 (레지스트리 등록파일 첨부) 17 아옹 2010.05.15 1.8k
2252 디아관련 케릭별, 무기별 공속프레임 계산하는 사이트입니다. 27 file 바바리맨 2010.05.14 2.1k
> 봇관련 쫄봇 자동 텔레보내서 보쌈 - 안다/듀리엘[5/25리플확인하세요] 73 카인 2010.05.14 2.4k
2250 봇관련 쫄봇 자동 텔레/퀘드랍(2) - 메피스토(수정1) 38 thething 2010.05.13 2.4k
2249 디아관련 디아블로 영문판을 (18세이상) 한글판으로 풀 패치 30 [無情]디아블러네 2010.05.12 4.3k
2248 봇관련 잡씬(트랩씬), 데센과 라센을 혼합하여 사용하기. (+영상추가) 12 최Rock 2010.05.12 1.6k
2247 디아관련 드림셋 펌핑중 거래거는 것을 방지하는 방법입니다. 23 날다람쥐 2010.05.11 1.8k
2246 디아관련 수수 수리비 비교(무내구와 유내구) 84 렌유 2010.05.10 11.3k
2245 디아관련 윈도우 7에서 숨렙 프로그램 안되시는분...해결 방법입니다. 18 光速바바 2010.05.10 1.7k
2244 디아관련 각종퀘스트 탬에 대한 TIP 계속해서 갖고 보관한다. 33 file 바람의아들 2010.05.10 1.8k
2243 디아관련 트랩 공속표 (클러 프레임) 입니다 ^^ 25 AS1L상륙작전 2010.05.10 13.2k
2242 아이템/앵벌 4솟 증어레 쌍패 2스킬 2솟 증어레 쌍패 선택 33 강부장 2010.05.09 2.6k