Skip to content

NTItemparser.ntl오류가 뜨는데 어떤것을 수정해야 할지 알려주세요

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

방만들고 핀들잡고나서는 에러가 뜨면서 멈춰버리는군요.
NTItemparser.ntl문장 전체입니다. 수정해야 할 부분이 어떤것인지 알려주세요..

/*

[Item-parser Syntax Information]

1. [Keyword] separates into two groups
- [Property Keywords] : [Type], [Name], [Class], [Quality], [Flag], [Level], [Prefix], [Suffix]
- [Stat Keywords] : [Number or Alias]

2. [Keyword] must be surrounded by '[' and ']'

3. [Property Keywords] must be placed first

4. Insert '#' symbol between [Property Keywords] and [Stat Keywords]

5. Use '+', '-', '*', '/', '(', ')', '&&', '||', '>', '>=', '<', '<=', '==', '!=' symbols for comparison

6. Use '//' symbol for comment

*/

Include("libs/common/NTItemAlias.ntl");

var _NTIP_CheckList = new Array();

function NTIPOpenFile(filepath)
{
 var _nipfile;
 var _line;

 _nipfile = FileOpen(filepath, 0);

 if(!_nipfile)
 return false;

 while(!_nipfile.eof)
 {
 _line = NTIPParseLineInt(_nipfile.ReadLine());

 if(_line)
 _NTIP_CheckList.push(_line);
 }

 _nipfile.Close();

 return true;
}

function NTIPCheckItem(item)
{
 var i;
 var _identified;
 var _result = 0;

 _identified = item.itemflag & 0x10;

 for(i = 0 ; i < _NTIP_CheckList.length ; i++)
 {
 if(_NTIP_CheckList[i][0].length > 0)
 {
 if(eval(_NTIP_CheckList[i][0]))
 {
 if(_NTIP_CheckList[i][1].length > 0)
 {
 if(eval(_NTIP_CheckList[i][1]))
 return 1;
 else if(!_identified && _result == 0)
 _result = -1;
 }
 else
 return 1;
 }
 }
 else if(_NTIP_CheckList[i][1].length > 0)
 {
 if(eval(_NTIP_CheckList[i][1]))
 return 1;
 else if(!_identified && _result == 0)
 _result = -1;
 }
 }

 return _result;
}

// Internal function
function NTIPParseLineInt(input)
{
 var i;
 var _start, _end;
 var _section, _keyword;
 var _result;

 _end = input.indexOf("//");
 if(_end != -1)
 input = input.substring(0, _end);

 input = input.replace(/ |;/g, "").toLowerCase();

 if(input.length < 5)
 return null;

 _result = input.split("#");

 if(_result[0] && _result[0].length > 4)
 {
 _section = _result[0].split("[");

 _result[0] = _section[0];

 for(i = 1 ; i < _section.length ; i++)
 {
 _end = _section[i].indexOf("]") + 1;

 switch(_section[i][0])
 {
 case 't':
 _result[0] += "item.itemtype";
 break;
 case 'n':
 _result[0] += "item.classid";
 break;
 case 'c':
 _result[0] += "item.itemclass";
 break;
 case 'q':
 _result[0] += "item.quality";
 break;
 case 'f':
 if(_section[i][_end] == '!')
 _result[0] += "!(item.itemflag&";
 else
 _result[0] += "(item.itemflag&";

 _end += 2;
 break;
 case 'l':
 _result[0] += "item.itemlevel";
 break;
 case 'p':
 _result[0] += "item.itemprefix";
 break;
 case 's':
 _result[0] += "item.itemsuffix";
 break;
 default:
 Print("Unknown Keyword : " + input);
 break;
 }

 for(_start = _end ; _end < _section[i].length ; _end++)
 {
 if(!NTIPIsSyntaxInt(_section[i][_end]))
 break;
 }

 _result[0] += _section[i].substring(_start, _end);

 for(_start = _end ; _end < _section[i].length ; _end++)
 {
 if(NTIPIsSyntaxInt(_section[i][_end]))
 break;
 }

 _keyword = _section[i].substring(_start, _end);

 if(isNaN(_keyword))
 {
 switch(_section[i][0])
 {
 case 't':
 _result[0] += _NTIPAliasType[_keyword];
 break;
 case 'n':
 _result[0] += _NTIPAliasClassID[_keyword];
 break;
 case 'c':
 _result[0] += _NTIPAliasClass[_keyword];
 break;
 case 'q':
 _result[0] += _NTIPAliasQuality[_keyword];
 break;
 case 'f':
 _result[0] += _NTIPAliasFlag[_keyword] + ")";
 break;
 }
 }
 else
 {
 if(_section[i][0] == 'f')
 _result[0] += _keyword + ")";
 else
 _result[0] += _keyword;
 }

 _result[0] += _section[i].substring(_end);
 }
 }
 else
 _result[0] = "";

 if(_result[1] && _result[1].length > 4)
 {
 _section = _result[1].split("[");

 _result[1] = _section[0];

 for(i = 1 ; i < _section.length ; i++)
 {
 _end = _section[i].indexOf("]");

 _keyword = _section[i].substring(0, _end);

 if(isNaN(_keyword))
 _result[1] += "item.GetStat(" + _NTIPAliasStat[_keyword] + ")";
 else
 _result[1] += "item.GetStat(" + _keyword + ")";

 _result[1] += _section[i].substring(_end+1);
 }
 }
 else
 _result[1] = "";

 return _result;
}

