nt봇 본네크 해봤어요.
분류
봇관련
조회 수
2,257
추천 수
5
http://gigafile.empas.com/download/sid=3&info=1b26c5ceb2e1bce8d26c52b1bb9a341080b83a3013a241f6bd36c95e9ad0978af15296ce5e7cba78f86a3111c6d1f7c3b0430b http://gigafile.empas.com/download/sid=3&info=1b26c5ceb2e1bce8d26c52b1bb9a341080b83a3013a241f6bd36c95e9ad0978af15296ce5e7cba78f86a3111c6d1f7c3b0430b
네크로로 해보고 싶어서.만들었구요
파볼소서 공격패턴이랑 비슷해서
소서스크립트를 네크로파트로 옮기고 해봤는데............
되네요. ^^
시체생기면 시폭터트리게 해주면 더 빨리 사냥할텐데.. 아쉬워요.
현재는 보스몹은 본스피어로, 기타는 시폭으로 했고... 사냥은 되지만 지역에 따라서 안되는 곳이 더 많네요
=================================================================
<NTPrecast.dbl>
case NTC_CHAR_CLASS_NECROMANCER:
//NTC_DoCast(235, NTC_HAND_RIGHT);
NTC_DoCast(68, NTC_HAND_RIGHT);
if(!NTC_DoCast(94, NTC_HAND_RIGHT)) // Fire Golem
if (!NTC_DoCast(85, NTC_HAND_RIGHT)) // Blood Golem
NTC_DoCast(75, NTC_HAND_RIGHT); // Clay Golem
break;
235가 드루스킬이라서 68(본아머)로 바꾸었고요.
=================================================================
<NTAttack.dbl>
case 112: // Blessed Hammer
case 74: // Corpse Explosion (nec)
return NTA_DAMAGE_NONE;
74(시폭)을 이뮨없는 공격에 추가해줬구요.
case 59: // Blizzard
case 64: // Frozen Orb
return NTA_DAMAGE_COLD;
case 84: // Bone Spear (nec)
return NTA_DAMAGE_MAGIC;
84(본스피어)를 매직데미지에 추가했어요.
function NTA_NecromancerAttackInt(target, boss, maxattacks)
{
var _attackprimary;
var _maxattacks = 0;
var _usehand1, _usehand2;
var _damagetype1, _damagetype2;
var _range1, _range2;
var _prehp;
_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 48: // Nova
// _range1 = 10;
// break;
default:
_range1 = 20;
break;
}
switch(NTConfig_AttackSecondary)
{
// case 48: // Nova
// _range2 = 10;
// break;
default:
_range2 = 20;
break;
}
// if(NTConfig_CastStatic < 100)
// {
// var _staticlevel = NTC_CheckSkill(74);
//
// if(_staticlevel > 0 && NTA_GetResistance(target, NTA_DAMAGE_FIRE) < 100 && (boss || checkCollision(me, target, 3) == 0))
// {
// var _cast = 0;
// var _staticrange = Math.floor(1.0 + 0.668*_staticlevel);
//
// while(_cast++ < 10 && parseInt(target.hp*100/128) > NTConfig_CastStatic)
// {
// NTA_MoveCloseInt(target, _staticrange);
// NTC_DoCast(74, NTC_HAND_RIGHT, target);
// }
// }
// }
_prehp = target.hp;
while(_maxattacks++ < maxattacks && NTA_IsValidTarget(target, true))
{
if(checkCollision(me, target, 3))
{
if(boss)
NTA_MoveCloseInt(target, Math.round(getDistance(me, target)/2));
else if(me.area != 131)
return false;
}
if(NTA_GetResistance(target, _damagetype1) < 100)
{
if((_maxattacks % 2) == 1)
{
if(!NTA_MoveCloseInt(target, _range1) && !boss)
return false;
}
NTC_DoCast(_attackprimary, _usehand1, target);
}
else if(NTConfig_AttackSecondary > 0 && NTA_GetResistance(target, _damagetype2) < 100)
{
if((_maxattacks % 2) == 1)
{
if(!NTA_MoveCloseInt(target, _range2) && !boss)
return false;
}
NTC_DoCast(NTConfig_AttackSecondary, _usehand2, target);
}
else
{
if(boss)
{
if((_maxattacks % 2) == 1)
NTA_MoveCloseInt(target, _range1);
NTC_DoCast(_attackprimary, _usehand1, target);
}
else
return false;
}
if(boss)
{
if((_maxattacks % 4) == 0 && target.hp >= _prehp)
{
if(target.classid == 526)
return false;
}
if((_maxattacks % 8) == 0)
{
if(target.hp < _prehp)
_prehp = target.hp;
else
return false;
}
}
else
{
if((_maxattacks % 4) == 0)
{
if(target.hp < _prehp)
_prehp = target.hp;
else
return false;
}
}
if(NTConfig_CheckSafe)
{
if(!NTTMGR_CheckSafe(1))
return false;
}
}
return true;
// return false;
}
소서리스 공격패턴을 네크로에 복사하고, 필요없는 부분은 지웠어요. //주석으로 처리했어요.
=================================================================
<NTConfig_Necromancer.dbl>
소서리스 캐릭파일을 복사해서 네크로로 만들었고,
맨 아래 스킬설정은 이렇게 바꿨고요.
NTConfig_AttackFirst = 84; // Cast your first spell once. Set to 0 if you won't
NTConfig_AttackBoss = 84; // Cast your primary spell to boss.
NTConfig_AttackOthers = 74; // Cast your primary spell to others.
NTConfig_AttackSecondary = 74; // 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)
84:본스피어
74:시폭
그리고 공격전에 저주해주실분은
디크리피파이는 87, 로우레지스트는 91 을
NTConfig_AttackFirst =
이 부분에 써 주시면 되고요.
=================================================================
일단 복사+붙여넣기로 만들어서 장소제한이 많아요.
바알쫄 잡기도 힘들고,
피트나 머셜리엄 같은 곳을 하려면. 위에서
NTConfig_AttackOthers =
이 부분을 84로 해줘야 제대로 사냥 가능해요..
첨부파일은 바꾼파일이구요.
기존 스크립트를 지우거나 하지 않고 첨가만 했기때문에
교체하셔도 문제 없어요.
그리고.............................. heavenlyStone 님..
본넥 스크립트 제대로 만들어주시면.. 감사하겠어요. ^^
네크로로 해보고 싶어서.만들었구요
파볼소서 공격패턴이랑 비슷해서
소서스크립트를 네크로파트로 옮기고 해봤는데............
되네요. ^^
시체생기면 시폭터트리게 해주면 더 빨리 사냥할텐데.. 아쉬워요.
현재는 보스몹은 본스피어로, 기타는 시폭으로 했고... 사냥은 되지만 지역에 따라서 안되는 곳이 더 많네요
=================================================================
<NTPrecast.dbl>
case NTC_CHAR_CLASS_NECROMANCER:
//NTC_DoCast(235, NTC_HAND_RIGHT);
NTC_DoCast(68, NTC_HAND_RIGHT);
if(!NTC_DoCast(94, NTC_HAND_RIGHT)) // Fire Golem
if (!NTC_DoCast(85, NTC_HAND_RIGHT)) // Blood Golem
NTC_DoCast(75, NTC_HAND_RIGHT); // Clay Golem
break;
235가 드루스킬이라서 68(본아머)로 바꾸었고요.
=================================================================
<NTAttack.dbl>
case 112: // Blessed Hammer
case 74: // Corpse Explosion (nec)
return NTA_DAMAGE_NONE;
74(시폭)을 이뮨없는 공격에 추가해줬구요.
case 59: // Blizzard
case 64: // Frozen Orb
return NTA_DAMAGE_COLD;
case 84: // Bone Spear (nec)
return NTA_DAMAGE_MAGIC;
84(본스피어)를 매직데미지에 추가했어요.
function NTA_NecromancerAttackInt(target, boss, maxattacks)
{
var _attackprimary;
var _maxattacks = 0;
var _usehand1, _usehand2;
var _damagetype1, _damagetype2;
var _range1, _range2;
var _prehp;
_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 48: // Nova
// _range1 = 10;
// break;
default:
_range1 = 20;
break;
}
switch(NTConfig_AttackSecondary)
{
// case 48: // Nova
// _range2 = 10;
// break;
default:
_range2 = 20;
break;
}
// if(NTConfig_CastStatic < 100)
// {
// var _staticlevel = NTC_CheckSkill(74);
//
// if(_staticlevel > 0 && NTA_GetResistance(target, NTA_DAMAGE_FIRE) < 100 && (boss || checkCollision(me, target, 3) == 0))
// {
// var _cast = 0;
// var _staticrange = Math.floor(1.0 + 0.668*_staticlevel);
//
// while(_cast++ < 10 && parseInt(target.hp*100/128) > NTConfig_CastStatic)
// {
// NTA_MoveCloseInt(target, _staticrange);
// NTC_DoCast(74, NTC_HAND_RIGHT, target);
// }
// }
// }
_prehp = target.hp;
while(_maxattacks++ < maxattacks && NTA_IsValidTarget(target, true))
{
if(checkCollision(me, target, 3))
{
if(boss)
NTA_MoveCloseInt(target, Math.round(getDistance(me, target)/2));
else if(me.area != 131)
return false;
}
if(NTA_GetResistance(target, _damagetype1) < 100)
{
if((_maxattacks % 2) == 1)
{
if(!NTA_MoveCloseInt(target, _range1) && !boss)
return false;
}
NTC_DoCast(_attackprimary, _usehand1, target);
}
else if(NTConfig_AttackSecondary > 0 && NTA_GetResistance(target, _damagetype2) < 100)
{
if((_maxattacks % 2) == 1)
{
if(!NTA_MoveCloseInt(target, _range2) && !boss)
return false;
}
NTC_DoCast(NTConfig_AttackSecondary, _usehand2, target);
}
else
{
if(boss)
{
if((_maxattacks % 2) == 1)
NTA_MoveCloseInt(target, _range1);
NTC_DoCast(_attackprimary, _usehand1, target);
}
else
return false;
}
if(boss)
{
if((_maxattacks % 4) == 0 && target.hp >= _prehp)
{
if(target.classid == 526)
return false;
}
if((_maxattacks % 8) == 0)
{
if(target.hp < _prehp)
_prehp = target.hp;
else
return false;
}
}
else
{
if((_maxattacks % 4) == 0)
{
if(target.hp < _prehp)
_prehp = target.hp;
else
return false;
}
}
if(NTConfig_CheckSafe)
{
if(!NTTMGR_CheckSafe(1))
return false;
}
}
return true;
// return false;
}
소서리스 공격패턴을 네크로에 복사하고, 필요없는 부분은 지웠어요. //주석으로 처리했어요.
=================================================================
<NTConfig_Necromancer.dbl>
소서리스 캐릭파일을 복사해서 네크로로 만들었고,
맨 아래 스킬설정은 이렇게 바꿨고요.
NTConfig_AttackFirst = 84; // Cast your first spell once. Set to 0 if you won't
NTConfig_AttackBoss = 84; // Cast your primary spell to boss.
NTConfig_AttackOthers = 74; // Cast your primary spell to others.
NTConfig_AttackSecondary = 74; // 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)
84:본스피어
74:시폭
그리고 공격전에 저주해주실분은
디크리피파이는 87, 로우레지스트는 91 을
NTConfig_AttackFirst =
이 부분에 써 주시면 되고요.
=================================================================
일단 복사+붙여넣기로 만들어서 장소제한이 많아요.
바알쫄 잡기도 힘들고,
피트나 머셜리엄 같은 곳을 하려면. 위에서
NTConfig_AttackOthers =
이 부분을 84로 해줘야 제대로 사냥 가능해요..
첨부파일은 바꾼파일이구요.
기존 스크립트를 지우거나 하지 않고 첨가만 했기때문에
교체하셔도 문제 없어요.
그리고.............................. heavenlyStone 님..
본넥 스크립트 제대로 만들어주시면.. 감사하겠어요. ^^

