Skip to content

팁 게시판

네크 봇 원하는골렘을 뽑아보자 (편법이니 주의하세요)

분류 봇관련 조회 수 2,185 추천 수 0

안녕하세요?
웨스트에서 솔로로 활동중인 Abi입니다.

디아블러네님 Final버전을 쓰고 있구요.
직접 말씀은 못드렸지만 잘 쓰고있습니다.^^
잠시 이자리를 빌어 감사하단 말씀 올립니다.

네크유저로서 본넼으로 봇을 돌리는데 원하는 골렘이 뽑히질 않더군요.

저의 경우는 언제나 파이어골렘을 뽑아서 도는데
저와 비슷한 분들의 경우를 검색해보니
그분들은 블러드골렘이 뽑힌다고 하시더군요.

뭐 게시판에 뾰족한 해결책은 찾아봐도 없는 것 같아서
얍쌉한 팁 하나 찾아냈습니다.

일단 scripts/ribs/common/d2jsp-attack 라는 파일에는
네크 본아머와 골렘에 관한 부분이 있는데

골렘에 대한 함수가
자동으로 최강의 골렘을 뽑게 되도록 설정이 되어있더군요.

기본값은 파이어 -> 블러드 -> 클레이 로 되어있습니다.
따라서 저처럼 파이어골렘까지 투자한 분들은 파이어골렘을 소환
아이언이나 블러드까지 투자한 분들은 블러드골렘을 소환
클레이만 찍으신 분들은 클레이만 소환되게 되어있더군요.


문제의 부분은 바로 여기입니다.

 // Autodetect the best Golem to use
 var _golem=false;
 if(DC_CheckSkill(94) >= 1) { _golem = 94; }
 else if(DC_CheckSkill(85) >= 1) { _golem = 85; }
 else if(DC_CheckSkill(75) >= 1) { _golem = 75; }

컴퓨터를 공부하지 않아서 정확한 뜻은 잘 모르겠지만
1. 만약에 94(파이어골렘)스킬까지 체크되어있으면 파이어골렘을
2. 그렇지 않고 85(블러드골렘)스킬까지 체크되어있으면 블러드골렘을
3. 그렇지 않고 75(클레이골렘)스킬까지 체크되어있으면 클레이골렘을
자동으로 소환하라는 내용인 듯 싶습니다.(이는 숫자를 바꿔서 실험해봤습니다.)

따라서 원하는 골렘의 번호를 첫번째 If함수 안에 넣어버리면 해당 골렘이 소환됩니다.
클레이 골렘을 소환하고 싶다면 if(DC_CheckSkill(75) >= 1) { _golem = 75; }
블러드 골렘을 소환하고 싶다면 if(DC_CheckSkill(85) >= 1) { _golem = 85; }
이렇게 하시면 됩니다.

그렇다면 아이언골렘을 사용하려면 어떻게 하는가???

아래와 같이 해당부분을 모두 주석처리 해주시면 됩니다.



 // Autodetect the best Golem to use
// var _golem=false;
// if(DC_CheckSkill(75) >= 1) { _golem = 75; }
// else if(DC_CheckSkill(94) >= 1) { _golem = 94; }
// else if(DC_CheckSkill(85) >= 1) { _golem = 85; }
//
// // Cast a Golem if no one is raised
// if (_golem) {
//
// // Fire Golem
// if (_golem == 94 && !DC_getNPC(292)) {
//
// DC_DoCast(_golem,0);
// }
//
// // Blood Golem
// if (_golem == 85 && !DC_getNPC(290)) {
//
// DC_DoCast(_golem,0);
// }
//
// // Clay Golem
// if (_golem == 75 && !DC_getNPC(289)) {
//
// DC_DoCast(_golem,0);
// }
// }



이렇게 하면 골렘을 전혀 소환하지 않게 되니
봇돌리기 전에 소환시켜놓은 아이언 골렘은 그대로 유지되게 됩니다.

이론은 잘 모르고
직접 실험으로 해본거니까
또 다른 변수가 있을 수도 있겠네요.

