Skip to content
봇관련다크 모드

수수햄딘용 카오스생츄어리 입맛에 맞게 수정하기

조회 수
3,945
추천 수
5
등록일
김수진[A2L]
게시글 주소
https://tradia.me/diablo2/diablo2_tips/145306 복사

"서당개 3년이면 풍월을 읊는다" 라는 말이 있지요.
저 또한 봇스크립트엔 까막눈이긴하지만 자주 접하다보니
아~주 약간 내용의 흐름 정돈 이해가 가더군요. 여러분도 도전해 보세요 ^^/

다 아시는분들도 계시겠지만, 모르시는분들을 위해 한번 적어보았습니다....
잘못된 부분이 있으면 지적해 주세요 ㅜㅜ;

도전과제는?
첫째, 혼자방에서 잡스런(?)몹은 사냥하지않고 최대한 빠른시간안에 디아까지 잡아보자.
둘째, 반대로 저렙님들을 위한 기사용으로 고쳐보자.
입니다..

도전할 스크립트의 버전은?
봉구입니다님의 XP2.3Gv2 입니다만, 스크립트 내용이
디아블러네님의 XP.bot_Avenger.Ver3.0버전 또한 동일합니다.

시작하기 앞서
경고 : 수정하기전에 반드시 기존의 스크립트는 백업해주세요.
경고 : 수정하기전에 반드시 기존의 스크립트는 백업해주세요.


"scripts\bots\ChaosXP.d2j"를 메모장같은걸로 열어주세요.
자, 그럼 첫번째 과제부터 시작하겠습니다.


function CSXP_GoToChaosSanctuary() {

// Display a overhead while moving
if (XP_UseOverheads) { me.overhead("Going to the entrance of Chaos Sanctuary"); }

// If we want to clear the River of Flame, move in small steps and clear
if (CSXP_ClearRiver) {

// River WP to Chaos Entrance
commPather.GotoDest(7795,5869); //Hadriel

commPather.GotoDest(7797,5845,20,XP_KillMonsters,false);
commPather.GotoDest(7797,5821,20,XP_KillMonsters,false);
commPather.GotoDest(7798,5805,20,XP_KillMonsters,false); //y=5808 (5805=moved closer to Chaos)
commPather.GotoDest(7797,5771,20,XP_KillMonsters,false); //y=5782 (5771=take a shorter jump)
commPather.GotoDest(7797,5760,20,XP_KillMonsters,false); //y=5757 is bad
commPather.GotoDest(7797,5732,20,XP_KillMonsters,false);
commPather.GotoDest(7797,5707,20,XP_KillMonsters,false);
commPather.GotoDest(7798,5685,20,XP_KillMonsters,false);
commPather.GotoDest(7797,5650,20,XP_KillMonsters,false);
commPather.GotoDest(7797,5621,20,XP_KillMonsters,false); //y=5626 is bad
commPather.GotoDest(7797,5601,20,XP_KillMonsters,false); //before arch
commPather.GotoDest(7792,5574,20,XP_KillMonsters,false); //at arch
}

 <이하생략>

위 내용에서 ,20,XP_KillMonsters,false 이란 내용을 아래처럼 지워주세요.

commPather.GotoDest(7795,5869); //Hadriel

commPather.GotoDest(7797,5845);
commPather.GotoDest(7797,5821);
commPather.GotoDest(7798,5805); //y=5808 (5805=moved closer to Chaos)
commPather.GotoDest(7797,5771); //y=5782 (5771=take a shorter jump)
commPather.GotoDest(7797,5760); //y=5757 is bad
commPather.GotoDest(7797,5732);
commPather.GotoDest(7797,5707);
commPather.GotoDest(7798,5685);
commPather.GotoDest(7797,5650);
commPather.GotoDest(7797,5621); //y=5626 is bad
commPather.GotoDest(7797,5601); //before arch
commPather.GotoDest(7792,5574); //at arch
}
 <이하생략>
위 내용은 스크립트의 일부분이므로 스크립트안에
,20,XP_KillMonsters,false 이라고 있는부분은 전부 지워 주셔야합니다.
이렇게하면 실을열고 잡(?)몹은 무시하고 슈퍼유닉몬스터만 빨리잡고 넘어갑니다.

