Skip to content
봇관련다크 모드

쫄봇에게 원하는 분기에 함성/마법 등 받는 방법 - NTBot4.2_0

조회 수
2,908
추천 수
19
등록일

봇스크립트에 쫄봇(MyleechBot) 함성 원하는 분기에 넣는 방법
-- D2NT3.1_NTBot4.2_0 날아다녀님 버전



지난번 올린 글과 관련되어 있기도 합니다.

쫄봇의 프리캐스트 문제.
D2NT3.1_NTBot4.2_0 의 현재 쫄봇 스크립트 함수는
기사나 파티의 버프 상태를 모니터한 후 해당 버프가 사라졌을 때, 비로소 프리캐스트를 시도합니다.

예로, 기사가 받은 배틀오더스 남은 시간과 관계없이 - 봇스크립트의 원하는 분기에 - 쫄봇 바바의 오더를 받고 싶은 경우 다음과 같이 하면 됩니다.


#
기사와 쫄의 설정은 기본 방법 그대로 합니다.


#
쫄봇 스크립트를 수정합니다.

\scripts\NTBot\bots\MyLeechBot.ntj

 function MyL_CheckMessageAuto()
 {
 var _msg = MyL_ReadMessage();
 if (_msg && _msg != _MyL_Message)
 {
 switch (_msg)
 {
// MyLeechBot.ntj --- 738 행 다음 추가
 case "BO": // Warcries 강제 캐스팅. 이벤트 호출: MyLB_WriteMessage("BO");
 NTC_CastSkill(155, NTC_HAND_RIGHT);
 NTC_CastSkill(138, NTC_HAND_RIGHT);
 NTC_CastSkill(149, NTC_HAND_RIGHT);
 MyLB_WriteMessage(_MyL_Message);
 break;


#
봇 스크립트에서 사용
예: NTDiablo.ntj - 디아블로/카오스 런에서

1. 불길의 강 웨이에서 쫄봇 함성 받기. 
----> 캐릭 설정에서 NTConfig_****.ntl (실제로 주석 처리하라는 뜻이 아님)
// NTConfig_Script.push("NTDiablo.ntj");
// MyConfig_DiabloClear = [1, 1, 1, 0x01]; //
// MyConfig_DiabloLeechBot = 2 // 웨이부터 카오스 까지 쫄과 함께 사냥하고 싶은 경우.
// ( MyConfig_DiabloClear = [0, 0, 1, 0x01];
 // MyConfig_DiabloLeechBot = 1; // 혹은 함성만 받고 쫄은 마을로 갈 경우 )

// ------------------------------------------ NTDiablo.ntj 
 if (!MyMo_TakeWaypoint(107))
 {
 LeechBotHelp = -1;
 PlayerHelp = -1;

 return "MyMo_TakeWaypoint()";
 }

//----------- NTDiablo.ntj 46행 아래 추가
 NTM_MakeTP(); // 포탈생성
 if (MyConfig_DiabloLeechBot != 0)
 {
 MyLB_WriteCheckMessage("OUT"); // 봇 포탈 타기 
 Delay(2000);
 MyLB_WriteMessage("BO"); // 디아런이 첫 스크립트인 경우 생략 가능하지만, 이전 스크립트에서 쫄봇에게 함성을 받았다면 이 과정이 필요
 Delay(2000);
 MyLB_WriteMessage("IN"); // 마을로
}
 if (MyConfig_DiabloLeechBot == 2) // 쫄(움직임)의 경우
 MyLB_WriteMessage("RESUME"); // 따라오게 하기
// ----- 추가 끝
 
NTP_DoPrecast(true);


2. 카오스 입구에서 받을 경우
---> NTConfig_Script.push("NTDiablo.ntj"); // 액트 4: 불길의 강으로 이동 -> 카오스 생츄어리로 이동 -> 씨일 열고 소환 몬스터 사냥 -> 디아블로 사냥
// MyConfig_DiabloClear = [false, 1, 1, 0x01]; 의 경우
// ------------------------------------------ NTDiablo.ntj 
if (MyConfig_DiabloLeechBot != 0)
 {
 MyLB_WriteCheckMessage("OUT");

// ----- NTDiablo.ntj 90 행
 Delay(2000);
 MyLB_WriteMessage("BO");
 Delay(2000);
// ------- 추가 끝

 if (MyConfig_DiabloLeechBot == 2)
 MyLB_WriteMessage("RESUME");
 }


#
바알런 응용

1. 월드스톤2층 웨이에서 함성 받기 ..... NTBaal.ntj

 if (!NTC_InTown())
 NTP_DoPrecast(true);
 else
 {
 NTC_StopScript("NTToolsThread_NTBaal.ntj");
 return "NTP_DoPrecast()";
 }
// ------ 53 행 추가
 if (MyConfig_BaalLeechBot != 0)

 NTM_MakeTP();
 MyLB_WriteMessage("OUT");
 Delay(2000);
 MyLB_WriteMessage("BO");
 Delay(2000);
 MyLB_WriteMessage("IN");
 }

2. 쓰론 미니언 등장 전

// ------- 249행 추가

 if( MyConfig_BaalLeechBot != 0 )
 { 
 Delay(1500);
 MyLB_WriteMessage("BO"); 
 Delay(2000); 
 }


#
수동 쫄봇 응용

위의 방법대로 \scripts\NTBot\bots\MyLeechBot.ntj 에서 기사 명령에 따른 실행조건을 설정하고,
MyLeechBotMaster.ntj 에서 키입력 이벤트를 수정하여 수동쫄봇에게 함성,인첸트,오로라,마법 등의 모든 명령을 할수 있습니다.
저의 이전 글에서 처럼 오토텔레포트와의 연동도 가능합니다.


.......... < MyLeechBotMaster.ntj > ........... 수동 함성 예제

function MyLM_EventKey(keyCode)
{
 if (MyMI_LoadMoveItem(keyCode))
 return;

 switch (keyCode)
 {
 // ------ 추가
 case [KEY_CODE]:
 MyLB_WriteMessage("BO"); break;
 // ------
댓글 36
  • 댓글 #231862

    좋은 정보 감사합니다. 이번에 쫄 같이 보낼려고하는데 많은 도움이 됩니다.
  • 댓글 #231868

    이해하기가 힘드네요..제가 어설프게 고쳐서 그런지 이제는 자동파티도 안되고;; 전 퀘드랍하면서 쫄들 함성받게 하고 싶은데.. 전 함성바바(아저씨) 방만들고, 팔라기사(총각) 딸라들어가고, 쫄 하나 들어가는데 같이 싸우거든요.. 이 쫄들이 불길의강에서 함성받고 쫄할려고 하는데요.. 간단한 방법이 없을까요?
  • 댓글 #231871

    가가멜 / 아니요. NTDiablo.ntj 에서 그 부분을 찾아서 //----------- NTDiablo.ntj 46행 아래 추가 ...... code // ----- 추가 끝 이 주석 달린 사이 부분을 넣어주시면 됩니다. 제 글이 조금 설명이 부족했네요. ^^; 글 수정했습니다.
  • 댓글 #231874

    네.. 해보고 글 남길께요...쫄들이 함성받는게 꼭 필요했거든요... 감사합니다.
  • 댓글 #231877

    쫄이 함성 잘 받네요~~^^ 너무나도 감사드립니다. 가장 필요했던 자료였거든요~~
  • 댓글 #231880

    욕심이지만 한가지만 더 부탁드립니다. 쫄이 소서인데,,, 쉬버아머 쓰고 지원사냥할수 있을까 해서요~
  • 댓글 #231886

    하코에선 정말 필요한 정보입니다...감사합니다...추천 꽝...
  • 댓글 #231889

    가가멜 / 쉬버아머는 캐릭별 설정에서 프리캐스트 설정할수 있습니다.
  • 댓글 #231892

    thething / 사냥할때는 프리캐스트가 가능하지만, 쫄일 경우에는 프리캐스트가 적용이 안되는것 같은데요?
  • 댓글 #231898

    쫄봇에 내장된 함수에 내장되어 있습니다. 다만.. 캐릭별 설정에서 MyConfig_LeechBotPrecast = [1000, false, false, false, 0, 0]; 첫번째 값에 0을 넣으면 안됩니다. 1000을 넣으면 1초마다 체크해서 아머를 켜줍니다.
  • 댓글 #231901

    아주굿입니다 추천 꽝~ 너무 기다리던 정보입니다 감사합니다..
  • 댓글 #231907

    좋은 정보 잘 읽어보고 갑니다~ 하지만 봇의 세계는 아직도 제겐 어렵네요~ㅎㅎ
  • 댓글 #231919

    thething 님 위에 케릭 터 파일 에서 수정하라고 하셨는데 thething 님께서 쓰신것은 이것인데 NTConfig_Script.push("NTDiablo.ntj"); // MyConfig_DiabloClear = [1, 1, 1, 0x01]; // // MyConfig_DiabloLeechBot = 2 // 웨이부터 카오스 까지 쫄과 함께 사냥하고 싶은 경우. // ( MyConfig_DiabloClear = [0, 0, 1, 0x01]; // MyConfig_DiabloLeechBot = 1; // 혹은 함성만 받고 쫄은 마을로 갈 경우 ) 실제로 날아다녀님 의 팔라딘에 케릭터파일에는 밑에 처럼 나왔는데 어떻게 수정해야 하나요? NTConfig_Script.push("NTDiablo.ntj"); // 액트 4: 불길의 강으로 이동 -> 카오스 생츄어리로 이동 -> 씨일 열고 소환 몬스터 사냥 -> 디아블로 사냥 MyConfig_DiabloClear = [true, true, true, 0x01]; // [웨이포인트부터 입구까지, 입구부터 중앙까지, 중앙부터 디아블로 잡을 때까지, 사냥할 몬스터 종류] MyConfig_DiabloInventory = false; // 디아블로 잡기 전 인벤토리에 있는 아이템 정리하기 MyConfig_DiabloLeechBot = 2; // 0: 사용 안함/ 1: 쫄봇(멈춤)/ 2: 쫄봇(움직임) MyConfig_DiabloPotion = [0, 0]; // 포션 사 먹기 = [해독포션, 해빙포션] MyConfig_DiabloHelp = 0; // 채팅 첫 글자가 "ㄷ", "h", "H"면 해당 플레이어 주위 몬스터 잡아 주기 = 잡아 줄 횟수 MyConfig_DiabloWait = 15000; // 디아블로 나올때까지 기다릴 최대 시간(1/1000초) MyConfig_DiabloMessage = [false, "다음 방으로 갑니다!"]; // [사냥 후 메시지 보내기, "보낼 메시지(특수 문자 "%G"는 "XXX-번호" 형식의 다음 방 제목/ 보낼 메시지를 여러 개 설정하면 무작위로 하나 선택)" . . .]
  • 댓글 #231925

    ZNS / 쫄과 같이 리버 웨이부터 사냥 하시려면, 원본 그대로 하시면 됩니다.
  • 댓글 #231928

    thething 님 답변 감사드립니다. 써진 대로 다고쳤는데요.. 그런데 보는 하는데 . 고치고 나니까 더이상 바바는 웨이 포인트에서 함성만 지르고 움직이지 않는데요.. 다른 쫄들은 잘 따라다니는데
  • 댓글 #231931

    ZNS / 바바가 MyConfig_DiabloLeechBot == 2; 설정 되어있나요? 그래도 안된다면 if (MyConfig_DiabloLeechBot != 0) { NTM_MakeTP(); // 포탈생성 MyLB_WriteCheckMessage("OUT"); // 봇 포탈 타기 Delay(2000); MyLB_WriteMessage("BO"); Delay(5000); } if (MyConfig_DiabloLeechBot == 2) // 쫄(움직임)의 경우 MyLB_WriteMessage("RESUME"); else if (MyConfig_DiabloLeechBot == 1) MyLB_WriteMessage("IN"); 리버부터 쫄 대동 하려면 이와 같이 해야 될겁니다.
  • 댓글 #231946

    항상 이런거 볼 때마다 수정하실수 있는 능력을 갖고있다는게 얼마나 부러운지 몰라요. 고생하셧어요~
  • 댓글 #231961

    오늘두 하나 배우고 가는군요!! 감사 드리고 즐디아 하십시요!!!
권한이 없습니다.
다크 모드