Skip to content
봇관련다크 모드

[9/10] [NT]new D2BS 0.9.0.5 에서 숨렙과 보스 기록을 남겨보자!

조회 수
1,774
추천 수
8
등록일

[9/10] [NT]new D2BS 0.9.0.5 에서 숨렙과 보스 기록을 남겨보자! - 1

다음과 같이 나타내기 위해, 아토믹스님의 자료를 무단으로 이용 및 수정했습니다.
(아토믹스님, 죄송해요.^^)
[위 사진은 테스트용이라서, 숨렙 99를 피트에서 주워서 수상하다곤 하지 마시기 바랍니다.^^]
*기본틀은 디아블러네님의 xml기반 로그입니다.*

[ 수정 1 - 2008/09/09 ]
겜블시 undefined 뜨는 부분 수정했습니다.
가장 아랫부분에 적어놨어요.

[ 수정 2 - 2008/09/10 ]
그만 변수명을 섞어적어버렸네요.
NTTown.dbl switch구문의 npcname의 앞부분에 언더바를 추가시켰습니다.
(gondr님 감사합니다!)



이 방법을 쓰기 위해선, 우선 아토믹스님의 로그기록 남기기 자료가 필요합니다.

[NT] 로그파일에 어디서 주웠는지 표기해보자.
http://tradia.me/diablo2/diablo2_tips/184936

[NT] 로그에 숨랩과 에테 여부 추가해보자
http://tradia.me/diablo2/diablo2_tips/185620


이 두 글을 보시고 그대로 수정해주시면 되구요.

그 다음으론, itemlogger.dbl 파일을 살짝 수정할 겁니다.

파일을 여셔서, 아래에 적힌, 두 부분을 수정해줍시다.

function writeLog(item, me, _eth, boss) { //이부분 수정
var filehandle = fopen("logs/itemlog.xml", 2);
var templine = "";
var content = "";
while((templine = filehandle.readLine()) != "") {
 if(!(templine == "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>" || templine == "<?xml-stylesheet href=\"itemlog.xsl\" type=\"text/xsl\"?>")) {
content += templine;
 }
}
filehandle.close();
var itemlog = new XML(content);
 
time_now = new Date();
var timestring = time_now.toLocaleFormat("%a %m/%d/%y %H:%M");
 
itemlog.item += <item char={me.charname} time={timestring} quality={item.quality}> {_eth }{item.name} {"<"}{item.ilvl}{">"} {"---from "} {boss} </item>; //이부분 수정
var fhandle = fopen("logs/itemlog.xml", 1);
 
content = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n";
content += "<?xml-stylesheet href=\"itemlog.xsl\" type=\"text/xsl\"?>\n"
content += itemlog.toXMLString();
 
fhandle.write(content);
fhandle.close();
}


다음으로, common\NTSnagIt.dbl, NTTownManager.dbl 파일을 살짝 수정할거에요.
(tip: 찾기 로 write를 찾으시면 빠릅니다.)

우선 NTSnagIt.dbl 파일을 열어서...

// Item Logger Start
writeLog(_itemunit, me);
// Item Logger End

다음 부분을 찾아서, 아래처럼 고쳐주세요.

// Item Logger Start
writeLog(_itemunit, me, _eth, _Currunt_Boss);
// Item Logger End

같은 방법으로, NTTownManager.dbl 파일을 열어서

// Item Logger Start
writeLog(_items[i], me, _eth, _Pre_Boss);
// Item Logger End

이렇게 고쳐주시면 되겠습니다.

그런데, 아이템을 줍는 경로는 사냥 뿐 아니라 겜블로도 있죠.

따라서, 겜블에도 이를 적용시켜줘야합니다.

NTTown.dbl 파일을 열어서, function NTT_GambleIt(npc) 함수를 찾아, 다음을 수정합니다.

