it will not do anything when the assisthealth is reached it is supposed to cast and send pet but it does nothing if you can please help fix the problem i would be very gratefull
i have highlighted where i think the problem is but i could be wrong i have read and reread the boards looking for a sinppet of hope but i am afraid i have come to a dead end . thank you in advance to any kind soul who helps me
my old macro (use to work with old param system)
Code: Select all
#chat tell
#chat group
#include spellcast.inc
#include routines.mac
#turbo 75
Sub Main
/declare tankname global
/declare nukename global
/declare mobhp global
/declare tempvar global
/declare assisthealth global
/echo "Macro Starting"
/varset assisthealth @Param1
/varset tankname @Param0
/varset nukename black steel
/echo "@tankname is assist tank."
/varset tempvar 0
:top
/doevents
/if (${Me.State.Equal[DUCK]}) {
/pet back off
/endmacro
}
/if (${Me.State.Equal[SIT]}) {
/pet back off
/endmacro
}
/echo starting TOP Assisitng @tankname
/assist @tankname
/delay 10
/if (!${Target.ID}) {
/echo Nothing on @tankname Target
/target @tankname
/goto :top
}
/if (${Target.Type.NotEqual[NPC]}) /goto :top
/if (@tempvar!=${Target.PctHPs}) /echo ${Target.CleanName} targeted at ${Target.PctHPs}% at distance ${Target.Distance}.
/varset tempvar ${Target.PctHPs}
/if (${Target.PctHPs}>=@assisthealth) {
/echo Time to start working
/goto :top
} else {
/echo Target Acquired: ${Target.CleanName}
/if (${Target.PctHPs}<=95) {
/delay 5
/echo Casting Malosinia
/call cast "malosinia"
/echo sending Pet IN to KILL ${Target.CleanName}
/pet attack
/echo Checking for MOD ROD
/if (!${FindItem[Rod Of Mystical Transvergance].ID}) {
/echo Making mod rod
/keypress F1
/call cast "Rod Of Mystical Transvergance"
/delay 5
/autoinv
/delay 5
}
/echo going to Nuke
/goto :nuke
}
}
| ---Nuking---
:nuke
/if (${Me.State.Equal[DUCK]}) {
/pet back off
/endmacro
}
/if (${Me.State.Equal[SIT]}) {
/pet back off
/endmacro
}
/echo Starting Nuke
/if (${Target.Type.Equal[NPC]}) {
/echo Nuking ${Target.CleanName}. It is a level ${Target.Level} ${Target.Race}
/call Cast "Rock of Taelosia"
/delay @Param2
/if (!${Target.ID}) {
/target @tankname
/echo using Mod rod
/cast item "Rod of Mystical Transvergance"
}
/goto :nuke
}
/goto :top
/return
/goto :top
Sub Event_Chat(MsgType,MsgFrom,MsgData)
/if (${String[@MsgData].Find["rod"]}) {
/beep
/delay 50
/echo @MsgFrom needs a rod.
/delay 50
/target pc @MsgFrom
/stand
/cast 8
}
/return
my attempt to convert
Code: Select all
#chat tell
#chat group
#include spellcast.inc
#include routines.mac
#event DamageShield "Your pet's maelstrom of ro spell has worn off"
Sub Main
/declare tankname string outer
/declare nukename string outer
/declare mobhp int outer
/declare tempvar int outer
[color=red]/declare assisthealth int outer [/color]
/echo "Macro Starting"
[color=red] /varset assisthealth ${Int[Param1} [/color]
/varset tankname ${Param0}
/varset nukename black steel
/echo ${tankname} is assist tank.
/varset tempvar 0
:top
/doevents
/if (${Me.State.Equal[DUCK]}) {
/pet back off
/endmacro
}
/if (${Me.State.Equal[SIT]}) {
/pet back off
/endmacro
}
/echo starting TOP Assisitng ${tankname}
/assist ${tankname}
/delay 10
/if (!${Target.ID}) {
/echo Nothing on ${tankname} Target
/target ${tankname}
/goto :top
}
/if (${Target.Type.NotEqual[NPC]}) /goto :top
/if (${tempvar}!=${Target.PctHPs}) /echo ${Target.CleanName} targeted at ${Target.PctHPs}% at distance ${Target.Distance}.
/varset tempvar ${Target.PctHPs}
[color=red]/if (${Target.PctHPs}>=${assisthealth}) {[/color]
/echo Time to start working
/goto :top
} else {
/echo Target Acquired: ${Target.CleanName}
/if (${Target.PctHPs}<=95) {
/delay 5
/echo Casting Malosinia
/call cast "malosinia"
/echo sending Pet IN to KILL ${Target.CleanName}
/pet attack
/echo Checking for MOD ROD
/if (!${FindItem[Rod Of Mystical Transvergance].ID}) {
/echo Making mod rod
/tar myself
/call cast "Rod Of Mystical Transvergance"
/delay 5
/autoinv
/delay 5
}
/echo going to Nuke
/goto :nuke
}
}
| ---Nuking---
:nuke
/if (${Me.State.Equal[DUCK]}) {
/pet back off
/endmacro
}
/if (${Me.State.Equal[SIT]}) {
/pet back off
/endmacro
}
/echo Starting Nuke
/if (${Target.Type.Equal[NPC]}) {
/echo Nuking ${Target.CleanName}. It is a level ${Target.Level} ${Target.Race}
/call Cast "Rock of Taelosia"
/delay ${Param2.Int}
/if (!${Target.ID}) {
/target ${tankname}
/echo using Mod rod
/cast item "Rod of Mystical Transvergance"
}
/goto :nuke
}
/goto :top
/return
Sub Event_Chat(MsgType,MsgFrom,MsgData)
/if (${MsgData.Find["rod"]}) {
/beep
/delay 50
/echo ${MsgFrom} needs a rod.
/delay 50
/target pc ${MsgFrom}
/stand
/cast 8
}
/return
Sub Event_DamageShield
/echo Casting Damage Shield on my pet
/target ${Me.Pet.ID}
/cast 1
/return


