바바리안 스크립트
분류
봇관련
조회 수
1,189
추천 수
4
http://gigafile.empas.com/download/sid=27&info=821271d08aaf38c26958605e35e927fdad3378c6ebe6c62cf6954521d3fe405eed42260ceb74452d0ca8be23d0667aa1dc4789
예전에 본네크 허접하게 해봤었는데,
이번엔 바바리안이 땡겨서 팔라딘 부분을 복사해서 만들어봤습니다.
<NTAttack.dbl>
============================
function NTA_GetDamageType(skillid)
{
switch(skillid)
{
case 74: // Corpse Explosion
case 106: // Zeal
case 107: // Charge
case 151: // Whirlwind
return NTA_DAMAGE_PHYSICAL;
case 112: // Blessed Hammer
case 152: // Berserk
//case 74: // Corpse Explosion (nec)
return NTA_DAMAGE_NONE;
============================
============================
function NTA_BarbarianAttackInt(target, boss, maxattacks)
{
var _attackprimary;
var _maxattacks = 0;
var _usehand1, _usehand2;
var _damagetype1, _damagetype2;
var _range1, _range2;
var _prehp1, _prehp2;
var _nohit = true;
_attackprimary = boss ? NTConfig_AttackBoss : NTConfig_AttackOthers;
_usehand1 = NTC_IsLeftSkill(_attackprimary) ? 2 : NTC_HAND_RIGHT;
_damagetype1 = NTA_GetDamageType(_attackprimary);
if(NTConfig_AttackSecondary > 0)
{
_usehand2 = NTC_IsLeftSkill(NTConfig_AttackSecondary) ? 2 : NTC_HAND_RIGHT;
_damagetype2 = NTA_GetDamageType(NTConfig_AttackSecondary);
}
switch(_attackprimary)
{
// case 101: // Holy Bolt
// case 121: // Fist of the Heavens
// _range1 = 20;
// break;
default:
_range1 = 2;
break;
}
switch(NTConfig_AttackSecondary)
{
// case 101: // Holy Bolt
// case 121: // Fist of the Heavens
// _range2 = 20;
// break;
default:
_range2 = 2;
break;
}
_prehp1 = target.hp;
while(_maxattacks++ < maxattacks && NTA_IsValidTarget(target, true))
{
if(checkCollision(me, target, 3))
{
if(boss)
{
if(_attackprimary == 101 || _attackprimary == 121)
NTA_MoveCloseInt(target, Math.round(getDistance(me, target)/2));
}
else if(me.area != 131)
return false;
}
_prehp2 = target.hp;
if(NTA_GetResistance(target, _damagetype1) < 100)
{
if((_maxattacks % 2) == 1 && _nohit)
{
if(_attackprimary == 112)
{
if(!NTM_MoveTo(target.x+1, target.y, 0) && !boss)
return false;
}
else
{
if(!NTA_MoveCloseInt(target, _range1) && !boss)
return false;
}
//if(NTConfig_PutAura > 0)
// NTC_PutSkill(NTConfig_PutAura, NTC_HAND_RIGHT);
}
NTC_DoCast(_attackprimary, _usehand1, target);
}
else if(NTConfig_AttackSecondary > 0 && NTA_GetResistance(target, _damagetype2) < 100)
{
if((_maxattacks % 2) == 1 && _nohit)
{
if(NTConfig_AttackSecondary == 112)
{
if(!NTM_MoveTo(target.x+1, target.y, 0) && !boss)
return false;
}
else
{
if(!NTA_MoveCloseInt(target, _range2) && !boss)
return false;
}
//if(NTConfig_PutAura > 0)
// NTC_PutSkill(NTConfig_PutAura, NTC_HAND_RIGHT);
}
NTC_DoCast(NTConfig_AttackSecondary, _usehand2, target);
}
else
{
if(boss)
{
if((_maxattacks % 2) == 1 && _nohit)
{
if(_attackprimary == 112)
NTM_MoveTo(target.x+1, target.y, 0);
else
NTA_MoveCloseInt(target, _range1);
//if(NTConfig_PutAura > 0)
// NTC_PutSkill(NTConfig_PutAura, NTC_HAND_RIGHT);
}
NTC_DoCast(_attackprimary, _usehand1, target);
}
else
return false;
}
if(boss)
{
if((_maxattacks % 8) == 0)
{
if(target.hp < _prehp1)
_prehp1 = target.hp;
else
return false;
}
}
else
{
if((_maxattacks % 4) == 0)
{
if(target.hp < _prehp1)
_prehp1 = target.hp;
else
return false;
}
}
_nohit = (target.hp >= _prehp2);
if(NTConfig_CheckSafe)
{
if(!NTTMGR_CheckSafe(1))
return false;
}
}
return true;
}
=====================================
윗부분에서 버서크 추가해주고
아랫부분에서 팔라딘 스크립트를 바바리안으로 복사해주고
오라부분같은거는 지웠습니다.
<NTConfig_Barbarian_.dbl>
=================================================
NTConfig_AttackFirst = 146; // Cast your first spell once. Set to 0 if you won't
NTConfig_AttackBoss = 151; // Cast your primary spell to boss.
NTConfig_AttackOthers = 151; // Cast your primary spell to others.
NTConfig_AttackSecondary = 152; // Cast your Secondary spell if monster is immune to your primary spell. Set to 0 if you won't
NTConfig_ClearPosition = true; // Set to true if you want to clear area after killing boss.
NTConfig_CheckSafe = true; // Set to true to check for curses, merc and potion (go to town if needed)
}
/*
146: 배틀크라이
143: 리프어택
151: 휠윈드
152: 버서크
*/
==================================================
NTConfig_AttackFirst =
이부분에 리프어택이나 배틀크라이 넣어주면 될거같습니다.
마나가 많이 딸려서 통찰용병이 꼭필요한듯 보이고
물리공격이라 디아,바알같은곳은 안가게 설정해서 몇번 돌려보니깐.
허접하지만 되긴 되네요. ㅎㅎ
예전에 본네크 허접하게 해봤었는데,
이번엔 바바리안이 땡겨서 팔라딘 부분을 복사해서 만들어봤습니다.
<NTAttack.dbl>
============================
function NTA_GetDamageType(skillid)
{
switch(skillid)
{
case 74: // Corpse Explosion
case 106: // Zeal
case 107: // Charge
case 151: // Whirlwind
return NTA_DAMAGE_PHYSICAL;
case 112: // Blessed Hammer
case 152: // Berserk
//case 74: // Corpse Explosion (nec)
return NTA_DAMAGE_NONE;
============================
============================
function NTA_BarbarianAttackInt(target, boss, maxattacks)
{
var _attackprimary;
var _maxattacks = 0;
var _usehand1, _usehand2;
var _damagetype1, _damagetype2;
var _range1, _range2;
var _prehp1, _prehp2;
var _nohit = true;
_attackprimary = boss ? NTConfig_AttackBoss : NTConfig_AttackOthers;
_usehand1 = NTC_IsLeftSkill(_attackprimary) ? 2 : NTC_HAND_RIGHT;
_damagetype1 = NTA_GetDamageType(_attackprimary);
if(NTConfig_AttackSecondary > 0)
{
_usehand2 = NTC_IsLeftSkill(NTConfig_AttackSecondary) ? 2 : NTC_HAND_RIGHT;
_damagetype2 = NTA_GetDamageType(NTConfig_AttackSecondary);
}
switch(_attackprimary)
{
// case 101: // Holy Bolt
// case 121: // Fist of the Heavens
// _range1 = 20;
// break;
default:
_range1 = 2;
break;
}
switch(NTConfig_AttackSecondary)
{
// case 101: // Holy Bolt
// case 121: // Fist of the Heavens
// _range2 = 20;
// break;
default:
_range2 = 2;
break;
}
_prehp1 = target.hp;
while(_maxattacks++ < maxattacks && NTA_IsValidTarget(target, true))
{
if(checkCollision(me, target, 3))
{
if(boss)
{
if(_attackprimary == 101 || _attackprimary == 121)
NTA_MoveCloseInt(target, Math.round(getDistance(me, target)/2));
}
else if(me.area != 131)
return false;
}
_prehp2 = target.hp;
if(NTA_GetResistance(target, _damagetype1) < 100)
{
if((_maxattacks % 2) == 1 && _nohit)
{
if(_attackprimary == 112)
{
if(!NTM_MoveTo(target.x+1, target.y, 0) && !boss)
return false;
}
else
{
if(!NTA_MoveCloseInt(target, _range1) && !boss)
return false;
}
//if(NTConfig_PutAura > 0)
// NTC_PutSkill(NTConfig_PutAura, NTC_HAND_RIGHT);
}
NTC_DoCast(_attackprimary, _usehand1, target);
}
else if(NTConfig_AttackSecondary > 0 && NTA_GetResistance(target, _damagetype2) < 100)
{
if((_maxattacks % 2) == 1 && _nohit)
{
if(NTConfig_AttackSecondary == 112)
{
if(!NTM_MoveTo(target.x+1, target.y, 0) && !boss)
return false;
}
else
{
if(!NTA_MoveCloseInt(target, _range2) && !boss)
return false;
}
//if(NTConfig_PutAura > 0)
// NTC_PutSkill(NTConfig_PutAura, NTC_HAND_RIGHT);
}
NTC_DoCast(NTConfig_AttackSecondary, _usehand2, target);
}
else
{
if(boss)
{
if((_maxattacks % 2) == 1 && _nohit)
{
if(_attackprimary == 112)
NTM_MoveTo(target.x+1, target.y, 0);
else
NTA_MoveCloseInt(target, _range1);
//if(NTConfig_PutAura > 0)
// NTC_PutSkill(NTConfig_PutAura, NTC_HAND_RIGHT);
}
NTC_DoCast(_attackprimary, _usehand1, target);
}
else
return false;
}
if(boss)
{
if((_maxattacks % 8) == 0)
{
if(target.hp < _prehp1)
_prehp1 = target.hp;
else
return false;
}
}
else
{
if((_maxattacks % 4) == 0)
{
if(target.hp < _prehp1)
_prehp1 = target.hp;
else
return false;
}
}
_nohit = (target.hp >= _prehp2);
if(NTConfig_CheckSafe)
{
if(!NTTMGR_CheckSafe(1))
return false;
}
}
return true;
}
=====================================
윗부분에서 버서크 추가해주고
아랫부분에서 팔라딘 스크립트를 바바리안으로 복사해주고
오라부분같은거는 지웠습니다.
<NTConfig_Barbarian_.dbl>
=================================================
NTConfig_AttackFirst = 146; // Cast your first spell once. Set to 0 if you won't
NTConfig_AttackBoss = 151; // Cast your primary spell to boss.
NTConfig_AttackOthers = 151; // Cast your primary spell to others.
NTConfig_AttackSecondary = 152; // Cast your Secondary spell if monster is immune to your primary spell. Set to 0 if you won't
NTConfig_ClearPosition = true; // Set to true if you want to clear area after killing boss.
NTConfig_CheckSafe = true; // Set to true to check for curses, merc and potion (go to town if needed)
}
/*
146: 배틀크라이
143: 리프어택
151: 휠윈드
152: 버서크
*/
==================================================
NTConfig_AttackFirst =
이부분에 리프어택이나 배틀크라이 넣어주면 될거같습니다.
마나가 많이 딸려서 통찰용병이 꼭필요한듯 보이고
물리공격이라 디아,바알같은곳은 안가게 설정해서 몇번 돌려보니깐.
허접하지만 되긴 되네요. ㅎㅎ