다른 의견 있으시면 답글 주시구요.
수정할 부분 있으면 지적해주시기 바랍니다.

분명히 말씀드리지만
이는 얍쌀한 편법으로써
봇의 버전이 달라져서 새로운 함수가 적용되면
어떻게 달리질지 모르는 방법입니다.

따라서 무공아골, 야수아골을 사용하는 유저분들은
충분히 주의를 기울여서 차버전이 나오는 경우
반드시 확인을 하고 수정하시기 바랍니다.

PS.
서민들은 클레이골렘 사용하셔요. 좋습니다.
체력도 좋고, 쉽게 소환도 되고, 슬타도 걸어주고
저는 본넼(극본넼은 아님)이라 모든 소환스킬을 1개씩만 찍었지만
골렘이 독단적으로 죽는 경우는 거의 없었습니다.
  • 이니셜마스터[A2L] 2006.07.15 23:32
    자료를 자료실에 올려주실수 있는지요 ? 부탁드립니다. 초보라 어렵네요~ 감사합니다.
  • 슬픈사슴 2006.07.15 23:46
    기본적으로 DC_CheckSkill() 함수가 스킬 레벨 전부 합한것을 돌려주므로 // Autodetect the best Golem to use var _golem=false; if(DC_CheckSkill(94) >= 1) { _golem = 94; } else if(DC_CheckSkill(85) >= 1) { _golem = 85; } else if(DC_CheckSkill(75) >= 1) { _golem = 75; } 이런 방식의 코드는 좀 지능이 낮아보이는군요. 이 글 보고 이러지 말고 레벨 체크하면 간단할텐데.. 하고 골렘 스킬레벨 체크로 소환하게 하는 방법을 적어드립니다. 설마 골렘 하나씩 찍었다고 하더라도 실제로 1랩 골램으로 돌리시는건 아니겟지요? 그러신 분은 그냥 본문글의 제안대로 가는게 좋습니다. 아래 방법은 소용없습니다. 우선 이 글이 올라오게된 전체적인 배경으로 보아 아골을 소환 사용중일때는 아골이 있나 없나 보는게 좋겟지요? 여기서 한가지 문제가 생겼습니다. 제가 가진 자료와 여기에 있는 자료간에 차이가 좀 있습니다. 제가 가진 자료의 골렘 클래스 아이디와 실제 스크립트에서 사용하는 골렘 클래스 아이디가 좀 다르군요. 스크립터의 골렘 소환이 정상적이라면 제가 가진 자료가 엉터리라고 보고 때문에 완벽한 수정방법은 못드리게 되었습니다. 그럼 스텝을 밟아봅시다. 프로그래밍의 가장 기초적인 상식으로 자기가 하고자 하는일을 논리적으로 풀어서 적어 보는것입니다. 1 : 아이언골렘이 있으면 골렘 소환을 무시한다. 2 : 가장레벨이 높은 골렘을 찻는다. 3 : 그 레벨의 골렘을 소환한다. 간단하지요? 스크립터로 풀어봅시다. if(!DC_getNPC(아이언골렘아이디)) // 1. 아이언골렘이 없으면.. { // 2. 가장 높은 레벨의 골렘스킬을 찻는다. var _Skill_FireGolem = 94; var _Skill_BloodGolem = 85; var _Skill_ClayGolem = 75; var _highest = 0; var _golemLevel = 0; var _golenClassId = 0; _golemLevel = DC_CheckSkill(_Skill_FireGolem); if( _golemLevel > _highest) {_highest = _golemLevel; _golenClassId = _Skill_FireGolem;} _golemLevel = DC_CheckSkill(_Skill_BloodGolem); if( _golemLevel > _highest) {_highest = _golemLevel; _golenClassId = _Skill_BloodGolem;} _golemLevel = DC_CheckSkill(_Skill_ClayGolem); if( _golemLevel > _highest) {_highest = _golemLevel; _golenClassId = _Skill_ClayGolem;} // 3. 골렘을 소환한다. switch(_golenClassId) { case _Skill_FireGolem : if (!DC_getNPC(292)) DC_DoCast(_golenClassId,0); break; case _Skill_BloodGolem : if (!DC_getNPC(290)) DC_DoCast(_golenClassId,0); break; case _Skill_ClayGolem : if (!DC_getNPC(289)) DC_DoCast(_golenClassId,0); break; } } 요 정도입니다. 위의 코드를 본문글에서 주석처리하라고 하신 부분에 넣으면 되겟습니다. 물론 본문의 클레이 골렘을 소환하고 싶다면 if(DC_CheckSkill(75) >= 1) { _golem = 75; } 블러드 골렘을 소환하고 싶다면 if(DC_CheckSkill(85) >= 1) { _golem = 85; } 요것도 필요가 없습니다. 제가 코드 테스트 환경이 안되서 테스트는 못해봤지만 거의 문제 없을겁니다. 그리고 첫번째 if(!DC_getNPC(아이언골렘클래스아이디)) // 1. 아이언골렘이 없으면.. 이부분은 제가 아이언골렘 클래스아이디를 몰라서 '아이언골렘클래스아이디'이라고 적었는데.. 저부분에 아이언골렘클래스아이디 숫자를 적어주면 됩니다. 흐름상으로 봐서... 가장 유력한 번호가 291번이고 아니면 288번이나 293도 유력합니다만 직접 테스트 해 보시고 아니면 280번대, 290번대 주변의 다른 번호도 넣어보세요. 그리고 본문 글 쓰신분 힘내세요. 본문글이 절대 편법은 아닙니다. 다만 본문글의 방법대로 하면 특정환경으로 특화돼서 다른 분이나 다른 캐릭등 다른 네크의 골렘 환경에서는 일일이 고쳐 주어야 하고 한사람이라고 해도 d2jsp-attack.d2l 파일이 그 컴퓨터의 모든 봇이 공용으로 쓰는거라 다른 골렘을 소환하는 네크가 있으면 그 네크는 잘못 돌아간다는게 문제점입니다. 제가 제안한 방법은 극히 초보적인 방법이고 가장 쉬운 방법입니다. 이 방법 이외에도 본문글의 문제점을 피해갈 방법은 많이 있습니다. 프로그래밍 취향에 따라서 다르게 할 수 있구요. 또는 캐릭 환경설정 파일에 소환할 골렘 번호를 직접 지정해서 하게 하는방법도 있구요. 이 내용에다 대고 딴지걸만한 내용으로는 아래 정도..... ()안은 제 응답입니다. 1. 코드가 너무 길다. (어쩔수 없네요. 코드가 좀 길어졌지만 이후부터는 골렘 소환에 관해서는 신경꺼도 됩니다. 어떤 네크를 돌리든 그 네크의 가장레벨이 높은 골렘이 소환됩니다. 실제로 본 코드 길이와 크게 차이 나지 않습니다) 2. 코드가 길어서 봇 돌아가는데 시간이 걸릴것이다. 따라서 랙이 더 심해질거다. (무시합니다. 봇 소스에 이것보다 훨씬 시간이 많이 걸리는 코드를 필요 없이 박아둔거 많이 보입니다. 이런말 하실분은 가볍게 'KIN~' 입니다. 원래보다 함수 DC_getNPC 한번, DC_CheckSkill두번 정도 호출이 되는데 DC_CheckSkill함수 호출은 무시해도 되고 DC_getNPC가 아주~~~~~~~ 약간 부담이 되는 함수이지만 들어가는 비용대비 얻는 효과가 더 크다고 봅니다). 3. 테스트도 안해보고 글을 올렸다. 정강 게시판에는 확실한 정보만 올라와야 한다. (제가 그럴 환경이 안됩니다. 그리고 이글은 본문글에 있는 개선의견에 대한 리플글입니다.) 끝으로, 다시한번 당부드리지만 이 리플글의 소스는 테스트가 되지 않았습니다. 주의깊게 살펴보았지만 머피의 법칙같이 '오류는 만든 프로그래머의 눈에는 보이지 않으나 주변사람의 눈에는 금방 보인다.'라는게 있습니다. 마치 장기의 훈수와 비슷한것이죠. 해서 그대로 적용해서 안될때 오류나면 수정할 정도 실력이 가진분만 고쳐보세요. 기본적인 틀은 다 잡혀있어서 오류나도 고치기 쉬울것입니다.
  • 회향 2006.07.15 23:48
    에구 복잡하다;;
  • 이니셜마스터[A2L] 2006.07.19 00:35
    간단한방법은 자료실의 이니셜마스터 가 올린자료및에 댓글보세요
  • 맨땅USER 2006.07.21 11:47
    좋은 자료 감사요
  • 으흥으헝 2011.07.05 23:09
    좋은 정보감사합니다 잘쓸게요
  • sc_top 2019.03.09 18:12
    좋은정보 감사합니다

