Skip to content
봇관련다크 모드

카오스에서 벽뒤에 있는 몹을 무한 공격할 경우 해결방법

조회 수
1,303
추천 수
25
등록일
기분좋은날
게시글 주소
https://tradia.me/diablo2/diablo2_tips/230868 복사

전제: 편집기 사용법을 알아야합니다. 봇에 대한 기초지식이 있어야 합니다.

1. \D2NT\scripts\libs\common\NTAttack.ntl 파일을 편집기로 엽니다.(수정하기 전에 백업해 놓으시고 문제가 생길 경우 복구하세요)

2.NTA_ClearPosition() 함수 수정
83 라인 정도에 보면 function NTA_ClearPosition(range, pickitem, safelevel) 이란 함수가 있는데 여기에서 조금만 내려가보면 아래 구문이 있습니다.(없을 경우 편집기에서 찾기 명령으로 위에 함수를 찾으세요)
===================================================================
for(var i = 0 ; i < _spectype.length ; i++)
{
 _skiplist = new Array();

 while(_attackcount < (i+1)*100 )
 {
 _mindistance = 100000;
 _target = NTC_FindUnit(NTC_UNIT_MONSTER);
 if(_target) {
==================================================================
//아래에 있는 내용을 추가합니다.
//횟수 10은 각자의 환경에 맞게 수정해서 사용해도 됩니다. 내 오브 데미지가 십만이라서 3번만에 일반몹은
//다 녹아 내린다고 자신하시면 3으로 수정해도 되고 내 소순이는 병맛이라 50번은 공격해야 한다 하면 50으로
//수정하면 됩니다. 이 코드는 일반몹인 경우 10번 이상 공격해도 죽지 않는 경우 스킵하는 코드입니다. 따라서
//보스나,챔피언,미니언 에게는 적용되지 않습니다. 해당몹에게도 적용하고 싶은 경우 코드를 수정하세요.

//일반 몹을 10번이상 공격해도 죽지 않는 경우 스킵한다.
 if(_attackcount > 10 && _target.spectype == 1) {_skiplist.push(_target.gid);break;}

3. 파일을 저장하고 제대로 동작하는지 관찰한다.

제 경우 제대로 동작하는 것을 확인했는데 다른분들은 어떤지 댓글로 결과를 알려주시면 감사하겠습니다. 그리고 확인 할 경우에는 캐릭터설정파일에 디아블로를 제일 처음에 사냥하도록 앞쪽으로 이동한후에 하는게 좋겠죠.

그리고 사담 한마디 하겠습니다.
정강란에 올라와 있는 글들이 대부분 유용한 글인데도 불구하고 추천수는 5%도 안되는 것을 보면 조금 씁슬하네요. 시간내서 강의를 제작한 분에게 추천한번 하는것이 엄청난 시간과 노력이 들어가는 것도 아닌데 너무 무심한것 같습니다.


마지막으로 한가지 부탁을 드리고 싶은것은 이 글이 유용할 경우 추천좀 부탁드립니다. 내공 올려야 해서요. 여러분들의 추천이 더 나은 자료를 만드는데 힘이 됩니다.

물론 쓸데없다고 생각되시면 반대도 적극 환영합니다.

댓글 31
  • 댓글 #230869

    기분좋은날// 개인적으로 마지막에 내공 올려야 해서요 <--라는 문구만 없었으면 더 좋은 글이 되지 않았을까 하는 생각입니다.
  • 댓글 #230872

    근데 내공을 바라고 글을 쓰는건 당연합니다. 그런게 없다면 여기다가 이런정보를 올릴이유도 없겠죠? 물론 좋지 않은 정보라면 비추를 받아도 마땅하지만요...
  • 댓글 #230875

    아더스 / 자료실 내공업전에도 많은분들이 내공과 상관없이 글을 올리고있습니다. 물론 그 후에도 말이죠. 내공을 바라며 올리는분들은 솔직히 제 머리속에 차곡차곡 저장되고있읍니다...문젠 제 기억력이 별로라는거죠 ^^* 첫줄빼고 농담입니다 ㅎㅎㅎ 좌우간 무언가를 바라고 올리는건 오히려 눈쌀이 찌푸려질수밖에 없는것입니다.
  • 댓글 #230878

    artprince20/ 님 같은 분이 계실까봐 그 부분을 쓸까말까 망설였는데 님에게는 솔직하게 말하는것이 별로 않좋아보였나보군요... 모사이트의 어린 학생들처럼 유머를 올리고 서너페이지 이상을 추천을 유도하는 그림이나 플레쉬로 도배한것도 아니고 강요한것도 아닌데 말이죠... 그리고 님에게 좋은 글의 기준이 무엇인지가 궁금하네요... 코딩하고 테스트 하는데 서너시간 글작성 및 수정하는데 1시간정도 걸렸는데 추천하기 한번 클릭 할 정도의 가치는 있다고 생각됩니다...
  • 댓글 #230881

    기분좋은날/ 더 좋은 글이 되지 않았을까 하는 생각입니다 의미는 지금 써놓은 글이 나쁘다는게 아닙니다. 내공 올려야 해서요 라는 문구가 써놓은 글의 취지를 어느정도 떨어뜨리는듯하여 써논것일뿐입니다. 님을 안좋게 본적도 없구요
  • 댓글 #230884

    좋은정보네요 가끔그러죠 그럴때면 답답했는데 한번해봐야겠네요
  • 댓글 #230887

    가끔 이러는거 진짜 답답했는데... 좋은 정보 감사합니다^^
  • 댓글 #230896

    좋은 자료 감사합니다... ClearPosition 외에 ClearRoom에도 해주시는걸 추천드려요
  • 댓글 #230902

    좋은 정보 감사합니다,^^ 저도 artprince20 님의 의견에 동의합니다. 좋은 글은 회원 여러분들이 알아서 추천을 꾹꾹 눌러 주신다지요..^^; 내공 올려야 한다..는 부분이 글의 막바지에 이르러 약간 품격(?)이 낮아진다고나 할까요..하하; 일단 저도 추천.^^
  • 댓글 #230905

    자료실의 이용권한이 높아짐에 따라서 내공을 위한 글 작성이 많아진건 사실이죠. 내공을 위해서 글을 쓰고 있다는 사람들이 많을 겁니다. 요즘 두루네 들어오면 쓰잘데기 없이 내공 올리기 위해서 덧글을 달고 있네 어쩌네 하는 거의 반시비성 덧글들이 있더군요... 내공을 올리기 위해서는 두루네에도 오래 머물러야 하지만 글도 자주 올리고 덧글도 자주 달아야 내공을 쌓는데 도움이 되는데... 그런 활동 역시 않좋게 폄하하는 분들이 계셔서 저 역시 눈살이 찌뿌려지네요. 두루네 정책이 바뀐 만큼 활동도 더욱 많이 하라는 뜻에서 이용 기준을 올린거 아닐까요?? 글쓴이님의 마지막 글귀에서 '내공을 올리기 위해서'라는 글은 솔직히 않적으셨어도 될거 같다라는 생각이 들긴하지만... 본질은 역시 내공을 위해서 글을 올리는 새내기, 정회원 님들이 많다는 것도 알았으면 합니다. 난 고참회원이니까 난 터줏대감이니까... 이런 분들은 내공이 이미 쌓일대로 쌓이신 분이라서 자료실 이용권한을 상향하더라 도 별 영향을 받지 않은 분들이라서 뭐 그렇게 말씀하시는 것일수도 있다는 생각이 갑자기 드네요... 뭐 상위 등급 분들을 겨냥해서 꼭 말한건 아니지만 저 역시 내공을 쌓기 위해서 두루네에서 요즘 많이 머물고 있는데... 내공을 쌓기 위해서 글을 많이 올리시는 분들 글의 덧글에 보면... 거의 반 시비성 덧글이 많이 달려 있어서 눈살찌뿌려져서 한소리 해봤습니다.
  • 댓글 #230908

    흐음 일단 저도 수정해볼려고 했는데 특히 카오스나 리엄에서 많이 걸리더라고요 좋은 정보 감사합니다. 그리고 저도 새내기입니다만 흡사 추천구걸이 될수도 있습니다. 마지막 말 한마디때문에 그 말을 안적어도 추천은 많은 분들이 해주시겠죠
  • 댓글 #230914

    저도 이것때문에 맥스타임 치킨이 좀 있었는데 한시름 덜 수 있겠군요~!
  • 댓글 #230917

    제가 쓰는 파일하고 틀린가봐요.. 전 해당 파일 열어봤는데 함수도 틀리고.. 해당 함수는 주석처리 되어있네요.. 어느 버전으로 수정하셨는지 그것도 올려주시면 더 좋은 정보가 될수 있을것 같습니다 ^^;
  • 댓글 #230920

    해븐리스톤님의 봇은 벽에대고 전기질을 자주 하는데,, 날라다녀님의 봇은 이뮨몹이 있을때는 그냥 피해버리더군요.
  • 댓글 #230923

    돌아온공명 // 구걸 이란 단어의 의미를 잘못 생각하고 계신듯 하네요. 네이버 국어사전에 나온 구걸의 정의를 빌자면 '[명사] 돈이나 곡식, 물건 따위를 거저 달라고 빎' 입니다. 분명히 거저 라고 나와있지요. 눈에 보이지 않는 정보라서 거저라고 한다면 할말은 없지만 분명이 구걸 이란 단어를 그 상황에 쓰기에는 적절하지 않습니다. 알타이르 // 뒷부분 ClearPosition 으로 함수를 검색해 보세요. 1.13 나왔을때 최초 배포버전 가지고 작업했습니다.
  • 댓글 #230926

    내공에 대해서..많이 민감해진건 사실인듯해요...자료실 때문에...여튼 잘보고갑니다.. 나중에 함 해봐야 겠네요 ^^
  • 댓글 #230929

    최초 버젼에 의하면 보스몹을 먼저 스캔하고 공격하는데 이 때 이미 _attackcount는 많이 올라가므로 위의 조건은 봇이 약할 경우 대부분의 몹을 스킵하고 지나갈 듯 합니다. while(_attackcount < (i+1)*100) 이 조건은 for-loop에서 i의 값이 올라갈수록 _attackcount의 상한값도 올라가는데 그것은 각 spectype마다 100번씩 공격하라는 의미입니다. 함수의 첫 부분에 보면 var _spectype = [0x0A, 0x01, 0x01]; 라는 변수가 바로 보스/참피언/유닉몹을 먼저 스캔하고 (i=0에 해당) 그다음 일반몹을 스캔해서 공격하라는 의미입니다. 일반몹은 0x01로 지정하였는데 (i=1,2) 두번 사용했으니 일반몹 쓸 때는 한 번 스캔해서 쓸고 다시 한 번 더 스캔해서 쓸라는 의미입니다. 즉, 몹을 되도록 빠뜨리지 않겠다는 의미이죠. 따라서 _attackcount < 10의 조건을 걸면 주변쓸기를 할 때 10번의 공격 이후에는 몹을 회피몹 리스트에 올려버립니다. 봇의 공격력이 진짜 막강하지 않다면 쓸지 않는 몹이 많을 것으로 추측됩니다.
  • 댓글 #230932

    그런데 내공올려야 한다는 말에 답글이 많이 달린 것 같은데 모두들 좀더 관대해졌으면 좋겠군요. 사람마다 다 다른데 그만의 사정이 있으려니 하면 안됩니까?
  • 댓글 #230944

    오..꼭필요한 정보네요 .좋은정보 감사합니다.유용하게 쓸게요~
  • 댓글 #230953

    오늘두 하나 배우고 가는군요!! 감사 드리고 즐디아 하십시요!!!
  • 댓글 #230956

    이렇게하면 봇돌이 돌릴때 문제없이 돌릴수 있겠군요.. 좋은정보 제공해주셔서 감사합니다.
권한이 없습니다.
다크 모드