Slice wrote:Would it be possible to take the checkgrphealth sub and modify it to use a parameter list from an autohealt command (Auto Heal Targets) instead of having it check current group members. So the format of the command would be:
/tell botname autohealt target1 target2 target3 target4 target5
I was looking at how the sits.mac takes a parameter list to turn it into a loop but I'm not quite sure how to integrate this into the heal sub correctly.
Slice
Try these. If it works I will update the macro. Two new commands in this.
healtargets
healgroup
healtargets takes a list of targets and will make the bot watch those for heals. Will always watch itself so you don't need to specify the bot as a target. Will only take up to 6 targets atm.
/tell botname healtargets target1 target2 target3 target4 target5 target6
should make the bot watch itself and those 6 targets for heals.
healgroup will switch back to group watch mode.
Code: Select all
|bothealer.inc
|Bot healer routines
|Must have botspell.inc loaded also to use this.
|
|Version 2.0
|
|Commands included in this module:
|autoheal Toggle group watching auto heals.
|healtargets Watch list of targets with autoheal.
|healgroup Watch group for autoheal
Sub Do-healgroup
/varset GroupHeal 1
/varset TargetHeal 0
/return
Sub Do-healtargets
/if n $strlen("$p1")<=0 {
/varset GroupHeal 1
/varset TargetHeal 0
/return
} else /if n $strlen("$p2")<=0 {
/varset CheckMax 1
/varset a(4,0) $char(id)
/varset a(4,1) $id($p1)
} else /if n $strlen("$p3")<=0 {
/varset CheckMax 2
/varset a(4,0) $char(id)
/varset a(4,1) $id($p1)
/varset a(4,2) $id($p2)
} else /if n $strlen("$p4")<=0 {
/varset CheckMax 3
/varset a(4,0) $char(id)
/varset a(4,1) $id($p1)
/varset a(4,2) $id($p2)
/varset a(4,3) $id($p3)
} else /if n $strlen("$p5")<=0 {
/varset CheckMax 4
/varset a(4,0) $char(id)
/varset a(4,1) $id($p1)
/varset a(4,2) $id($p2)
/varset a(4,3) $id($p3)
/varset a(4,4) $id($p4)
} else /if n $strlen("$p6")<=0 {
/varset CheckMax 5
/varset a(4,0) $char(id)
/varset a(4,1) $id($p1)
/varset a(4,2) $id($p2)
/varset a(4,3) $id($p3)
/varset a(4,4) $id($p4)
/varset a(4,5) $id($p5)
} else {
/varset CheckMax 6
/varset a(4,0) $char(id)
/varset a(4,1) $id($p1)
/varset a(4,2) $id($p2)
/varset a(4,3) $id($p3)
/varset a(4,4) $id($p4)
/varset a(4,5) $id($p5)
/varset a(4,6) $id($p6)
}
/varset GroupHeal 0
/varset TargetHeal 1
/return
Sub CheckListHealth
/if n "$GroupHeal"==1 /return
/if n "$TargetHeal"==0 /return
/if n "$IsHealer"==0 /return
/if n "$IsPally"==1 /return
/varset CheckCount 0
:ListHealthLoop
/doevents
/if n $spawn($a(4,$CheckCount),hp,pct)<41 {
/if n $spawn(a(4,$CheckCount),hp,pct)>=1 {
/if $spawn($a(4,$CheckCount),class)=="Warrior" /call Tankheal $a(4,$CheckCount)
/if $spawn($a(4,$CheckCount),class)=="Paladin" /call Tankheal $a(4,$CheckCount)
/if $spawn($a(4,$CheckCount),class)=="Shadow Knight" /call Tankheal $a(4,$CheckCount)
/if $spawn($a(4,$CheckCount),class)=="Monk" /call Tankheal $a(4,$CheckCount)
/if $spawn($a(4,$CheckCount),class)=="Ranger" /call Tankheal $a(4,$CheckCount)
}
}
/if n $spawn($a(4,$CheckCount),hp,pct)>=1 {
/if n $spawn($a(4,$CheckCount),hp,pct)<41 {
/call CasterHeal $a(4,$CheckCount)
}
}
/if n $CheckCount>=$CheckMax /return
/varadd CheckCount 1
/doevents
/goto :ListHealthLoop
/return
Sub CheckGrpHealth
/varset GroupMember 0
/if n "$GroupHeal"==0 /return
/if n "$TargetHeal"==1 /return
/if n "$IsHealer"==0 /return
/if n "$IsPally"==1 /return
/varcalc GroupMax $group(count)-1
:GroupLoop
/doevents
/if n $spawn($group($GroupMember),hp,pct)<41 {
/if n $spawn($group($GroupMember),hp,pct)>=1 {
/if "$spawn($group($GroupMember),class)"=="Warrior" /call Tankheal $spawn($group($GroupMember)
/if "$spawn($group($GroupMember),class)"=="Paladin" /call Tankheal $spawn($group($GroupMember)
/if "$spawn($group($GroupMember),class)"=="Shadow Knight" /call Tankheal $spawn($group($GroupMember)
/if "$spawn($group($GroupMember),class)"=="Monk" /call Tankheal $spawn($group($GroupMember)
/if "$spawn($group($GroupMember),class)"=="Ranger" /call Tankheal $spawn($group($GroupMember)
}
}
/if n $spawn($group($GroupMember),hp,pct)>=1 {
/if n $spawn($group($GroupMember),hp,pct)<41 {
/call CasterHeal $spawn($group($GroupMember)
}
}
/if n $GroupMember>=$GroupMax /return
/varadd GroupMember 1
/doevents
/goto :GroupLoop
/return
Sub PalGrpHealChk
/varset GroupMember 0
/if n "$IsPally"==0 /return
/if n "$IsHealer"==0 /return
/varcalc GroupMax $group(count)-1
/varset LowHealthCheck 0
:GroupLoop
/doevents
/if n $spawn($group($GroupMember),hp,pct)<81 {
/if n $spawn($group($GroupMember),hp,pct)>=1 {
/varadd LowHealthCheck 1
}
}
/if n $LowHealthCheck>=3 /call PalGroupheal
/if n $GroupMember>=$GroupMax /return
/varadd GroupMember 1
/doevents
/goto :GroupLoop
/return
Sub PalHealChk
/varset GroupMember 0
/if n "$IsPally"==0 /return
/if n "$IsHealer"==0 /return
/varcalc GroupMax $group(count)-1
:GroupLoop
/doevents
/if n $spawn($group($GroupMember),hp,pct)<81 {
/if n $spawn($group($GroupMember),hp,pct)>=1 {
/call PallyHeal
}
}
/if n $GroupMember>=$GroupMax /return
/varadd GroupMember 1
/doevents
/goto :GroupLoop
/return
||| Toggle auto heal on and off.
Sub Do-autoheal
/if n $strlen("$p1")<=0 {
/if n $IsHealer==0 /tell $MasterName Autoheal=off
/if n $IsHealer==1 /tell $MasterName Autoheal=on
/return
}
/if $p1=="off" /varset IsHealer 0
/if $p1=="on" /varset IsHealer 1
/tell $MasterName Autoheal=$IsHealer
/return
|||Heal called when healing a tank.
Sub Tankheal
/if n $p0==$char(id) /press F1
/if n $p0!=$char(id) /target id $p0
/stand
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||| Edit Edit heal message
||| Edit Spell to auto cast on Melee
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/g COMPLETE HEAL on %T in 10seconds
/call SpellSub "Complete Healing"
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/if "$SitAfterCast"=="1" /sit on
/press esc
/return
|||Heal called when healing a non tank.
Sub Casterheal
/if n $p0==$char(id) /press F1
/if n $p0!=$char(id) /target id $p0
/stand
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||| Edit Edit heal message
||| Edit Spell to auto cast on Non Melee
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/g Healing %T
/call SpellSub "Supernal Remedy"
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/if "$SitAfterCast"=="1" /sit on
/press esc
/return
Sub PalGroupheal
/stand
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||| Edit Edit heal message
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/if n $Combatstatus==1 /g Attempting GROUP HEAL for 660 Pt heal
/if n $Combatstatus==0 /g GROUP HEAL COMING
/call SpellSub "Healing Wave of Prexus"
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/if "$SitAfterCast"=="1" /sit on
/press esc
/return
Sub PallyHeal
/if n $Combatstatus==1 /return
/if n $group($GroupMember)==$char(id) /press F1
/if n $group($GroupMember)!=$char(id) /target id $group($GroupMember)
/stand
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||| Edit Edit heal message
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/if n $Combatstatus==0 /g Celestial Cleansing on %t
/call SpellSub "Celestial Cleansing"
/varset HealTimer 300
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/if "$SitAfterCast"=="1" /sit on
/press esc
/return
Code: Select all
|botcore.inc
|Bot core module
|version 2.0
#chat tell
#define GroupHeal v46
#define TargetHeal v47
#define CheckCount v48
#define CheckMax v49
#define MasterName v50
#define CmdArrayNum v51
#define CmdArraySize v52
#define GroupMember v53
#define GroupMax v54
#define ChatInput1 v55
#define ChatInput2 v56
#define ChatInput3 v57
#define SitAfterCast v58
#define MyXLoc v59
#define MyYLoc v60
#define IsHealer v61
#define countdown v62
#define CmdList v63
#define RangeMin v70
#define RangeMax v71
#define FastRange v72
#define Combatstatus v73
#define Remem v75
#define MyClass v76
#define IsPally v77
#define EnrageVar v78
#define FollowTarget v79
#define Afollow v80
#define MName1 v81
#define MName2 v82
#define MName3 v83
#define MName4 v84
#define MName5 v85
#define MName6 v86
#define Fail v94
#define DoAgain v95
#define StartCast v96
#define SpellSlot v97
#define SpellName v98
#define CastTime v99
#define CTimer t39
|Chat handeling sub.
Sub Event_Chat
/varset CmdArrayNum 0
/if "$MName1"=="$p1" /goto :SetupTime
/if "$MName2"=="$p1" /goto :SetupTime
/if "$MName3"=="$p1" /goto :SetupTime
/if "$MName4"=="$p1" /goto :SetupTime
/if "$MName5"=="$p1" /goto :SetupTime
/if "$MName6"=="$p1" /goto :SetupTime
/tell $MName1 $p1 told me: $p2
/return
:SetupTime
/varset MasterName $p1
:ArrayTime
/if "$arg(1,"$p2")"=="$a(1,$CmdArrayNum)" {
/call Do-$a(1,$CmdArrayNum) $p2
/return
}
/varadd CmdArrayNum 1
/if n $CmdArrayNum>=$CmdArraySize /return
/goto :ArrayTime
/return
sub CountArraySize
/varset l0 0
:CountArrayLoop
/if n $strlen("$a($p0,$l0)")<=0 {
/goto :CountArrayEnd
}
/varadd l0 1
/goto :CountArrayLoop
:CountArrayEnd
/return $l0
Sub Do-target
/if n $strlen("$p1")<=0 {
/return
} else /if n $strlen("$p2")<=0 {
/target "$p1"
} else /if n $strlen("$p3")<=0 {
/target "$p1 $p2"
} else /if n $strlen("$p4")<=0 {
/target "$p1 $p2 $p3"
} else /target "$p1 $p2 $p3 $p4"
/tell $MasterName my target is %t
/return
Sub Do-saytarget
/tell $MasterName my target is %t
/return
Sub Do-assist
/if n $strlen("$p1")<=0 {
/assist $MasterName
/delay 3
} else /if n $strlen("$p2")<=0 {
/assist "$p1"
} else /if n $strlen("$p3")<=0 {
/assist "$p1 $p2"
} else /if n $strlen("$p4")<=0 {
/assist "$p1 $p2 $p3"
} else /assist "$p1 $p2 $p3 $p4"
/tell $MasterName my target is %t
/return
Sub Do-sit
/sit off
/sit
/return
Sub Do-stand
/sit off
/return
Sub Do-notarget
/press esc
/press esc
/press esc
/return
Sub Do-afk
/varset CmdArrayNum 0
/if n $strlen("$p1")<=0 {
/afk
} else /if n $strlen("$p2")<=0 {
/afk $p1
} else /if n $strlen("$p3")<=0 {
/afk $p1 $p2
} else /if n $strlen("$p4")<=0 {
/afk $p1 $p2 $p3
} else /if n $strlen("$p5")<=0 {
/afk $p1 $p2 $p3 $p4
} else /if n $strlen("$p6")<=0 {
/afk $p1 $p2 $p3 $p4 $p5
} else /if n $strlen("$p7")<=0 {
/afk $p1 $p2 $p3 $p4 $p5 $p6
} else /if n $strlen("$p8")<=0 {
/afk $p1 $p2 $p3 $p4 $p5 $p6 $p7
} else /if n $strlen("$p9")<=0 {
/afk $p1 $p2 $p3 $p4 $p5 $p6 $p7 $p8
} else {
/afk $p1 $p2 $p3 $p4 $p5 $p6 $p7 $p8 $p9
}
/afk
/return
Sub Do-afollow
/if n $strlen("$p1")<=0 {
/return
} else /if n $strlen("$p2")<=0 {
/varset FollowTarget "$p1"
/varset Afollow 1
} else /if n $strlen("$p3")<=0 {
/varset FollowTarget "$p1 $p2"
/varset Afollow 1
} else /if n $strlen("$p4")<=0 {
/varset FollowTarget "$p1 $p2 $p3"
/varset Afollow 1
} else /varset FollowTarget "$p1 $p2 $p3 $p4"
/varset Afollow 1
}
/return
Sub Do-say
/varset CmdArrayNum 0
/if n $strlen("$p1")<=0 {
/return
} else /if n $strlen("$p2")<=0 {
/say $p1
} else /if n $strlen("$p3")<=0 {
/say $p1 $p2
} else /if n $strlen("$p4")<=0 {
/say $p1 $p2 $p3
} else /if n $strlen("$p5")<=0 {
/say $p1 $p2 $p3 $p4
} else /if n $strlen("$p6")<=0 {
/say $p1 $p2 $p3 $p4 $p5
} else /if n $strlen("$p7")<=0 {
/say $p1 $p2 $p3 $p4 $p5 $p6
} else /if n $strlen("$p8")<=0 {
/say $p1 $p2 $p3 $p4 $p5 $p6 $p7
} else /if n $strlen("$p9")<=0 {
/say $p1 $p2 $p3 $p4 $p5 $p6 $p7 $p8
} else /if n $strlen("$p10")<=0 {
} else {
/say $p1 $p2 $p3 $p4 $p5 $p6 $p7 $p8 $p9
}
/return
Sub Do-group
/varset CmdArrayNum 0
/if n $strlen("$p1")<=0 {
/return
} else /if n $strlen("$p2")<=0 {
/g $p1
} else /if n $strlen("$p3")<=0 {
/g $p1 $p2
} else /if n $strlen("$p4")<=0 {
/g $p1 $p2 $p3
} else /if n $strlen("$p5")<=0 {
/g $p1 $p2 $p3 $p4
} else /if n $strlen("$p6")<=0 {
/g $p1 $p2 $p3 $p4 $p5
} else /if n $strlen("$p7")<=0 {
/g $p1 $p2 $p3 $p4 $p5 $p6
} else /if n $strlen("$p8")<=0 {
/g $p1 $p2 $p3 $p4 $p5 $p6 $p7
} else /if n $strlen("$p9")<=0 {
/g $p1 $p2 $p3 $p4 $p5 $p6 $p7 $p8
} else /if n $strlen("$p10")<=0 {
} else {
/g "$p1 $p2 $p3 $p4 $p5 $p6 $p7 $p8 $p9
}
/return
Sub Do-tell
/varset CmdArrayNum 0
/if n $strlen("$p1")<=0 {
/return
} else /if n $strlen("$p2")<=0 {
/return
} else /if n $strlen("$p3")<=0 {
/tell $p1 $p2
} else /if n $strlen("$p4")<=0 {
/t $p1 $p2 $p3
} else /if n $strlen("$p5")<=0 {
/t $p1 $p2 $p3 $p4
} else /if n $strlen("$p6")<=0 {
/t $p1 $p2 $p3 $p4 $p5
} else /if n $strlen("$p7")<=0 {
/t $p1 $p2 $p3 $p4 $p5 $p6
} else /if n $strlen("$p8")<=0 {
/t $p1 $p2 $p3 $p4 $p5 $p6 $p7
} else /if n $strlen("$p9")<=0 {
/t $p1 $p2 $p3 $p4 $p5 $p6 $p7 $p8
} else {
/t $p1 $p2 $p3 $p4 $p5 $p6 $p7 $p8 $p9
}
/return
Sub Do-accept
/press esc
/press esc
/invite
/return
Sub Do-reject
/press esc
/press esc
/disband
/return
Sub Do-invite
/if n $strlen("$p1")<=0 {
/assist $MasterName
/delay 3
} else /if n $strlen("$p2")<=0 {
/target "$p1"
} else /if n $strlen("$p3")<=0 {
/target "$p1 $p2"
} else /if n $strlen("$p4")<=0 {
/target "$p1 $p2 $p3"
} else /target "$p1 $p2 $p3 $p4"
/tell $MasterName Inviting %t
/invite
/return
Sub Do-follow
/target $MasterName
/face
/follow
/tell $MasterName Autofollow on %t.
/return
Sub Do-stop
/varset Fail 1
/tell $MasterName Stoping.
/varset Afollow 0
/varset FollowTarget ""
/sendkey up up
/press d
/press d
/press esc
/press esc
/press esc
/press right
/return
Sub Do-sit
/stand
/sit on
/return
Sub Do-stand
/stand
/return
Sub Do-camp
/tell $MasterName Camping out.
/stand
/sit
/camp
/return
Sub Do-duck
/press d
/varset Fail 1
/varset CTimer 0
/press d
/return
Sub Do-cmds
/tell "$MasterName" Commands: "$CmdList"
/return
Sub Do-moveto
/sit off
/varset countdown 0
/varset MyXLoc $char(x)
/varset MyYLoc $char(y)
/if n $strlen("$p1")<=0 {
/assist $MasterName
/delay 3
} else /if n $strlen("$p2")<=0 {
/target "$p1"
} else /if n $strlen("$p3")<=0 {
/target "$p1 $p2"
} else /if n $strlen("$p4")<=0 {
/target "$p1 $p2 $p3"
} else /target "$p1 $p2 $p3 $p4"
/if $p1=="me" /target $MasterName
/tell $MasterName Moving to %t.
:gotopointloop
/doevents
/if $target()==FALSE {
/sendkey up up
/return
}
/face fast nopredict
/if n $target(distance)>15 /sendkey down up
/if n $target(distance)<=15 {
/sendkey up up
/return
}
/face fast nopredict
/if n $countdown>=3 {
/call Detectobst
/varset countdown 0
}
/varadd countdown 1
/doevents
/goto :gotopointloop
}
/sendkey up up
/face
/return
Sub Detectobst
/if n $MyXLoc==$char(x) /if $MyYLoc==$char(y) /call Hitobst 5
/varset MyXLoc $char(x)
/varset MyYLoc $char(y)
/return
sub Hitobst
/sendkey up up
/sendkey down down
/if n $rand(99)>50 {
/delay 2s
/sendkey up down
/sendkey down Right
/delay $p0
/sendkey up Right
/sendkey down up
/delay 2s
/sendkey up up
} else {
/delay 2s
/sendkey up down
/sendkey down left
/delay $p0
/sendkey up left
/sendkey down up
/delay 2s
/sendkey up up
}
/sendkey up down
/sendkey up Right
/sendkey up Left
/sendkey down up
/return
Code: Select all
|genbot.mac
|Generic bot example.
|Make sure you edit this macro to add the commands you want.
|Version 3.08
|Grimjack
#include botcore.inc
#include botspell.inc
#include botcombat.inc
#include bothealer.inc
#turbo 75
Sub Main
|This checks if started with a master name. Print usage statement and exit if it was not.
/if n $strlen("$p0")<=0 {
/echo Usage: /macro generic <Master Name1> <Master Name2>...
/endmacro
}
|This sets up the variables that set who can be master of bot
/if n $strlen("$p1")<=0 {
/varset MName1 $p0
/varset MName2 NULL
/varset MName3 NULL
/varset MName4 NULL
/varset MName5 NULL
/varset MName6 NULL
} else /if n $strlen("$p2")<=0 {
/varset MName1 $p0
/varset MName2 $p1
/varset MName3 NULL
/varset MName4 NULL
/varset MName5 NULL
/varset MName6 NULL
} else /if n $strlen("$p3")<=0 {
/varset MName1 $p0
/varset MName2 $p1
/varset MName3 $p2
/varset MName4 NULL
/varset MName5 NULL
/varset MName6 NULL
} else /if n $strlen("$p4")<=0 {
/varset MName1 $p0
/varset MName2 $p1
/varset MName3 $p2
/varset MName4 $p3
/varset MName5 NULL
/varset MName6 NULL
} else /if n $strlen("$p5")<=0 {
/varset MName1 $p0
/varset MName2 $p1
/varset MName3 $p2
/varset MName4 $p3
/varset MName5 $p4
/varset MName6 NULL
} else {
/varset MName1 $p0
/varset MName2 $p1
/varset MName3 $p2
/varset MName4 $p3
/varset MName5 $p4
/varset MName6 $p5
}
/varset Afollow 0
|Set if bot should autoheal. 0 for no and 1 for yes.
|Can be turned on or off by master with a command.
|Make sure you edit what spell to use in bothealer.inc if you enable this.
/varset IsHealer 0
|Set if user is a paladin. 0 for no and 1 for yes.
|If this is set to 1 it will disable the default auto heals and use Pally group types.
|Edit the spells to use in bothealer.inc
/varset IsPally 0
|Set minimum and maximum combat range desired.
/varset RangeMin 10
/varset RangeMax 12
|Set to range that you want the bot to stop using /press to move.
/varset FastRange 15
|Do not change
/varset Combatstatus 0
|Set if bot should automaticly sit after casting. 0 for no 1 for yes. Can be toggled with a command.
/varset SitAfterCast 0
|||This is where the commands the bot can take is set up
|||Commands in botcore.inc
/varset a(1,0) afk
/varset a(1,1) accept
/varset a(1,2) reject
/varset a(1,3) invite
/varset a(1,4) follow
/varset a(1,5) stop
/varset a(1,6) moveto
/varset a(1,7) sit
/varset a(1,8) stand
/varset a(1,9) camp
/varset a(1,10) duck
/varset a(1,11) run
/varset a(1,12) say
/varset a(1,13) tell
/varset a(1,14) group
/varset a(1,15) cmds
/varset a(1,16) target
/varset a(1,17) notarget
/varset a(1,18) assist
/varset a(1,19) saytarget
/varset a(1,20) afollow
|||Commands in botcombat.inc
/varset a(1,21) attack
/varset a(1,22) noattack
|||Commands in botspell.inc
/varset a(1,23) sn
/varset a(1,24) mana
/varset a(1,25) evac
/varset a(1,26) aftercastsit
/varset a(1,27) loadlist
|||Commands in botheal.inc
/varset a(1,28) autoheal
/varset a(1,29) healtargets
/varset a(1,30) healgroup
|||||||||||||||||||||||Personal Commands|||||||||||||||||||||||||||||||||
|||Add commands you want here.
|||Example:
||| /varset a(1,29) mycommand
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|||Bot commands setup ends here
| Calculate size of command list array(Thanks to Kagonis)
/call CountArraySize 1
/varset CmdArraySize $int($return)
/varset CmdList "$a(1,0), $a(1,1), $a(1,2), $a(1,3), $a(1,4), $a(1,5) $a(1,6), $a(1,7), $a(1,8), $a(1,9), $a(1,10), $a(1,11), $a(1,12), $a(1,13), $a(1,14), $a(1,15), $a(1,16), $a(1,17), $a(1,18), $a(1,19), $a(1,20) $a(1,21), $a(1,22), $a(1,23), $a(1,24), $a(1,25), $a(1,26), $a(1,27), $a(1,28), $a(1,29), $a(1,30), $a(1,31), $a(1,32), $a(1,33), "$a(1,34), $a(1,35), $a(1,36), $a(1,37), $a(1,38), $a(1,39), $a(1,40)"
/varset CmdArrayNum 0
:MainLoop
|||Sub from bothealer.inc
/call CheckGrpHealth
/call CheckListHealth
||| Sub From bothealer.inc
/call PalGrpHealChk
||| Sub From bothealer.inc
/call PalHealChk
|||Sub from botcombat.inc
/call Combatcheck
|||Sub from botcombat.inc
/if $Combatstatus=="1" /call RangeSub
/if $Afollow=="1" /call Do-moveto blah $FollowTarget
/doevents
/varset CmdArrayNum 0
/goto :MainLoop
/return
|||||||||||||||||||||||Personal Commands|||||||||||||||||||||||||||||||||
|||Add Sub routines for any commands you added here.
|||Example:
||| Sub do-mycommand
||| /echo this is my command
||| /return
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|||||||||||||||||||||||Personal Commands|||||||||||||||||||||||||||||||||
Thanks
GrimJack