Skip to content

팁 게시판

[NT봇] IRC 와 연동하기!

분류 봇관련 조회 수 2,270 추천 수 1

안녕하세요 :)
3년간의 눈팅생활을 끝내는 글을 올려봅니다.

두루네 가족분들도 아얄씨를 많이 하시는지는 모르겠지만,
그래도 #두루네 채널이 존재하기 때문에 한번 글을 써봅니다.

제목은 연동이라고 거창하게 표현했지만, 실제로는 연동이기 보다는
봇순이,봇돌이가 물어다 온 아이템을 로그파일에 하나씩 뒤적거리는거보다
아얄씨에서 채팅하다가 아이템이 바로바로 뜨는걸 보기위해서 글만 살짝 전송하게 수정하는 방법입니다.
아직 무언가 꼬여있는듯 하지만 계속 수정하고 있고, 뭐 공개하고 나면 또다른 방법을 가진분들이
나와서 도와주시지 않을까 해서요 ㅎ

사용환경은 mIRC 에 D2BS 코어를 가진 봇이면 되겠습니다~



나름대로 같이 삽질해준 PDE 동생에게
닥치고 군대나 가라는 한마디와 함께 시작하겠습니다 :)


(예제 사진은 클릭해서 봐주셔야 잘 보일겁니다.. 집에는 1280*1024 쓰는데 일부러 1024*768로 찍어놨네요..)


일단 예제 사진입니다

[NT봇] IRC 와 연동하기! - 1