function NTIPIsSyntaxInt(ch)
{
 return (ch == '!' || ch == '%' || ch == '&' || (ch >= '(' && ch <= '+') || ch == '-' || ch == '/' || (ch >= ':' && ch <= '?') || ch == '|');
}
  • 만주를점령하자 2010.05.24 00:17
    수정한 아이템 이니쪽을 확인해보세요..
  • 싸우라비 2010.05.24 00:20
    만주를 점령하자님, 답변감사합니다. 제가 수정한 이니를 쭉 훑어봤는데, 특별한 것은 보이지 않는군요.. 다시 한번 봐야겠습니다.
  • 만주를점령하자 2010.05.24 00:25
    진입점에서 NTCheckNtip.ntj 내놓고 검사해보세요..
  • 싸우라비 2010.05.24 00:35
    NTChekNtip.ntj가 D2nt폴더에 있는지요? 진입점은 loader전용, bot, map세가지만 있는데요.. 새버전을 못구해서 D2NT30_NTBot41을 사용하고 있습니다만..
  • 싸우라비 2010.05.24 00:37
    아예 처음받은 이니로 다시 깔았더니, 에러는 안나는데 첫번째몹들 잡고나서 아이템하나 들고나서는 움직이지 않는군요..
  • 투투참새 2010.05.24 07:00
    저도 소서 안다잡고 가만히 있던데요 저경우랑 비슷하네요.

번호 분류 제목 글쓴이 날짜 조회
공지   게시판 푸시 알림 / 통합 앱 서비스 35 file 트디개발자 2023.09.20 947.9k
공지 안내 D2NT 처음 이용하는 분은 튜토리얼을 참고바랍니다. 135 우녕자 2014.12.21 51.0k
공지   맨땅 초보자 가이드 614 file 뮤리아 2020.10.16 1016.4k
공지   카카오톡 1:1 채팅방 만드는 법 106 트디개발자 2018.05.20 430.9k
3151 질문 방만들기 오류 가생기고 30분 딜레이 ..너무기네요..;; 2 유닉빤쮸[나눔] 2010.05.24 1.3k
3150 질문 디아앵벌하는데요.. 5 눈팅 2010.05.24 1.8k
3149 질문 날아다녀님 4.2에서 큐빙관련 내용 질문드려요... 3 리누 2010.05.24 1.5k
3148 질문 쫄봇으로 3캐릭으로 3인방만들어서 사냥중입니다 문제점 질문 2 음하하 2010.05.24 319
3147 질문 날아다녀님 5차수정본 오토버스 파티관련 질문 드립니다.. 4 태무진 2010.05.24 1.1k
3146 질문 오리에서 돈되는 매직템 등을 주워 팔게 하고 싶습니다. 1 -앵버리- 2010.05.24 604
3145 질문 봇으로 저렙끼리 쫄쫄이 사냥 가능한가요? 3 아크지 2010.05.24 831
3144 질문 이런오류가뜨네요 ㅠ 3 밥먹고삽질만 2010.05.24 170
3143 일반 봇에 대한 연구를 하는중입니다. 5 특급호텔 2010.05.24 415
3142 질문 redvex 실행은 되는데 condom이 실행이 되질 않습니다. 6 Dru_F 2010.05.24 1.6k
> 질문 NTItemparser.ntl오류가 뜨는데 어떤것을 수정해야 할지 알려주세요 6 싸우라비 2010.05.24 1.8k
3140 질문 15공속 10증뎀이상 주얼 이니에 어떻게 추가하는지요? 2 리누 2010.05.23 492
3139 질문 쫄봇질문입니다 1 마법의설탕[어울림] 2010.05.23 854
3138 질문 오리 디아런에서 메디팔라 사용법 질문입니다 2 최대로 2010.05.23 267
3137 질문 1 IP에 3개 밖에 안되는건가요? (s*브로드**) 3 프리윌리 2010.05.23 367
3136 질문 봇 같은 방 접속 문제 7 바다이야기777 2010.05.23 664
3135 질문 날아나녀님3.1 5차버젼쫄봇이이상하네요.. 2 무식한디아 2010.05.23 612
3134 질문 봇을 돌리는데요 1 Returnz 2010.05.23 106
3133 질문 날아다녀님 새 5차 수정버젼 방만들면 바로 에러가 나네요? 2 타이거웃 2010.05.23 1.8k
3132 질문 엘드리치오브이니질문입니다 4 홍홍아 2010.05.23 1.2k