안녕하세요.
정강란에 2526 글이 드디어 올라왓군요
헌데 제 봇파일에는 186번째에서 수정을 찿아볼수가 없어서요.
정말 방대기때문에 좀그랫는데 드디어 문제점을 해결햇구나 싶엇는데
진짜 거짓하나 안보내고 노력햇는데도 잘모르겟군요.
지금 저의 botgame.ntj 파일에 보시면 이렇습니다..
근데말입니다 정강란에 2526글을 보면 186번째에서
var waitInLineTimeout = 180000; // 게임 만들기 창에서의 대기 시간(1/1000초) // in milliseconds to wait in lines for a create game (60 second default)
이렇게 수정하라고 해놓앗습니다.
근데 제파일에서는 볼수가 없더군요...문제점을 해결좀 부탁드립니다
var CurScriptIndex;
var StartingTime;
var CloneDiabloString;
var JordanMessageString;
var JordanMessageCount = 0;
var JordanMessageCheck = false;
var LeechBotHelp = -1;
var PlayerHelp = -1;
var PlayerHelpList = new Array();
var LeechBotBaal = false;
var CheckHostile = false;
var StatusText = new Array(5);
//##############################################################################
// 메시지 출력하기
//-----------------
// 주의: 메시지를 상태 메시지 상자에 출력하면 응답 없음이 될 수도 있습니다.
//==============================================================================
StatusText = [1, true, true, false, true]; // [0: 출력 안함/ 1: 상태 메시지 상자/ 2: 전체 화면, 서버 아이피, 계정이름, 캐릭터이름, 사냥 스크립트 이름]
//##############################################################################
//##############################################################################
//##############################################################################
function NTMain()
{
Delay(1000);
//Print("ÿc4[+] NTBot 4.2 [+]");
var _msg, _scriptName;
var _myExperience, _firstExperience, _experience, _time;
StartingTime = new Date();
Include("libs/common/NTCommon.ntl");
NTC_IncludeLibs();
if (!NTC_IncludeConfig("NTBot/char_configs", true))
MyCo_ExitGame("ÿc1NTBotGame.ntj : NTC_IncludeConfig() 실패 (" + MyCo_GetAreaName() + ")");
NT_LoadConfig();
NTSI_LoadNIPFiles("NTBot/item_configs");
MyAt_Initialize();
if (NTConfig_StartDelay > 0);
Delay(NTConfig_StartDelay);
_MySI_SnagRange = NTConfig_SnagRange;
GetPath(me.areaid, me.x, me.y, me.x, me.y, true);
SetUIState(_MyMI_UI_AUTOMAP, false);
if (MyIL_File("NTBot/MyData/InGameError/InGameError[" + me.account + "].txt", 0))
Load("NTBot/tools/NTToolsThread_MyInGameError.ntj");
if (me.account == _MyWK_WarehouseKeeperAccount)
{
if (MyIL_File(_MyWK_FILE_JOIN, 0))
{
StatusText[0] == 1 && MyCo_SetStatusText("ÿc4창고지기: 초기화 중 (ÿc0...ÿc4)");
Include("NTBot/bots/MyWarehouseKeeper.ntj");
_msg = MyMain();
if (_msg && _msg != "MyMain()")
NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿc1MyWarehouseKeeper.ntj : " + _msg + " 실패 (" + MyCo_GetAreaName() + ")");
MyCo_ExitGame();
}
else
Load("NTBot/tools/NTToolsThread_MyWarehouseKeeper.ntj");
}
NTT_GetCorpses();
MyCo_CheckWeaponMerc();
MyCo_PickUpCursorItem();
MyUn_SwitchRunWalk(1);
My_ExitServerIp();
Load("NTBot/tools/NTToolsThread.ntj");
if (NTConfig_CheckCloneDiablo)
{
JordanMessageString = GetLocaleString(11004).split("%d")[1];
CloneDiabloString = GetLocaleString(11005);
}
RegisterEvent(EVENT_GAMEMSG, My_EventChat);
RegisterEvent(EVENT_SCRIPTMSG, My_EventScript);
MyTM_TimeManager(true);
RegisterEvent(EVENT_KEYDOWN, My_EventKey);
if (NTConfig_Script.length == 0)
{
(StatusText[0] == 1) ? SetStatusText("ÿc1설정한 사냥터가 없습니다.") : Print("ÿc1설정한 사냥터가 없습니다.");
NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿc1NTBotGame.ntj : 설정한 사냥터가 없습니다 (" + MyCo_GetAreaName() + ")");
return;
}
_firstExperience = me.GetStat(13);
for (CurScriptIndex = 0; CurScriptIndex < NTConfig_Script.length; CurScriptIndex++)
{
if (!MyMo_MoveToTown())
{
NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿc1" + NTConfig_Script[CurScriptIndex] + " : MyMo_MoveToTown() 실패 (" + MyCo_GetAreaName() + ")");
break;
}
if (MyConfig_ManagerMsg == 1 || MyConfig_ManagerMsg == 2)
{
_scriptName = NTConfig_Script[CurScriptIndex].split(".")[0];
MyCo_SendMsgToStatus(((MyConfig_ManagerMsg == 2) ? ("[" + me.gameserverip.split(".")[3] + "] ") : "") +
((_scriptName.length < 11) ? (_scriptName + " [") : (_scriptName.substring(0, 9) + "... [")) +
My_GetTime(StartingTime) + "]");
}
My_SetStatusText();
_time = new Date();
Include("NTBot/bots/" + NTConfig_Script[CurScriptIndex]);
_experience = me.GetStat(13);
_msg = MyMain();
if (!_msg || _msg != "MyMain()")
{
Print("ÿc1" + NTConfig_Script[CurScriptIndex] + ": " + (_msg || "^^") + " 실패");
NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿc1" + NTConfig_Script[CurScriptIndex] + " : " + (_msg || "^^") + " 실패 (" + MyCo_GetAreaName() + ")");
NTC_PingDelay(1000);
}
_experience = me.GetStat(13) - _experience;
_myExperience = me.GetStat(13) - _firstExperience;
StatusText[0] != 0 && Print("ÿc4사냥터(" + NTConfig_Script[CurScriptIndex].split(".")[0] + " ÿc0" + (CurScriptIndex + 1) + "ÿc4/" + NTConfig_Script.length +
") 사냥시간(ÿc0" + My_GetTime(_time) + "ÿc4/" + My_GetTime(StartingTime) +
") 경험치(ÿc0" + _experience + "-" + (_experience / (MyUn_GetExperience() / 100)).toFixed(3) + "%ÿc4/" + _myExperience + "-" + (_myExperience / (MyUn_GetExperience() / 100)).toFixed(3) + "%)");
_MySI_CheckPickItemList.length = 0;
MyIL_File("NTBot/MyData/ManagerLogs/ManagerLogsExperience[" + me.account + "].txt", 1, "경험치 (" + _myExperience + "/" + (_myExperience / (MyUn_GetExperience() / 100)).toFixed(3) + "%)");
}
if (MyConfig_ItemList[0])
(MyConfig_ItemList[1] == 0) ? MyIL_WriteItemListText() : MyIL_WriteItemListHtml();
MyTM_TimeManager(false);
ExitGame();
}
function My_EventKey(keyCode)
{
if (MyMI_LoadMoveItem(keyCode))
return;
switch (keyCode)
{
case _MyKeC_KEY_PAUSE:
MyKe_KeyPause();
break;
case _MyKeC_KEY_PARTY:
NTC_SendMsgToScript("NTToolsThread.ntj", "Msg_PublicMode");
break;
}
}
function My_EventChat(msg, type)
{
if (type == 4)
{
if (NTConfig_CheckCloneDiablo && msg.indexOf(CloneDiabloString) != -1)
{
if (MyMo_MoveToTown())
{
me.maxgametime = 0;
NTC_StopScript("NTToolsThread_MyInGameError.ntj");
NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿc4" + CloneDiabloString);
MyCo_SendMsgToStatus("위버디아 메시지");
StatusText[0] == 1 && MyCo_SetStatusText(CloneDiabloString);
while (true)
Delay(1000);
}
}
else if (MyConfig_JordanMessage[0] && msg.indexOf(JordanMessageString) != -1)
{
if (MyMo_MoveToTown())
{
NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿc4" + msg);
JordanMessageCount++;
if (!JordanMessageCheck)
{
JordanMessageCheck = true;
var _msg = _MyCo_StatusMsg;
me.maxgametime = 0;
NTC_StopScript("NTToolsThread_MyInGameError.ntj");
MyCo_SendMsgToStatus("조단 메시지 확인 중");
for (var i = 1; i <= MyConfig_JordanMessage[1]; i++)
{
if (JordanMessageCount >= MyConfig_JordanMessage[2])
break;
StatusText[0] == 1 && MyCo_SetStatusText("조단 메시지 ÿc0" + JordanMessageCount + "ÿc4번 확인 (ÿc0" + i + "ÿc4/" + MyConfig_JordanMessage[1] + "초)");
Delay(1000);
}
if (JordanMessageCount >= MyConfig_JordanMessage[2])
{
MyCo_SendMsgToStatus("조단 메시지");
StatusText[0] == 1 && MyCo_SetStatusText("ÿc2조단 메시지 ÿc4확인 완료");
while (true)
Delay(1000);
}
if (MyConfig_ManagerMsg == 0)
MyCo_SendMsgToStatus("[" + me.gameserverip.split(".")[3] + "] " + me.gamename + (me.gamepassword ? ("/" + me.gamepassword) : ""));
MyCo_SetStatusText(_msg);
JordanMessageCount = 0;
JordanMessageCheck = false;
}
}
}
}
else if (type == 0)
{
if (LeechBotHelp == 0 && !NTC_InTown() && msg.indexOf(": 도와주세요/") != -1)
{
LeechBotHelp = 1;
var _result;
msg = msg.split("/");
_result = Math.round(GetTickCount() / 1000) - Number(msg[1]);
if (_result > -1 && _result < 4)
{
var _preX = me.x;
var _preY = me.y;
if (MyMo_MoveTo(me.areaid, Number(msg[2]), Number(msg[3])))
{
MyAt_ClearPosition(20, _MyAt_MONSTER_TYPE_ALL, true);
if (msg.length > 4)
{
MyMo_MoveTo(me.areaid, Number(msg[2]), Number(msg[3]));
NTM_MakeTP();
}
}
MyMo_MoveTo(me.areaid, _preX, _preY);
_MyMo_TickCount = GetTickCount();
}
LeechBotHelp = 0;
}
else if (PlayerHelp == 0 && me.areaid == 108)
{
PlayerHelp = 1;
var _result;
_result = msg.indexOf(": ㄷ");
if (_result == -1)
{
_result = msg.indexOf(": h");
if (_result == -1)
_result = msg.indexOf(": H");
}
if (_result != -1)
{
_result = msg.substring(3, _result - 3);
if (NTC_InMyParty(_result))
{
if (PlayerHelpList[_result] == undefined)
PlayerHelpList[_result] = 0;
if (PlayerHelpList[_result] < MyConfig_DiabloHelp)
{
var _player = MyUn_GetPlayer(_result);
if (_player)
{
if (_player.areaid == 108)
{
var _preX = me.x;
var _preY = me.y;
if (MyMo_MoveTo(_player.areaid, _player.x, _player.y))
MyAt_ClearPosition(25, _MyAt_MONSTER_TYPE_ALL, true);
MyMo_MoveTo(me.areaid, _preX, _preY);
PlayerHelpList[_result]++;
_MyMo_TickCount = GetTickCount();
}
}
}
}
}
PlayerHelp = 0;
}
}
}
function My_EventScript(msg)
{
switch (msg)
{
case "Msg_Restart":
var _preX, _preY;
var _isTristram = me.areaid == 136;
var _preRunwalk = me.runwalk;
ClickMap(NTC_CLICK_LUP, NTC_SHIFT_NONE, null);
ClickMap(NTC_CLICK_RUP, NTC_SHIFT_NONE, null);
while (me.mode != 1)
Delay(NTC_DELAY_FRAME);
if (!_isTristram)
{
if (!MyMo_RestartToTown())
{
NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿc1NTBotGame.ntj : MyMo_RestartToTown() 실패 (" + MyCo_GetAreaName() + ")");
return;
}
}
else
{
_preX = me.x;
_preY = me.y;
if (!MyMo_MoveTo(me.areaid, 25103, 5103))
{
NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿc1NTBotGame.ntj : MyMo_MoveTo() 실패 (" + MyCo_GetAreaName() + ")");
return;
}
if (!MyTP_UsePortal())
{
NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿc1NTBotGame.ntj : MyTP_UsePortal() 실패 (" + MyCo_GetAreaName() + ")");
return;
}
}
MyUn_SwitchRunWalk(1);
MyVi_TownManager(true);
if (!_isTristram)
{
if (!NTTM_TownMove("portalspot"))
{
NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿc1NTBotGame.ntj : NTTM_TownMove() 실패 (" + MyCo_GetAreaName() + ")");
return;
}
if (!MyTP_UsePortal(me.charname))
{
NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿc1NTBotGame.ntj : MyTP_UsePortal() 실패 (" + MyCo_GetAreaName() + ")");
return;
}
if (NTConfig_PublicMode)
MyTP_MakePortal();
}
else
{
if (!NTTM_TownMove("larzuk"))
{
NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿc1NTBotGame.ntj : NTTM_TownMove() 실패 (" + MyCo_GetAreaName() + ")");
return;
}
if (!MyTP_UsePortal("", 0, 1, null, 0, false, 136 + 256))
{
NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿc1NTBotGame.ntj : MyTP_UsePortal() 실패 (" + MyCo_GetAreaName() + ")");
return;
}
if (!MyMo_MoveTo(me.areaid, _preX, _preY))
{
NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿc1NTBotGame.ntj : MyMo_MoveTo() 실패 (" + MyCo_GetAreaName() + ")");
return;
}
}
MyUn_SwitchRunWalk(_preRunwalk);
_MyMo_TickCount = GetTickCount();
break;
case "Msg_MyLeechBot":
if (!MyL_CheckDeath())
NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿc1NTBotGame.ntj : MyL_CheckDeath() 실패 (" + MyCo_GetAreaName() + ")");
break;
case "Msg_BaalCheckMonster":
NTC_SendLogToOOG(NTC_LOG_COMMON, "NTBaal.ntj : 몬스터를 발견하여 사냥 중지 (" + MyCo_GetAreaName() + ")");
MyMo_MoveToTown();
break;
default:
if (!CheckHostile && msg.indexOf("Msg_CheckHostile") != -1)
{
CheckHostile = true;
if (MyConfig_CheckHostile == 1)
MyAt_TownHostile(msg.split("/")[1], NTConfig_Script[CurScriptIndex] != "MyEnchanter.ntj");
else
MyAt_AttackHostile(msg.split("/")[1]);
CheckHostile = false;
}
}
}
function My_ExitServerIp()
{
if (MyConfig_ExitServerIp[0])
{
var _serverIp = Number(me.gameserverip.split(".")[3]);
for (var i = 2; i < MyConfig_ExitServerIp.length; i++)
{
if (MyConfig_ExitServerIp[i] == _serverIp)
{
if (NTConfig_PublicMode && MyConfig_ExitServerIp[1])
MyCo_Say(MyConfig_ExitServerIp[1]);
MyCo_ExitGame("ÿc1방 나가기 (서버 아이피 " + _serverIp + "번)");
}
}
}
}
function My_SetStatusText()
{
if (StatusText[0] != 0)
{
var _msg = "";
if (StatusText[1]) _msg = "ÿc4" + me.gameserverip.split(".")[3] + " ";
if (StatusText[2]) _msg += "ÿc9" + me.account + " ";
if (StatusText[3]) _msg += "ÿc8" + me.charname + " ";
if (StatusText[4]) _msg += "ÿc2" + NTConfig_Script[CurScriptIndex].split(".")[0];
(StatusText[0] == 1) ? MyCo_SetStatusText(_msg.replace(/\s+$/, "")) : Print(_msg);
}
}
function My_GetTime(startingTime)
{
return (new Date(new Date() - startingTime).toLocaleFormat("%M:%S"));
}