Code: Select all
removed, see belowModerator: MacroQuest Developers
Code: Select all
removed, see below
Code: Select all
sub Attack
/declare ObstacleCount global
/declare targetarray array
/varset targetarray(0) "$target(name,clean)"
/varset targetarray(1) $target(level)
/varset targetarray(2) $target(name)
/varset targetarray(3) $target(id)
/varset ObstacleCount 0
/echo Fighting a level @targetarray(1) @targetarray(0)
/face look
/call MovetoMob
:CloserAF
/if "$target(id)"!=@targetarray(3) /goto :EndAF
/if n $target(distance,nopredict)>10 /press up
/if n $target(distance,nopredict)<10 /press down
/if n $target(distance,nopredict)<15 /attack on
/if n $target(distance,nopredict)>15 /attack off
/if n $target(distance,nopredict)>15 /call MovetoMob
/face fast nopredict look
/if n $target(distance,nopredict)<11 /if n $char(ability,"Bash")>0 /doability "Bash"
/if n $target(distance,nopredict)<11 /if n $char(ability,"Kick")>0 /doability "Kick"
/goto :CloserAF
:EndAF
/echo The level @targetarray(1) @targetarray(0) is dead...
/sendkey up up
/sendkey up down
/attack off
/varset targetarray(3) 0
/return
sub MoveToMob
/declare MyXLOC global
/declare MyYLOC global
/varset MyXLOC $char(x)
/varset MyYLOC $char(y)
/if n $target(distance,nopredict)<=15 {
/face look
/return
}
/sendkey down up
:Movementloop
/varadd ObstacleCount 1
/if $target()=="FALSE" /return
/face look
/if n $target(distance,nopredict)<=10 {
/face look
/sendkey up up
/return
}
/if @ObstacleCount>=3 {
/call CheckObstacle
/goto :Movementloop
}
/if n $target(distance,nopredict)>10 /goto :MovementLoop
/return
sub CheckObstacle
/if n @MyXLOC==$char(x) /if n @MyYLOC==$char(y) /call HitObstacle
/varset MyXLOC $char(x)
/varset MyYLOC $char(y)
/varset ObstacleCount 0
/return
sub HitObstacle
/sendkey up up
/sendkey down down
/delay 3
/sendkey up down
/sendkey down ctrl
/if n $rand(99)>50 {
/sendkey down right
} else {
/sendkey down left
}
/delay 5
/sendkey up right
/sendkey up left
/sendkey up ctrl
/sendkey down up
/return
Code: Select all
/if "$target(id)"!=@targetarray(3) /goto :EndAFCode: Select all
/if "$target(id)"!="@targetarray(3)" /goto :EndAFCode: Select all
/if $target(id)!=@targetarray(3) /goto :EndAF
Code: Select all
/if n $target(id)!=@targetarray(3) /goto :EndAF