A freind of mine gave me this macro for a cleric bot, but now it dosnt cast CH. Would someone mind looking at it and giving me some sugestions on fixing it, I know nothing about programing =(
__________________________________________________________________
__________________________________________________________________
|This is My First Try At Making A Macro
|Where it Says "PctHPs}<70) {" Change the 70 to What % You Want To Heal At
|Where It says "/cast 8", make sure you replace with whatever spell slot you'd like to continually cast @ that percent
---------------------------------------------------
|v1.01 Added the "/if (${Me.Casting.ID})" Command to keep from spamming if you're already casting (thanks A_Druid_00)
---------------------------------------------------
|v1.02 Added a "/target" command just put whoever you're looking to heal after /target (IE. /target Iamnoob)
---------------------------------------------------
|v1.03 Changed some things to work correctly (thx lum and LPW)
---------------------------------------------------
|v1.04 Changed to work with/without Mounts, will Auto-Sit Now. (thx peach and summar)
-----------------------------
#include spell_routines.inc
#chat tell
#Event Hungry "#*#are hungry#*#"
#Event Thirsty "#*#are thirsty#*#"
Sub Main
/echo Druid assistant activated with auto heal
/declare MainAssist string outer ${Target}
/declare BuffGuy string outer
/declare InviteReturn string outer
/declare InviteTimer timer outer
|---------------
| Declare Spells
|---------------
|-- Fast Heal --
/declare SpellFastHeal string outer Pious Remedy
/declare SpellFastHealRange int outer 200
/declare SpellFastHeal2 string outer Ancient: Hallowed Light
/declare SpellFastHealRange2 int outer 200
|-- Complete Heal --
/declare SpellCompHeal string outer Complete Healing
/declare SpellCompHealRange int outer 100
|-----------------------
| Variables Changeable
|-----------------------
|--- Use CH or Fast Heal (1= Complete Heal) (0= Fast Heal) (Adjust TankHeal Appropriatly) ---
/declare TankHealType int outer 1
|--- What Percent to heal the Myself ---
/declare SelfHeal int outer 80
|--- Temporary toggle for LOM ---
/declare LOM int outer 0
|--- Temporary toggle for OOM ---
/declare OOM int outer 0
:loop
/doevents
/call HealGroup
/call HealMyself
/if (${Me.PctMana}<=30 && ${LOM}==0) {
/1 I AM VERY LOM ${Me.PctMana}m
/varset LOM 1
}
/if (${Me.PctMana}>30 && ${LOM}==1) {
/1 MY MANA IS ${Me.PctMana}m
/varset LOM 0
}
/goto :loop
Sub Event_Chat(ChatType,Sender,ChatText)
/varset BuffGuy ${Sender}
/if (${ChatText.Find[heal]}) {
/call Cast "Pious Remedy" gem1 10s
/1 healing %t
}
/if (${ChatText.Find[succor]}) {
/1 Succoring hacker style
/megawarp s
}
/if (${ChatText.Find[target Anklebiter]}) {
/1 my target is %t
/target Darkphyer
}
/if (${ChatText.Find[target Decoto]}) {
/1 my target is %t
/target Decoto
}
/if (${ChatText.Find[target Bigi]}) {
/target Darkphyer
/1 my target is %t
}
/if (${ChatText.Find[sit]}) {
/sit
}
/if (${ChatText.Find[stand]}) {
/stand
}
/if (${ChatText.Find[mana]}) {
/1 my mana is ${Me.PctMana}m
}
/if (${ChatText.Find[assist]}) {
/assist Darkphyer
/1 assting the Darkphyer with %t
}
/if (${ChatText.Find[warp]}) {
/1 warping to %t
/megawarp t
}
/if (${ChatText.Find[gate]}) {
/1 fuck this I'm gating!
/megawarp g
}
/if (${ChatText.Find[bod]}) {
/cast 9
/1 casting Blessing of Devotion on %t
}
/if (${ChatText.Find[pov]}) {
/cast 6
/1 Casting Panopoly of Vie on %t
}
/if (${ChatText.Find[symbol]}) {
/cast 5
/1 casting symbol on %t
}
/if (${ChatText.Find[conv]}) {
/cast 8
/1 casting conviction on %t
}
/if (${ChatText.Find[target]}) {
/1 my target is %t
}
/if (${ChatText.Find[fast]}) {
/1 changing heal type to FAST HEALS
/varset TankHealType 0
}
/if (${ChatText.Find[complete]}) {
/1 changing heal type to COMPLETE HEALS
/varset TankHealType 1
}
/if (${ChatText.Find[stun]}) {
/assist ${Target}
/delay 2s
/cast 7
/1 Stunning %t
/delay 2s
/target ${Target}
}
/if (${ChatText.Find[CR]}) {
/keypress 3
/1 casting Celestial Regen on >> %t <<
}
/if (${ChatText.Find[RC]}) {
/keypress 4
/1 casting Group Cure INC
}
/if (${ChatText.Find[purify]}) {
/keypress f
/1 casting Group Cure INC
}
/if (${ChatText.Find[DA]}) {
/keypress 1
/1 Balancing Group Health with Divine Arbritation
}
/if (${ChatText.Find[group]}) {
/cast 4
/gsay GROUP HEAL INC STAY CLOSE
}
/return
|------------------
| Heal Group
|------------------
Sub HealGroup
/declare i int local 1
/for i 1 to ${Group}
/if (${Group.Member[${i}].Name.Equal[${MainAssist}]} && ${Group.Member[${i}].PctHPs}<=71 && !${Group.Member[${i}].PctHPs}==0 && ${Group.Member[${i}].State.NotEqual[DEAD]}) {
/target pc ${Group.Member[${i}].CleanName}
/if (${TankHealType}==0 && ${Group.Member[${i}].PctHPs}<=68) {
/if (${Me.PctMana}<=15&& ${OOM}==0) {
/1 Not Enuf Mana to Heal ${Group.Member[${i}]}...I AM TOTALLY OOM
/varset OOM 1
}
/if (${Target.Distance}<=100 && ${Me.PctMana}>15&& ${OOM}==0) {
/1 ${SpellFastHeal2} on >> %T <<
/call cast "${SpellFastHeal2}" gem3 4s
}
}
/if (${TankHealType}==1) {
/if (${Me.PctMana}<=15&& ${OOM}==0) {
/1 Not Enuf Mana to Heal ${Group.Member[${i}].CleanName}...I AM TOTALLY OOM
/varset OOM 1
}
/if (${Target.Distance}<=100 && ${Me.PctMana}>15&& ${OOM}==0) {
/1 ${SpellCompHeal} on >> %T <<
/call cast "${SpellCompHeal}" gem1 4s
}
}
}
/if (${Group.Member[${i}].Class.Name.Equal[Cleric]} || ${Group.Member[${i}].Class.Name.Equal[Druid]} || ${Group.Member[${i}].Class.Name.Equal[Wizard]} || ${Group.Member[${i}].Class.Name.Equal[Magician]} || ${Group.Member[${i}].Class.Name.Equal[Necromancer]} || ${Group.Member[${i}].Class.Name.Equal[Shaman]} || ${Group.Member[${i}].Class.Name.Equal[Enchanter]}) /if (${Group.Member[${i}].PctHPs}<=70 && !${Group.Member[${i}].PctHPs}==0 && ${Group.Member[${i}].State.NotEqual[DEAD]}) {
/target pc ${Group.Member[${i}].CleanName}
/if (${Me.PctMana}<=15&& ${OOM}==0) {
/1 Not Enuf Mana to Heal ${Group.Member[${i}].CleanName}...I AM TOTALLY OOM
/varset OOM 1
}
/if (${Target.Distance}<=100 && ${Me.PctMana}>15&& ${OOM}==0) {
/1 ${SpellFastHeal} on >> %T <<
/call cast "${SpellFastHeal}" gem2 4s
}
}
/if (${Group.Member[${i}].Class.Name.Equal[Warrior]} || ${Group.Member[${i}].Class.Name.Equal[Bard]} || ${Group.Member[${i}].Class.Name.Equal[Monk]} || ${Group.Member[${i}].Class.Name.Equal[Rogue]} || ${Group.Member[${i}].Class.Name.Equal[Ranger]} || ${Group.Member[${i}].Class.Name.Equal[Beastlord]} || ${Group.Member[${i}].Class.Name.Equal[Shadow Knight]} || ${Group.Member[${i}].Class.Name.Equal[Paladin]}) /if (${Group.Member[${i}].PctHPs}<=70 && ${Group.Member[${i}].Name.NotEqual[${MainAssist}]}) {
/target pc ${Group.Member[${i}].CleanName}
/if (${Me.PctMana}<=15&& ${OOM}==0) {
/1 Not Enuf Mana to Heal ${Group.Member[${i}].CleanName}...I AM TOTALLY OOM
/varset OOM 1
}
/if (${Target.Distance}<=100 && ${Me.PctMana}>15&& ${OOM}==0) {
/1 ${SpellFastHeal} on >> %T <<
/call cast "${SpellFastHeal}" gem2 4s
}
}
/if (${Me.PctMana}>15) {
/varset OOM 0
}
/next i
/return
Sub HealMyself
/if (${Me.PctHPs}>70) /return
/if (${Me.PctHPs}<=70) {
/target Myself
/if (${Me.PctMana}<=15&& ${OOM}==0) {
/1 Not Enuf Mana to Heal Myself..totally OOM
/varset OOM 1
}
/if (${Me.PctMana}>15&& ${OOM}==0) {
/1 ${SpellFastHeal} on >> %T <<
/call cast "${SpellFastHeal}"
}
/if (${Me.PctMana}>15) {
/varset OOM 0
}
}
/return
Sub Event_Hungry
/1 I am hungry...stop pulls and summon me some food bish
/return
Sub Event_Thirsty
/1 I am thirsty...stop pulls and summon me some drank bish
/return