Simple Nuke Macro Request Please
Posted: Thu Mar 06, 2008 5:47 pm
Could Somone Make me a Simple macro that would cast spell Gelidin Comet untill out of mana then Med till 100% and begin again?
Need to talk about MacroQuest to other MacroQuest users?
https://mq64.org/phpBB3/

#Event SkillUp "You have become better at #1#! (#2#)"
Sub Main
/declare i int local 0
/declare c int local 0
/declare MaxSkill int local 0
/declare SpellSkill[5] string local
/varset SpellSkill[1] Abjuration
/varset SpellSkill[2] Alteration
/varset SpellSkill[3] Conjuration
/varset SpellSkill[4] Divination
/varset SpellSkill[5] Evocation
/varcalc MaxSkill ${Me.Level}*5+5
/if (${MaxSkill} > 405) /varset MaxSkill 235
/for i 1 to ${SpellSkill.Size}
/for c 1 to 8
/if (${Me.Gem[${c}].Skill.Equal[${SpellSkill[${i}]}]}) /goto :Check
/next c
/echo [${Time.Time24}] No ${SpellSkill[${i}]} spells memorized, continuing...
/next i
:Check
/if (${Me.Skill[${SpellSkill[${i}]}]} >= ${MaxSkill}) {
/echo [${Time.Time24}] Your ${SpellSkill[${i}]} skill is already at it's current maximum: ${Me.Skill[${SpellSkill[${i}]}]}...
} else {
/echo [${Time.Time24}] Casting ${Me.Gem[${c}].Name} to skill up ${SpellSkill[${i}]}.
/echo [${Time.Time24}] Current skill in ${SpellSkill[${i}]}: ${Me.Skill[${SpellSkill[${i}]}]}.
:Cast
/doevents
/if ((${Me.Gem[${c}].TargetType.Equal[Single]} || ${Me.Gem[${c}].TargetType.Equal[Targeted AE]}) && !${Target.ID}) /target myself
/if (${Me.AFK}) /afk
/if (${Me.CurrentMana} <= ${Me.Gem[${c}].Mana}) {
/call MedBreak
}
/if (${Me.PctHPs} < 20) {
/call HealBreak
}
/if (${Me.SpellReady[${c}]}) {
/if (!${Me.Standing}) /stand
/cast ${c}
/delay ${Math.Calc[${Me.Gem[${c}].MyCastTime}*10+10].Int} (!${Me.Casting.ID})
/if (${Me.Standing}) /sit
}
:Cursor
/if (${Cursor.ID}) {
/autoinventory
/goto :Cursor
}
/if (${Me.Skill[${SpellSkill[${i}]}]} < ${MaxSkill}) /goto :Cast
}
/next i
/echo [${Time.Time24}] Done..
/call MedBreak
/endmacro
/return
Sub MedBreak
/if (!${Me.AFK}) /afk
:Loop
/if (${Me.Standing}) /sit
/delay 6s
/if (${Me.CurrentMana} < ${Me.MaxMana}) /goto :Loop
/return
Sub HealBreak
/if (!${Me.AFK}) /afk
:Loop
/if (${Me.Standing}) /sit
/delay 6s
/if (${Me.CurrentHPs} < ${Me.MaxHPs}) /goto :Loop
/return
Sub Event_SkillUp(str Line, string TheSkill, int Amount)
/echo [${Time.Time24}] ${TheSkill} increased - ${Amount}...
/return
Code: Select all
/if (${MaxSkill} > [color=red][b]1[/color][/b]) /varset MaxSkill [color=red][b]500[/color][/b] Code: Select all
#Include spell_routines.inc
#event Summoned "You have been summoned#*#"
Sub Main(int NukeAt)
/declare summon bool outer 0
:loop
/doevents
/if (${Me.Sitting}==FALSE) /sit
/if (${Target.Distance}>120}) /keypress esc
| i changed this line for targeting, you might need to play with it
/if (${Target.ID}==FALSE && ${Bool[${NearestSpawn[1,NPC radius 60 zradius 30].ID}}) /squelch /tar NPC radius 60 zradius 30
/delay 10
/if (${Target.PctHPs}<${NukeAt}) /call NukeMob
/goto :loop
/endmacro
Sub NukeMob
:loop2
/if (${Target.PctHPs}<4) /return
/if (${Me.PctMana}<10) /return
| nuke 1
/call cast "Rimelure" gem3 3s
/delay 6s
| nuke 2
/call cast "Cold Snap Rk. II" gem4 2s
/delay 3s
/goto :loop2
/return
Sub Event_Summoned
/echo omg summoned, waiting 20s
/delay 20s
/return