heya,
I'm still getting this "The 'TargetEffect' MEMBER of the 'character' datatype should no longer be used!!!" spammed in the consoul of isx, is there anything to be conerned with here? Doesn't seem to affect the bot really its just spamming the message, sure it makes it a pain to really debug or referrence anything but other than that seems to not be impacting things negativly. Anyone know how to get rid of it?
Also I want to get some feedback on this peice of code I put together, not sure if it will work but what i am attempting to accomplish is having a way for the bot to be able to blacklist mobs that are bugged or otherwise unhitable from its current location.
I would add this in pull function:
Code:
function:bool Tag()
{
if !${usePullAttack}
return TRUE
call DebugIt ". Tag: Starting Tag Routine"
call DoEvents
VG:ExecBinding[movebackward,release]
VG:ExecBinding[moveforward,release]
; Tag Target using Pull Abilites
if ${Me.Target.ID(exists)} && ${Me.Target.Distance} <= ${maxPullRange}
{
if ${Me.Ability[${pullAttack}].IsReady}
{
call DebugIt ". Tag: Tagging with: ${pullAttack}"
Face
VGExecute /stand
; First, send in the pet
if ${Me.HavePet}
call CheckForPetAttacks
Me.Ability[${pullAttack}]:Use
[COLOR="Red"]wait 12
if ${Me.TargetHealth} == 100
{
Me.Ability[${pullAttack}]:Use
tTimeOut:Set[${Time.Timestamp}]
}
do
{
if ${Me.TargetHealth} == 100 && ( ${Math.Calc[${Time.Timestamp} - ${tTimeOut.Timestamp}]} > 15 )
{
MobBlackList:Set[${Me.Target.ID}]
call DebugIt "NOTICE: Mob health not dropping!! Adding to blacklist (Tag failed)"
echo "Timeout: ${Math.Calc[${Time.Timestamp} - ${tTimeOut.Timestamp}]}"
VGExecute /cleartarget
cState:Set[KB_MOVE]
tTimeOut:Set[${Time.Timestamp}]
return FALSE
}
}
while ${Me.TargetHealth} == 100 && ${Me.Target(exists)}
return TRUE[/color]
}
else
{
call DebugIt ". Tag: Pull ability was not ready"
}
}
else
{
call DebugIt ". Tag: Target is to Far away or does not exists"
}
; Either we are to far away or Pull ability not ready
return FALSE
}
}
Any feedback is appreciated
**This code does work, tested it and it will black mobs that it can not pull instead of looping on them forever.
Added waits and de-commented the mecasting for fastheal. This prevents the bot from double healing which is nice on the mana conservation for healing bots.
Code:
function:bool CombatHeal()
{
if ${useFastHeal} && ${Me.HealthPct} < ${fastHealPct} && ${Me.Ability[${fastHeal}].IsReady}
{
;cast big heal
Pawn[me]:Target
Me.Ability[${fastHeal}]:Use
call DebugIt ". CombatHeal with health at: ${Me.HealthPct}"
call DebugIt ". CombatHeal Fast heal: ${Me.Ability[${fastHeal}]} "
call MeCasting
[COLOR="Red"]wait 3[/COLOR]
return TRUE
}
if ${useBigHeal} && ${Me.HealthPct} < ${bigHealPct} && ${Me.Ability[${bigHeal}].IsReady}
{
;cast big heal
Pawn[me]:Target
Me.Ability[${bigHeal}]:Use
call DebugIt ". CombatHeal with health at: ${Me.HealthPct}"
call DebugIt ". CombatHeal Big heal: ${Me.Ability[${bigHeal}]} "
call MeCasting
[COLOR="Red"]wait 3[/COLOR]
return TRUE
}
if ${useSmallHeal} && ${Me.HealthPct} < ${smallHealPct} && ${Me.Ability[${smallHeal}].IsReady}
{
;cast small heal
Pawn[me]:Target
Me.Ability[${smallHeal}]:Use
call DebugIt ". CombatHeal with health at: ${Me.HealthPct}"
call DebugIt ". CombatHeal Small heal: ${Me.Ability[${smallHeal}]} "
call MeCasting
[COLOR="Red"]wait 3[/COLOR]
return TRUE
}
This file is in the Configs folder namded Default_Combat_Routines.