오리 디아런.. 소소가 날다.(쫄봇, 함성, 카오스 중앙 포탈 열기)
분류
봇관련
조회 수
6,265
추천 수
38
안녕하세요. 아시아2에서 활동하고 있는 유저입니다.
글을 쓰기에 앞서, 헤븐리스톤님, 날아다녀님..
그리고 봇을 위해 고생하시는 분들에게 먼저 감사의 말씀을 드립니다.
최초작성 : 2010. 10. 5
제1차 수정 : 2010. 10. 10
제1차 수정 이유(10/10)
- 1) 바바/팔라에게 주었던 불필요한 딜레이 부분 삭제
- (이유) 딜레이를 줄여, 방의 사냥 효용성을 높임(원래대로 설정하세요)
- 2) 쓸데없이 만진 scripts\NTBot\bots\MyQueDrop.ntj에서 수정한 내용, 두가지 삭제
- (이유) scripts\NTBot\MyConfigs\QueDrop.ntl 에서 설정 가능.
- 3) 중복되는 설명들 삭제(바로 위에서 언급하고 또 언급하는 곳 삭제)
- 4) 본문의 "제2장 기사케릭설정"내용을 팔라에서 소소로 변경
- (이유) 당초의 기사를 팔라에서 소소로 변경하였습니다.
- 5) 기사소소로 카오스 중앙 포탈 열기(제5장에서 언급)
본 디아런의 스토리는.... -_-+
기사소소, 오더바바, 햄딘, 블리소소 이렇게 총 4케릭이 디아런을 합니다.
먼저는 바바가 불강에서 함성을 해주고,
두번째로 기사소소가 카오스 중앙까지 텔레포트로 이동하여 포탈을 열어주고,
세번째로 팔라/바바/소소가 입장 후 열심히 싸웁니다.
네번째로 바바는 30초마다 함성을 질러줍니다.
마지막으로 디아런 평균 시간은 약 6분 정도 걸립니다.
<구성>
제1장 쫄봇 준비단계
제2장 오리 디아런 바바 함성/케릭들 설정
제3장 기타 부분 설정
제4장 쫄봇에 대한 에러
제5장 카오스 중앙 포탈 열기
제6장 마무리
제1장 쫄봇 준비단계
날아다녀님의 12차 수정본을 설정 기준으로 삼았습니다.
1. scripts\NTBot.ntj 파일을 열어준니다.
//#############################################################
// 쫄봇
//-------------------------------------------------------------------------------------------------------------------------
// leechBotAccountList.push([["기사 계정이름", 자동으로 방 만들기, . . .])
// "기사 계정이름" : "캐릭터이름"이 아닌 "계정이름"입니다.
// 자동으로 방 만들기 : true = 자동으로 방 만들기.....
// 채팅창에 있으면 방이름 및 방암호 알려주기: 0 = 사용 안 함, .....
//
// "쫄 계정이름" : "캐릭터이름"이 아닌 "계정이름"입니다.
// 방 들어가기 전 지연 시간: 1/1000초
//
// 예) leechBotAccountList.push([["ㄱ", true, 0], ["ㄴ", 0], ["ㄷ", 1000].....
// 쫄 "ㄴ", "ㄷ", "ㄹ"은 로비에서 대기하다가 기사 "ㄱ"이 자동으로 방을 만들면...
//
// 주의: 시작하기 전 "scripts/NTBot/MyData/LeechBot" 폴더에 있는 파일들을 삭제합니다.
// 기사와 쫄을 운용하는 컴퓨터의 날짜와 시간은 같아야 합니다.
//==========================================================
//leechBotAccountList.push([["기사 계정이름", false, 0], ["쫄 계정이름", 1000]]);
//leechBotAccountList.push([["기사 계정이름", false, 0], ["쫄 계정이름", 1000], ["쫄 계정이름", 0]]);
leechBotAccountList.push([["기사 계정이름", true, 0], ["쫄계정이름", 1000], ["쫄", 2000], ["쫄", 3000]]);
- 먼저는 세번째의 주석을 해제하고, 기사/쫄계정 이름을 넣습니다.
2. scripts\NTBot\MyData\LeechBot 폴더 내에 있는 파일을 지웁니다.
- 파일을 방치해 주면, 이상한 방에 들어 갑니다. 쫄봇을 돌리기 전에는 항상 확인합니다.
3. 매니져 창에서 쫄봇을 세팅합니다. 진입점은 4케릭 모두 NTBot.ntj입니다.
4. 케릭터 설정은 후술합니다.
제2장 오리 디아런 바바 함성/케릭들 설정
편의상 다음의 스샷 내용을 "쫄봇스크립트"라고 할께요
1. 오더바바 설정.
NTConfig_Script.push("MyWarcries.ntj"); // 함성바바(함성해주기)
위 이니를 "쫄봇스크립트" 위쪽으로 올려줍니다.
이유는 아시다시피..
봇은 스크립트의 위쪽에서부터 읽어갑니다.
(예를 들어 사냥터 순서를 바뀌주면, 그대로 실행을 하죠..)
쫄봇스크립트가 위에 있고,
NTConfig_Script.push("MyWarcries.ntj"); 이 부분이 밑에 있으면,
쫄봇은 멈춰있습니다.
마을에... 가.만.히 있죠.. -_-+
위 부분처럼 설정을 해주면,
함성을 질러 줍니다. 함성을 질러주고 나서,
Config_Script.push("MyLeechBot.ntj"); // 쫄봇(쫄)
위 스크립트를 자동으로 실행해 줍니다.
정리하자면, scripts\NTBot\char_configs\NTConfig_Barbarian_케릭이름.ntl 에서
다음의 4부분만 손대면 됩니다.
1-1. NTConfig_Script.push("MyWarcries.ntj");을 "쫄봇스크립트" 위로 올려주기..
1-2. 바바 쫄봇 스크립트 부분...
//NTConfig_Script.push("MyLeechBotMaster.ntj"); // 쫄봇(기사)
-MyConfig_LeechBot = 0; // 쫄 인원수 = 0: 기사를 직접할 경우/ 1 이상: 기사...
-MyConfig_LeechBotWait = 60; // 쫄 기다릴 최대 시간(초)
NTConfig_Script.push("MyLeechBot.ntj"); // 쫄봇(쫄)
-MyConfig_LeechBotItem = [true, false]; // [방 입장 후 아이템 등 정리하기, 도박하기]
-MyConfig_LeechBotDistance = [5, 7]; // 기사와의 간격 = [최소, 최대]
-MyConfig_LeechBotPrecast = 30000; // 프리캐스트하기 = 확인 시간(1/1000초) 간격
-MyConfig_LeechBotAttack = [10, 500]; // 몬스터 잡기 = [몬스터와의 간격, 공격 시간(1/1000초) 간격]
-MyConfig_LeechBotPick = 2000; // 아이템 줍기 = 확인 시간(1/1000초) 간격
-MyConfig_LeechBotMaster = ""; // 방에 있는 특정 캐릭터를 기사로 설정하기 = "기사가 될 캐릭터이름"
- (설명) 방입장후 아이템정리, 기사와의 간격 5~7, 오더 30초에 한번씩 설정
- MyConfig_LeechBotPrecast = 30000;으로 설정되어 있으면 함성 30초만에 한번씩 지릅니다.
- 아이템 주워야 합니다. 힐링/마나 포션 땅 바닥에 있으면 2초에 한번 줍기.
- 본인의 입맛에 따라 "기사와의 간격"과 "몬스터 잡기"의 거리를 설정해 줍니다.
- 지금(10/10)의 저는 기사와의 간격(10, 20)이고, 몬스터 잡기(20, 500)로 수정해 주었습니다.
1-3. scripts\NTBot\char_configs\NTConfig_Barbarian_케릭이름.ntl파일에서
NTConfig_Script.push("NTDiablo.ntj"); //
-MyConfig_DiabloLeechDiablo = 0; // 다이블로용 쫄봇 = 0: 사용 안 함/ 1: 기사/ 2: 부기사/ 3: 쫄
-MyConfig_DiabloLeechBot = 2; // 0: 사용 안 함/ 1: 쫄봇(멈춤)/ 2: 쫄봇(움직임)
1-4 바바 함성 관련 스킬 설정...
// 사냥터로 가기 전에 할 프리캐스트 설정하기
//-------------------------------------------
// MyConfig_Precast.push([무기 번호, 스킬 번호])
// 주의: 설정한 순서대로 프리캐스트 합니다.
// 참고: 설정하지 않으면 기본값으로 프리캐스트 합니다.
//==========================================================
//MyConfig_Precast.push([1, 155]); // Battle Command
//MyConfig_Precast.push([1, 138]); // Shout
MyConfig_Precast.push([1, 149]); // Battle Orders
// 이동이나 사냥 중에 할 프리캐스트 설정하기
//-------------------------------------------
// MyConfig_PrecastCheck.push([무기 번호, 스킬 번호])
//===========================================================
MyConfig_PrecastCheck.push([1, 155]); // Battle Command
MyConfig_PrecastCheck.push([1, 149]); // Battle Orders
MyConfig_PrecastCheck.push([1, 138]); // Shout
바바 스크립트의 프리캐스트 관련 부분의 주석을 없애 줍니다.
단, "사냥터로 가기 전에 할 프리캐스트 설정하기"에서는 배틀오더만 주석을 없애 줍니다.
이유는 해보시면 아시겠지만, 오더를 두번 외칩니다. -_-+
근데, 두번째가 진짜 오더입니다.
문제는 기사 팔라가 첫번째 오더를 먹고, 지옥의 성채로 가버리고
팔라는 "기사를 기다리는 중"이라는 메세지로 불강에 계속 있습니다.
그렇다면 "사냥터 가기전 프리캐스트 설정"을 다 주석처리 해주면 될꺼 아니냐? 라고 물을 수 있는데요..
다 주석 처리 해버리면, "설정하지 않으면 기본값으로 프리캐스트 합니다." 라고 적혀 있습니다.
결국 하나는 꼭!! 주석을 해제해 주어야, 제대로 오더를 팔라에게 줄 수 있습니다.
아래의 프리캐스트 시전을 적용하기 위해서, 위와 같이 주석을 해제해 줍니다.
NTConfig_Script.push("MyLeechBot.ntj"); // 쫄봇(쫄)
-MyConfig_LeechBotItem = [true, false]; // [방 입장 후 아이템 등 정리하기, 도박하기]
-MyConfig_LeechBotDistance = [5, 7]; // 기사와의 간격 = [최소, 최대]
-MyConfig_LeechBotPrecast = 30000; // 프리캐스트하기 = 확인 시간(1/1000초) 간격
위의 30000은 30초를 의미합니다. 그걸 시전하는게 "프리캐스트 설정하기"이구요..
설정하시면, 30초마다 정말 징그러운 정도로 함성을 질러 댑니다~ ㅋ
2. 기사 케릭 설정하기(기사가 햄딘일 때도 아래 설정은 동일합니다)
scripts\NTBot\char_configs\NTConfig_Sorceress_소소케릭이름.ntl.ntl 파일을 엽니다.
NTConfig_Script.push("MyQueDrop.ntj"); // 퀘드랍(함성 받기) 를 "쫄봇스크립트" 위쪽으로 올려줍니다.
기사 케릭은 밑의 스샷처럼 하면 됩니다.
기사도 마찬가지로,
NTConfig_Script.push("MyLeechBotMaster.ntj"); // 쫄봇(기사)... 적용되기전에
NTConfig_Script.push("MyQueDrop.ntj"); // 퀘드랍(함성 받기)를 먼저 적용되게 설정합니다.
퀘드랍(함성받기)를 해서, 함성 받고,
NTConfig_Script.push("MyLeechBotMaster.ntj"); // 쫄봇(기사)를 실행하게 합니다.
기사도 마찬가지로 3가지만 만져 줍니다.
2-1. NTConfig_Script.push("MyQueDrop.ntj");를 "쫄봇 스크립트" 위로 올려주기
2-2. scripts\NTBot\char_configs\NTConfig_Sorceress_기사소소이름.ntl.ntl파일을 열어보면,
//=====================================================
// 쫄봇
//----------------------------------------------------
NTConfig_Script.push("MyLeechBotMaster.ntj"); // 쫄봇(기사)
-MyConfig_LeechBot = 3; // 쫄 인원수 = 0: 기사를 직접할 경우/ 1 이상: 기사...
-MyConfig_LeechBotWait = 60; // 쫄 기다릴 최대 시간(초)
//NTConfig_Script.push("MyLeechBot.ntj"); // 쫄봇(쫄)
-MyConfig_LeechBotItem = [true, false]; // (생략)
-MyConfig_LeechBotDistance = [5, 7]; // 기사와의 간격 = [최소, 최대]
-MyConfig_LeechBotPrecast = 30000; // 프리캐스트하기 = 확인 시간(1/1000초) 간격
-MyConfig_LeechBotAttack = [10, 500]; // 몬스터 잡기
-MyConfig_LeechBotPick = 2000; // 아이템 줍기 = 확인 시간(1/1000초) 간격
-MyConfig_LeechBotMaster = ""; // 방에 방에 있는 특정 캐릭터를 기사로 설정하기...
- (설명) MyConfig_LeechBot = 3으로 한 이유는 쫄이 3이기 때문입니다.
- 즉, 쫄 명단 작성하고, 쫄 확인을 3으로 하라는 소리이죠...
2-3. scripts\NTBot\char_configs\NTConfig_Sorceress_기사소소이름.ntl.ntl파일에서 디아 사냥부분..
NTConfig_Script.push("NTDiablo.ntj"); //
-MyConfig_DiabloLeechDiablo = 0; // 다이블로용 쫄봇 = 0: 사용 안 함/ 1: 기사/ 2: 부기사/ 3: 쫄
-MyConfig_DiabloLeechBot = 2; // 0: 사용 안 함/ 1: 쫄봇(멈춤)/ 2: 쫄봇(움직임)
-MyConfig_DiabloHelp = 0; // 채팅으로 "ㄷ", "h", "H"를 외치면....
-MyConfig_DiabloClear = [[0, 0x01], [0, 0x01], [2, 0x01]]; // [웨이포인트부터 입구까지, ...]
-MyConfig_DiabloKill = true; // 디아블로 잡기
-이하 동일
- (팔라) 기사가 팔라딘일 경우에는 카오스 입구까지 뛰어갑니다.ㅋ 중간에 몹 사냥하긴 하는데,
- 그렇게 심하다 싶을 정도로 사냥 하지 않습니다.
- 뛰어가는데, 1분 정도 걸립니다.
- (소소) 기사가 소소였을 경우, 불강에서 함성 받고, 카우스 중앙까지 뛰어가는데,
- 1분도 걸리지 않습니다. 소소의 세팅과 렙이 어느 정도 되시면, 소소를 기사로 추천합니다.
3. 쫄소소/햄딘 설정하기...(쫄 소소/햄딘은 처음 시작때 함성 받지 않으므로 그대로 놔두어도 됩니다)
3-1. 소소/햄딘은 기사가 아닌 부수적인 케릭이므로
- NTConfig_Script.push("MyQueDrop.ntj"); 을 위로 올릴 필요없습니다.
3-2. scripts\NTBot\char_configs\NTConfig_Sorceress_소소케릭이름.ntl과 NTConfig_Paladin_팔라딘이름.ntl
- 블리소소와 햄딘을 설정하는 부분입니다.
- 먼저 소소의 설정은 밑에처럼 간격(10, 20) / 몬스터 잡기(20,1000)으로 설정했습니다.
//NTConfig_Script.push("MyLeechBotMaster.ntj"); // 쫄봇(기사)
-MyConfig_LeechBot = 0; // 쫄 인원수 = 0: 기사를 직접할 경우/ 1 이상: 기사...
-MyConfig_LeechBotWait = 60; // 쫄 기다릴 최대 시간(초)
NTConfig_Script.push("MyLeechBot.ntj"); // 쫄봇(쫄)
-MyConfig_LeechBotItem = [true, false]; // [방 입장 후 아이템 등 정리하기, 도박하기]
-MyConfig_LeechBotDistance = [10, 20]; // 기사와의 간격 = [최소, 최대]
-MyConfig_LeechBotPrecast = 0; // 프리캐스트하기 = 확인 시간(1/1000초) 간격
-MyConfig_LeechBotAttack = [20, 1000]; // 몬스터 잡기 = [몬스터와의 간격, 공격 시간(1/1000초) 간격]
-MyConfig_LeechBotPick = 2000; // 아이템 줍기 = 확인 시간(1/1000초) 간격
-MyConfig_LeechBotMaster = ""; //
- (설명) 소소는 부수적인 케릭입니다. 후방에서 지원사격으로 생각하면 됩니다.
- 햄딘의 거리 설정은... 소소와 동일하게 설정해 주었습니다.
- 모니터링 해본 후에, 자신의 취향에 따라 거리를 알맞게 설정해 줍니다.
//NTConfig_Script.push("MyLeechBotMaster.ntj"); // 쫄봇(기사)
-MyConfig_LeechBot = 0; // 쫄 인원수 = 0: 기사를 직접할 경우/ 1 이상: 기사...
-MyConfig_LeechBotWait = 60; // 쫄 기다릴 최대 시간(초)
NTConfig_Script.push("MyLeechBot.ntj"); // 쫄봇(쫄)
-MyConfig_LeechBotItem = [true, false]; // [방 입장 후 아이템 등 정리하기, 도박하기]
-MyConfig_LeechBotDistance = [10, 20]; // 기사와의 간격 = [최소, 최대]
-MyConfig_LeechBotPrecast = 0; // 프리캐스트하기 = 확인 시간(1/1000초) 간격
-MyConfig_LeechBotAttack = [20, 1000]; // 몬스터 잡기 = [몬스터와의 간격, 공격 시간(1/1000초) 간격]
-MyConfig_LeechBotPick = 2000; // 아이템 줍기 = 확인 시간(1/1000초) 간격
-MyConfig_LeechBotMaster = ""; //
3-3. NTConfig_Sorceress_소소케릭이름.ntl와 NTConfig_Paladin_팔라딘이름.ntl의 디아 사냥부분..
NTConfig_Script.push("NTDiablo.ntj"); //
-MyConfig_DiabloLeechDiablo = 0; // 다이블로용 쫄봇 = 0: 사용 안 함/ 1: 기사/ 2: 부기사/ 3: 쫄
-MyConfig_DiabloLeechBot = 2; // 0: 사용 안 함/ 1: 쫄봇(멈춤)/ 2: 쫄봇(움직임)
- 디아 사냥터 부분 이하 동일.. 만지지 않습니다
제3장 기타 부분 설정
기타 부분에서는 스크립트 몇개를 수정합니다.
scripts\NTBot\MyConfigs에서 2가지, scripts\NTBot\bots에서 1가지,
총 3가지 수정입니다.
1. scripts\NTBot\MyConfigs\QueDrop.ntl을 엽니다.
_MyQDC_Warcries = ["함성바바이름", false]; // 함성바바 이름을 써줍니다. 대소문자 구분!
1-1. _MyQDC_Delay = [10, 30, 90, 30]; .... (10/10 수정)
- (설명) MyQDC_Delay 이 명령어가 보일 겁니다.
- 위 명령어는 scripts\NTBot\bots\MyQueDrop.ntj 에서 끌어다 쓰는 수치입니다.
- 앞에서부터 [0], [1], [2], [3] 입니다.
- 자세한 설명은 거기 나왔있는데요..
- 여기서 제일 앞의 "10"을 30으로 바꿉니다.
- (변경 후) _MyQDC_Delay = [30, 30, 90, 30];
2. scripts\NTBot\MyConfigs\Warcries.ntl을 엽니다.
//#########################################################
// 함성 받을 캐릭터이름 설정하기
//-------------------------------
// _MyWaC_WarcriesNameList.push("함성 받을 캐릭터이름")
//==========================================================
_MyWaC_WarcriesNameList.push("함성 받을 캐릭터이름");
//_MyWaC_WarcriesNameList.push("");
//_MyWaC_WarcriesNameList.push("");
함성 받고자 하는 케릭의 주석을 지워주고, 케릭터 이름을 적어 넣습니다.
scripts\NTBot\MyConfigs\Warcries.ntl에서 또 한가지, 웨이 포인트 설정입니다.
Warcries.ntl 이 파일을 수정하지 않으셨다면....
맨처음에는 트라빈으로 되어있습니다...
트라빈 주석 처리 후, 불강(107)로 열어 주시면 됩니다.
//##############################################
// 함성할 웨이포인트 설정하기
//-----------------------------
// 주의: 함성할 웨이포인트는 한 곳만 설정합니다.
//===============================================
//_MyWaC_Waypoint = 83; // Travincal
_MyWaC_Waypoint = 107; // River of Flame
이렇게 불강 앞에 주석 제거 하세요~
3. scripts\NTBot\bots\MyLeechBot.ntj을 엽니다.
위 부분을 찾습니다. 라인검색(ctrl + g)으로는 150줄 근처에 있습니다.
if (!MyConfig_LeechBotMaster)
{
for (i = 1; i <= 10; i++)
{
MyCo_SetStatusText("yc4기사의 수동/자동 확인 중 (yc0" + i + "yc4/10초)");
_MyLB_Message = MyLB_ReadMasterMessage();
if (_MyLB_Message)
break;
Delay(1000);
}
스샷으로 보자면,
여기서, 두가지를 수정합니다.
3번줄의 i <= 10;을 30으로, 5번줄의 "yc4/10초"을 30으로 바꿉니다.
바꾼 모습은
if (!MyConfig_LeechBotMaster)
{
for (i = 1; i <= 30; i++)
{
MyCo_SetStatusText("yc4기사의 수동/자동 확인 중 (yc0" + i + "yc4/30초)");
_MyLB_Message = MyLB_ReadMasterMessage();
if (_MyLB_Message)
break;
Delay(1000);
}
이렇게 됩니다. 위 3가지 수정을 간단히 설명을 하자면,
1번 scripts\NTBot\MyConfigs\QueDrop.ntl는 함성해 줄 바바 설정입니다.
2번 scripts\NTBot\MyConfigs\Warcries.ntl는 함성 받을 케릭 설정(기사)입니다.
3번(scripts\NTBot\bots\MyLeechBot.ntj)이 문제 인데요...
제가 이 부분 생각해보다가, 렐따를 당했습니다.. ㅋㅋㅋ
제가 앞에서 이야기 했듯이,
NTConfig_Script.push("MyWarcries.ntj");
NTConfig_Script.push("MyQueDrop.ntj");
위 두 부분을 "쫄봇스크립트" 앞에 붙인다고 했죠...
함성바바/기사햄딘은 별 문제가 없는데....
나머지.. 소소가 문제더군요...
"기사의 수동/자동 확인 중" 확인 중이라는 메세지와 함께,
10초 기다리고, 방을 나가 버립니다.. 젝일슨!!!
다음과 같이 매니져 창에 뜹니다.
자아~ 생각을 해봅니다.
if (!MyConfig_LeechBotMaster) 이렇게 되었다는 것은...
스크립트가 리치봇 마스터가 아닐때는 어떻게 할래?? 라는 묻는 다는 걸 알것입니다.
1) 함성바바는 NTConfig_Script.push("MyWarcries.ntj"); 스크립트 진행 중에 있습니다.
- if (!MyConfig_LeechBotMaster)과는 상관없습니다.
2) 기사소소는
- NTConfig_Script.push("MyQueDrop.ntj"); 스크립트 진행중이어서, 함성 받고 있습니다.
- 기사소소도 if (!MyConfig_LeechBotMaster)과는 상관없습니다.
3) 그렇다면!!! 그렇습니다.. 블리소소/햄딘이 문제입니다.
블리소소/햄딘은 NTConfig_Script.push("MyLeechBot.ntj");의 적용을 받아,
나는~~ 쫄봇을 진행하고 싶어~~!!!
문제는 그 순간 기사소소는 함성 받느라,
NTConfig_Script.push("MyLeechBotMaster.ntj")를 적용하고 있지 않습니다.
즉 블리소소/햄딘이 우리 기사님은 NTConfig_Script.push("MyLeechBotMaster.ntj")을 적용하고 있어야해!
적용 안한다면, 기다려줄게!! 딱~~ 10초만!!
한마디로, 궁합이 맞아야 한다는 거죠...
쫄이 NTConfig_Script.push("MyLeechBot.ntj");의 적용을 받고 있다면...
기사도 NTConfig_Script.push("MyLeechBotMaster.ntj")를 받아야 한다는 겁니다.
근데, 만약 기사가 NTConfig_Script.push("MyLeechBotMaster.ntj")를 적용받지 않는다면...
블리소소/햄딘는 뭘 해야 할 지 모릅니다.
그 때 진행되는 것이, "기사의 수동/자동 확인 중" 이라는 명령어입니다.
"기사양반~~ 시간 줄께!! 언능 나를 쫄로 인정해 주세요"
글이 길어 졌는데요....
함성 주고, 함성 받는 것은 30초 안에 끝납니다.(평균 방입장 후, 함성은 36초 안에 끝납니다)
소소가 30초를 못 기다리고, 10초만에 나가버려서 위의 수치를 30으로 고친겁니다.
for (i = 1; i <= 30; i++)
{
MyCo_SetStatusText("yc4기사의 수동/자동 확인 중 (yc0" + i + "yc4/30초)");
이런 이유로 30초입니다. ^^;
모니터링 해본 후,
본인의 입맛에 맞는 시간을 설정해 주세요~
--------------------------------------------------------------------------
매니져 창에 기사팔라와 오더바바의 "실행 스크립트"가 함성할 때 적용되는 스크립트는 다음과 같습니다.
"퀘드랍(함성주기)"와 "함성하기"가 끝나면 다음과 같이 실행 스크립트가 바뀝니다.
----------------------------------------------------------------------------
바바가 함성하고 팔라가 뛰어가는 모습입니다.
- (동영상을 찍을 줄 몰라서요~ ㅠ)
- (수정) 위 사진은 글을 최초 작성할 때, 기사를 팔라로 설정했을 때 카오스 입구까지 뛰어가는 사진입니다.(10/10수정)
- 소소로 카오스 중앙까지 가서 포탈 여는 장면은 제일 밑에 넣었습니다.
- 지우지 않고, 남겨둘께요(혹시나 팔라로 기사 하시는 분들이 있을수도 있으니깐요)
1) 방 입장 후 함성하러 웨이포인트로 뛰어갑니다.
2) 웨이포인트 이동 후 기사를 기다립니다.
3) 기사가 불강으로 오니깐, 함성을 해줍니다.
4) 함성 해주고, 지옥의 성채로 돌아옵니다.
5) 함성 받고, 카오스 입구까지 뛰어가는 기사 팔라..
6) 함성 받고, 걸린 시간...
제4장 쫄봇에 대한 에러
1. MyQueDrop.ntj : MyUn_GetPlayer()실패 (지옥의 성채)
- (발생 원인) 위 에러는 기사소소가 내는 경우입니다.
- "MyUn_GetPlayer()실패"는 한마디로 함성 바바를 찾지 못했다는 경우입니다.
- 모니터링 해보시면 아시겠지만, 바바가 방에 늦게 들어왔을 경우에 발생하는 오류입니다.
- (해결) 다음과 같이 수정합니다.
- 오더 바바 기다리는 시간을 10초에서 30초로 연장합니다.
- 기사 팔라가 바바를 10초만 기다리니, 은근히 위의 에러가 많이 발생하네요.
- scripts\NTBot\MyConfigs\QueDrop.ntl 안의 _MyQDC_Delay = [10, 30, 90, 30]; 수치에서
- 맨 앞의 10을 30으로 수정합니다. (바바 기다리는데 30초는 주어서 어느 정도 여유 있습니다)
2. MyLeechBot.ntj : 쫄 명단 등록 실패(지옥의 성채)
- (발생 원인) 위 에러는 함성 바바가 낸 경우입니다.
- 앞의 에러와 연관되어 있는데요... 팔라가 바바를 못 찾고 있습니다.
- 기사가 방 입장후 60초 동안 쫄 명단을 작성합니다.
- 바바는 이미 107 웨이포인트(불강)에서 함성 준비만 하고 있고,
- 햄딘 팔라는 지옥의 성채에서 쫄만 찾고 있으니, 서로 못 만나는 거죠..
- (해결) 앞의 에러가 발생하면, 당연히 이번 쫄 명단 등록 실패가 나타납니다.
- 쫄 명단 등록 실패해도 사냥은 계속되니, 별로 신경쓰지 않으셔도 됩니다.
3. MyLeechBot.ntj : 기사의 수동/자동 확인 실패(지옥의 성채)
- (발생 원인) 위 에러는 기사 팔라가 함성을 받고 있을 동안,
- 소소가 10초만 기다리고 나가버리는 현상입니다.
- (해결) "제3장 기타설정의 3"에서 언급했듯이 30초로 바꾸어 줍니다.
if (!MyConfig_LeechBotMaster)
{
for (i = 1; i <= 30; i++)
{
MyCo_SetStatusText("yc4기사의 수동/자동 확인 중 (yc0" + i + "yc4/30초)");
4. 함성바바가 너무 일찍 함성을 해 버립니다~
- (상황설명) 위 상황은 좀 복잡한데요.. 일단은 기사소소가 방을 만듭니다. 오더바바가 방에 들어옵니다.
- 그리고 나서, 오더바바가 웨이로 가서 함성을 지르는데요..
- 문제는 여기서 발생합니다. "사전터에 가기전에 프리캐스트 시전하기"로 오더를 한번 외치거든요.
- 그 때, 기사소소가 이게 오더이구나~~ 하고 감사히 먹고, 기사는 지옥의 성채로 돌아가는데요..
- 문제는 오더 바바의 진짜 함성은.... 그 다음에 나오는 진짜 오더입니다..
- 간단하게 설명해서, 첫번째 오더는 사냥터가기전의 오더이고, 두번째가 진짜 오더인데,
- 기사소소가 첫번째만 오더가 진짜인줄 알고,
- 함성 들었다고 지옥의 성채가버리고, 바바는 "난 아직 오더 안 줬어!! 언능 와~~"
- 이 상황입니다.
- 좀 해결 방안을 생각을 많이 해 보았는데요...
- (발생 이유) 바바가 웨이를 통해 사냥터에 가면, 처음에 지르는 오더와 설정에 의한 오류가 있는데..
- 팔라햄딘은 첫번째가 진짜 인줄 알고 지옥의 성채에 와 버린다는 것입니다.
- (해결) 좀 간단한 문제는 아닌데요...
- char_configs\NTConfig_Barbarian_케릭이름.ntl 파일을 손대거나 아니면 스크립트를 손을 대야 합니다.
- 첫번째 해결 방안은... char_configs\NTConfig_Barbarian_케릭이름.ntl 파일에서
//==========================================================
// 사냥터로 가기 전에 할 프리캐스트 설정하기
//-------------------------------------------
// MyConfig_Precast.push([무기 번호, 스킬 번호])
// 주의: 설정한 순서대로 프리캐스트 합니다.
// 참고: 설정하지 않으면 기본값으로 프리캐스트 합니다.
//==========================================================
//MyConfig_Precast.push([1, 155]); // Battle Command
//MyConfig_Precast.push([1, 138]); // Shout
MyConfig_Precast.push([1, 149]); // Battle Orders
- 위 부분에서 배틀 오더만 시전하게 합니다. 이유는?
- 바바가 불강 웨이로 가자마자, 배틀커맨드, 샤우트, 오더 순으로 지르는데,
- 기사소소는 위 세개 함성 중 하나만 함성 받아도, "저는 함성 받았으니 지옥의 성채로 갈께요~~" 라면서 가버립니다.
- 일단 하나만 시전하게 하고(짧은 시간에 첫번째 오더를 끝냅니다), 두번째 진짜 오더를 팔라에게 외칩니다.
- 두번째 방안은.... scripts\NTBot\bots\MyQueDrop.ntj의 파일을 열어보면... 맨 마지막 쯤에
for (i = 1; i <= _MyQDC_Delay[3]; i++)
{
MyCo_SetStatusText("ÿc4함성바바로부터 함성 받는 중 (ÿc0" + i + "ÿc4/" + _MyQDC_Delay[3] + ")");
if ((me.GetState(51) && me.GetState(26) && me.GetState(32)) || !MyUn_GetParty(_MyQDC_Warcries[0]))
break;
Delay(1000);
}
이렇게 있는데요....
마지막의 딜레이가 현재는 1초(1000)으로 되어 있는데, 이 부분을 5000으로 고칩니다.
for (i = 1; i <= _MyQDC_Delay[3]; i++)
{
MyCo_SetStatusText("ÿc4함성바바로부터 함성 받는 중 (ÿc0" + i + "ÿc4/" + _MyQDC_Delay[3] + ")");
if ((me.GetState(51) && me.GetState(26) && me.GetState(32)) || !MyUn_GetParty(_MyQDC_Warcries[0]))
break;
Delay(5000);
}
- (설명) 5000으로 변경하면 함성받고 5초 동안은 딜레이를 주고, 지옥의 성채로 이동합니다.
- 혹시나 모를 두번째 오더를 확실히 받아 먹을 수 있습니다.(가짜 오더를 기사에게 먹여서, 바바가 에러 나는 일 없습니다)
5. 바바는 파티를 하지 않습니다..
- (상황설명) 바바가 기사소소와 파티를 맺지 않는 상태에서, 불강으로 가서 함성 외치고,
- 기사를 막무가내로 기다리는 상황입니다.
- 에러내용으로 은근히 질문을 많이 받은 내용입니다.
- (해결) 저는 파티를 하지 않는다길래, scripts\NTBot.ntj 파일 안의 설정 문제인줄 알았는데요...
- 이 부분이 문제의 핵심이 아닙니다.
- 키포인트는 네 케릭 모두에서 NTConfig_PublicMode = false; // 으로 설정되어 있어야 합니다.
- 특히 바바는 꼭!! NTConfig_PublicMode = false; //로 해두세요~
- 스토리를 미리 알고 설정하면 편한게,
- 본 디아런의 스토리는 소소가 기사가 되고, 함성 바바가 방을 들어옵니다.
- 이때, 거의 들어옴과 동시에 바바와 소소가 파티를 맺습니다.
- 파티를 맺고, 불강으로 가서 함성을 지르는 겁니다.
- 만약 바바가 파티를 맺지 않는다면, NTConfig_PublicMode = false; // 이 부분의 설정 문제입니다.
6. NTBotGame.ntj(130) MyMain이 not defined 에러 내용
- (원인) NTBotGame.ntj(130) MyMain이 not defined 이러한 에러는 대개 스크립트를 만졌을 때 일어납니다.
- 스크립트를 만질 때는 주석(//)부터 시작해서, 따옴표(")하나 하나 신경을 써 주어야 합니다.
- (해결) 제가 굳이 스샷을 걸어둔 이유도, 스크립트를 만지는만큼, 신중을 기하라는 것입니다.
- 가장 편한 방법은 스샷대로, "변경 후..." 라고 적어 놓은 사항을 그대로 붙여 놓으시면 됩니다.
7. 쫄이 이상한 방 들어가 버려요~
- (해결) scripts\NTBot\MyData\LeechBot 폴더내에 있는 파일을 지워줍니다.
8. 쫄이 파티를 안해요
- (해결) scripts\NTBot.ntj 파일을 보면,
- leechBotAccountList.push([["기사 계정이름", true, 0], ["쫄계정이름", 1000], ["쫄", 2000], ["쫄", 3000]]);
- 위 부분을 설정해 주십시오~
9. 바바가 트라빈같은 이상한 곳으로 가요...
일단 기사소소/바바가 불강 웨이가 있는지 먼저 확인해 보십시오..
scripts\NTBot\MyConfigs\Warcries.ntl에서 웹포인트 설정입니다.
Warcries.ntl 이 파일을 수정하지 않으셨다면....
맨처음에는 트라빈으로 되어있습니다...
트라빈 주석 처리 후, 불강(107)로 열어 주시면 됩니다.
//##############################################
// 함성할 웨이포인트 설정하기
//-----------------------------
// 주의: 함성할 웨이포인트는 한 곳만 설정합니다.
//===============================================
//_MyWaC_Waypoint = 83; // Travincal
_MyWaC_Waypoint = 107; // River of Flame
이렇게 불강 앞에 주석 제거 하세요~
10. 나머지 쫄봇관련 에러는 봇게시판에서 충분히 해결할 수 있으리라 봅니다.
11. 제 아무리 팔라 기사여도, 치킨/재시작은 됩니다. ^^;
(다른 케릭 재시작은 시디키 교체로 인한 재시작이고, 팔라만 한번 더 시작하더군요..ㅎ)
제5장 카오스 중앙 포탈 열기(10/10 추가)
- 중앙 포탈을 연다는 소리는, 기사가 소소라는 겁니다...
- 저도 그동안 팔라로 기사 하다가, 빠른 사냥을 위해 소소로 바꾸었습니다.
- 여기서는 4개만 수정합니다.
- 스크립트를 만지니깐, 신중히 설정하세요...
5-1. 주석처리
- 먼저는 scripts\NTBot\bots\NTDiablo.ntj 파일을 엽니다.
- 라인검색(ctrl + g)으로는 53줄에 보이는,
- MyConfig_DiabloClear[1] = [1, _MyAt_MONSTER_TYPE_ALL]; 앞에 주석 처리 합니다.
- (변경 후)
- //Config_DiabloClear[1] = [1, _MyAt_MONSTER_TYPE_ALL];
- (변경 후 설정)
5-2. 내용추가
다음의 네 줄을 추가합니다. 5-1에서 수정한 부분에서 10줄 정도 밑으로 내려오면 됩니다.
(그대로 복사해서 넣으면 됩니다.)
if (MyConfig_DiabloClear[1][0] == 0)
(MyConfig_DiabloClear[2][0] != 0) ? MyMo_MoveTo(me.areaid, 7792, 5292) : NTC_PingDelay(500);
//내용 추가 시작(복사 시작) --->
NTM_MakeTP();
MyCo_Say(MyConfig_DiabloMessage[2]);
if (MyConfig_DiabloLeechDiablo == 0 && MyConfig_DiabloLeechBot != 0)
MyLB_WriteCheckMessage((MyConfig_DiabloLeechBot == 1) ? "OUT" : "ATTACK");
//내용 추가 끝(복사 끝) --->
else if (!MyDi_ClearPath())
{
if (MyConfig_DiabloLeechDiablo == 1)
MyLB_WriteMasterMessage("STOP");
- (변경 후 설정)
5-3. 주석처리
- 밑으로 쭈욱 내려가다 보면, (약 2페이지 가량 주석처리 - 대략 70줄 정도)
function MyDi_ClearPath()
{
var _attackXy = [[7787, 5505, 7802, 5590], [7767, 5474, 7822, 5590], .....]]
var _startTick;
// ..... (중략) .......
if (i == 3 || i == 6)
{
if (MyTP_CountPortal() > 2)
NTM_MakeTP();
else if (!MyMo_TownManager(true))
return false;
}
(i > 0) ? MyLB_WriteMasterMessage(me.areaid + "/" + (_attackXy[i - 1][0] + 2) + .....
}
}
return true;
}
보일겁니다.. 좀 길게 주석 처리 합니다.
- (변경 후)
- 변경된 내용...
- function MyDi_ClearPath() 앞에 /* (주석 시작) 을 넣었구요..
- function MyDi_ClearSeal() 앞에 */ (주석 끝)을 넣었습니다.
/* function MyDi_ClearPath()
var _attackXy = [[7787, 5505, 7802, 5590], [7767, 5474, 7822, 5590], .....]]
var _startTick;
..... (중략) .......
if (i == 3 || i == 6)
{
if (MyTP_CountPortal() > 2)
NTM_MakeTP();
else if (!MyMo_TownManager(true))
return false;
}
(i > 0) ? MyLB_WriteMasterMessage(me.areaid + "/" + (_attackXy[i - 1][0] + 2) + .....
}
}
return true;
}
*/
function MyDi_ClearSeal()
{
var i;
var _result;
var _unit = GetPresetUnits(me.areaid, NTC_UNIT_OBJECT);
- (변경 후 설정)
5-4. 기사의 NTConfig_Sorceress_소소케릭이름.ntl.ntl의 디아사냥터에서 한가지 설정
NTConfig_Script.push("NTDiablo.ntj");
-MyConfig_DiabloLeechBot = 2; // 2: 쫄봇(움직임)
-MyConfig_DiabloHelp = 0; //
-MyConfig_DiabloClear = [[0, 0x01], [0, 0x01], [2, 0x01]]; [... , 입구부터 중앙까지, 중앙부터 디아블로 소환 전까지]
- MyConfig_DiabloClear 여기에서, 두번째 부분 [0, 0x01]로 해줍니다.
- 중앙부터 디아블로 소환까지[2, 0x01] 이고, 입구부터 중앙까지 [0, 0x01] 입니다.
이렇게 앞에 주석 처리를 합니다.
4가지 다 수정 되었으면 저장하고 게임을 진행합니다.
-------------------------------------------------------------------------------
중앙에 도착해 포탈을 열고 있는 기사 소소
1) 카오스 중앙에 포탈을 열고 있는 소소
2) "타운포탈, 안전합니다!"라는 메세지와 함께, 입장하는 부기사와 쫄..
3) 부기사와 쫄 입장 후, 사냥에 나서는 기사소소
- 실제 사냥 시간
중앙 포탈로 약 6분 정도 걸리네요..
제6장 마무리
글이 상당히 길어져 버렸네요... ㅎㅎㅎ
별 내용도 없는 거 같은데요...
정강란에 "쫄봇"으로 검색을 해보았더니 29개가 나오더군요..
http://tradia.me/diablo2/diablo2_tips
이로써 제가 30번째 쫄봇에 대한 글을 썼습니다.
"또, 쫄봇에 대한 내용이냐??" 라고 말씀하시면, 딱히 할말은 없네요... ^^;
그래도 아직도 봇게시판에 많은 질문도 올라오고,
쫄봇에 대해 관심을 가지시는 분들이 많은 꺼 같아서 글을 썼습니다.
글쓰기 원칙을 보니, 게시판에 글 5개부터 도배라고는 하는데...
제가 케릭당 사냥시간/활마 봇돌리기 등..
좀 많이 쓴거 같네요...
당분간, 정강란에는 글쓰는 것을 자제하도록 할게요..
일단 소소가 기사이기 때문에, 위기의 순간이 좀 있습니다.
아무리 "공격스킬" 부분에서 거리 조정을 해 보아도,
머리찍기 등의 약간은 황당(?)하게 사냥할 경우를 대비해,
세팅에 어느 정도 신경을 써야겠죠?! ^^;
뭐~ 팔라로 해도, 치킨 나는건 매한가지이지만요...
ps) 리셋되고, 2주에서 한달까지가 블럭에 대한 고비 기간입니다.
아무리 블럭에 달관을 했다고는 해도, 막상 블럭 당하면 허망하다고 해야 할까요?
귀찮더라도, 봇/맵핵 안 쓴 케릭에 아이템 넣어두는 습관을 가지셨으면 합니다.
긴글 읽어주셔서 감사하구요...
행복한 저녁 보내세요~