Skip to content

질문/답변

(정보) 프리캐스트에 스킬 추가, 수정, 응용 방법

조회 수 713 추천 수 0

프리캐스트에 스킬을 추가해야 되는 문제가 생겨 문제를 해결하면서 알아낸 정보입니다.

관련 내용을 검색해봤더니 자세한 내용이 없는 것 같아 공유합니다.


※ 길잡이에 기본적으로 설정된 프리캐스트들 (모든 클래스의 케릭터이니 프리캐스트 부분 참고)은 케릭터 이니 수정만으로 설정이 가능하나 그 외의 기본적으로 설정되지 않은 새로운 스킬을 프리캐스트에 추가하려면 맨 아래의 추가 내용처럼 스크립트를 추가해야 합니다.



1. 길잡이를 실행해 프리캐스트에 스킬을 추가하고자 하는 케릭터 이니를 아래와 같이 엽니다. (예시는 바바)


디아블로2 d2nt


위 스샷은 바바 케릭터 이니에 기본적으로 설정된 스킬들 입니다.



2. D2nt 폴더 -> scripts 폴더 -> 엔티봇길잡이 폴더 -> 캐릭터이니 폴더 안의 수정하고자 하는 진입점 폴더 내 케릭터이니.ntl 파일을 메모장으로 연 후 아래 스샷 부분을 찾습니다.


디아블로2 d2bs


위 스샷의 빨간 네모 부분이 프리캐스트 부분입니다. 위가 이동 전 프리캐스팅이고 아래가 이동 중 프리캐스트입니다.



3. 이동 전 혹은 이동 중 프리캐스트 부분을 아래 스샷과 같이 수정합니다.

(중요) : [1,155,[0,6],5,false] 구문의 두 번째 부분인 155 부분이 스킬 번호 입니다. 추가할 스킬의 다른 부분은 그대로 냅두고 스킬 번호 부분만 변경해 추가하세요. 스킬 번호는 D2nt 폴더 -> sdk 폴더 -> 스킬_번호 파일에 다 나와 있습니다.


디아블로2 다운로드


(예시1) : 이동 전 프리캐스트에 배틀 크라이를 추가할 경우 (위 스샷의 첫 번째 빨간 줄 부분)

(주의사항 : 위 스샷처럼 [ ] 안에 넣어야 되고 쉼표도 제대로 추가해야 됩니다.)

MyConfig.Precast=[[1,155,[0,6],5,false],[1,138,[0,6],5,false],[1,138,[0,6],5,false]]; 에 [1,146,[0,6],5,false], 을 추가


(예시2) : 이동 중 프리캐스트에 배틀 크라이를 추가할 경우 (위 스샷의 두 번째 빨간 줄 부분)

(주의사항 : 위 스샷처럼 [ ] 안에 넣어야 되고 쉼표도 제대로 추가해야 됩니다.)

MyConfig.PrecastCheck=[[2,155,[0,6],5,false],[1,130,[0,-1],false],[2,138,[0,6],5,false],[2,149,[0,6],5,0,0,false]]; 에 [1,146,[0,6],5,false], 을 추가




디아블로2 시세


4. 3번의 예시를 따라한 후 길잡이에서 케릭터 이니를 다시 불러와 프리캐스트 부분에 들어가면 위 스샷과 같이 스킬이 추가됩니다. 스킬이 추가된 후엔 케릭터 이니 파일을 직접 수정하지 않고 길잡이에서 수정하면 편하게 수정이 가능합니다.



디아블로2 다운로드


※ 추가한 스킬 사용하는 방법 : 배틀 크라이 같은 디버프 스킬은 위 스샷과 같이 이동 전과 이동 중 프리캐스트에 다 추가할 필요가 없고 이동 중에만 추가해도 됩니다. 둘 다 추가했다면 위 스샷처럼 이동 중 프리캐스트에 추가한 스킬만 사용 체크하면 됩니다. 또한 Ra 부분에 몬스터를 인식할 범위를 지정하고 Co 부분을 음수로 지정해야 합니다. 자세한 범위는 직접 알아보신 후 지정하시면 될 거 같고, Co 부분은 -1로 설정하면 범위 내 모든 몬스터에게 디버프를 걸고 -2로 설정하면 범위 내 몬스터가 2마리 이상이면 디버프를 겁니다.

 다른 저주 같은 디버프 스킬도 비슷하게 설정해서 사용하면 됩니다. 버프는 자주 사용해 보셨을테니 따로 설명하진 않겠습니다.



