Posts: 15
Threads: 4
Joined: Dec 2010
Reputation:
0
My sorc is strong enough to kill things in hell but the problem is she teleports to the middle of the group to start casting. How can i prevent this? It causes instant chicken. I know she can do it if she stands back and fights from a distance.
Posts: 452
Threads: 30
Joined: Jun 2005
Reputation:
0
If you have static field enabled she will telestomp the monsters to use it but alas she is no hammerdin,try disabling static by setting it to 100% in you charactername config.Default range for lightning and chain lightning is 25 and for static is 3(at least i think its 3 its definitely closer than it is for lightning)
[SIGPIC][/SIGPIC]Well I’m not there all the time you know Some people, some people, some people, Call it insane, yeah they call it insane, (sugar) I play russian roulette everyday, a man’s sport, With a bullet called life, yeah called life,(sugar)
Posts: 15
Threads: 4
Joined: Dec 2010
Reputation:
0
I like her using static field cuz it helps out alot. But if it will help keep me alive i will disable it and see if that helps.
Posts: 4,052
Threads: 275
Joined: Aug 2005
Reputation:
0
schwig84 Wrote:I like her using static field cuz it helps out alot. But if it will help keep me alive i will disable it and see if that helps.
I found some code that might help your problem... but I don't understand any of it so...
Code: function NTA_SorceressAttackInt(target, firstorder)
{
var _primaryindex;
if(NTTMGR_CheckCurse(NTConfig_CheckSelfSafe&0x10, NTConfig_CheckMercSafe&0x10))
{
if(!NTTMGR_VisitTown())
return 0;
}
if(firstorder && NTConfig_AttackSkill[0] > 0 && NTA_GetResistance(target, _NTA_SkillDamage[0]) < 100 && me.GetSkillStatus(NTConfig_AttackSkill[0]) != 8)
{
if(GetDistance(me, target) > _NTA_SkillRange[0] || !CheckCollision(me, target, 4))
{
var _pos = me.GetOptimalAttackPos(target.areaid, target.x, target.y, _NTA_SkillRange[0], 4);
if(_pos)
NTM_MoveTo(target.areaid, _pos[0], _pos[1], 0);
}
if(!NTC_CastSkill(NTConfig_AttackSkill[0], _NTA_SkillHand[0], target))
return 2;
return 3;
}
if(NTConfig_CastStatic < 100 && parseInt(target.hp*100/target.hpmax) > NTConfig_CastStatic && NTA_GetResistance(target, NTA_DAMAGE_LIGHTNING) <= 80)
{
var _staticlevel = NTC_GetSkillLevel(42);
if(_staticlevel > 0)
{
var _staticrange;
var _castx, _casty;
_staticrange = Math.floor((5+_staticlevel-1)*2/3);
if(GetDistance(me, target) > _staticrange || !CheckCollision(me, target, 6))
{
var _pos = me.GetOptimalAttackPos(target.areaid, target.x, target.y, _staticrange, 6);
if(_pos)
NTM_MoveTo(target.areaid, _pos[0], _pos[1], 0);
}
if(target.x < me.x)
_castx = me.x - 1;
else if(target.x > me.x)
_castx = me.x + 1;
else
_castx = me.x;
if(target.y < me.y)
_casty = me.y - 1;
else if(target.y > me.y)
_casty = me.y + 1;
else
_casty = me.y;
if(!CheckCollision(target.areaid, _castx, _casty, 1))
{
_castx = me.x;
_casty = me.y;
}
if(!NTC_CastSkill(42, NTC_HAND_RIGHT, _castx, _casty))
return 2;
return 3;
}
}
_primaryindex = (target.spectype&0x0A) ? 1 : 3;
if(NTA_GetResistance(target, _NTA_SkillDamage[_primaryindex]) <= 90)
{
if(!NTA_SorceressCastSkillInt(_primaryindex, target))
return 2;
return 3;
}
if(NTConfig_AttackSkill[5] > 0 && NTA_GetResistance(target, _NTA_SkillDamage[5]) <= 80)
{
if(!NTA_SorceressCastSkillInt(5, target))
return 2;
return 3;
}
if(NTA_GetResistance(target, _NTA_SkillDamage[_primaryindex]) < 100 || (_primaryindex == 1 && NTC_GetMerc()))
{
if(!NTA_SorceressCastSkillInt(_primaryindex, target))
return 2;
return 3;
}
return 1;
}
function NTA_SorceressCastSkillInt(index, target)
{
if(me.GetSkillStatus(NTConfig_AttackSkill[index]) != 8)
{
if(GetDistance(me, target) > _NTA_SkillRange[index] || !CheckCollision(me, target, 4))
{
var _pos = me.GetOptimalAttackPos(target.areaid, target.x, target.y, _NTA_SkillRange[index], 4);
if(_pos)
NTM_MoveTo(target.areaid, _pos[0], _pos[1], 0);
}
return NTC_CastSkill(NTConfig_AttackSkill[index], _NTA_SkillHand[index], target);
}
if(NTConfig_AttackSkill[index+1] > 0)
{
if(GetDistance(me, target) > _NTA_SkillRange[index+1] || !CheckCollision(me, target, 4))
{
var _pos = me.GetOptimalAttackPos(target.areaid, target.x, target.y, _NTA_SkillRange[index+1], 4);
if(_pos)
NTM_MoveTo(target.areaid, _pos[0], _pos[1], 0);
}
return NTC_CastSkill(NTConfig_AttackSkill[index+1], _NTA_SkillHand[index+1], target);
}
for(var i = 0 ; i < 25 ; i++)
{
NTC_Delay(NTC_DELAY_FRAME);
if(me.GetSkillStatus(NTConfig_AttackSkill[index]) != 8)
break;
}
return false;
}
It's located in "NT Attack" under "D2NT31_NTBot42\D2NT\scripts\libs\common"
Posts: 15
Threads: 4
Joined: Dec 2010
Reputation:
0
I found it and looked it over. I don't understand any of it either. I don't want to mess with anything i cant comprehend. I don't want to get non stop errors all day and have to delete it all and start from scratch. If anyone out there knows a way around this problem it would be appreciated.
Posts: 4,052
Threads: 275
Joined: Aug 2005
Reputation:
0
What you could do is copy the file and place it somewhere easy to find but away from d2nt, then try your heart out to find a solution...
Otherwise you could try to get skidude in here to answer your problem, but I rarely see him on nowadays. Jammer may be able to help you out also, he frequents, so chances are he'll see the post.
Posts: 452
Threads: 30
Joined: Jun 2005
Reputation:
0
Yeah I'll take a look tonight after work.[COLOR="Silver"]
---------- Post added at 05:23 PM ---------- Previous post was at 07:16 AM ----------
[/COLOR] schwig84 Wrote:I found it and looked it over. I don't understand any of it either. I don't want to mess with anything i cant comprehend. I don't want to get non stop errors all day and have to delete it all and start from scratch. If anyone out there knows a way around this problem it would be appreciated. I have a workaround for you that only uses static on act bosses,or whatever boss you choose with a little extra work,And Blue I'm really impressed, for not knowing what the coding means you found the exact area we need to work in.Like Blue said "It's located in "NT Attack" under "D2NT31_NTBot42\D2NT\scripts\libs\common"
So find NTAttack and Control F these next lines
if(NTConfig_CastStatic
This will bring you to this section of code
Code: [COLOR=YellowGreen]if(NTConfig_CastStatic < 100 && parseInt(target.hp*100/target.hpmax) > NTConfig_CastStatic && NTA_GetResistance(target, NTA_DAMAGE_LIGHTNING) <= 80)
{
var _staticlevel = NTC_GetSkillLevel(42);
if(_staticlevel > 0)
{
var _staticrange;
var _castx, _casty;
_staticrange = Math.floor((5+_staticlevel-1)*2/3);
if(GetDistance(me, target) > _staticrange || !CheckCollision(me, target, 6))
{
var _pos = me.GetOptimalAttackPos(target.areaid, target.x, target.y, _staticrange, 6);
if(_pos)
NTM_MoveTo(target.areaid, _pos[0], _pos[1], 0);
}[/COLOR]
Ok what we wanna do is replace that section of code with this next one
Code: [COLOR=SandyBrown]if(NTConfig_CastStatic < 100 && parseInt(target.hp*100/target.hpmax) > NTConfig_CastStatic && NTA_GetResistance(target, NTA_DAMAGE_LIGHTNING) <= 80 && (target.name == "Mephisto" || target.name == "Andariel" || target.name == "Duriel" ||target.name == "Diablo" || target.name == "Baal"))
{
var _staticlevel = NTC_GetSkillLevel(42);
if(_staticlevel > 0)
{
var _staticrange;
var _castx, _casty;
_staticrange = Math.floor((5+_staticlevel-1)*2/3);
if(GetDistance(me, target) > _staticrange || !CheckCollision(me, target, 6))
{
var _pos = me.GetOptimalAttackPos(target.areaid, target.x, target.y, _staticrange, 6);
if(_pos)
NTM_MoveTo(target.areaid, _pos[0], _pos[1], 0);
}[/COLOR]
What this will do is to only use static on the act bosses which is where you really need it anyway.If you want to add anymore bosses to use static on just add their names to the text following the format that is there Example:We want to add Threshsocket so we add His name to the text like so
Code: [COLOR=Orange](target.name == "Mephisto" || target.name == "Andariel" || target.name == "Duriel" ||target.name == "Diablo" || target.name == "Threshsocket" ||
target.name == "Baal"))[/COLOR]
[COLOR=SandyBrown]
[/COLOR]
That way we now only cast static on whomever we would like instead of everyone.And if you let me know what your attack skills are i can custom fix your NTAttack to work even better.
[SIGPIC][/SIGPIC]Well I’m not there all the time you know Some people, some people, some people, Call it insane, yeah they call it insane, (sugar) I play russian roulette everyday, a man’s sport, With a bullet called life, yeah called life,(sugar)
Posts: 7
Threads: 2
Joined: Jan 2011
Reputation:
0
I was having this problem and looked at this thread. I disabled static and all good.
My res is crap and i rape hell. I'm using the standard infinity sorc build for nova for pvp with es. While I'm botting i focus more on chain lightning and lightning rather then nova. I get about 1 chicken per 15 runs. I set my chicken to 40 instead of 30 so I don't loose xp. I am posting a link to my bot in action.It's a crap iphone vid but... Thanks to this website and those who reply to d2nt bot 3.1 topics. You know who you are.
YouTube - D2nt bot
|