function NTT_GambleIt(npc)
{
 var _gambleitem, _newitem, _npcname; //_npcname을 추가합니다.
 if(!npc)
 return false;
 if(!getUIFlag(0x08) || !getUIFlag(0x0C))
 return false;
 switch(me.act) //여기부터
 {
 case 1: _npcname="gheed";break;
 case 2: _npcname="elzix"; break;
 case 3: _npcname="alkor"; break;
 case 4: _npcname="jamella"; break;
 case 5: _npcname="anya"; break;
 } //여기까지 추가합니다.
 _gambleitem = NTC_GetItems(npc);

----------------------------------------------------------
그리고, 약간 아래로 내려가면, NTC_SendLogToOOG를 찾을 수 있습니다. 그 부분을 다음과 같이 수정해주세요.

if(njipCheckGoodItem(_newitem, NJIP_CHECK_SIMPLE) > 0) {
 NTC_SendLogToOOG("[Gamble] [" + NTC_ItemQualityToNameList[_newitem.quality] + "] " + _newitem.name +"<"+_newitem.ilvl+"> ----from "+_npcname); // 이 줄 수정
 // Item Logger Start
 var _space=""; // 이 줄 추가
 writeLog(_newitem, me, _space, _npcname); // 이 줄 수정
 // Item Logger End
}
이렇게 하면 수정 완료에요. 어렵진 않으시죠?

P.S. 겜블쪽 테스트 부탁드리겠습니다. (_ _)
댓글 29
  • 댓글 #194638

    좋은 정보 감사합니다. 아까 적용해놓고 결과를 기다리는 중 입니다... 그런데.....이아이가 아이템을 3시간동안 한개도 안물어오네요... OTL....
  • 댓글 #194641

    맘속으로 언제나 원하고 있던 자료입니다 수정후 테스트해서 잘 쓰겠습니다 감사합니다
  • 댓글 #194644

    와우~~ 이 자료 ^^ 좋네요...저도 언넝 적용시켜서 해보고 싶네요
  • 댓글 #194647

    아~ 바라던 자료네요^^ 제가 이런걸 잘 몰라서 마음만 굴뚝같았는데 감사합니다.~
  • 댓글 #194650

    와 정말 좋은 정보내요... 한눈에 확인이 가능하겠는걸요... 회사에서 봇돌리는 저한테는 너무 유용한 정보네요.. 감사합니다.
  • 댓글 #194656

    * 확인 결과 겜블로 얻은 건 undefined로 뜨는 듯합니다. 고치도록 할게요.
  • 댓글 #194659

    보스 이름에 undefined 나오는건 왜 그런가요 겜블 아닙니다 ㅜㅜ
  • 댓글 #194662

    undefined로 나오는 것은 아토믹스님의 자료대로 고칠 때 제대로 수정하지 않으셔서 발생하는 거에요. 아토믹스님 정강란 로그 글 or 자료실 로그 글 등등을 보시면 해결할 수 있답니다.^^
  • 댓글 #194665

    에테 잘 찍히네요 오늘 에테신옵 하나 줏어왔는데 정상적으로 에테표시 됩니다. 감사히 잘 쓸께요~
  • 댓글 #194671

    마지막꺼 수정중이신가요? 마지막 적용내용 반영해보면 에러 나네요~
  • 댓글 #194680

    일단 예전 아토믹스님 자료 찾아보니 NTC_SendLogToOOG("Gambled [" + NTC_ItemQualityToNameList[_newitem.quality] + "] " + _newitem.name+" "+ NTC_ClassIdToName[_newitem.classid] +"<"+_newitem.ilvl+">"+_socket+"---"+npcname); 이렇게 되어 있네요 참조하시면 될듯 합니다. 저는 무슨내용인지 해석불가^^
  • 댓글 #194683

    moldman//아토믹스님 자료 참고해서 npcname 남기도록 했습니다. 에러의 원인은 write(a,b,c,d); 쪽에서 나더라구요.
  • 댓글 #194689

    이상하게도 매니저에는 뜨는데...xml기반 로그에는 기록이 남질 않습니다... 무엇이 문제일까요? 시키는대로 적었는데...이유를 모르겠네요..
  • 댓글 #194692

    2파일을 동시 적용하고 있는데 다르게 나오는군요. [itemlog.xml]파일 기록 내용 Wed 09/10/08 01:06 Lem Rune <1> ---from Countess Wed 09/10/08 01:50 undefinedCoronetHavoc Brow <88> ---from undefined Wed 09/10/08 01:54 undefinedRingDread Gyre <75> ---from undefined Wed 09/10/08 02:13 Amulet <88> ---from Duriel Wed 09/10/08 02:15 Key of Terror <82> ---from Countess Wed 09/10/08 02:18 undefinedSpiritual Grand Charm of Balance <84> ---from undefined Wed 09/10/08 02:39 undefined Small Charm of Good Luck <86> ---from undefined [txt]파일 기록 내용 [Hammer 2008/09/10 01:06:22]Lem Rune<1>---Countess [Hammer 2008/09/10 01:50:52][Rare] Coronet Havoc Brow<88>---Baal [Hammer 2008/09/10 01:54:26][Rare] RingRing Dread Gyr<75>---Andariel [Hammer 2008/09/10 02:13:19][Unique] Amulet<88>---Duriel [Hammer 2008/09/10 02:15:15]Key of Terror<82>---Countess [Hammer 2008/09/10 02:18:08][Magic] Spiritual Grand Charm of Balance<84>---Pindleskin [Hammer 2008/09/10 02:39:22][Magic] Small Charm of Good Luck<86>---Eldritch
  • 댓글 #194695

    클레오팻트라//xml 로그는 write함수에 의해 적힙니다. 각각의 dbl파일들이 제대로 적혔는지, 그리고 itemlogger.dbl파일에서의 write함수가 올바른지 확인해보세요. 창고캐릭// undefined로 뜨는 것만 고쳐지면 둘이 똑같을 것이라 생각합니다만..;
  • 댓글 #194698

    switch(me.act) //여기부터 { case 1: npcname="gheed";break; case 2: npcname="elzix"; break; case 3: npcname="alkor"; break; case 4: npcname="jamella"; break; case 5: npcname="anya"; break; } //여기까지 추가합니다. 이부분은 switch(me.act) //여기부터 { case 1: _npcname="gheed";break; case 2: _npcname="elzix"; break; case 3: _npcname="alkor"; break; case 4: _npcname="jamella"; break; case 5: _npcname="anya"; break; } //여기까지 추가합니다. 이렇게 되야겠네요
  • 댓글 #194701

    창고캐릭// 같은 파일내에서 연속되어있는 sendlogtooog 와 writelog에 해당하는 보스(_Pre_Boss, _Current_Boss)가 같게 되어있는지 확인해 보세요
  • 댓글 #194707

    dbl파일을 잘못 적용하면 아이템을 집어지도 않을 수도 있나요? 예를 들면 기록만 에테로 남기는게 아니라...에테가 아니면 아템을 안줍는 현상도 일어날 수 있을까요? 적용한 뒤로는...로그 보기가 편해졌는데 이상하게 아템을 못집어 오는거 같아서요..
  • 댓글 #194710

    defiend<--저도 간혹 나왔는데...파일을 곰곰히 살펴보니 currunt로 적혀있더라구요... 파일 찾아서 current로 모두 고쳐주니 defined는 안나오네요..^^
  • 댓글 #194719

    클레오팻트라// 아예 아이템을 줍지 않는 경우는 없습니다. 이니를 전체 배제하지 않는 한 말이죠. 함수가 잘못되었을 경우 그냥 에러가 떠요.
  • 댓글 #194722

    네...^^ 윗분 글이 있어..혹시나 해서요..^^ 지금 잘 물어오네요....ㅎㅎ 보기도 편하구요...좋안 자료 감사합니다..
권한이 없습니다.
다크 모드