위에 예제 사진에서 팔라교복을 계~속 주웠다고 뜨는이유는..
잘 모르겠지만 템창이 꽉차면 저런현상이 일어나더라구요... 음... 해결을 못봐서 그냥 패스하기로.... :(



예제 사진을 봤으니 이제 수정을 해봅시다.
일단 자신이 사용 하는 아얄씨로 들어가서 DDE설정을 해주셔야 합니다.
(IRC는 버전상관없이 다 지원합니다. 따로 스크립트를 사용하는 방식이 아니고 데이터만 교환하는 방식..)
알트 + E를 눌러주면 아래와 같은 서버 설정 창이 뜹니다.

[NT봇] IRC 와 연동하기! - 2

여기서 왼쪽 아래로 쭉~ 가시면 "기타"라는 카테고리가 있는데..
그곳을 클릭하시면 오른쪽에 DDE설정이라는 버튼이 보이실겁니다. 그 버튼을 누르시면
아래와 같은 화면을 보실 수 있습니다.

[NT봇] IRC 와 연동하기! - 3

여기서 "DDE서버 사용"을 체크하시고, 그 밑에 "서비스 이름" 이름을 mIRC로 설정해주시고,
확인 누르시고~ 확인 누르시고~ 다 되셨으면 아얄씨를 끈후에 다시 켜 주시면 아얄씨쪽은 끝입니다.


그럼 이제 봇 스크립트를 약간 변경시켜 주시면 됩니다.

우선 기본적으로 수정해야 할 파일은 아이템을 주웠다고 로그를 남기는 3가지의 파일을 수정해주시면됩니다.
파일은 /scripts/libs/common/ 에 있는 NTTown.dbl, NTTownManager.dbl, NTSnagIt.dbl 입니다.

세 파일을 여신후에 "Kept"라는 문구로 검색을 하시면 아래와 같은 문구가 보이게 됩니다.

"NTTown.dbl" 의 경우..

if(njipCheckGoodItem(_newitem, NJIP_CHECK_SIMPLE) > 0)
 NTC_SendLogToOOG("Kept [" + NTC_ItemQualityToNameList[_newitem.quality] + "] " + _newitem.name);


"NTTownManager.dbl"의 경우... 2가지입니다..

if(njipCheckGoodItem(_items[i], NJIP_CHECK_SIMPLE) > 0)
 NTC_SendLogToOOG("in "+ NTConfig_SelectScript +" Kept [" + NTC_ItemQualityToNameList[_items[i].quality] + "] " + _items[i].name);

...
...

if(_result && njipCheckGoodItem(_items[i], NJIP_CHECK_SIMPLE) > 0)
 NTC_SendLogToOOG("in "+ NTConfig_SelectScript +" Kept [" + NTC_ItemQualityToNameList[_items[i].quality] + "] " + _items[i].name);


"NTSangIt.dbl"의 경우...

if(_itemunit.itemType != 4 && (_itemunit.itemType < 76 || _itemunit.itemType > 81))
 NTC_SendLogToOOG("in "+ NTConfig_SelectScript +" Kept [" + NTC_ItemQualityToNameList[_itemunit.quality] + "] " + _itemunit.name);



이런식의 스크립트 코드를 보게 되시는데, 사실 뭐 거진 비슷합니다..
눈치 빠르신분들은 벌써 이해하셨을텐데, 주웠던(혹은 감정을 했다던가)파일을 피교해서
자신의 이니에 충족하면 NTC_SendLogToOOG함수를 하용해서 D2Manager 프로그램으로 로그를
전송
하라는 내용이죠..

자 그럼 여기를 다음과 같이 수정해봅시다..
다 똑같은 방법이므로 "NTTown.dbl"의 경우로만 설명하겠습니다.


일단 if문의 성격상 다음줄만 수행할경우 블럭이 필요없지만 NTC_SendLogToOOG함수 외에
IRC에게 데이터를 전송해야 하기때문에 블럭으로 감싸주셔야합니다.

if(njipCheckGoodItem(_newitem, NJIP_CHECK_SIMPLE) > 0)
 NTC_SendLogToOOG("Kept [" + NTC_ItemQualityToNameList[_newitem.quality] + "] " + _newitem.name);


에서

if(njipCheckGoodItem(_newitem, NJIP_CHECK_SIMPLE) > 0)
{
 NTC_SendLogToOOG("Kept [" + NTC_ItemQualityToNameList[_newitem.quality] + "] " + _newitem.name);

 sendDDE(1, "mIRC", "command", "", "/amsg [4" + me.charname + "1] 득템! [" + NTConfig_SelectScript + "]에서 [" + NTC_ItemQualityToNameList[_newitem.quality] + "] " + _newitem.name);
}



파일마다 _newitem. 이부분 이름이 틀립니다...
NTC_SendLogToOOG 함수를 참조하셔서 적절하게 수정해주시면 됩니다...
08. 07. 27 수정.. : 예제 잘못씀.. -_-


이런식으로 sendDDE함수를 이용해서 아까 활성화한 mIRC DDE로 데이터를 보내는데
아얄씨 명령어 amsg 를 사용해서 [캐릭터이름] 득템 [득템한스크립트의장소]에서 [아이템퀄리티] 아이템이름
의 형식으로 표현하게 하는거죠..



여기서 아까 표현하는 방식 3가지중

특정 채널에만 자신의 득템을 보여주고 싶다고 한다면,
/msg #채널이름 ..... 이런식으로 수정해주시면 되고..

모든 채널에 알려주고 싶다고 한다면,
/amsg ...... 이렇게 수정해주시고,

자신에게만 보여주고 싶다고 한다면,
/echo -a ........ 이렇게 수정해주시면 됩니다...



자 짧으면서 간단한 강좌아닌 강좌였네요..
뭐 덧붙여서 다른방법을 알려드린다면..


default.dbl 의 처음부분에서
NTC_SendLogToOOG("Room : " + me.gamename + " / " + me.gamepassword + " (" + me.gameserverip + ")");

이 부분밑에다가...

var MyUnit = getUnit(0);
sendDDE(1, "mIRC", "command", "", "/echo -a [4" + me.charname + "1] (" + me.gameserverip + ") LV : " + MyUnit.getStat(12) + " / EXP : " + MyUnit.getStat(13) + " / Gold : " + MyUnit.getStat(14) + " + " + MyUnit.getStat(15));

이런 명령어를 추가시켜 준다면
방을 만들어서 들어갔을때 자신에게만 보여주는 메세지로

[Gauguin_SOR] (211.233.16.133) LV : 89 / EXP : 1490661171 / Gold : 0 + 1460820

[계정아이디] (아이피번호) 레벨 / 경험치 / 현재금액 등의 정보를 얻어올 수 있답니다. :)



에~ 그리고~ 여기서 끝나면 재미없죠~



또 그 밑부분에다가...


if(me.gameserverip == "211.233.16.145")
sendDDE(1, "mIRC", "command", "", "/msg #두루네 [4" + me.charname + "1] 흑흑 주인님 저 저주의 145번방이예요.. 곧 팅길거 같아요... 흑흑");

이런식으로 써주시면 공포의 145번방에 봇이 들어갔다는걸 알게되죠... :)
(여기를 잘 수정하면? 우버방 득했을때 멈추게도 할 수 있겠죠!??)


아직 추가로 더 넣을 수 있는 기능이 많은거 같은데 아직 특별히 필요한 부분이 없고,
시간도 없고, 삽질하기도 귀찮고 해서 그냥 지켜보고 있지만, 이정도로 연동이 가능하다는 부분만이라도
알려지게 되면 저 말고도 다른분들이 많은 연구를 하시게 될거라 믿고!

글을 줄이겠습니다 :)



