Skip to content

팁 게시판

NT봇 자잘한 팁 - 추가(특정저주시 성소로 치료)

분류 봇관련 조회 수 2,650 추천 수 45

봇에 대해 저도 잘 몰라서 자주 질문하기도 하고, 가끔은 어줍잖은 답변 하기도 합니다.

여기 쓰는 것도 고수분이 보기에는 참 하찮은 것이겠지만,

저처럼 초보분들이 참고하시면 좋겠습니다.

이것 저것 자잘하게 손본게 좀 있지만, 지금 스크립이 워낙 잘나왔더라구요.

몇몇은 전에 제가 손본거와 비슷하게 적용되어서 사람 생각은 다 비슷하다 싶었습니다. ^^



=====================================================================

# 추가(06. 29)


1. 이동이나 사냥중 특정저주에 걸릴시 인근에 성소가 있으면 성소를 먹어 치료


이동이나 사냥중 저주에 걸렸을 때 인근에 성소가 있으면 성소를 먹어서 치료하면 좋겠다는 생각을 했었습니다.

오늘 좀 한가하여 적용해 보았습니다.

날아다녀님의 이동 중 성소먹기에 숟가락만 얹었습니다. ^^;


날아다녀님의 http://tradia.me/diablo2/download/52932 설치(글씨 클릭하면 다운로드 페이지 연결)



② MyCatchShrine.ntl 파일 수정


function MyCS_CatchShrine()
{
 var _shrine = GetUnit(NTC_UNIT_OBJECT, _MyCS_SHRINE);

 if(_shrine)
 {
 var _areaid, _x, _y;

 do
 {
 if(_shrine.name == _MyCS_SHRINE && !_shrine.mode && ((MyConfig_CatchGemShrine && _MyCS_InventoryGemCount > 0 && _shrine.shrinetype == 18) || (MyConfig_CatchExperienceShrine && !me.GetState(137) && _shrine.shrinetype == 15)) && MyCS_CheckShrineCount(_shrine))
 {
 _areaid = me.areaid, _x = me.x, _y = me.y;

 if(NTM_GetCloserInt(_shrine) && NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _shrine) && _shrine.shrinetype == 18)
 {
 NTSI_PickItems();
 MyCS_CheckInventoryGem();
 }

 NTM_MoveTo(_areaid, _x, _y);
 }
 } while(_shrine.GetNext());
 }
}



위 내용을 아래로 수정



function MyCS_CatchShrine()
{
 var _shrine = GetUnit(NTC_UNIT_OBJECT, _MyCS_SHRINE);

 if(_shrine)
 {
 var _areaid, _x, _y;

 do
 {
 if(_shrine.name == _MyCS_SHRINE && !_shrine.mode && ((MyConfig_CatchGemShrine && _MyCS_InventoryGemCount > 0 && _shrine.shrinetype == 18) || (MyConfig_CatchExperienceShrine && !me.GetState(137) && _shrine.shrinetype == 15)) && MyCS_CheckShrineCount(_shrine) || _shrine.name == _MyCS_SHRINE && !_shrine.mode && MyConfig_WizardRemoveCurse && (me.GetState(9) || me.GetState(61)) && (_shrine.shrinetype == 6 || _shrine.shrinetype == 7 || _shrine.shrinetype == 8 || _shrine.shrinetype == 9 || _shrine.shrinetype == 10 || _shrine.shrinetype == 11 || _shrine.shrinetype == 12 || _shrine.shrinetype == 13 || _shrine.shrinetype == 14 || _shrine.shrinetype == 15) && MyCS_CheckShrineCount(_shrine) || _shrine.name == _MyCS_SHRINE && !_shrine.mode && MyConfig_WarriorRemoveCurse && (me.GetState(9) || me.GetState(19) || me.GetState(55) || me.GetState(60) || me.GetState(61)) && (_shrine.shrinetype == 6 || _shrine.shrinetype == 7 || _shrine.shrinetype == 8 || _shrine.shrinetype == 9 || _shrine.shrinetype == 10 || _shrine.shrinetype == 11 || _shrine.shrinetype == 12 || _shrine.shrinetype == 13 || _shrine.shrinetype == 14 || _shrine.shrinetype == 15) && MyCS_CheckShrineCount(_shrine)) //수정부분
 {
 _areaid = me.areaid, _x = me.x, _y = me.y;

 if(NTM_GetCloserInt(_shrine) && NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _shrine) && _shrine.shrinetype == 18)
 {
 NTSI_PickItems();
 MyCS_CheckInventoryGem();
 }

 NTM_MoveTo(_areaid, _x, _y);
 }

 } while(_shrine.GetNext());
 }
}