디아블로2 d2bs


※ 제가 프리캐스트 부분을 설정해야 했던 원인이 되는 스샷입니다. 해슴딘의 경우 1번 무기에 콜투를 쓰고 무기 스왑 없이 함성을 하는 경우가 대부분인데 게임 내에서 아주 낮은 확률로 함성이 스킬 목록에서 사라지는 경우를 경험했습니다. 이 문제를 해결하기 위해선 무기 스왑을 해야 하는데 따로 무기 스왑 설정이 없더군요. 그래서 생각한게 이동 전 프리캐스트에서 위와 같이 2번 무기로 스왑 홀쉴 후 1번 무기 스왑 함성+홀쉴을 하면 해결될 것이라 생각해 위 스샷과 같이 설정했습니다.



※ 한 가지 주의할 점은 아이템에 차지된 스킬은 프리캐스트로 설정하지 마세요. 프리캐스트로 설정하면 차지된 스킬을 사용하긴 하지만 아이템에 차지된 스킬의 남은 수량을 파악해 수리하는 기능이 없어 수리 부분에서 문제가 생깁니다.




※ 추가 내용 입니다.

아래 댓글을 통해 배틀 크라이가 케릭터 이니 수정만으론 프리캐스트를 하지 않는다는 지적을 받고 테스트 해본 결과 댓글의 지적대로 프리캐스트를 하지 않았습니다.

이에 문제점을 알아본 결과 d2nt 폴더 -> scripts 폴더 -> libs 폴더 -> common 폴더 -> MyPrecast.ntl 파일 내에 케릭터이니에 추가한 스킬에 관한 스크립트가 존재하지 않아 문제가 된 것을 확인했습니다.

그래서 스크립트에 존재하지 않는 스킬의 스크립트를 추가하는 방법을 배틀 크라이 스킬을 예시로 알려드리겠습니다.


d2nt 폴더 -> scripts 폴더 -> libs 폴더 -> common 폴더 -> MyPrecast.ntl 파일을 메모장으로 열고 CheckPrecast: function (mode) 안의 case 138: 과 case 149: 사이에 


case 146: // Battle Cry
if (mode == 1 && MyConfig.PrecastCheck[i][2][0] > 0 && MyUnit.CheckSafe(me.x, me.y, MyConfig.PrecastCheck[i][2][0], MyConfig.PrecastCheck[i][2][1]))
{
MyAttack.SwapWeapons(MyConfig.PrecastCheck[i][0] - 1);
MyMove.CastSkill(146, MyMove_HAND_RIGHT);
}
break;


를 추가하여 저장


기존의 하울 스킬 스크립트를 바탕으로 추가한 내용이고 길잡이에서 Co를 -1로 설정하면 스킬을 막 쓰는 경향이 있으니 Co를 적당히 설정하는걸 추천합니다. 이것 외에 새로운 스킬 스크립트를 추가하고 싶으시면 제가 쓴 방법을 참고하여 함성은 기존 함성 스크립트를, 저주는 기존 저주 스크립트를, 버프는 기존 버프 스크립트를 베껴서 추가하면 될 것 같습니다.

