<조건> 1. NTBot 2.5.3 Final (10/11) 을 기준으로 합니다. 2. Log file에서 Kept한 아이템만 표시가 됩니다. 3. 각자 원본 파일을 잘 보관하시고 시도하세요. 하루 정도 테스트 해보았는데.. 문제 없어 올리는 것이지만. 각자 조금씩 사정이 틀리니까 꼭 원본 파일을 세이브 하시고 하세요.
---------------------------------------------------------------------------------------------------------------------------------- 수정이 직접 쉽지 않으시다고 하셔서 수정한 파일을 자료실에 올렸습니다. 각자 조금씩 스크립트가 틀릴 수 있으므로 꼭 원본 파일을 저장하시고 테스트 해보시기 바랍니다. 압축을 풀어서 그대로 덮어 씌어 주시면 될 것 같습니다. 아래 링크에서 다운 받으세요.
첫번째 : scripts\libs\itemlogger.dbl 에서 다음 문장을 찾아 아래 문장으로 수정합니다.
function writeLog(item, me, isEthereal, _mode) { //==> 아래 문장으로 수정. function writeLog(item, me, isEthereal, _mode, Pre_Boss ) {
itemlog.item += <item id={itemid} char={me.charname} time={timestring} quality={item.quality} ethereal={isEthereal} mode={_mode} name={itemname}>{itemdesc}</item>; //==> 아래 문장으로 수정. 마을에서 확인한 후 기록하는 함수이므로 직전 장소나 몹을 기록함. itemlog.item += <item id={itemid} char={me.charname} time={timestring} quality={item.quality} ethereal={isEthereal} mode={_mode} name={itemname} Pre_Boss={_Pre_Boss}>{itemdesc}</item>;
두번째 : scripts\libs\itemlogger.dbl 에서 조금전에 수정한 아래 함수를 복사합니다. ============================================================ function writeLog(item, me, isEthereal, _mode, Pre_Boss ) { CheckLog() var time_now = new Date ();
~~~~~~~~~~~~~~~~~~~~~~~~~~ 아래 문장까지 총 56줄 정도 됨.
// Overwrites the whole file fhandle.writeLine(content); fhandle.close(); } ===============================================================
복사 후에 이 파일의 (itemlogger.dbl ) 가장 밑에 줄을 보시면
CheckLog(); <---- 라는 문장이 있습니다. 이 문장 바로 위에 복사한 것을 붙힙니다.
세번째 : 복사한 이후 복사한 함수만 아래와 같이 수정한다. !!! 위에 처음 수정한 함수는 그래로 두시고.....
function writeLog(item, me, isEthereal, _mode, Pre_Boss ) { //==> 함수 이름을 바꾸어 줌. function writeLog1(item, me, isEthereal, _mode, Pre_Boss ) {
itemlog.item += <item id={itemid} char={me.charname} time={timestring} quality={item.quality} ethereal={isEthereal} mode={_mode} name={itemname} Pre_Boss={_Pre_Boss}>{itemdesc}</item>; //==>이 함수는 룬, 주얼, 재료 등과 같이 줍는 즉시 확인 되는 아템을 로그에 기록하는 함수임. itemlog.item += <item id={itemid} char={me.charname} time={timestring} quality={item.quality} ethereal={isEthereal} mode={_mode} name={itemname} Pre_Boss={_Currunt_Boss}>{itemdesc}</item>;
writeLog(_items[i], me, _isEthereal, 1); ==> 아래 문장으로 수정. 한개 수정함. 이부분의 경우 대부분 앞에 //를 해서 주석 처리를 하는 것이 좋습니다. 멀티로 돌리때 ==> 여러 봇이 동시에 로그를 만드는 경우 에러가 발생하는 경우가 있더군요.. writeLog(_items[i], me, _isEthereal, 1, _Pre_Boss);
다섯번째 : scripts\libs\common\NTSnagit.dbl 에서 다음 문장을 찾아 아래 문장으로 수정합니다
=============================================== <xsl:when test="@mode = '1'"> Sold </xsl:when> </xsl:choose> ================================================= 를 아래와 같이 수정해 주면 될 것 같습니다. 5군데 수정 필요. ================================================= <xsl:when test="@mode = '1'"> <xsl:value-of select="@Pre_Boss"/> </xsl:when> </xsl:choose> ==================================================
원하던 자료가 드디어 나왔군요. 정말 감사합니다..^^;
근데 위에 scripts\libs\common\NTTownManager.dbl
여기에서
writeLog(_items[i], me, _isEthereal, 0); 두개 kept
writeLog(_items[i], me, _isEthereal, 1); sold 하는 걸로 알고 있는데
모두 인자를 0으로 해서 붙여넣기 해야하나요?
두개는 writeLog(_items[i], me, _isEthereal, 0, _Pre_Boss);
하나는 writeLog(_items[i], me, _isEthereal, 1, _Pre_Boss);
로 해야되는 지요?
Baal_Killer// 맞습니다.. 글을 올리다 보니 실수했네요.. 설명대로 수정했습니다.
그러나
writeLog(_items[i], me, _isEthereal, 1, _Pre_Boss);
의 경우 상점에 버리는 아템을 기록하는 펑션이므로
왠만하면 주석처리를 해서 사용하지 않는 것이 좋더군요.
멀티로 돌릴때 에러가 여기서 발생하는 것 같았습니다.
Sold 아이템도 로그에 표시되기를 원하시면..
역시 같은 방법으로
scripts\logs\itemlog.xsl 에서
===============================================
Sold
=================================================
를 아래와 같이 수정해 주면 될 것 같습니다. 5군데 수정 필요.
=================================================
==================================================
GombadA님 // 상점에 팔은 아템을 보시려면..
scripts\libs\common\NTTownManager.dbl 를 살펴보시면..
아래와 같은 스크립트가 있을 겁니다.
//writeLog(_items[i], me, _isEthereal, 1, _Pre_Boss);
--> //를 빼주시면 상점에 팔은 아템도 기록이 됩니다..
writeLog(_items[i], me, _isEthereal, 1, _Pre_Boss);
여기를 주석 처리 안하는 경우
멀티로 돌리는 경우에는 가끔 에러가 생기는 경우가 있는것 같으니 감안하세요.
Baal_Killer
znss
Baal_Killer
znss
득템사랑[변태]
Oldking
GombadA
SpaidKing
znss
GombadA
GombadA
류안
상자매스컴