Code: Select all
|bstlrd-assist.mac
|Beastlord Melee assist macro.
|version 1.1 by SephYaro
|Chaged from 1.0: Removed disarm coding form macro
|Original code taken from rogue-assist.mac written by Grimjack
#Turbo 72
#Event Enraged "has become ENRAGED"
#Event Offrage "is no longer enraged"
Sub Main
/declare RangeMin global
/declare RangeMax global
/declare FastRange global
/declare Combatstatus global
/declare CastTimer timer
/declare EnrageVar global
/declare DoHeal global
/declare HealThing global
/declare DoKick global
|--------------------------------------
|Edit this to change autoheal
/varset DoHeal 0
/varset HealThing "Light Healing"
|Edit this to change auto kick
/varset DoKick 0
|---------------------------------------
/varset RangeMin @Param0
/varset RangeMax @Param1
/varset FastRange @Param2
/varset Combatstatus 0
/varset EnrageVar 0
:Mainloop
/call Combatcheck
/if (@Combatstatus=="1") /call RangeSub
/if (@Combatstatus=="1") /call Kickit
/if (@Combatstatus=="0") /call Healthcheck
/doevents
/goto :Mainloop
/return
Sub Healthcheck
/if (@DoHeal==0) /return
/if (${Me.Casting}=="TRUE") /return
/if (${Me.Moving}=="TRUE") /return
/if (${Me.PctHPs}<=%90) {
/if (${Me.Combat}="TRUE") {
/if (${Target}=="FALSE") {
/delay 5s
/cast "@HealThing"
}
}
}
/return
Sub Kickit
/if (@DoKick==0) /return
/if ($char(ability,"Kick")!=-2) {
/doability "Kick"
}
/return
Sub Combatcheck
/if (@EnrageVar=="1") {
/if (${Target}=="TRUE") {
/return
} else {
/varset EnrageVar 0
/varset Combatstatus 0
}
}
/if (${Target}=="FALSE") {
/varset Combatstatus 0
/if (${Me.Combat}=="TRUE") {
/attack off
}
/return
}
/if (${Target}=="TRUE") {
/if (${Me.Combat}=="TRUE") {
/varset Combatstatus 1
/return
}
}
/varset Combatstatus 0
/return
Sub Rangesub
/stand
/face nolook fast
/if (${Target.Distance}>=@FastRange) /call Fastmove
/if (${Target.Distance}>@RangeMax) {
/keypress up
}
/if (${Target.Distance}<@RangeMin) {
/keypress down
}
/return
Sub Event_Enraged
/if (${Target}=="TRUE") {
/varset EnrageVar 1
/attack off
}
/return
Sub Fastmove
:fastmoveloop
/if (${Target}=="FALSE") {
/varset Combatstatus 0
/sendkey up up
/if (${Me.Combat}=="TRUE") {
/attack off
/return
}
}
/stand
/face nolook fast
/if (${Target.Distance}>@FastRange) {
/sendkey down up
/attack off
}
/if n (${Target.Distance}<=@FastRange) {
/if (@Combatstatus=="1") {
/if (@EnrageVar=="0") {
/attack on
}
}
/sendkey up up
/return
}
/goto :fastmoveloop
/return
Sub Event_Offrage
/if (${Target}=="TRUE") {
/varset EnrageVar 0
/attack
}
}
/return Code: Select all
|bstlrd-assist.mac
|Beastlord Melee assist macro.
|version 1.1 by SephYaro
|Chaged from 1.0: Removed disarm coding form macro
|Original code taken from rogue-assist.mac written by Grimjack
#Event Enraged "#*#has become ENRAGED#*#"
#Event Offrage "#*#is no longer enraged#*#"
Sub Main
/declare RangeMin int outer
/declare RangeMax int outer
/declare FastRange int outer
/declare Combatstatus bool outer
/declare CastTimer timer
/declare EnrageVar bool outer
/declare DoHeal bool outer
/declare HealThing string outer
/declare DoKick bool outer
|--------------------------------------
|Edit this to change autoheal
/varset DoHeal FALSE
/varset HealThing "Light Healing"
|Edit this to change auto kick
/varset DoKick FALSE
|---------------------------------------
/varset RangeMin ${Param0}
/varset RangeMax ${Param1}
/varset FastRange ${Param2}
/varset Combatstatus FALSE
/varset EnrageVar FALSE
:Mainloop
/call Combatcheck
/if (${Combatstatus}) /call RangeSub
/if (${Combatstatus}) /call Kickit
/if (!${Combatstatus}) /call Healthcheck
/doevents
/goto :Mainloop
/return
Sub Healthcheck
/if (!${DoHeal}) /return
/if (${Me.Casting.ID}) /return
/if (${Me.Moving}) /return
/if (${Me.PctHPs}<=90) {
/if (${Me.Combat}) {
/if (!${Target.ID}) {
/delay 5s
/cast "${HealThing}"
}
}
}
/return
Sub Kickit
/if (!${DoKick}) /return
/if (${Me.AbilityReady[Kick]}) /doability Kick
/return
Sub Combatcheck
/if (${EnrageVar}) {
/if (${Target.ID}) {
/return
} else {
/varset EnrageVar FALSE
/varset Combatstatus FALSE
}
}
/if (!${Target.ID}) {
/varset Combatstatus FALSE
/if (${Me.Combat}) {
/attack off
}
/return
}
/if (${Target.ID}) {
/if (${Me.Combat}) {
/varset Combatstatus TRUE
/return
}
}
/varset Combatstatus FALSE
/return
Sub Rangesub
/stand
/face nolook fast
/if (${Target.Distance}>=${FastRange}) /call Fastmove
/if (${Target.Distance}>${RangeMax}) {
/keypress forward
}
/if (${Target.Distance}<${RangeMin}) {
/keypress back
}
/return
Sub Event_Enraged
/if (${Target.ID}) {
/varset EnrageVar TRUE
/attack off
}
/return
Sub Fastmove
:fastmoveloop
/if (!${Target.ID}) {
/varset Combatstatus FALSE
/keypress forward
/if (${Me.Combat}) {
/attack off
/return
}
}
/stand
/face nolook fast
/if (${Target.Distance}>${FastRange}) {
/keypress forward hold
/attack off
}
/if (${Target.Distance}<=${FastRange}) {
/if (${Combatstatus}) {
/if (!${EnrageVar}) {
/attack on
}
}
/keypress forward
/return
}
/goto :fastmoveloop
/return
Sub Event_Offrage
/if (${Target.ID}) {
/varset EnrageVar FALSE
/attack
}
}
/return
Thanks in advance :)