등록된 소개글이 없습니다.
  • lovelylove 2017.08.13 03:47
    저렇게 제가 직접 수정해서 이미 테스트 마친 상태입니다
    이 글이 올라오기전에 배틀 크라이 때문에 시도 했었는데요

    저렇게만 하면 제대로 안됩니다

    스킬에 지속 시간이 있는데
    사냥터를 들어가서 처음만 하고

    그 이후부터 안합니다

    저걸 하려면 다른 코드를 만져야합니다

    뭐 저 같은 경우는 쫄봇이나 이런거 없어서 그런거 무시하고 필요한 부분만 수정하면 되지만

    여러개 쓰시는 분들의 경우엔 복잡합니다

    자세한건 폰이라 적기 힘들고요

    기본적으로 있는 배틀 커맨드랑 같은 방식으로 작동이 되어야 정상인데 케릭터 이니만 바꿔준다고 되는게 아닙니다

    제가 한건 배틀 크라이라 이걸로 예를 들었지만

    모든 스킬이 다 지속시간이 있을거고 결국 똑같은 문제입니다

    확인해보시면 배틀 커맨드는 지속시간 다 되면 세팅한대로 끝나기 5초전이라던지 다시 스킬 사용하여 지속이 되지만

    님이 말씀하신것처럼 케릭터 이니만 건드려서는 단순히 처음 한번 뿐입니다
  • 프래범 2017.08.13 16:05
    테스트 해봤는데 기존 스크립트에 있는 스킬은 잘 되지만 스크립트에 없는 스킬은 케릭터이니 수정만으론 안 되네요.
    그래서 배틀크라이를 추가해 적용하려면 위의 예시를 적용하고, d2nt 폴더 -> scripts 폴더 -> libs 폴더 -> common 폴더 -> MyPrecast.ntl 파일을 메모장으로 열고 CheckPrecast: function (mode) 안의 case 138: 과 case 149: 사이에

    case 146: // Battle Cry
    if (mode == 1 && MyConfig.PrecastCheck[i][2][0] > 0 && MyUnit.CheckSafe(me.x, me.y, MyConfig.PrecastCheck[i][2][0], MyConfig.PrecastCheck[i][2][1]))
    {
    MyAttack.SwapWeapons(MyConfig.PrecastCheck[i][0] - 1);
    MyMove.CastSkill(146, MyMove_HAND_RIGHT);
    }
    break;

    를 추가하여 저장하면 배틀크라이를 사용합니다.
    다만 테스트를 해보니 Co를 -1로 설정하면 배틀크라이를 좀 막 쓰는 경향이 있어서 적당히 체크할 몬스터 수를 설정하는게 좋아 보이네요. 기존의 하울의 스크립트를 가져와 적용한 것인데 배틀크라이를 설정하는게 썩 좋아 보이진 않습니다.
    배틀 크라이 외에도 기존에 설정된 스크립트가 없으면 제가 한 방법처럼 함성은 기존 함성 스크립트를, 저주는 기존 저주 스크립트를, 버프는 기존 버프 스크립트를 베껴서 본문의 내용처럼 MyPrecast.ntl 파일에 새로 스크립트를 추가해야 새로운 스킬을 사용할 수 있을 것 같네요. 스크립트에 추가하고자 하는 스킬이 있다면 케릭터이니 수정만으로도 사용이 가능한거 같고요.
  • lovelylove 2017.08.13 20:09
    맞습니다 거기 코드를 같이 수정 하셔야 합니다
    크라이라는 스킬 특징이 정확하게 어떻게 되는지 모르겠지만 주변 몹에게 영향을 미친다면
    배틀 커맨더를 베이스로 하는게 더 좋을겁니다
    근데 이게 쓸 당시에 주변 몹에 한번씩 적용되는거면 님 말씀처럼 그렇게 해야할거고요

    그리고 단지 지금 예로 든게 이거긴 한데

    다른 스킬들이나 상황이 다르면 또 다른것도 만져야해서 잘 모르면 수정하기가 쉽지가 않아요
  • 프래범 2017.08.13 21:19
    배틀 커맨더는 버프 스킬이므로 디버프 스킬인 크라이와는 성향이 완전히 다릅니다.
    기존 스크립트에서 가장 비슷한 성향의 스킬은 하울 함성이고, 배틀 크라이 스킬이 사거리가 꽤 짧기 때문에 몹이 뭉친 곳 한 가운데 들어가서 크라이 스킬을 사용해도 모든 몹에게 디버프를 주기 힘들다는 특징이 있어 Ra를 적당히 설정하고 Co를 -4 이하 정도로 설정해야 좀 자연스럽게 배틀 크라이 스킬을 계속 사용합니다.
    원래는 저주 함수를 활용하려 했는데 함성을 어거지로 끼워 넣기에 걸리는 부분도 좀 있고, 제작자가 아니면 알기 힘든 부분(GetBaseState 함수의 3번째 매개변수라던가)도 있어서 그냥 포기했습니다.
    다른 기존에 없는 스킬들을 추가하려면 가장 비슷한 기존 스킬들 베껴오면 되긴 합니다만 이런거 잘 모르면 수정하기 힘들긴 하겠네요. 그런데 배틀 크라이 말고 다른 스킬 중 새롭게 추가할만한 스킬들이 있는지도 모르겠습니다. 배틀크라이를 제외한 대부분의 프리캐스팅에 추가할만한 스킬들은 다 스크립트에 만들어 놓은 상태라 앵간한건 케릭터이니만 수정해도 사용 가능해 보이더군요.
  • lovelylove 2017.08.13 23:30
    음 거기까진 생각을 못했네요

    전 그냥 커맨드랑 오더스랑 크라이만 보고
    오더스는 체력도 고려 해서 수정해야하니 안되고 커맨드가 비슷하겠네 했는데

    성향도 관계가 있었나보네요

    전 수정 하려다가 귀찮아서 그냥 이 수고 할바에 내 케릭터를 키워 크라이 쓸 필요없게 하는게 더 낫겠다 싶어서 안했거든요 ㅋㅋ

