I tried adding a Reactive Chain function when I was working on it, that just slowed the script down so I just put the RCs after the CCs since the crits are more important.Crassocracy said:One thing that is missing from possible ability choices is the "Counter-Attack" reactive ability chain line. Would it be possible to add this new line into Kram at this point?
(Yes, I do prefer Kram over FB)
function CombatBuffsUp()
{
if "${HowManyInCombatBuffs}==0"
return
for (i:Set[1] ; ${i}<=${HowManyInCombatBuffs} ; i:Inc)
if "${Me.Ability[${CombatBuff${i}}].IsReady} && !${Me.Effect[${CombatBuff${i}}](exists)} && ${Me.TargetHealth} >30"
{
Me.Ability[${CombatBuff${i}}]:Use
call MeCasting
}
}
function CheckForChain()
{
if "${HowManyChains}==0"
Return
if "!${Me.Target.ID(exists)}"
return
for (i:Set[1] ; ${i}<=${HowManyChains} ; i:Inc)
if "${Me.Ability[${Chain${i}}].IsReady} && ${Me.InCombat} && ${Me.Ability[${Chain${i}}].EnduranceCost}<=${Me.Endurance}"
{
Me.Ability[${Chain${i}}]:Use
call MeCasting
}
}
function Finishers()
{
if "${HowManyFinishers}==0"
Return
for (i:Set[1] ; ${i}<=${HowManyFinishers} ; i:Inc)
if "${Me.Ability[${Finisher${i}}].IsReady} && ${Me.InCombat} && ${Me.Ability[${Finisher${i}}].EnduranceCost}<${Me.Endurance}"
{
Me.Ability[${Finisher${i}}]:Use
call MeCasting
}
}
function BuffUp()
{
if "${HowManyInCombatBuffs}==0"
Return
for (i:Set[1] ; ${i}<=${HowManyInCombatBuffs} ; i:Inc)
if "!${Me.Effect[${Buff${i}}](exists)} || ${Me.Effect[${Buff${i}}].TimeRemaining}<=60"
{
Pawn[me]:Target
Me.Ability[${Buff${i}}]:Use
call MeCasting
}
}
function ToggleBuffs()
{
if "${HowManyToggleBuffs}==0"
Return
for (i:Set[1] ; ${i}<=${HowManyToggleBuffs} ; i:Inc)
if "!${Me.Effect[${ToggleBuff${i}}](exists)}"
{
Me.Ability[${ToggleBuff${i}}]:Use
call MeCasting
}
}
If for some reason the Krambot now is not working for harvesting try the first one. You can find it hereAndykay said:Can someone go through exactly how i'd just make this script harvest trees, without any other additions?
I've tried making the target "tree" and "dry" but it just runs straight past them and loops around.