Quote:
|
ehm eine frage der d2nt moddet bot pickt deutlich langsamer als kukbot richtig? und daher für pubruns ungeeignet richtig? oder liege ich mit meiner aussage falsch?
|
Du kannst das über umwege beschleunigen.
z.b. hat es in der Pickupfunktion ein päuschen
Quote:
function NTSI_PickUpItemInt(snagitem)
{
for(var i = 0 ; i < 20 ; i++)
{
if((i % 5) == 0 && (snagitem.mode == 3 || snagitem.mode == 5))
{
if(GetDistance(me, snagitem) > 2)
NTM_MoveTo(snagitem.areaid, snagitem.x, snagitem.y);
if(NTC_ClearCursor())
NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, snagitem);
}
NTC_Delay(100);
if(snagitem.mode != 3 && snagitem.mode != 5)
{
NTC_PingDelay(200);
return true;
}
}
return false;
}
|
Ob es sinnvoll ist es zu entfernen musst du selbst testen. (Es würde nur die Zeit zwischen 2 picks und nicht die Zeit bis zum ersten Pick ändern.)
Des weiteren:
Items werden eingesammelt wenn die Funktion
Quote:
ausgeführt wird.
Das ist das Hauptproblem des NT Die Funktion wird erst ausgeführt, wenn das Kämpfen abgeschlossen ist.
Natürlich kannst du aber jede beliebige Handlung des NT's nehmen und ihm befehlen während dieser Handlung auch die Funktion NTSI_PickItems() auszuführen.
Ein Beispiel (nehmen wir wieder Clearposition):
Quote:
function NTA_ClearPosition(range, spectype)
{
var _orgx, _orgy;
var _target;
var _killnum = 0;
if(NTConfig_AttackSkill[2] < 1)
return false;
if(arguments.length < 1)
range = 20;
if(arguments.length < 2)
spectype = 0;
_orgx = me.x;
_orgy = me.y;
for(var i = 0 ; i < 2 ; i++)
{
_target = NTC_GetUnit(NTC_UNIT_MONSTER);
if(_target)
{
do
{
if(NTA_IsValidTarget(_target) && (spectype == 0 || (_target.spectype & spectype)) && GetDistance(_orgx, _orgy, _target.x, _target.y) < range)
{
if(_killnum == 0)
{
if(NTConfig_AttackSkill[0] > 0 && NTA_GetResistance(_target, _NTA_SkillDamage[0]) < 100 && CheckCollision(me, _target, 3))
NTC_DoCast(NTConfig_AttackSkill[0], _NTA_SkillHand[0], _target);
}
if(NTA_Attack(_target, false, 20))
_killnum++;
}
} while(_target.GetNext());
}
}
if(me.classid == NTC_CHAR_CLASS_PALADIN)
{
if(NTConfig_UseRedemption && _killnum > 1 && NTC_PutSkill(124, NTC_HAND_RIGHT))
NTC_PingDelay(1000);
}
return (_killnum > 0);
}
|
So theoretisch müsste er jedesmal items einsammeln sobald ein Gegner stirbt, wenn wir es in das hier ändern:
Quote:
function NTA_ClearPosition(range, spectype)
{
var _orgx, _orgy;
var _target;
var _killnum = 0;
if(NTConfig_AttackSkill[2] < 1)
return false;
if(arguments.length < 1)
range = 20;
if(arguments.length < 2)
spectype = 0;
_orgx = me.x;
_orgy = me.y;
for(var i = 0 ; i < 2 ; i++)
{
_target = NTC_GetUnit(NTC_UNIT_MONSTER);
if(_target)
{
do
{
if(NTA_IsValidTarget(_target) && (spectype == 0 || (_target.spectype & spectype)) && GetDistance(_orgx, _orgy, _target.x, _target.y) < range)
{
if(_killnum == 0)
{
if(NTConfig_AttackSkill[0] > 0 && NTA_GetResistance(_target, _NTA_SkillDamage[0]) < 100 && CheckCollision(me, _target, 3))
NTC_DoCast(NTConfig_AttackSkill[0], _NTA_SkillHand[0], _target);
}
if(NTA_Attack(_target, false, 20))
{
_killnum++;
NTSI_PickItems()
}
}
} while(_target.GetNext());
}
}
if(me.classid == NTC_CHAR_CLASS_PALADIN)
{
if(NTConfig_UseRedemption && _killnum > 1 && NTC_PutSkill(124, NTC_HAND_RIGHT))
NTC_PingDelay(1000);
}
return (_killnum > 0);
}
|
Ob das funktioniert musst du selbst testen ich hab ja geschrieben theoretisch.
ES IST EBENSOGUT MÖGLICH, dass er dann die größte schei*** baut.
Das ist jetzt auch nur wenn ein gegner durch die Funktion NTA_ClearPosition stirbt und nicht z.b. durch k.a. NTA_KillBoss