Moderator: MacroQuest Developers
I'm sure there is a way but I can't think of how easily. What I have always done in this situation is make a hotbutton on the master that tells the bot to heal the pet. I had thought of making a command that could be given with a name of a PC and it would target their pet and heal it so that I would not have to target the pet.Slice wrote:Grim, Would it be possible to check each groupmember for a pet or a way for the master to identify a pet name to the bot as the primary tank for autoheal? I'd like to use this script with a healer and a class that can dire charm a pet.
Slice
Code: Select all
Sub Do-petheal
/if n $strlen("$p1")<=0 {
/return
}
| /echo Targeting "$p1"
/target "$p1"
/delay 5
| /echo Targeting "$target(pet)"
/target "$target(pet)"
/delay 5
| /echo Targets master is "$target(master)"
/if "$target(master)"=="$p1"
/call SpellSub "Complete Heal"
/return
}
/echo failed to target pet
/return Code: Select all
/varset a(1,#) petheal
Code: Select all
Sub Main
:loop
| ----- Clockwise Rotate Check -----
/if n $target(heading)>=180 /if n $calc($target(heading)-180)<=$char(heading) /if n $char(heading)<$calc($target(heading)-22.5) /call bsclock
/if n $target(heading)>=180 /if n $char(heading)<=180 /if n $calc($char(heading)-22.5)>$calc($target(heading)-360) /call bscounter
/if n $target(heading)<=180 /if n $char(heading)<$calc($target(heading)-22.5) /call bsclock
| ----- Counter Clockwise Rotate Check -----
/if n $char(heading)>=180 /if n $calc($char(heading)-180)<=$target(heading) /if $char(heading)>$calc($target(heading)+22.5) /call bscounter
/if n $char(heading)>=180 /if n $target(heading)<=180 /if n $calc($char(heading)-157.5)<$calc($target(heading)+180) /call bsclock
/if n $char(heading)<=180 /if n $target(heading)<=180 /if n $char(heading)>$calc($target(heading)+25) /call bscounter
/goto :loop
/return
Sub bsclock
/sendkey down ctrl
/sendkey down right
/sendkey down up
/sendkey up up
/sendkey down down
/sendkey up down
/sendkey up right
/sendkey up ctrl
/press down
/press ctrl
/face
/return
Sub bscounter
/sendkey down ctrl
/sendkey down left
/sendkey down up
/sendkey up up
/sendkey down down
/sendkey up down
/sendkey up left
/sendkey up ctrl
/press down
/press ctrl
/face
/return
Is that command in the current script? I was looking through commands in botcore and I see a toggle for autoheal on and off but no direct heal commands for a 3rd party target.grimjack wrote:What I have always done in this situation is make a hotbutton on the master that tells the bot to heal the pet.
Not exactly. The sn command can be used to cast any spell by name but it uses assist. To make a specific command for this would be pretty easy though.Slice wrote:Is that command in the current script? I was looking through commands in botcore and I see a toggle for autoheal on and off but no direct heal commands for a 3rd party target.grimjack wrote:What I have always done in this situation is make a hotbutton on the master that tells the bot to heal the pet.
Slice
Code: Select all
/varset a(1,#) commandCode: Select all
Sub do-command
/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"
[b]/call SpellSub "Spell to Cast" [/b]
/returnCode: Select all
/varset a(1,29) heal
/varset a(1,30) chealCode: Select all
Sub do-heal
/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"
[b]/call SpellSub "Spell to Cast" [/b]
/return
Sub do-cheal
/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"
[b]/call SpellSub "Spell to Cast" [/b]
/returnCode: Select all
Sub do-command
/if n $strlen("$p1")<=0 {
/assist $MasterName
/delay 3
} else /target "$p1"
[b]/call SpellSub "Spell to Cast" [/b]
/return