③ 캐릭 설정 파일에 아래 부분 추가


function NT_LoadConfig()
{
 //------------------------------------------------------------------------------
 // Boss configuration
 //------------------------------------------------------------------------------

 MyConfig_WizardRemoveCurse = true; // Amplify Damage, Lower Resist 걸렸을때 주위에 성소 있으면 사용(법사캐릭용) true : 기능 사용, false : 미사용
 MyConfig_WarriorRemoveCurse = false; // Amplify Damage, Weaken, Iron Maiden, Decrepify, Lower Resist 걸렸을때 주위에 성소 있으면 사용(근접 물리공격 전사캐릭용) true : 기능 사용, false : 미사용


.
.
.
.




=====================================================================




1. 디아창에 캐릭명 표시(1.8.3버전만 해당)


1.7.x 버전에서는 미니맵(오토맵)을 켜고 사냥하기에 방제를 캐릭명과 비슷하게 하여

구분하였으나, 1.8.x로 넘어오면서 미니맵을 켜지 않고 사냥하게 되어 디아창을 보고

한번에 어떤 캐릭인지 알수 없는 경우가 생깁니다.

해서 캐릭명을 표시 하도록 했습니다.



NTBotGame.ntj(아가씨님 0628자 기준)을 열어 아래 부분을 찾습니다.


SetStatusText("Running " + NTConfig_Script[CurScriptIndex]);

SetStatusText("Stopped " + NTConfig_Script[CurScriptIndex]);

전부 아래로 교체

SetStatusText(NTConfig_Script[CurScriptIndex] + " [" + me.charname + "]");


글자 제한이 있어 "Running"은 뺐습니다.

봇파일도 파일이 긴경우 짧게 수정 바랍니다.(확장자 미포함 16자 이내로)


계정명으로 표시하고 싶다면 me.charname 대신 me.account를 넣으면 됩니다.



NT봇 자잘한 팁 - 추가(특정저주시 성소로 치료) - 1

 그림 1-1 매니저 Status



NT봇 자잘한 팁 - 추가(특정저주시 성소로 치료) - 2

그림 1-2 디아창 캐릭명 표시





2. 큐빙을 캐릭마다 서로 다르게 적용하는 방법


예로 캐릭명이 Honor인 캐릭의 렙이 96이고 아뮬을 크랩하고 싶고,

Glory 캐릭은 렙이 93으로 마찬가지로 아뮬을 크랩하고 싶을 때

각기 적용하는 법입니다.

먼저 Honor 캐릭 96렙에 맞춰 아뮬을 크랩하도록 설정하여 MyCubing1.ntl로 파일명을 정하고,
(재료가 되는 매직아뮬 숨렙을 84로 설정)

Glory 캐릭 93렙에 맞춰 크랩하도록 설정한 파일은 MyCubing2.ntl로 파일명을 정합니다.
(재료가 되는 매직아뮬 숨렙을 88로 설정)

NTCommon.ntl 파일을 열어서 아래와 같이 수정합니다.


 // Include("common/MyCubing.ntl"); // 기존 파일 주석처리

 if(me.charname == "Honor")// 추가
 Include("common/MyCubing1.ntl"); // 추가
 if(me.charname == "Glory") // 추가
 Include("common/MyCubing2.ntl"); // 추가




봇돌이들 렙이 서로 달라 크랩재료로 주워야 할 아뮬렙이 각기 다를때

최저캐릭렙에 맞춰 버리면 재료의 숨렙이 너무 높아져 줍기 여의치 않기 때문에

각기 서로 다른 파일을 로딩하도록 하여 사용하고 있습니다.


참고로 크랩공식

int(캐릭렙/2) + int(재료숨렙/2) = alvl


2스킬이 아뮬에 붙을 때 접사렙(alvl)이 90입니다.

해서 96렙은 84숨렙이상의 매직아뮬을 크랩해야 2스킬이 붙을 가능성을 가지며,

93렙은 88숨렙이상의 매직아뮬을 크랩해야 2스킬이 가능해집니다.

사냥하다보면 아시겠지만, 88이상 숨렙 붙은 아뮬 줍기 쉽지 않습니다.

84숨렙이면 피트나, 하수도 같은 곳에서 나오므로 비교적 쉽게 구할수 있죠.

장갑(엘리트)이나 링은 뭐 적당히 숨렙 정해도 상관없습니다.(옵션에 따라 계산해 보지는 않았네요.)





3. 디아블로 스크립 위험한 곳에서 특정저주시 마을 귀환 치료


디아블로 사냥중 가장 무서운 경우가 1시씰몹(둠나이트)이 파낙 달고 나왔는데 앰플 걸려있는 경우,
(※ 앰플(앰플리파이데미지) : 네크로맨서의 저주로 물리리듀스 -100%, 즉 두배의 물리데미지)

5시씰몹(배넘로드)이 컨빅 달고 나왔는데 로워레지 걸려있을 경우라고 생각합니다.


1시씰을 열었을 때 앰플 걸렸을 경우 마을가서 치료하고 오도록 수정.

아가씨님 스크립을 기준으로 수정하면 아래와 같습니다.


function NT_OpenDeSeisSealInt(type)
{
 var i, n;
 var _attackpos = [7780, 5255, 7800, 5255, 7800, 5235, 7780, 5235];
 var _monstername = GetLocaleString(2852);

 if(NTConfig_ClearChaos == 1 || NTConfig_ClearChaos == 2)
 {
 NTP_DoPrecast();

 for(i = 0 ; i < _attackpos.length ; i += 2)
 {
 NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]);

 NTA_ClearPosition(25, 0x04);
 NTA_ClearPosition(25);
 NTSI_PickItems();
 }
 }

 if(NTConfig_ClearChaos == 3)
 {
 NTM_MoveTo(me.areaid, 7720, 5280, 3, true);

 NTA_ClearPosition(20, 0x04);
 NTA_ClearPosition(20);
 NTSI_PickItems();
 NTP_DoPrecast();

 NTM_MoveTo(me.areaid, 7773, 5258, 3, true);

 NTA_ClearPosition(20, 0x04);
 NTA_ClearPosition(20);
 NTSI_PickItems();

 for( y = 5258; y > 5149; y -= 30)
 {
 for( x = 7773; x < 7811 ; x += 18)
 {
 NTM_MoveTo(me.areaid, x, y, 3, true);

 NTA_ClearPosition(20, 0x04);
 NTA_ClearPosition(20);
 NTSI_PickItems();
 }
 }
 }

 for(i = 0 ; i < 3 ; i++)
 {
 if(type == 1)
 {
 NTM_MoveTo(me.areaid, 7787, 5194);

 if(!NT_OpenSealInt(394, 7769, 5158))
 {
 NTM_MoveTo(me.areaid, 7771, 5199);
 NT_OpenSealInt(394, 7775, 5159);
 }

 NTC_Delay(500);

//여기부터 앰플 걸리면 마을가서 치료
 if(me.GetState(9))
 {
 var _prearea = me.areaid;

 NTM_MoveToObject(me.areaid, NTC_UNIT_OBJECT, 394);

 if(NTTM_CheckAct())
 {
 NTTMGR_TownManager(true);

 NTTM_TownMove("portalspot");

 NTM_UsePortal("BluePortal", _prearea);

 if(NTConfig_PublicMode)
 NTM_MakeTP();
 }
 }

//여기까지 추가

 NTM_MoveTo(me.areaid,7787, 5194);
 }
 else
 {
 NT_OpenSealInt(394, 7810, 5156);

//여기부터 앰플 걸리면 마을가서 치료
 if(me.GetState(9))
 {
 var _prearea = me.areaid;

 NTM_MoveToObject(me.areaid, NTC_UNIT_OBJECT, 394);

 if(NTTM_CheckAct())
 {
 NTTMGR_TownManager(true);

 NTTM_TownMove("portalspot");

 NTM_UsePortal("BluePortal", _prearea);

 if(NTConfig_PublicMode)
 NTM_MakeTP();
 }
 }

//여기까지 추가

 NTM_MoveTo(me.areaid, 7770, 5169);
 }

 for(n = 0 ; n < 5 ; n++)
 {
 if(NTA_KillBoss(_monstername))
 {
 NTA_ClearPosition(30);
 NTSI_PickItems();

 if(NTConfig_ClearChaos == 0)
 NTP_DoPrecast();

 return NTM_MoveTo(me.areaid, 7800, 5255);
 }

 NTC_Delay(200);
 }
 }

 return false;
}