팁 게시판

번호 분류 제목 글쓴이 날짜 조회
공지   게시판 푸시 알림 / 통합 앱 서비스 31 file 트디개발자 2023.09.20 851.2k
공지 디아관련 에테리얼 벅큐빙 표 219 eunnanoDiablo™ 2008.03.05 141.0k
공지 디아관련 케릭별 갑옷 착용 모습 325 수린[아빠] 2009.06.09 112.2k
공지 디아관련 디아블로 각종 팁과 정보 간추림 입니다 (_ _) 1547 조은아저씨 2010.05.24 212.1k
공지 봇관련 유니크 업글 표 366 file 카인 2013.11.02 414.0k
901 디아관련 순차적으로 블록이 진행되고 있다고 합니다. 45 a.k.a_Mephisto 2006.07.22 2.6k
900 봇관련 !!지금 돌리는봇 계정!! 34 황비홍 2006.07.22 4.0k
899 디아관련 계정블럭에 대한 블리자드의 글 50 봉구입니다 2006.07.22 3.3k
898 봇관련 소서리스 이뮨관련 보스어택 함수 수정법. 5 바다 2006.07.21 1.4k
897 캐릭 육성 1.11 west ladder 빠른 바할런 채널(Op dt-baal) 8 Cindy 2006.07.20 1.7k
896 봇관련 d2jsp_xp2.3h - 스태틱 시전시, 거리 못맞추는 오류 수정 (수정) 16 thething 2006.07.19 1.6k
895 디아관련 [팁] 해머딘으로 무한 트리런을 돌려보자! 33 프레이어[A1L] 2006.07.19 6.5k
894 봇관련 메피 좀더 가까이 붙어보자 [MephXP.d2j 파일내 좌표 수정] 10 Yellowstick 2006.07.18 1.8k
893 일반 시디키 유출 해결책 살짝만 공개합니다. 41 아취모델 2006.07.18 5.7k
892 봇관련 탈셋소서로 바알런봇을 돌려보자 (레벨업용) 14 PhD_소서리스 2006.07.16 4.6k
891 게임관련 드림 정손 버그 케릭은 됩니다~~ 29 미스터빈 2006.07.16 4.9k
890 디아관련 단순한 신뢰-자존심-인내 조합 뎀쥐비교 14 Totenkopf 2006.07.15 3.3k
> 봇관련 네크 봇 원하는골렘을 뽑아보자 (편법이니 주의하세요) 7 아비게일[west] 2006.07.15 2.2k
888 디아관련 맵핵 절대 쓰지마십시오 60 Sanzo 2006.07.14 8.1k
887 봇관련 xp bot 물약먹기-나만의 노하우 7 골드아템 2006.07.13 2.0k
886 봇관련 XP2.3h / FollowXP.d2j 수정 - "BO" 커맨드 문제 9 thething 2006.07.13 1.6k
885 봇관련 팀봇/쫄봇 설정방법 v0.6.1 57 봉구입니다 2006.07.12 6.6k
884 봇관련 xp2.3h / 팀봇 스크립트(FollowXP.d2j) 오류 수정 [글 수정] 13 thething 2006.07.12 1.8k
883 캐릭 육성 Ladder West 1.11 " Elemental Druid for Dueling " Revolution ... 56 Cindy 2006.07.11 2.2k
882 봇관련 수동봇 렐따, 방스틸 및 오류 해결책 16 루키아 2006.07.10 1.8k