개인적인 질문은 리플보다는 아얄씨에 오셔서.. gauguin`雨PDE 를 찾아주셔요 :)
  • 【GM】현 2008.07.26 22:09
    오홍 감사합니다^^
  • SweetPain 2008.07.26 22:36
    좋은 글 감사해요
  • 귤맛오렌지 2008.07.26 22:38
    아, 참고로 아이템 획득시 D2Manager에 Kept하고 로그가 남으시는분들에게 이 방법이 그대로 적용됩니다 :) 이미 수정된 버전을 사용하시거나, 직접 수정하여 사용하시는 분들은 로그 기록되는 부분을 따로 찾으셔야합니다.
  • 남자의두얼굴 2008.07.26 23:14
    ㅎㅎ 역시 irc는 어렵네요
  • 시샘 2008.07.27 00:48
    오호 신기허네요 ㅋㅋ 집에가서 테스트 해봐야겠어요 ㅋㅋ
  • 극빈서생 2008.07.27 08:06
    연동은 했지만 아이템을 안주어와서 확인불가능-_-;;
  • 데드좀비 2008.07.28 03:22
    이야...대단하심...이렇게도 되는구나 감사해요~^^
  • TakTak36 2008.07.31 15:09
    너무 해보고 싶은데..닉을 정하고 연결이 안되네요.ㅠㅠBad name이라고만 뜨는..쩝..

팁 게시판

번호 분류 제목 글쓴이 날짜 조회
공지   게시판 푸시 알림 / 통합 앱 서비스 34 file 트디개발자 2023.09.20 944.9k
공지 디아관련 에테리얼 벅큐빙 표 219 eunnanoDiablo™ 2008.03.05 144.8k
공지 디아관련 케릭별 갑옷 착용 모습 325 수린[아빠] 2009.06.09 116.0k
공지 디아관련 디아블로 각종 팁과 정보 간추림 입니다 (_ _) 1547 조은아저씨 2010.05.24 215.7k
공지 봇관련 유니크 업글 표 366 file 카인 2013.11.02 420.9k
공지   맨땅 초보자 가이드 612 file 뮤리아 2020.10.16 1014.4k
공지   카카오톡 1:1 채팅방 만드는 법 106 트디개발자 2018.05.20 430.2k
1541 봇관련 [D@BS-M] Vmware를 이용한 오류 최소화 10 타기 2008.08.03 2.3k
1540 캐릭 육성 올라운드용 5색 오오라 극 소환넥을 육성하자! 47 Cosy[A1S] 2008.08.02 5.8k
1539 봇관련 [D@BS-M]봇 우버아이피찾기 3 Forever_Force 2008.08.02 3.8k
1538 봇관련 [D2JSP] 봇창 시작표시줄로 내리는 꼼수 15 NoQuestion。[A2L] 2008.07.29 2.3k
> 봇관련 [NT봇] IRC 와 연동하기! 8 귤맛오렌지 2008.07.26 2.3k
1536 봇관련 NT봇 바알을 다 잡지 않고 나갈때 ^^ 10 봉마린 2008.07.25 2.6k
1535 디아관련 [트리런] 나홀로 트리런 방법입니다..유틸+셋팅등 31 G만편한세상 2008.07.25 5.8k
1534 봇관련 D2메니져 오류 관련입니다... 13 시샘 2008.07.25 2.2k
1533 디아관련 디아블로2 몬스터 16 용휘 2008.07.24 3.2k
1532 게임관련 FTTH쓰시는분 아이피 갱신언제 되는지 확인하는법 입니다. 4 pharm 2008.07.23 1.6k
1531 디아관련 트리승객들 잠수할때 대처법. 12 숙바라기[변태] 2008.07.23 3.3k
1530 봇관련 NTBot 물약 먹기 편하게 해보자!(마나번 방지) 2 NoQuestion。[A2L] 2008.07.22 3.0k
1529 디아관련 투업에 관해서 8 크로이체르 2008.07.21 1.9k
1528 봇관련 NT봇 강건너에서 Mephisto error 참고하세요 1 반격 2008.07.21 1.6k
1527 디아관련 우버IP netstat 편히 보는 방법 입니다. 5 쪼제 2008.07.20 3.1k
1526 게임관련 ntbot 강건너매피잡기중 히드라 대처방안 11 크리스 2008.07.20 1.9k
1525 디아관련 [정보] 헬 메피스토 드랍 아이탬 16 용휘 2008.07.18 21.9k
1524 디아관련 우버메크로시 아이피 145 대처방안 꼼수[펌] 12 도현*지혜[아빠] 2008.07.18 3.1k
1523 봇관련 [ntbot] 봇순이, 봇돌이 물약 안사고 마실 나갈때 수정하는거에요. 2 쪼제 2008.07.17 1.5k
1522 디아관련 오리소서로 헬트라빈걸 tip. 7 달반가면 2008.07.16 2.8k