NT봇 니가 먹는게 도대체 무엇이냐? (로그남기기)(9/05)수정
분류
봇관련
조회 수
3,023
추천 수
6
NT봇 니가 먹는게 도대체 무엇이냐? (로그남기기)입니다.
<<< 잘못작성된 부분 수정하다가 글이 반토막 나버려서 다시 재작성 해서 올립니다. >>>
우선 기존 팁을 알려주셨던 아토믹스님 과 앙마필두 님께 먼저 양해를 구하지 못하고
변형된 로그파일 만들기 설명을 올리게 되었습니다.
팁을 주신 두분께 감사 드리구요.
본 로그파일 기록에 관련한 내용은 상위 두분의 자료를 토대로 재구성한것입니다.
NT봇 은 디아블러네님이 올려주신..
NTbot2.5.3 modifications2+NewD2BS 0.9.0.5-jh (09/03) 을 사용하였습니다.
http://tradia.me/diablo2/download/39828
봇을 사용 하시다보면.. 상당히 답답한 부분이 한가지가 생깁니다..
그건 바로.. 인벤이나 스태쉬에 아이템은 없는데.. 돈은 수북하게 쌓입니다.
즉.. 줏어 먹은건 있는데.. 상점에 도로 팔아 버렸다는 거죠.
도대체 뭘 먹고 나서 팔아버린 건지 정말 답답하기 그지 없습니다.
하도 답답해서.. 지켜 보고 있을수도 없고 해서.. 로그남기는것에 대해서 찾아보기 시작 했습니다.
그래서 나온 것이 이것입니다. 앞서 말씀 드렸듯이 아토믹스 님과 앙마필두 님의 정보를 토대로 재구성 한것입니다.
이 로그파일에 남는 내용은 상점에 팔았던 스태쉬에 보관을 했던 상관없이 일단 줏어먹은건 무조껀 기록하게 합니다.
사냥터에서 사냥을 하다가 몹이 드랍한 아이템중 캐릭이 습득한(줏은) 아이템을 그순간에
로그파일에 기록하는 것입니다. D2 매니저상의 표시나 로그에는 전혀 수정을 하지 않은
오로지 줏은것이 무엇인지를 알아보기 위한 것입니다.
(포션은 제외 됩니다.)
아래는 로그 예제 입니다.
로그 파일명 [hell]2008-09-04.txt
<< 로그파일명은 D2 매니저에서 등록한.. 프로파일이름.. 즉 실행되는 창이름 + 날짜 입니다.
로그파일안의 내용. (역시 창이름과 날짜 시간 등이 기록됩니다.)
===============================================================================
[hell 2008/09/04 15:26:52]TakeIt [Magic] Grand Charm<75>---Andariel
[hell 2008/09/04 15:27:42]TakeIt [Magic] Gothic Plate<88>---Mausoleum
[hell 2008/09/04 15:30:41]TakeIt [Unique] Grand Charm<87>---Mephisto <-- 이거 기드참 맞죠?
[hell 2008/09/04 15:31:14]TakeIt [Magic] Horned Helm<75>---Andariel
[hell 2008/09/04 15:32:37]TakeIt [Magic] Crusader Gauntlets<88>---Mausoleum
[hell 2008/09/04 15:33:19]TakeIt [Rare] Matriarchal Bow<88>---Mausoleum
[hell 2008/09/04 15:37:00]TakeIt [Magic] Jewel<88>---Mausoleum
[hell 2008/09/04 15:43:25]TakeIt [Magic] Amulet<85>---Mausoleum
[hell 2008/09/04 15:53:25]TakeIt [Magic] Amulet<73>---Andariel
[hell 2008/09/04 15:54:49]TakeIt [Magic] Crystal Sword<85>---Mausoleum
[hell 2008/09/04 15:57:34]TakeIt [Rare] Light Plated Boots<87>---Mephisto
[hell 2008/09/04 15:59:14]TakeIt [Magic] Heavenly Stone<87>---Mephisto
[hell 2008/09/04 16:01:02]TakeIt [Rare] Unraveller Head<83>---Mephisto
[hell 2008/09/04 16:01:40]TakeIt [Magic] Amulet<75>---Andariel
[hell 2008/09/04 16:02:25]TakeIt [Magic] Mummified Trophy<88>---Mausoleum
[hell 2008/09/04 16:02:58]TakeIt [Magic] Vampirebone Gloves<88>---Mausoleum
[hell 2008/09/04 16:04:21]TakeIt [Magic] Sacred Globe<85>---Mausoleum
[hell 2008/09/04 16:05:56]TakeIt [Rare] Gargoyle Head<87>---Mephisto
[hell 2008/09/04 16:05:57]TakeIt [Magic] Clasped Orb<87>---Mephisto
[hell 2008/09/04 16:06:07]TakeIt [Magic] Grand Charm<86>---Mephisto
=================================================================================
(((( 기드참 분명이 줏었는데.. 인벤과 스태쉬에 기드참없어용.. 매찬이 낮아서 상점에 팔아버렸나봐요..)))))
(((( 이거 설명서 만들고 있는 사이에.. 흑흑.. 나뿐 봇... 낮아두 챙겨 두징...)))
상위 로그파일을 만들어서 기록을 구경해 보시고 싶으신분은... 다음 내용을 적용 하여 보시기 바랍니다.
Plugin\scripts\libs\bots 폴더 안의 NTLoader.dbl 파일의 NT_Loader 함수에
다음 한줄을 추가 하여야 합니다.
_Current_Postion=NTConfig_Script[i]; <-- 추가해야할 문장.
해당 파일을 열어보시면 첫부분에 바로 해당 함수가 존재 합니다.
--------------------------------------------------------------------------------------------
function NT_Loader()
{
var _result;
for(var i = 0 ; i < NTConfig_Script.length ; i++)
{
NTTM_CheckAct();
NTC_Delay(1000);
NTC_SendLogToOOG(NTConfig_Script[i]);
_Current_Postion=NTConfig_Script[i]; // <-- 이줄이 추가된 줄입니다.
switch(NTConfig_Script[i])
{
case "AncientTunnels":
NTC_Include("bots/NTAncientTunnels.dbl");
_result = NT_AncientTunnels();
break;
case "Andariel":
NTC_Include("bots/NTAndariel.dbl");
_result = NT_Andariel();
break;
--------------------------------------------------------------------------------------------
Plugin\scripts\libs\common 폴더안의 NTTownManager.dbl , NTCommon.dbl , NTSnagIt.dbl 이 3가지
파일에 또 추가해야 할 내용이 있습니다.
먼저 NTTownManager.dbl 파일에 다음내용을 추가 합니다.
var _Current_Postion; <-- 추가해야할 문장.
역시 첫부분에 바로 추가 하실수 있습니다.
--------------------------------------------------------------------------------------------
var _NTTMGR_BuyPots;
var _NTTMGR_BuyTP;
var _NTTMGR_BuyKey;
var _NTTMGR_DoGamble;
var _NTTMGR_DoHeal;
var _NTTMGR_DoID;
var _NTTMGR_DoRepair;
var _NTTMGR_DoRevive;
var _NTTMGR_RemoveCurse;
var _Current_Postion; // <---- 이줄이 추가된 줄입니다.
function NTTMGR_TownManager(simple)
{
if(arguments.length < 1)
simple = false;
NTC_ClearCursor();
NTT_CleanPotions();
--------------------------------------------------------------------------------------------
다음 NTCommon.dbl 파일에 다음 함수들을 추가 합니다.
이파일에서는 맨 뒷부분에 추가 하시면 됩니다.
--------------------------------------------------------------------------------------------
function NTC_SendLogToLogFile(logString)
{
var _logs;
file=fileOpen("logs/["+me.windowtitle+"]"+GetDate('-')+".txt",2);
_logs="["+me.windowtitle+" "+GetDate('/')+" "+GetTime()+"]"+logString;
file.writeLine(_logs);
file.close();
return;
}
function GetDate(GD)
{
var d = new Date();
var t =
FillZeros(d.getFullYear(), 4) + GD +
FillZeros(d.getMonth() + 1, 2) + GD +
FillZeros(d.getDate(), 2);
return t;
}
function GetTime()
{
var d = new Date();
var s =
FillZeros(d.getHours(), 2) + ':' +
FillZeros(d.getMinutes(), 2) + ':' +
FillZeros(d.getSeconds(), 2);
return s;
}
function FillZeros(n, d)
{
var zero = '';
n = n.toString();
if (n.length < d)
{
for (i = 0; i < d - n.length; i++)
zero += '0';
}
return zero + n;
}
--------------------------------------------------------------------------------------------
다음 NTSnagIt.dbl 파일의 내용중..function NTSI_SnagIt() 함수의 중간쯤에
다음의 내용을 추가 하여야 합니다.
var _eth;
(_itemunit.getFlag(0x400000))? _eth="(eth)":_eth="";
if(_itemunit.itemType != 4 && (_itemunit.itemType < 76 || _itemunit.itemType > 81))
{
NTC_SendLogToLogFile("TakeIt [" + _eth + NTC_ItemQualityToNameList[_itemunit.quality] + "] " + _itemunit.name+"<"+_itemunit.ilvl+">" + "---"+_Current_Postion); }
}
function NTSI_SnagIt() 함수는 해당 파일의 약 42번째 줄부터 시작이 되며 추가해야될 부분은
약 116 번째 줄에 존재 합니다. (각 유저마다 위치가 다를수 있습니다.)
--------------------------------------------------------------------------------------------
function NTSI_SnagIt()
{
var _itemtosnag;
_NTSI_ItemQueue = new NTSI_ItemListInt(null, NTConfig_SnagRange);
_NTSI_ItemQueue.Update();
_itemtosnag = _NTSI_ItemQueue.getClosest();
if(_itemtosnag)
{
.
.
. 다 적을수는 없으니.. .(점)으로 생략 합니다..
.
.
switch(_itemunit.quality)
{
case 4:
print("Pick up c3" + _itemunit.name);
break;
case 5:
print("Pick up c2" + _itemunit.name);
break;
case 6:
print("Pick up c9" + _itemunit.name);
break;
case 7:
print("Pick up c4" + _itemunit.name);
break;
case 8:
print("Pick up c8" + _itemunit.name);
break;
default:
print("Pick up c0" + _itemunit.name);
if(_itemunit.itemType != 4 && (_itemunit.itemType < 76 || _itemunit.itemType > 81))
{
NTC_SendLogToOOG("Kept [" + NTC_ItemQualityToNameList[_itemunit.quality] + "] " + _itemunit.name);
// Item Logger Start
writeLog(_itemunit, me);
// Item Logger End
}
break;
}
=============== 여기서 부터 추가 합니다... ===위쪽은 원본 그대로 수정하는 부분이 없습니다.======
var _eth;
(_itemunit.getFlag(0x400000))? _eth="(eth)":_eth="";
if(_itemunit.itemType != 4 && (_itemunit.itemType < 76 || _itemunit.itemType > 81))
{
NTC_SendLogToLogFile("TakeIt [" + _eth + NTC_ItemQualityToNameList[_itemunit.quality] + "] " + _itemunit.name+"<"+_itemunit.ilvl+">" + "---"+_Current_Postion); }
}
=============== 여기 까지 추가 하시면 됩니다.. ================================================
_itemtosnag.HasBeenSnagged = NTSI_PickUpItemInt(_itemunit);
}
else
{
--------------------------------------------------------------------------------------------
이렇게 총 4개의 파일을 수정(추가) 하신후 봇을 돌리시면
Plugin\scripts\logs 폴더 안에 해당창 이름과 날짜가 적힌 txt 파일이 생성 되며 메모장 등에서
쉽게 확인 하실수 있습니다.