5시씰을 열었을 때 로워레지 걸렸을 경우 마을가서 치료하고 오도록 수정.


이건 아가씨님 이번 스크립에 되어 있었네요.

몰랐었네요. ^^

해서 이 부분은 삭제.



=====================================================================


자리를 빌어 봇 제작 배포해 주시는 HeavenlyStone님,

스크립 제작 수정해주시는 Or7r^^I님, [無情]디아블러네님, 날아다녀

모두 감사하다는 말 전합니다.
댓글15
  • ☆조로★[A1L] 2009.06.29 00:02
    정말 고맙습니다^^ 평소에 그랬으면 좋겠다 싶은 것들을 다 가르쳐주셔서 좋네요^^
  • Vegas 2009.06.29 00:39
    좋은 자료네요^^ 상세한설명 덕분에 쉽게 적용 할 수 있겠네요.. 추천드립니다.~
  • 딴딴한 2009.06.29 01:42
    오 감사합니다... 전 알바생 더스크수수랑 메이지수수로 구분했었는데.. 유용한 자료 감사합니다.^^
  • 날퍼맨_2 2009.06.29 02:13
    수고하셨습니다..좋은 정보 감사드립니다..^^
  • Or7r^^I 2009.06.29 11:33
    소중한 정보 감사합니다 ^^;; 렉을 조금이라도 줄여보고자 미니맵(오토맵) 사용하지 않게 설정해 두었습니다. 미니맵(오토맵)을 보이게 하시려면 D2NT\scripts 폴더 NTBotGame.ntj 파일에서 SetUIState(0x0A, false); 이부분을 true 로 설정하시면 됩니다(1.7x , 1.8x 동일)
  • 흰여울 2009.06.29 11:59
    아.. 원래 보이는 거였군요. 스크립도 자세히 안봤고, 아가씨님 버전부터 써봐서 몰랐었네요. ^^ 원래 그런줄 알았습니다. ㅎㅎ 정보 고맙습니다.
  • ☆조로★[A1L] 2009.06.29 23:30
    매니저 status 창에 사냥터가 나오게 하는건 어떻게 하는건가요?^^
  • 적미 2009.06.30 07:11
    좋은 팁 감사합니다. 친절한 설명까지 너무 감사해요.. ^^
  • 흰여울 2009.06.30 19:36
    ☆조로★[A1L]님, 아가씨님 최신자료는 기본적으로 Status에 사냥터를 표시해요.
  • 머하자고요 2009.06.30 21:10
    헉 복잡한건지.. 제가 멍청한건지.~~~ 더 보면서 연구를 해봐야겠군요.
  • ☆조로★[A1L] 2009.07.01 09:57
    아 그래요?^^ 이번수정판 바로 전꺼를 다운받앗어요^^
  • H군。 2009.07.01 13:54
    좋은 정보 감사합니다 ^^
  • SeDa_시나브로 2009.07.03 12:29
    좋은자료 감사합니다
  • fadetoblack 2009.09.06 00:19
    새 버전에선 function NT_CheckIsCursed(_cursedid) 함수를 정의해 놓아서 한결 간편해졌네요 ^^
  • 씨엘룬 2009.12.03 01:07
    정말 이런걸 만드는사람은 천재네요...

