Skip to content

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

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

앞서서 제목과 같은 오류의 질문을 했습니다. 답변도 받았고 답변에 따라 수정해 보았으나... 오류 해결기미가...

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

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

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

그래서 쭤꿔뿨님의 친절한 답변에 따라

NTDiablo.ntj 파일에서 NTC_FindUnit(NTC_UNIT_MONSTER, 243, 200); 으로 retry 회수만 수정 해 보았습니다.

허나...여전히 문제점이 발생되고 있습니다....

혹시 이 에러 대처할려면 어찌해야하는지 아시는분 가르쳐주십시요.

아래에 일단 NTDiablo.ntj 이니 첨부합니다. 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, 200);

 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 17:08
    계속 발생하나요? 아니면 가끔 발생하나요?
  • SoCool 2010.03.31 17:13
    4:1 비율로 NTDiablo.ntj : NTA_KillMonster() failed (카오스 생츄어리)가 나타나고 있습니다.
  • [無情]디아블러네 2010.03.31 17:16
    제 생각엔 디아 잡기전 마을을 다녀 올때 시간이 오래 걸려 디아가 서치 범위를 벗어난 경우처럼 보입니다. 위 스크립트에서 /*if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe|0x01, NTConfig_CheckMercSafe)) { NTC_SendMsgToScript("NTBotGame.ntj", "NTTMGR_CheckSafe()"); return; }*/ NTC_FindUnit(NTC_UNIT_MONSTER, 243, 200); 위처럼 하시던지 케릭설정 파일 제일 하단에 NTConfig_CheckSelfSafe = 0x04|0x40; 를 NTConfig_CheckSelfSafe = 0 ;로 NTConfig_CheckMercSafe = 0x01|0x04|0x10|0x40; 를 NTConfig_CheckMercSafe = 0 ; 로 수정해 보세요.
  • 쭤꿔붜 2010.03.31 17:22
    예상 원인이 시간이라 하셨는데 그렇게되면 이게 시간 문제는 아닌가보네요. retry 당 0.2 초므로 200 회가 돌았다면 40초 거든요. 봉인 풀리고 그때까지 안나올리는 없고.. 원인을 좀 더 봐야 알겠네요.
  • SoCool 2010.03.31 17:24
    NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe는 물약이 0개가 되면 사러 마을에 가게 설정을 했고, 용병 관리도 0으로 해놓고 있었습니다. 아 그리고 제가 오류나는 상황을 한번 봤는데, 마지막 4시 방향 씰을 열고 베놈들을 죽인뒤에 오더를 했던가? 그 뒤에 마을을 간게 아니고 바로 디아젠장소로 갔습니다. 그리곤, 디아를 보자마자... 안녕~을 외치고 마을로 직행해버리더군요.. 일단 /*if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe|0x01, NTConfig_CheckMercSafe)) { NTC_SendMsgToScript("NTBotGame.ntj", "NTTMGR_CheckSafe()"); return; }*/ NTC_FindUnit(NTC_UNIT_MONSTER, 243, 200); 설정하고 오겠습니다 n(_ _)n 고맙습니다.
  • SoCool 2010.03.31 17:27
    아참, NTConfig_CheckSelfSafe는 0x01만 사용중입니다.
  • [無情]디아블러네 2010.03.31 17:30
    마을을 가지 않고 발생한다면 몬스터 아이디를 인식 못한다는 건데 흔이 발생하지는 않는 증상인데요.
  • SoCool 2010.03.31 17:36
    흠...-_-ㅎ.... 수정해도 5:32:54 좀전에 또 발생하네요 ㅎㅎ 이게..시간의 문제라던가 마을을 갔다가 늦게 와서 그런문제가 아닌거같습니다. 흐흐... 어쩌겠습니까 ^^; 이렇게 두분 모두 도와주셔서 고맙습니데이~! 전 머리좀 더 썩혀봐야겠습니다... 고맙습니다 (_ _)
  • 쭤꿔붜 2010.03.31 18:10
    캐릭터 직업이랑, char config 의 0~6 까지의 설정 스킬 좀 알려주세요. 이건 이미 KillMonster 까지 들어가서 에러로그가 찍혔으므로, KillMonster 이전의 FindUnit 이나 CheckSafe 와는 무관한거 같습니다.

번호 분류 제목 글쓴이 날짜 조회
공지   게시판 푸시 알림 / 통합 앱 서비스 36 file 트디개발자 2023.09.20 964.9k
공지 안내 D2NT 처음 이용하는 분은 튜토리얼을 참고바랍니다. 135 우녕자 2014.12.21 51.0k
공지   맨땅 초보자 가이드 620 file 뮤리아 2020.10.16 1018.5k
공지   카카오톡 1:1 채팅방 만드는 법 108 트디개발자 2018.05.20 431.3k
251 질문 매직템 안 줍게 하는 방법? 6 Sichiri 2010.03.31 1.8k
250 질문 D2NT30_NTBot41 아시는분 부탁드립니다 맵상에 특정아이템색설정 2 헐랭^ξ-~ 2010.03.31 722
249 질문 D2NT 3.0 and NTBot 4.1 for Diablo II 1.13c 변경 함수 질문 2 월야풍 2010.03.31 1.4k
248 질문 3.0봇 헬 디아와 바알 잡으신분한테 물어봅니다 2 BOSIO 2010.03.31 1.0k
247 질문 이니 질문 하겠습니다. 2 장 사 꾼 2010.03.31 1.8k
246 질문 새로운 봇실행시 계속 오류가 납니다.. 3 Jin_pal 2010.03.31 1.1k
245 질문 아이템 이니 설정이요ㅠ 3 우연이란인연 2010.03.31 1.1k
244 질문 오리봇질문드립니다. 2 옺징어 2010.03.31 1.3k
243 질문 D2NT 3.0 and NTBot 4.1 for Diablo II 1.13c사용시 재시작 2 까비 2010.03.31 1.8k
242 질문 3.0 봇 질문 : 대장몹을 않잡고 나오네요... 해븐리 님 봇입니다.(오리) 4 사랑하게되는날 2010.03.31 1.4k
241 질문 치킨때문에 돌겠네요 ;; 5 미리내_쫑호~* 2010.03.31 1.9k
240 질문 아이템이니 설정과 두가지 질문 드려요^^ 2 2010.03.31 2.0k
239 질문 요번봇에서 아이템 이름 이라는 에러가 뜨네요?? 3 유닉빤쮸[나눔] 2010.03.31 936
238 질문 팔라님들 수수없이 어디서 돌리시나요? 1 쏘울 2010.03.31 1.7k
237 질문 헤븐리님 3.0버젼에서 큐빙 질문입니다. 2 박사 2010.03.31 1.8k
236 질문 이번 봇 대기시간 질문입니다. 1 엠제이♥ 2010.03.31 1.4k
235 질문 nt봇 3.0 치킨기능해제 어떻게 하나요? 3 칙칙폭폭 2010.03.31 1.4k
234 질문 파볼 오브 소서 사냥터를 추천받아요 2 boy83 2010.03.31 1.5k
233 질문 오리 소서인데여 메피안전하게 잡는거~ 1 하록 2010.03.31 1.7k
> 질문 NTDiablo.ntj : NTA_KillMonster() failed (카오스 생츄어리)오류 재질문 9 SoCool 2010.03.31 1.8k