질문/답변

댓글을 추천하시면 답변으로 채택됩니다.

댓글을 추천하면 글 작성자와 댓글 작성자 둘 다 경험치를 획득합니다.

자세한 내용은 업데이트 공지를 참고해주시기 바랍니다.

번호 분류 제목 글쓴이 날짜 조회
공지   게시판 푸시 알림 / 통합 앱 서비스 32 file 트디개발자 2023.09.20 862.8k
공지   댓글이 도움되었다면 댓글을 추천 해주세요. 28 트디개발자 2021.04.16 76.9k
공지   [주의사항] 원격제어를 받으시면 시디키가 유출됩니다. 131 [버스&인첸방] 2017.04.17 87.8k
공지   정확한 답변을 받으려면 본문에 캡쳐를 첨부해주세요. 45 우녕자 2014.12.16 88.3k
공지   맨땅 초보자 가이드 601 file 뮤리아 2020.10.16 1000.3k
공지   카카오톡 1:1 채팅방 만드는 법 101 트디개발자 2018.05.20 426.7k
8695   오리지널 파볼오브 소서입니다. 부하몹먼저... 2 외로운고양이 2017.08.15 237
8694   시디키 하나랑 한계정만 서버다운걸릴수도있나요? 4 동키콩 2017.08.15 184
8693   만능쫄봇이용시 기사로 일시정지 명령키 누르면 쫄봇 머리위에 뜨는 안내문채팅 못지우나요? 노셛 2017.08.15 142
8692   (스샷첨부) 창고지기 설정 다했는데 봇이 창고지기한테 가질않네요 도와주세요 2 동물one 2017.08.14 431
8691   예외 unknown software 에러 해결법은 검색해도 알기가 힘드네요 도와주십시요 2 동물one 2017.08.14 232
8690   큐빙재료는 모아오는데 큐빙을하지를않습니다... 일주일째 수정해도 똑같네요 34 디아좋아오 2017.08.14 777
8689   요즘 엔티봇 길잡이에서 캐릭터 스킬오류가 있던데.. 사야자쿠 2017.08.14 269
8688   이니 관련해서 궁금한 사항있습니다. 도와주십쇼 ㅠㅠ 2 사야자쿠 2017.08.14 132
8687   서버다운 효과적인 방법 찾습니다. 3 mavelik 2017.08.14 311
8686   40차 d2nt 있으신분~ㅠㅠ 디아보이 2017.08.14 362
8685   d2nt 할때 채팅이 왜안되죠? 3 아몰라ㅋㅋ 2017.08.14 229
8684   시디키 한개 서버다운 1 동키콩 2017.08.13 420
8683   컴퓨터 업데이트 이후 d2nt 실행이 안되고 재실행뜨는 경우를 경험해보신 분 계신가요? 동물one 2017.08.13 925
>   (정보) 프리캐스트에 스킬 추가, 수정, 응용 방법 5 프래범 2017.08.13 713
8681   죽숨문제 빨리 커먼 제발 ㅠㅠ 1 능기 2017.08.13 154
8680   무공으로도 면역이 안 없어지는 몹들은 어떻게 해야하나요? 3 lovelylove 2017.08.12 1.6k
8679   핀들스킨.ntj 오류가 확인되어 문의 드려봅니다. 2 또꼬망 2017.08.12 660
8678   봇이나 맵핵써도 블락안당하나요? 1 doremi 2017.08.12 676
8677   한컴퓨터로 최대한 돌릴수 있는 멀티 갯수가 몇개죠?? 4 TLM 2017.08.12 385
8676   보스잡는 시간설정 문의드립니다 dusaltk 2017.08.12 506