NTDiablo.ntj : NTA_KillMonster() failed (카오스 생츄어리)오류 질문

분류 질문 조회 수 1,776 추천 수 0

NTDiablo.ntj : NTA_KillMonster() failed (카오스 생츄어리) 라는 오류가 뜨면서

보스인 디아를 기다리다가 늦게 나오는지 보자마자 바로 오류문구가 뜨고 마을로 귀환해버리더군요.

그래서 검색결과 보스를 기다리는 시간이 짧아서 or 너무 타이트하게 맞아서 오류가 생기는거 같더군요

이전버전 NT봇 NTDiablo.ntj이니와 현재 NT봇 이니와는 달라서 어느 부분을 수정해줘야 하는지 못찾겠습니다.

NTDiablo.ntj : NTA_KillMonster() failed 오류가 생기지 않게 할려면 어떻게 해야하는지 알려주세요.

혹시 위의 오류가 NTDiablo.ntj에서 수정하는것이 아니면 그것도 알려주세요

(아래 이니 첨부 합니다)

function NTMain()
{
 Include("libs/common/NTCommon.ntl");
 NTC_IncludeLibs();
 NTC_IncludeConfig("NTBot/char_configs");

 NT_LoadConfig();
 NTSI_LoadNIPFiles("NTBot/item_configs");

 NTA_Initialize();

 if(!NTTM_CheckAct())
 {
 NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
 return;
 }

 NTTMGR_TownManager();

 if(!NTTM_TownMove("waypoint"))
 {
 NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_TownMove()");
 return;
 }

 if(!NTM_TakeWaypoint(107))
 {
 NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()");
 return;
 }

 NTP_DoPrecast(true);

 if(!NTM_MoveTo(108, 7797, 5560))
 {
 NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()");
 return;
 }

 if(NTConfig_PublicMode)
 {
 var _attackpos = [7792, 5525, 7793, 5501, 7773, 5495, 7768, 5480, 7767, 5458, 7770, 5438, 7774, 5417, 7767, 5391, 7768, 5369, 7769, 5345, 7770, 5320, 7780, 5308];

 if(!NTM_MoveTo(me.areaid, 7790, 5544))
 {
 NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()");
 return;
 }

 NTA_ClearPosition(20, false, 2);

 NTM_MoveTo(me.areaid, 7790, 5544);

 NTC_PingDelay(1000);

 NTA_ClearPosition(20, true, 2);

 NTM_MoveTo(me.areaid, 7790, 5544);

 NTM_MakeTP();
 Say("TP is safe!");

 for(var i = 0 ; i < _attackpos.length ; i += 2)
 {
 NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]);

 NTA_ClearPosition(25, true, 2);
 }

 NTP_DoPrecast(true);
 }

 if(!NT_OpenSealsInt())
 {
 NTC_SendMsgToScript("NTBotGame.ntj", "NT_OpenSealsInt()");
 return;
 }

 if(NTConfig_PublicMode)
 Say("Killing Diablo");

 NTP_DoPrecast(true);

 if(!NTM_MoveTo(me.areaid, 7792, 5292))
 {
 NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()");
 return;
 }

 if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe|0x01, NTConfig_CheckMercSafe))
 {
 NTC_SendMsgToScript("NTBotGame.ntj", "NTTMGR_CheckSafe()");
 return;
 }

 NTC_FindUnit(NTC_UNIT_MONSTER, 243, 100);

 if(!NTA_KillMonster(243))
 {
 NTC_SendMsgToScript("NTBotGame.ntj", "NTA_KillMonster()");
 return;
 }

 NTSI_PickItems();

 if(NTConfig_PublicMode)
 Say("Next game");

 NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
}

// Internal function
function NT_OpenSealsInt()
{
 var i, _unit;
 var _result;

 _unit = GetPresetUnits(me.areaid, NTC_UNIT_OBJECT);

 if(!_unit)
 return false;

 _result = false;

 for(i = 0 ; i < _unit.length ; i++)
 {
 if(_unit[i].id == 396)
 {
 if(_unit[i].roomy*5 + _unit[i].y == 5275)
 _result = NT_OpenVizierSealInt(1);
 else
 _result = NT_OpenVizierSealInt(2);

 break;
 }
 }

 if(!_result)
 return false;

 NTP_DoPrecast(false);

 _result = false;

 for(i = 0 ; i < _unit.length ; i++)
 {
 if(_unit[i].id == 394)
 {
 if(_unit[i].roomx*5 + _unit[i].x == 7773)
 _result = NT_OpenDeSeisSealInt(1);
 else
 _result = NT_OpenDeSeisSealInt(2);

 break;
 }
 }

 if(!_result)
 return false;

 NTP_DoPrecast(false);

 _result = false;

 for(i = 0 ; i < _unit.length ; i++)
 {
 if(_unit[i].id == 392)
 {
 if(_unit[i].roomx*5 + _unit[i].x == 7893)
 _result = NT_OpenVenomSealInt(1);
 else
 _result = NT_OpenVenomSealInt(2);

 break;
 }
 }

 return _result;
}

function NT_OpenVizierSealInt(type)
{
 var i, n;
 var _attackpos = [7740, 5300, 7740, 5280, 7720, 5280, 7720, 5300];
 var _monstername = GetLocaleString(2851);

 for(i = 0 ; i < _attackpos.length ; i += 2)
 {
 NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]);

 NTA_ClearPosition(25, true, 2);
 }

 for(i = 0 ; i < 3 ; i++)
 {
 if(type == 1)
 {
 NT_OpenSealInt(395, 7654, 5310);
 NT_OpenSealInt(396, 7659, 5277);

 NTM_MoveTo(me.areaid, 7665, 5277);
 }
 else
 {
 NT_OpenSealInt(395, 7650, 5276);
 NT_OpenSealInt(396, 7651, 5310);
 }

 for(n = 0 ; n < 10 ; n++)
 {
 NTC_Delay(200);

 if(NTA_KillMonster(_monstername))
 {
 NTA_ClearPosition();
 NTSI_PickItems();

 return NTM_MoveTo(me.areaid, 7750, 5280);
 }
 }
 }

 return false;
}

function NT_OpenDeSeisSealInt(type)
{
 var i, n;
 var _attackpos = [7780, 5255, 7800, 5255, 7800, 5235, 7780, 5235];
 var _monstername = GetLocaleString(2852);

 for(i = 0 ; i < _attackpos.length ; i += 2)
 {
 NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]);

 NTA_ClearPosition(25, true, 2);
 }

 for(i = 0 ; i < 3 ; i++)
 {
 if(type == 1)
 {
 NT_OpenSealInt(394, 7769, 5158);

 NTM_MoveTo(me.areaid, 7771, 5196);
 }
 else
 {
 NT_OpenSealInt(394, 7810, 5156);

 NTM_MoveTo(me.areaid, 7770, 5169);
 }

 for(n = 0 ; n < 10 ; n++)
 {
 NTC_Delay(200);

 if(NTA_KillMonster(_monstername))
 {
 NTA_ClearPosition(30);
 NTSI_PickItems();

 return NTM_MoveTo(me.areaid, 7800, 5255);
 }
 }
 }

 return false;
}

function NT_OpenVenomSealInt(type)
{
 var i, n;
 var _attackpos = [7835, 5280, 7835, 5300, 7855, 5300, 7855, 5280];
 var _monstername = GetLocaleString(2853);

 for(i = 0 ; i < _attackpos.length ; i += 2)
 {
 NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]);

 NTA_ClearPosition(25, true, 2);
 }

 for(i = 0 ; i < 3 ; i++)
 {
 if(type == 1)
 {
 NT_OpenSealInt(393, 7915, 5280);
 NT_OpenSealInt(392, 7895, 5318);

 NTM_MoveTo(me.areaid, 7892, 5298);
 }
 else
 {
 NT_OpenSealInt(393, 7905, 5277);
 NT_OpenSealInt(392, 7916, 5310);

 NTM_MoveTo(me.areaid, 7937, 5305);
 }

 for(n = 0 ; n < 10 ; n++)
 {
 NTC_Delay(200);

 if(NTA_KillMonster(_monstername))
 {
 NTSI_PickItems();

 if(NTC_PutSkill(124, NTC_HAND_RIGHT))
 NTC_PingDelay(1000);

 return true;
 }
 }
 }

 return false;
}

