- Joined
- Feb 12, 2008
- Messages
- 223
- Reaction score
- 0
- Points
- 0
I just tried to add some functionality to this mac that I saw in villageidiots wizardpull.mac
However I ran into an error which made it misbehave.
{} pairing ran into another subroutine
See attachment for complete error message
The orange are things I tried to add to this macro, before my additions it worked perfectly.
However I ran into an error which made it misbehave.
{} pairing ran into another subroutine
See attachment for complete error message
The orange are things I tried to add to this macro, before my additions it worked perfectly.
Code:
|mage.mac this is quite a simple macro without all the functionality of the genbot for those who don't
|desire everything that is in genbot. i wrote this because, while genbot is great, it has too much stuff
|in it, too much functionality i have absolutely no need of. one bonus of this is that it allows the
|master to change targets and have the bot nuking a different target, which is very good for me.
|this could easily be converted to work for any caster of any type.
|start this by /mac wizcast2 mastername
|Thanks to mmobugs members whose names I don't have, recently borrowed some peices from villageidiots wizardpull macro.
| I added the spell_routines to help with casting. If you fizzle a spell you will now recast it until it works
| you have to use /call cast instead of just cast now though to take advantage.
|
#Include spell_routines.inc
#chat tell
#Event xp "#*#You gain #*#"
#Event xpraid "#*#You gain #*#"
#Event fight "#*#fight#*#"
|#Event MobDied "#*# has been slain by #*#"
Sub Main
/declare MastersName string outer
/varset MastersName ${Param0}
[COLOR="DarkOrange"]/declare AA_HARVEST string outer "Harvest of Druzzil"
/declare AA_Atol's Shackles string outer "Atol's Shackles"
/declare Spell_HARVEST string outer "Tranquil Harvest"
/declare Proc_HARVEST string outer "Tranquil Harvest"
/declare Spell_BIGNUKE string outer "Ethereal incineration"
/declare DoHARVESTPercent int outer 30[/COLOR]
:MainLoop
/doevents
/goto :MainLoop
/return
Sub Event_chat
/if (${Param1.NotEqual[${MastersName}]}) /return
/if (${Param2.Equal[follow]}) /call follow
/if (${Param2.Equal[fight]}) /call fight
/if (${Param2.Equal[invse]}) /call invse
/if (${Param2.Equal[evac]}) /call evac
/if (${Param2.Equal[sit]}) /call sit
/if (${Param2.Equal[stand]}) /call stand
/if (${Param2.Equal[dsh]}) /call dsh
/return
Sub follow
/tar Jimbob
/delay 1s
/stick
/return
Sub invse
/doevents
/delay 5s ${Me.SpellReady[${Me.Gem[10]}]}
/if (${Me.CurrentMana}>=${Spell[${Me.Gem[10]}].Mana}) /call cast "${Me.Gem[10]}" gem10 10s
/return
Sub Event_MobDied
/return
Sub sit
/sit
/return
Sub stand
/stand
/return
Sub evac
/doevents
/delay 5s ${Me.SpellReady[${Me.Gem[9]}]}
/if (${Me.CurrentMana}>=${Spell[${Me.Gem[9]}].Mana}) /call cast "${Me.Gem[9]}" gem9 10s
| Would be best if you put the spell name in QUOTES instead of the number
| aka /call cast "Succor" ect.
/return
| ----------------------------------------------------------------------------------------------
| IT now checks to make sure target is alive before every cast. and if it is still alive after
| a full line set of casting it will go back to the top and start casting all over again
| ----------------------------------------------------------------------------------------------
Sub fight
[COLOR="DarkOrange"]:start[/COLOR]
/assist ${MastersName}
/delay 4s ${Target.Type.Equal[NPC]}
[COLOR="DarkOrange"]/if (${Me.PctMana} <= ${DoHARVESTPercent} && ${Me.SpellReady[${Spell_HARVEST}]}) {
/casting ${Spell_HARVEST}
/delay 1s
/if (${Me.Buff[${Proc_HARVEST}].Duration.Ticks}) /goto :start
/if (!${Me.Pet.ID} && ${Target.Type.Equal[NPC]}) {
/cast 9
/delay 1s
/if (${Me.PctMana} <=60 && ${Me.AltAbilityReady[Harvest of Druzzil]}) { /aa act Harvest of Druzzil
/delay 6s[/COLOR]
:fighting
/doevents
/delay 5s ${Me.SpellReady[${Me.Gem[1]}]}
/if (${Target.PctHPs}>10 && ${Me.CurrentMana}>=${Spell[${Me.Gem[1]}].Mana}) /call cast "${Me.Gem[1]}" gem1 10s
/doevents
/delay 8s ${Me.SpellReady[${Me.Gem[2]}]}
/if (${Target.PctHPs}>10 && ${Me.CurrentMana}>=${Spell[${Me.Gem[2]}].Mana}) /call cast "${Me.Gem[2]}" gem2 10s
/doevents
/delay 8s ${Me.SpellReady[${Me.Gem[3]}]}
/if (${Target.PctHPs}>10 && ${Me.CurrentMana}>=${Spell[${Me.Gem[3]}].Mana}) /call cast "${Me.Gem[3]}" gem3 10s
/doevents
/delay 8s ${Me.SpellReady[${Me.Gem[4]}]}
/if (${Target.PctHPs}>10 && ${Me.CurrentMana}>=${Spell[${Me.Gem[4]}].Mana}) /call cast "${Me.Gem[4]}" gem4 10s
/doevents
/delay 8s ${Me.SpellReady[${Me.Gem[5]}]}
/if (${Target.PctHPs}>10 && ${Me.CurrentMana}>=${Spell[${Me.Gem[5]}].Mana}) /call cast "${Me.Gem[5]}" gem5 10s
/doevents
/delay 8s ${Me.SpellReady[${Me.Gem[6]}]}
/if (${Target.PctHPs}>10 && ${Me.CurrentMana}>=${Spell[${Me.Gem[6]}].Mana}) /call cast "${Me.Gem[6]}" gem6 10s
[COLOR="DarkOrange"]/doevents
}
/if (${Target.PctHPs} <= 30 && ${Me.AltAbilityReady[Atol's Shackles]}) {
/aa act Atol's Shackles
/delay 2s
/if (${Me.Song[Gift of Exquisite Radiant Mana].Duration.Ticks} && ${Me.SpellReady[${Spell_BIGNUKE}]}) {
| GoRM proc, cast a big nuke!
/casting ${Spell_BIGNUKE}
/delay 1s
}
/if (${Me.Song[Gift of Exquisite Radiant Mana].Duration.Ticks} && ${Me.SpellReady[${Spell_BIGNUKE}]}) {
| GoRM proc, cast a big nuke!
/casting ${Spell_BIGNUKE}
/delay 1s
}
/if (${Me.Song[Gift of Exquisite Radiant Mana].Duration.Ticks} && ${Me.SpellReady[${Spell_BIGNUKE}]}) {
| GoRM proc, cast a big nuke!
/casting ${Spell_BIGNUKE}
/delay 1s
}[/COLOR]
/if (${Target.PctHPs}>11) /goto :fighting
/squelch /target clear
/return
Sub Event_xpraid
/hidecorpse npc
/return
Attachments
Last edited: