ntbot 좌표관련 질문에대한 답변
분류
봇관련
조회 수
1,721
추천 수
3
나비?? 님이 쪽지로 좌표에 대해 문의 드린 내용의 답변입니다
우선 디아블로 좌표를 찾아 보기 위해서 생각해보면
1. 안다리엘,메피스토, 카운테스, 핀들 등등 처럼 좌표가 고정되어있고 맵이 변하지 않는 경우
2. 트라빈컬 등등.. 방을 새로 만들때 마다 좌표가 바뀌는 경우, 맵이 매번 바뀌는 경우
3. 나라트 하크 사원 처럼 몇가지 맵 중에서 랜덤으로 바뀌는 경우..
1번의 경우 좌표를 찾아 내는 방법은 간단합니다. 1번 좌표만 찾아 내면 매번 적용되기 때문이죠
좌표를 찾아내는 간단한 코드를 작성해 보면
----------------------------------------------------------------
for(var i=0; i<20;i++)
{
print(me.x+","+me.y);
delay(1000);
}
delay(1000000);
----------------------------------------------------------------
찾아 내고자 하는 좌표의 스크립트를 만들고.. 위와 같은 코드를 입력하면.
현재 자기가 위치한 좌표를 (x좌표,y좌표) 형식으로 출력하게 됩니다. 매 1초마다 20번 출력하게 되죠
무한정 할려면
while(1)
{
print(me.x+","+me.y);
delay(1000);
}
이렇게 하면 되겠죠?
스크립트 작성하고 캐릭을 좌표를 알고 싶은곳으로 옮기면 됩니다. 간단하죠?
2. 맵이 매번 바뀌는 경우..
여러 가지 방법이 있겠지만 가장 간단한 방법은 이동하고자 하는 곳의 타일이나 오브젝트를 이용해서 이동하시면됩니다.
무슨 말인가 하면.. 트라빈컬 같은 경우는 증오의 사원으로 들어가는 입구가 있죠?
그 입구 그림같은 것을 타일이라고 하는데 트라빈컬에서는 그런 입구가 딱 1개만 존재합니다.
증오의 사원들어가는 입구 1개 뿐이죠. 문 앞에 카운슬 맴버가 나오구요..
그럼 그 문의 타일로 옮기는 코드를 보면
NTM_MoveToObject(NTC_UNIT_TILE, 64,64,25,0)
위와 같습니다.
기본형이 NTM_MoveToObject(오브젝트종류,classid)입니다.
오브젝트 종류에 맞는 classid에 맞는 위치로 이동하는 명령어 입니다.
오브젝트 종류는 0이면 플레이어, 1이면 몬스터,npc,용병 2이면 오브젝트 3이면 미사일 4이면 아이템 5이면 타일입니다
클래스아이디는 일종의 각각의 오브젝트를 각각 구별하기 위해 구별해 놓은 코드 같은것인데
각각의 서로 다른 코드를 가지고 있습니다. 원래는 16진수 숫자로 되어있지만. D2BS에서는 10진수로
바로 사용할 수 있도록 함수를 만들어 놓았는데 아래 링크에 보시면 각각의 오브젝트별 id 값이
나와있으니 필요할때만 찾아서 쓰시면 되겠죠?
http://www.edgeofnowhere.cc/viewtopic.php?t=378493
위 사이트에서 ctrl+F를 누르고 tile을 검색하면..
타일별 오브젝트 아이디가 나와있습니다.
Act 3 Travincal to Mephisto 64
라고 나와있죠? 트라빈컬에서 메피스트로 가는 타일이라고.. 나와있습니다.
두번째꺼는 low 세번째 꺼는 high 라고 써있는데 확실한 의미는 모르고 그냥
두번째꺼랑 세번째꺼랑 같은거 쓰면 되긴 하구요.. ㅎㅎ
네번째 다섯번째는 오브젝트 기준으로 x축 y축 위치 로 이동하는 것입니다
getUnit을 이용하여 특정 몹이나 슈퍼 유닉 몹 객체를 얻어내서
이동해도 됩니다만 설명이 너무 길어져서 타일만 설명 드리겠습니다
3.몇가지 경우 중 랜덤으로 맵이 구성될 경우
기존의 나라트하크 소스 코드 같은 경우는 getpresetunit으로 객체를 얻어낸 후
getdistance 함수를 이용하여 거리를 재서 하는 방법인데.. 저는 확실히 몰라서
그냥 두번째 방법으로 사용합니다. ^^;
참 이동하는 함수는 NTM_MoveTo(x좌표,y좌표) 쓰시면 지정 좌표로 이동합니다
뭐 아는게 없어서 제대로 답변이 됬을지 모르지만..
적당히 그냥저냥 자기가 써먹을 정도로 약간만 수정 할 수 있으면 되지 않을까요? ㅎㅎ
http://www.edgeofnowhere.cc/viewtopic.php?t=378502 에 가시면 D2BS에서 제공해 주는
함수가 나와있습니다. 설명이 좀 자세하게 안나와있어서 그것만 봐서 이해 하기 힘들지만
몇번만 노가다 하고 다른분들 스크립트 보시면 무슨 용도 인지 알게 되실거에요.
멋진스크립트 작성하시고 공유해 주세요 ㅎ