그 다음 카오스 중앙으로 가서 포탈을 열지만,
혼자 디아만 잡을껀데 필요없으니 수정해야겠죠?

대략 140라인에 보시면,

// Otherwise, take a direct path
else {
commPather.GotoDest(7780,5308); //tip of circle
}

// If we enabled public mode or teambot mode, send a tp here after clearing around
if (XP_RunMode > 0) {

// Set the auto make TP when leader get back from town
_XP_MakeTPBack = true;

// Clear the TP spot
XP_ClearPosition(25);
DSN_PickItems(XP_IdItems);

// Tell others the tp is clear
DM_MakeTP();
say( XP_TPLeechMessage );

라고 있는데 아래처럼 바꿔보세요.

// Otherwise, take a direct path
else {
commPather.GotoDest(7780,5308); //tip of circle
}

// If we enabled public mode or teambot mode, send a tp here after clearing around
//if (XP_RunMode > 0) {

// Set the auto make TP when leader get back from town
//_XP_MakeTPBack = true;

// Clear the TP spot
XP_ClearPosition(25); {
//DSN_PickItems(XP_IdItems);

// Tell others the tp is clear
//DM_MakeTP();
//say( XP_TPLeechMessage );

이렇게 하면 카오스 중앙 포지션 확인만하고 바로 실을 열로 갑니다.
어(?) 끝이네요 ;; 너무 간단하죠? ^^

수정본을 저장하실땐 "ChaosXP.d2j-디아만잡자" 라고 표시해두고 필요할때 바꿔쓰면 돼겠죠?

테스트해본결과 방만들고 디아잡기까지 1분20초정도 소요돼었습니다.
참고로 용병은 불즈 17메디 통찰을 사용하였습니다.


이번엔, 두번째 과제인 디아런(도우미-기사)용으로 고쳐보겠습니다.

카오스입구에서 포탈을 열고 몹을 잡아가는 형식이 돼겠죠?

function CSXP_GoToCenter() {

// Display a overhead while moving
if (XP_UseOverheads) { me.overhead("Going to the center circle"); }

// If we want to clear the path from the entrance of CS to the center, do it
if (CSXP_ClearChaos) {

// Chaos Entrance to Diablo Circle
commPather.GotoDest(7790,5548,20,XP_KillMonsters,false);
commPather.GotoDest(7792,5525,20,XP_KillMonsters,false);
commPather.GotoDest(7793,5513,20,XP_KillMonsters,false);
commPather.GotoDest(7793,5501,20,XP_KillMonsters,false); //end of entry hall
commPather.GotoDest(7773,5495,20,XP_KillMonsters,false);
commPather.GotoDest(7768,5480,20,XP_KillMonsters,false);
commPather.GotoDest(7767,5458,20,XP_KillMonsters,false);
commPather.GotoDest(7770,5438,20,XP_KillMonsters,false);
commPather.GotoDest(7774,5417,20,XP_KillMonsters,false);
commPather.GotoDest(7767,5391,20,XP_KillMonsters,false);
commPather.GotoDest(7768,5369,20,XP_KillMonsters,false);
commPather.GotoDest(7769,5345,20,XP_KillMonsters,false);
commPather.GotoDest(7770,5320,20,XP_KillMonsters,false); //corner before Vizier
commPather.GotoDest(7780,5308,20,XP_KillMonsters,false); //tip of circle
}

위 내용을 아래와 같이 수정해주세요.

function CSXP_GoToCenter() {

// Display a overhead while moving
if (XP_UseOverheads) { me.overhead("Going to the center circle"); }

// If we want to clear the path from the entrance of CS to the center, do it
if (CSXP_ClearChaos) {

// Chaos Entrance to Diablo Circle
commPather.GotoDest(7790,5548,20,XP_KillMonsters,false);
}

//--카오스 입구 포탈 시작--
if (XP_RunMode > 0) {
 
_XP_MakeTPBack = true;
// Clear the TP spot
XP_ClearPosition(25);
DSN_PickItems(XP_IdItems);

// Tell others the tp is clear
DM_MakeTP();
say( XP_TPLeechMessage );
//--카오스 입구 포탈 끝--
 
commPather.GotoDest(7792,5525,20,XP_KillMonsters,false);
commPather.GotoDest(7793,5513,20,XP_KillMonsters,false);
commPather.GotoDest(7793,5501,20,XP_KillMonsters,false); //end of entry hall
commPather.GotoDest(7773,5495,20,XP_KillMonsters,false);
commPather.GotoDest(7768,5480,20,XP_KillMonsters,false);
commPather.GotoDest(7767,5458,20,XP_KillMonsters,false);
commPather.GotoDest(7770,5438,20,XP_KillMonsters,false);
commPather.GotoDest(7774,5417,20,XP_KillMonsters,false);
commPather.GotoDest(7767,5391,20,XP_KillMonsters,false);
commPather.GotoDest(7768,5369,20,XP_KillMonsters,false);
commPather.GotoDest(7769,5345,20,XP_KillMonsters,false);
commPather.GotoDest(7770,5320,20,XP_KillMonsters,false); //corner before Vizier
commPather.GotoDest(7780,5308,20,XP_KillMonsters,false); //tip of circle
}

그다음

commPather.GotoDest(7764,5303,20); <--이런 부분을 찾아서
commPather.GotoDest(7764,5303,20,XP_KillMonsters,false); <--이런씩으로 고처주세요.

대략 6개 정도 있는데 다 고쳐주시면 끝입니다.

또, 저장하실땐 "ChaosXP.d2j-기사용" 이라고 저장해 두시고 필요할때 쓰면돼겠죠? ^^

하루정도 테스트 해본결과 부족하긴하지만 그런대로 잘돼더군요 ^^;

조금이나마 도움이 돼셨으면 하는 바램입니다. ^^*

▒▒▒ [ ChaosXP.zip 17.3kb ] ▒▒▒ 봉구입니다님의 2.3G_v2에 있는 스크립트를 수정한것입니다.
위 링크는 ChaosXP.d2j+원본, ChaosXP.d2j+기사용, ChaosXP.d2j+디아빨리잡기 스크립트가 압축되어 있으며

▒▒▒ [ Chaos-XP.zip 5.71kb ] ▒▒▒ 디아블러네님의 Avenger.Ver3.0에 있는 스크립트를 수정한것입니다.
댓글 13
  • 댓글 #145307

    오옷 멋찌십니다. ^^ 해봐야겠습니다. 잘쓸께요. 좋은 밤 되세요.
  • 댓글 #145313

    수정하여...오늘 해봤는데.. 잘 되네요... 수고하셨습니다..잘 쓰고 있씁니다........^^
  • 댓글 #145325

    저두 이문제땀시 고민하다가 디아런은 전버전을 이용하는데. 정말 감사드려요..
  • 댓글 #145328

    디아블러네님 3.0버전도 수정/테스트 된 걸 올려주세요. 부탁드리겠습니다. 님 아무리해도 제 선에선 안되네요.. 제 생각이지만, 캐릭설정파일에 CSXP란에 XP_RunMode = 1; 이라는 구문이 전혀 먹히질 않는것 같네요. 스크립트 로딩될 때 PartyXP 라이버러리도 안불러들이고 시작이 되네요. 다른건 몰라도, 기사용은 꼭 필요한거라서 부탁드립니다.
  • 댓글 #145331

    원본에서 기사용으로 바꾼부분은 포탈 위치추가와 이동지역에 몹잡는부분만 추가한것뿐입니다. 안전하게 잡으실려면 좌표를 추가해주시면 됩니다.
  • 댓글 #145334

    아 감사드려요.. 카오스 입구에 포털여는 구문 , 디아나오는 부분에도 구문이 들어가 있거든요 그것만 없애주시면 되네요.. 저도 글케 해봤었는데, 안됬던 이유가 조건문 스크립트를 } 종료 시키 지 않았더군요 . ㅋ
권한이 없습니다.
다크 모드