공방 바알런! 바바 오더받으면 봇 오더 생략하기
분류
봇관련
조회 수
1,177
추천 수
15
헤븐리스톤님 최신봇(3.1) 입니다.
다른봇도 해당부분만 추가한다면 사용 가능합니다.
봇으로 바알런을 돌리다보면 봇 오더보다 높은 오더를 받는 경우가 있습니다.
봇은 자신보다 높은 오더인지 낮은오더인지 관계없이 자신이 오더 할 부분에서 오더를 하게 되죠.
그래서 바알 스크립을 약간 수정해 봤습니다.
간단하게 설명하면 월드스톤2층에서 함성을 지르고 자신의 최대 피통 부피를 저장해 놓습니다.
그리고 런중(첫번째 소환몹 이후, 바알 잡기전) 함성을 지르기전에 저장해 놓은 피통 부피보다 현재 자신의 피통이 큰지를 비교한 후 클경우 함성을 지르지 않는 방법입니다.
작거나 같으면 당연히 예약된곳에서 함성을 지릅니다.
수정 방법은 바알 스크립트에서 추가 부분을 추가해 줍니다.
Include("libs/common/NTCommon.ntl");
NTC_IncludeLibs();
NTC_IncludeConfig("NTBot/char_configs");
var i;
var _wave;
var _starttick;
var _myhpmax; // <<== 변수 추가
.
.
.
.
if(!NTM_TakeWaypoint(129))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()");
return;
}
NTP_DoPrecast(true);
_myhpmax = me.hpmax; // <<== 최초 콜투 후 피통크기 저장 추가
for(i = 0 ; i < 2 ; i++)
{
.
.
.
.
switch(_wave)
{
case 1:
NTA_ClearPosition(40, true, 1);
if(me.hpmax < _myhpmax + 100) // <<== 함성전 피통비교 추가
NTP_DoPrecast(true);
break;
case 3:
NTA_ClearPosition(40, true, 2);
NT_CheckHydraInt();
break;
.
.
.
.
.
if(NTConfig_KillBaal)
{
var _portal;
//if(NTConfig_PublicMode)
//Say("Killing Baal");
if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe|0x01, NTConfig_CheckMercSafe))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTTMGR_CheckSafe()");
return;
}
NTM_MoveTo(me.areaid, 15092, 5010);
if(me.hpmax < _myhpmax + 100) // <<== 함성전 피통 비교 추가
NTP_DoPrecast(true);
while(NTC_FindUnit(NTC_UNIT_MONSTER, 543))
NTC_Delay(500);
이렇게 네부부분만 추가해 주시면 잘 실행됩니다.
참고로 함성전 피통비교에서 "+ 100" 을 한 이유는 바바 캐릭이 아닌 다른 캐릭이 함성을 했을경우 무시하고 그냥 함성을 지르게 하기 위함입니다.
봇 함성보다 바바가 함성을 질렀을경우 차이나는 피통크기를 적되 바바 함성스킬을 감안해 적으시면 됩니다.
너무 높게 잡으면 바바함성까지 무시하게 되므로 100에서 300정도 사이가 좋을듯 합니다.
단. 오크세이지가 있을경우 바바 오더로 인식할 수 있습니다 ^^
스크립트는 첨부가 되지않아 못올리네요.

