스태틱 거리 안맞는 문제 수정 (NTBot4.2_1)
분류
봇관련
조회 수
1,273
추천 수
7
모니터링 중인데 메피스토 상대 할 때 미스는 많이 줄었는데, 듀리엘 한테 여전히 미스나네요.
다른 문제가 있는지 더 봐야 할거 같습니다.
=======================================================
날아다녀님 NTBot4.2_1 에서
소서 스태틱 스킬 사용시,
일반 몹 잡을 때는 잘 인지 할 수 없지만, 보스 잡을 때는 종종 거리가 안맞는 것을 확인 할 수 있습니다.
이 문제를 위한 수정 방법입니다.
아직 자료실 이용 레벨이 안돼서 피드백이 불편하네요 :(
scripts\libs\common\MyAttack.ntl
// 5+ _staticLevel -1 부분을 찾아서 3 + _staticLevel 로 고칩니다.
//874행
function MyAt_SorceressCast(target, isBoss, index, attackTimeout, maxAttacks)
{
var _iStatic;
var _castStatic = isBoss ? MyConfig_SorceressCastStaticBoss : MyConfig_SorceressCastStaticOthers;
var _staticLevel = NTC_GetSkillLevel(42);
var _isStatic = _staticLevel > 0 && MyAt_GetResistance(target, NTA_DAMAGE_LIGHTNING) < 100;
var _isAttackStatic = MyConfig_AttackSkill[index][0] == 42 && MyConfig_SorceressAttackStatic < 100;
var _iAttack = 0;
var _targetHp = target.hp;
if (MyConfig_AttackSkill[index][0] == 42)
{
// --------------------------------------------------------------------------------TT_mod: fix Static range
MyConfig_AttackSkill[index][1] = 3 + _staticLevel ; // -------------- 수정
if (maxAttacks > 0)
maxAttacks = maxAttacks * 2;
}
if (MyConfig_AttackSkill[index + 1][0] == 42)
// --------------------------------------------------------------------------------TT_mod: fix Static range
MyConfig_AttackSkill[index + 1][1] =3 + _staticLevel; // -------------- 수정
_MyMo_TickCount = GetTickCount();
while (MyUn_CheckLife(target))
{
if (maxAttacks > 0 && _iAttack > maxAttacks)
return false;
if (!MyAt_CheckCollision(target, isBoss, index))
return false;
if ((_iAttack % 3) == 0)
MyPr_CheckPrecast();
if (_iAttack++ == 0)
{
NTC_SwapWeapons(0);
if (index > 0 && _isStatic && _castStatic < 100)
{
_iStatic = isBoss ? 0 : 5;
while (_iStatic++ < 10 && MyUn_CheckLife(target) && Math.floor(target.hp * 100 / target.hpmax) > _castStatic)
{
if (CheckCollision(me, target, 5))
// --------------------------------------------------------------------------------TT_mod: fix Static range
MyMo_MoveCloseInt(target, 3 + _staticLevel ); // -------------- 수정
else
.....
-----------------------------------------------------------
스태틱 거리 공식
_r (Yard) = 2.6 + 0.668*Static Level
_r 은 야드 단위(현실거리) 이므로 디아좌표 체계인 타일유닛 단위로 환산해야됩니다.
1 Yard = 1.5 Tile Unit 로 환산하면,
스태틱 최대 유효 거리 (Tile Unit) = Static Level + 3 이 됩니다.
타일 유닛은 소수점 이하는 좌표가 존재하지 않으므로, 버리는게 맞습니다.
스태틱 레벨 시전범위(YARD) 디아좌표(TileUnit)
1 3.268 4.902
2 3.936 5.904
3 4.604 6.906
4 5.272 7.908
5 5.94 8.91
6 6.608 9.912
7 7.276 10.914
8 7.944 11.916
9 8.612 12.918
10 9.28 13.92
11 9.948 14.922
12 10.616 15.924
13 11.284 16.926
14 11.952 17.928
15 12.62 18.93
16 13.288 19.932
17 13.956 20.934
18 14.624 21.936
19 15.292 22.938