function NT_OpenSealInt(classid, x, y)
{
 var _seal;

 NTM_MoveTo(me.areaid, x, y);

 NTA_ClearPosition(25, true, 2);

 _seal = NTC_FindUnit(NTC_UNIT_OBJECT, classid, 5);

 if(!_seal)
 return false;

 if(_seal.mode > 0)
 return true;

 for(var i = 0 ; i < 4 ; i++)
 {
 if((i % 2) == 0)
 {
 if(GetDistance(me, _seal) > 2)
 NTM_MoveTo(_seal.areaid, _seal.x+1, _seal.y);

 NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _seal);
 }

 NTC_Delay(500);

 if(_seal.mode > 0)
 return true;
 }

 return false;
}


  • 쭤꿔붜 2010.03.31 11:12
    디아봇을 안돌려서 잘모르겠다만, 봉인 해제후 딜레이가 문제가 되어 디아를 못찾고 튕기는거라면 NTC_FindUnit(NTC_UNIT_MONSTER, 243, 100); if(!NTA_KillMonster(243)) { NTC_SendMsgToScript("NTBotGame.ntj", "NTA_KillMonster()"); return; } 부분입니다. find 유닛을 하기전에 딜레이를 5초 정도 주면 되지 않을까요. NTC_Delay(5000); NTC_FindUnit(NTC_UNIT_MONSTER, 243, 100); if(!NTA_KillMonster(243)) { NTC_SendMsgToScript("NTBotGame.ntj", "NTA_KillMonster()"); return; } NTC_FindUnit(NTC_UNIT_MONSTER, 243, 100); 봉인 다 풀고 move 한 후에 대기하는거 같은데, 젠 위치에서 대기한다면, 딜레이를 너무 주면 위험하니 적절히 한번 고쳐보세요.
  • 쭤꿔붜 2010.03.31 11:16
    근데 적고 보니 NTC_FindUnit 을 왜 해놨는지 모르겠네요. 별다른 의미가 없어 보이는데, while 로 찾을때까지 대기하다가 killmonster 하는게 맞지 않을까 싶기도 한데.
  • 쭤꿔붜 2010.03.31 12:06
    아.. 자답입니다. 소스를 안보고 그냥 생각했네요. while 로 찾을때 까지 대기 하는 로직이 이미 FindUnit 에 들어가 있네요. NTC_FindUnit(NTC_UNIT_MONSTER, 243, 100); 의 100이 retry 횟수입니다. 0.2 초씩 대기타면서 계속 찾기 때문에, 상기 딜레이 설정은 필요가 없겠고 NTC_FindUnit(NTC_UNIT_MONSTER, 243, 200); 으로 retry 회수만 수정하시면 해결될듯 합니다.
  • SoCool 2010.03.31 12:21
    쭤꿔붜님 고맙습니다 n(_ _)n 바로 수정해보겠습니다. (디아블러네님 고맙습니다 (_ _) )

번호 분류 제목 글쓴이 날짜 조회
공지   게시판 푸시 알림 / 통합 앱 서비스 32 file 트디개발자 2023.09.20 858.7k
공지 안내 D2NT 처음 이용하는 분은 튜토리얼을 참고바랍니다. 135 우녕자 2014.12.21 50.7k
211 기타 오늘부터 배틀넷에 접속할 수 없다고 나옵니다. 2 박사 2010.03.31 803
210 질문 ntbot 3.0에 2.1기능 사용하는방법은 없나요. 2 골드아템 2010.03.31 1.8k
209 질문 NT3.0 스몰참이니(레지설정방법) 질문? 3 심곡다명[OMD] 2010.03.31 567
208 질문 무한의공간 질문드릴게요 3 며누 2010.03.31 1.4k
> 질문 NTDiablo.ntj : NTA_KillMonster() failed (카오스 생츄어리)오류 질문 4 SoCool 2010.03.31 1.8k
206 질문 정수 큐빙 방법 좀 알려주세요~ 6 수린*효린[아빠] 2010.03.31 1.7k
205 질문 몹 한마리 잡는 시간이 길면 치킨해버리나요? 1 세미 2010.03.31 1.7k
204 질문 현재 헤븐리스톤님 봇을 사용해봤는데요.. 3 paul 2010.03.31 809
203 질문 D2NT 3.0 가끔 이런 에러가 뜹니다. 2 온니시곤 2010.03.31 1.4k
202 질문 포션 줍기와 먹기 질문입니다. 1 technocore 2010.03.31 1.6k
201 질문 헤븐스톤님꺼 붓 쓰는데 아이템 로그는 어디서 확인하나요 2 2ne1막내나르샤 2010.03.31 1.8k
200 질문 파볼오브소서입니다. 1 Pink 2010.03.31 1.7k
199 질문 신버전 봇에러 재문의 드립니다 9 디아로봇 2010.03.30 1.4k
198 질문 이번에 나온 봇질문입니다 1 dia-ham 2010.03.30 379
197 기타 MPQ editor로 시디키를 바꾸려고 합니다. 2 kimu 2010.03.30 991
196 질문 파볼오브소서 스킬지정 ; 1 루모 2010.03.30 1.7k
195 질문 D2NT 3.0 유닉 캐듀 먹게 이니좀 알려주세요.. 1 온니시곤 2010.03.30 1.7k
194 질문 D2NT 3.0 and NTBot 4.1 for Diablo II 1.13c사용시 재시작 3 까비 2010.03.30 1.8k
193 질문 혹시 파괴열쇠 안먹는법 아시는분? 4 쫑쫑쫑잉 2010.03.30 1.3k
192   에러 확인 좀 부탁드립니다. 4 쏘울 2010.03.30 325