팁 게시판

번호 분류 제목 글쓴이 날짜 조회
공지   게시판 푸시 알림 / 통합 앱 서비스 31 file 트디개발자 2023.09.20 830.7k
공지 디아관련 에테리얼 벅큐빙 표 219 eunnanoDiablo™ 2008.03.05 140.2k
공지 디아관련 케릭별 갑옷 착용 모습 325 수린[아빠] 2009.06.09 111.4k
공지 디아관련 디아블로 각종 팁과 정보 간추림 입니다 (_ _) 1547 조은아저씨 2010.05.24 211.6k
공지 봇관련 유니크 업글 표 366 file 카인 2013.11.02 412.8k
공지   맨땅 초보자 가이드 597 file 뮤리아 2020.10.16 994.4k
공지   카카오톡 1:1 채팅방 만드는 법 101 트디개발자 2018.05.20 424.4k
1141 봇관련 디아블러네님 Item Logger Ver.2.0 신버전에서 사용하기 6 Or7r^^I 2009.06.19 2.2k
> 봇관련 NT봇 자잘한 팁 - 추가(특정저주시 성소로 치료) 15 흰여울 2009.06.28 2.6k
1139 새소식 Bashiok 공지 1.13 Patch - The Myth, The Legend 18 수루무누 2009.07.01 3.0k
1138 일반 베틀넷 두번 누르면 먹통이 된다..? 렐따 탈출! 아이피 변경 10 『악동』[A1L] 2009.07.02 3.7k
1137 봇관련 아리랑님 트리런 봇 사용시 아리앗월 정보 입니다. 28 GUCCI 2009.07.03 2.7k
1136 아이템/앵벌 룬 업글 하는 방법 입니다. 10 q무조날p 2009.07.05 3.8k
1135 아이템/앵벌 +2콜뎀20피스몰참은? 34 Chess™ 2009.07.06 3.7k
1134 디아관련 [래더] 시세표 - 7/4日자 입니다. [7/8수정] 57 왕춘배 2009.07.06 10.4k
1133 디아관련 렐따걸리시면 차분히 돌아가셔요~ 2 동몽몽 2009.07.10 2.9k
1132 봇관련 이니설정중 방어력 설정에 관한 문제입니다. 31 치콘 2009.07.11 1.7k
1131 봇관련 자벨마로 봇을 돌려보자 !!! 27 Sorry Friend 2009.07.13 3.6k
1130 디아관련 가상데스크탑을 이용한 멀티로더 - 살짝버젼업 34 file 모르미 2009.07.14 5.4k
1129 디아관련 Xp용 - 디아 플레이시 한글 입력이 안되는 문제 영구 수정법 24 file 모르미 2009.07.14 1.7k
1128 디아관련 Vista용 - 디아 플레이시 한글이 띄어 써지는 문제 영구 수정법 25 file 모르미 2009.07.14 1.3k
1127 봇관련 크래프트 아이템 중에 법사캐릭이라면 노릴만한 캐스터 아뮬!!!! 19 DiaCafe™ 2009.07.16 6.7k
1126 디아관련 [용병]각액트별 용병고용법 및 무기공속 13 hollywar 2009.07.20 8.0k
1125 디아관련 컴초보를 위한 노씨디 디아실행방법! 20 프레디시갈 2009.07.20 2.4k
1124 디아관련 오리지날 버스시 알아두면 좋은 아주 간단한 팁 15 SeDa_빛바랜 2009.07.20 2.5k
1123 디아관련 데탑사용자 동시접속시 무한튕김현상. 8 Chess™ 2009.07.20 2.1k
1122 캐릭 육성 슴피 및 슴차 기본육성을 알아보자. 4 file 테란짱 2009.07.23 1.9k