Skip to content

팁 게시판

[NT봇] IRC 와 연동하기!

분류 봇관련 조회 수 2,254 추천 수 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이라고만 뜨는..쩝..

팁 게시판

번호 분류 제목 글쓴이 날짜 조회
공지   게시판 푸시 알림 / 통합 앱 서비스 31 file 트디개발자 2023.09.20 832.7k
공지 디아관련 에테리얼 벅큐빙 표 219 eunnanoDiablo™ 2008.03.05 140.3k
공지 디아관련 케릭별 갑옷 착용 모습 325 수린[아빠] 2009.06.09 111.5k
공지 디아관련 디아블로 각종 팁과 정보 간추림 입니다 (_ _) 1547 조은아저씨 2010.05.24 211.6k
공지 봇관련 유니크 업글 표 366 file 카인 2013.11.02 412.9k
436 봇관련 싸면서도 안죽는 임모바바로 봇 돌리기 15 일삼삼칠 2008.08.14 5.2k
435 봇관련 vmware로 봇돌릴때 하드스왑이 심할때 해결법 3 쥬크레이 2008.08.13 1.6k
434 봇관련 봇 시스템도 경쟁력이다. 20 다이아블로 2008.08.12 5.1k
433 봇관련 아이템 먹엇는데 없으신분들.. 7 박예은임다 2008.08.09 2.9k
432 봇관련 쫄봇 함성바바 만들기 13 코코만땅 2008.08.07 3.8k
431 봇관련 잘되다가 갑자기 Error가 연속적으로 나실때 7 Forever_Force 2008.08.05 1.9k
430 봇관련 [D@BS-M] Vmware를 이용한 오류 최소화 10 타기 2008.08.03 2.2k
429 봇관련 [D@BS-M]봇 우버아이피찾기 3 Forever_Force 2008.08.02 3.8k
428 봇관련 [D2JSP] 봇창 시작표시줄로 내리는 꼼수 15 NoQuestion。[A2L] 2008.07.29 2.3k
> 봇관련 [NT봇] IRC 와 연동하기! 8 귤맛오렌지 2008.07.26 2.3k
426 봇관련 NT봇 바알을 다 잡지 않고 나갈때 ^^ 10 봉마린 2008.07.25 2.6k
425 봇관련 D2메니져 오류 관련입니다... 13 시샘 2008.07.25 2.2k
424 봇관련 NTBot 물약 먹기 편하게 해보자!(마나번 방지) 2 NoQuestion。[A2L] 2008.07.22 3.0k
423 봇관련 NT봇 강건너에서 Mephisto error 참고하세요 1 반격 2008.07.21 1.6k
422 봇관련 [ntbot] 봇순이, 봇돌이 물약 안사고 마실 나갈때 수정하는거에요. 2 쪼제 2008.07.17 1.5k
421 봇관련 [NTBOT] 나는 에러떠도 로레완드를 꼭 쓰겠다 4 데드좀비 2008.07.16 1.4k
420 봇관련 D2JSP XP.bot을 돌려 보자. 27 [無情]디아블러네 2008.07.15 8.8k
419 봇관련 nt봇 인게임.로비에러.... 리스타트로 때우자 -_- 9 file 셋쇼마루동생 2008.07.06 3.9k
418 봇관련 nt 봇 마나번에 대한 짧은 소견.. 3 김채원 2008.07.03 1.5k
417 봇관련 초보 NTBot 빠른 설치 24 [無情]디아블러네 2008.07.02 15.7k