D2BS 길목사냥 하는법 간단한 설명
수정해줘야 할 파일은 2가지임
d2bs\kolbot\libs\common폴더에 있는 Pather.js
d2bs\kolbot\libs\bots폴더에 있는 사냥파일들
일단 먼저 Pather.js 파일은 만약 길목사냥시에 모든몹을 잡기 원한다면 딱히 수정해줄 필요는 없음.
하지만 챔피언이상 혹은 유니크몹만 잡고 싶다면 수정을 해줘야됨
파일 Pather.js를 연다음 48번째 줄에
Attack.clear(15, typeof arg.clearPath === "number" ? arg.clearPath : 0); 문구가 있을거임 아마 수정을 안했다면 기본적으로 저렇게 설정되어있음
이게 Attack.clear(몹사냥 반경, 사냥몹)을 뜻하는걸거임(아마도?) 이 문구에 대해 궁금하다면 같은 폴더에 있는 Attack.js 파일을 참조
여기서 내가 만약 이동 중 반경 30이내에 노말몹 제외 전부를 잡고싶다면
Attack.clear(30, typeof arg.clearPath === "number" ? arg.clearPath : 0xF); 로 바꿔주면 됨 (0xF = skip normal, 0x7 = champions/bosses, 0 = all)
이제 Pather.js 설정은 끝났고
사냥파일을 수정해줘야됨 피트 파일을 예로 들어보겠음.
d2bs\kolbot\libs\bots\Pit.js 을 열면
if (!Pather.moveToExit([7, 12], true)) {
throw new Error("Failed to move to Pit level 1");
}
문구가 있을거임 이게 보통 캐릭터가 어느지점으로 이동하는 명령을 내리는 문구인데 여기서 주의깊게 봐야할 문구는
Pather.moveToExit([7, 12], true)임
이 문구를 대충 설명을 하자면 이 지역의 출구 및 다른지역의 입구로 이동한다는 문구임
가로안에 첫번째 구문 [7, 12]는 지역 7(타모에고지)의 입구로 이동, 지역12(피트 1층)의 입구로 이동
두번째 구문은 입구에 도착한 다음 동굴입구를 들어갈것이냐 말것이냐, 피트는 당연히 동굴로 들어가야 하니 true로 되어있음
그와 반대로 쓰레쉬소켓같은 경우는 크리스탈라인 입구까지만 가고 그 앞에 쓰레쉬소켓을 잡는것이니 false로 되어있음
이런 문구는 pather.js 파일을 참고하면 잘 설명되어있음. BS가 참 친절함
이제 우리가 길목사냥에서 수정해야할 부분은 바로 3번째 구문임 위 예시에는 안나와있지만
moveToExit: function (targetArea, use, clearPath) 이게 기본 문구임
3번째 구문인 clearPath 요부분이 바로 길목사냥이고 보통 Bs에서는 이게 생략되어있는데 이걸 추가해주면 됨
Pather.moveToExit([7, 12], true) 에서 Pather.moveToExit([7, 12], true, true) 이렇게 수정해주면 웨이에서 피트입구로 이동하는 동안 길목사냥을 하게됨
참고로 피트에서 추가로 팁을 주자면 피트 1층 전체사냥 말고 1층에서 2층 가는길 길목사냥을 하고 싶다면
if (!Pather.moveToExit(16, true, Config.Pit.ClearPath)) {
throw new Error("Failed to move to Pit level 2");
}
여기서 Config.Pit.ClearPath 이부분을 true로 바꿔주셈. 나는 config 설정구문 만들어놓고 정작 캐릭이니파일에는 왜 추가를 안해놨는지 의문임. 오류가 생기나봄
대충 설명은 끝났음. 마지막으로 캐릭터 이동 구문 movetoexit말고 몇개 더 있고 봇파일마다 사용하는 문구가 다름. 그건 pather.js 참조해서 위 방식대로 바꿔주면 됨
최대한 알기 쉽게 설명을 했다고 생각하는데 이해가 잘 안되는게 있으면 댓글로 물어보셈
끝
PS. 디갤에만 쓰려고 했었는데 그래도 예전 두루네에서 도움 많이 받았던 기억이 있어서 여기도 올립니다.
말투는 디갤에 썻던거 그대로 가져온터라 거슬려도 참아주시길