i think its owrking now, changed the mode style > agin < , and moving shit around,
looking to get events to work and add more options,
also looking to learn how to use timers so that i can put in spells like...
2 min timer cast spell one
5 min timer cast spell two
and they keep casteing after timers maby ?
any hel pis appreciated
Code: Select all
#event RageOn "#1# has become ENRAGED"
#event RageOff "#1# is no longer enraged"
#event StunOn "You are stunned."
#event StunOff "You are unstunned."
Sub Main(int Mode,string MA,float view)
/declare LastAAExp float outer ${Me.PctAAExp}
/declare TotalAAExp float outer 0
/declare LastLvl float outer ${Me.PctExp}
/declare TotalLvl float outer 0
/declare StartY float outer ${Me.Y}
/declare StartX float outer ${Me.X}
/echo 1 makes me follow but i dont taunt
/echo 2 makes me follow and i will taunt
/echo 3 makes me stay and i will taunt
/echo 4 name radius makes me assist and follow mob but i wont taunt
:Start
/if (${Mode}==1) {
/popup Attacking ${Target.Name}..... Wont let it Escape
/goto :Follow
} else /if (${Mode}==2) {
/popup Tanking ${Target.Name}..... No Moving !
/goto :Tank
} else /if (${Mode}==3) {
/popup Aggroing ${Target.Name} ...... Not letting it Escape
/goto :Aggro
} else /if (${Mode}==4) {
/popup Assisting ..................
/delay 4s
/goto :Assist
} else {
/echo try again........ and pick a mode slacker !
/endmac
}
/attack off
/return
:Assist
/assist ${MA}
/delay 1s
/if (${Target.Type.Equal[NPC]} && ${Target.Distance}<${View} && ${Target.LineOfSight}) {
/popup Fighting a ${Target.Level} ${Target.Name}
/delay 1s
/goto :Follow
}
/goto :Assist
/return
:Aggro
/face fast nolook
/if (${Target.Distance}>24) /keypress up hold
/if (${Target.Distance}<14) /keypress up
/doevents
/if (${Target.Distance}<25) {
/if (${Me.AbilityReady[Kick]}) /doability "Kick"
/if (${Me.AbilityReady[Disarm]}) /doability "Disarm"
/if (${Me.AbilityReady[Taunt]}) /doability "Taunt"
}
/if (${Target.Type.Equal[NPC]}) {
/goto :Aggro
} else {
/attack off
/popup Done Tanking
}
/if (${Me.PctExp}!=${LastLvl} || ${Me.PctAAExp}!=${LastAAExp}) {
/call ExpGain
}
/return
:Tank
/face nolook
/doevents
/if (${Target.Distance}<25) {
/if (${Me.AbilityReady[Kick]}) /doability "Kick"
/if (${Me.AbilityReady[Disarm]}) /doability "Disarm"
/if (${Me.AbilityReady[Taunt]}) /doability "Taunt"
}
/doevents
/if (${Target.Type.Equal[NPC]}) {
/goto :Tank
} else {
/attack off
/popup Done Tanking
}
/if (${Me.PctExp}!=${LastLvl} || ${Me.PctAAExp}!=${LastAAExp}) {
/call ExpGain
}
/return
:Follow
/face fast nolook
/if (${Target.Distance}>25) /keypress up hold
/if (${Target.Distance}<14) /keypress up
/doevents
/if (${Target.Distance}<25) {
/if (${Me.AbilityReady[Kick]}) /doability "Kick"
/if (${Me.AbilityReady[Disarm]}) /doability "Disarm"
}
/if (${Target.Type.Equal[NPC]}) {
/goto :Follow
}
/if (${Me.PctExp}!=${LastLvl} || ${Me.PctAAExp}!=${LastAAExp}) {
/call ExpGain
}
/if (${Mode.Equal[anchor]}) {
/popup Assisting ${MA} ..................
/delay 4s
/call MoveToLoc ${StartY} ${StartX}
/goto :Assist
}
/return
Sub event_RageOn
|Turn attack off, and have pet hold when target becomes enraged.
/attack off
/pet hold
/return
Sub event_RageOff
|Turn attack on, and tell pet to attack when target is no longer enraged.
/attack on
/pet kill
/return
Sub event_StunOn
|Turn off attack while stunned to decrease spam.
/attack off
/return
Sub event_StunOff
|Turn attack on after you're unstunned.
/attack on
/return
|---- Following Subs borrowed from IceIsFun
Sub MoveToLoc(float MoveToY,float MoveToX)
:MoveToLoop
/face fast nolook loc ${MoveToY},${MoveToX}
/if (${Math.Distance[${MoveToY},${MoveToX}]}>5) {
/keypress up hold
/delay 1
/keypress up
} else {
/goto :Arrived
}
/goto :MoveToLoop
:Arrived
/return
Sub ExpGain
/if (${Me.PctExp}<${LastLvl}) {
/varset TotalLvl ${Math.Calc[${TotalLvl}+${Math.Calc[100+${Me.PctExp}-${LastLvl}]}]}
/varset LastLvl ${Me.PctExp}
} else {
/varset TotalLvl ${Math.Calc[${TotalLvl}+${Math.Calc[${Me.PctExp}-${LastLvl}]}]}
/varset LastLvl ${Me.PctExp}
}
/if (${Me.PctAAExp}<${LastAAExp}) {
/varset TotalAAExp ${Math.Calc[${TotalAAExp}+${Math.Calc[100+${Me.PctAAExp}-${LastAAExp}]}]}
/varset LastAAExp ${Me.PctAAExp}
} else {
/varset TotalAAExp ${Math.Calc[${TotalAAExp}+${Math.Calc[${Me.PctAAExp}-${LastAAExp}]}]}
/varset LastAAExp ${Me.PctAAExp}
}
/call Formatted_RunTime
/if (${Me.PctExp}!=${LastLvl} || ${Me.PctAAExp}!=${LastAAExp}) /call ExpGain
/popup ${Macro.Name} has generated ${TotalAAExp}% AA Exp and ${TotalLvl}% Regular Exp in ${Macro.Return}.
/return
Sub Formatted_RunTime
|Create variables to track run time.
/declare Hours int local ${Math.Calc[${Macro.RunTime}/3600].Int}
/declare Minutes int local ${Math.Calc[${Math.Calc[${Macro.RunTime}-${Math.Calc[${Hours}*3600]}]}/60].Int}
/declare Seconds int local ${Math.Calc[${Macro.RunTime}-${Math.Calc[${Hours}*3600]}-${Math.Calc[${Minutes}*60]}]}
/declare Zero int local 0
/declare S_Total string local ${Hours}:
/if (${Minutes}>9) {
/varset S_Total ${S_Total}${Minutes}:
} else {
/varset S_Total ${S_Total}${Zero}${Minutes}:
}
/if (${Seconds}>9) {
/varset S_Total ${S_Total}${Seconds}
} else {
/varset S_Total ${S_Total}${Zero}${Seconds}
}
/return ${S_Total}
|---------Previous Subs Borrowed from IceIsFu


