Macro help

Status
Not open for further replies.

smason

Lifetimer
Joined
Aug 20, 2006
Messages
470
Reaction score
0
Points
16
Iam trying to get this mac to cast mass imbue emeralds, I used it for turning meat into bone useing the necro aa, not havieng luck getting it to cast a spell, I ran it and it spammed the mq window for about 5 minutes. Help would be apperciated.

Code:
Sub Main
:loop
/if (${FindItem[Emerald].InvSlot}) {
  /nomodkey /shift /itemnotify ${FindItem[Emerald].InvSlot} leftmouseup
 :FTB
   /if (!${Me.Spell[Mass Imbue Emerald]}) /goto :FTB
   /delay 1s
   /alt act 71
 :bonecheck
   /if (${Cursor.ID}!=13073) /goto :bonecheck
   /delay 1s
   /autoinv
   /delay 2s
   /goto :loop
}
/echo All Done
/end

thanks
 
Try this and let me know if it works. Made it so its easier to change out what you summon what not up top with some defines. I am a little rusty and watching mondaynight football so might have an error or two.

HTML:
#include spell_routines.inc

| What Item you wish to use to summon

/declare RawItem      string outer Emerald


| How many Raw Items are needed to cast your spell

/declare RICount      int    outer 4


| Spell you wish to cast to summon Items with

/declare SummonSpell  string outer Mass Imbue Emerald


Sub Main
:Main
/if (${FindItemCount[=${RawItem}]}>${RICount} && ${Me.CurrentMana}>${Spell[${SummonSpell}].Mana}) /call SummonIt
/if (${Me.CurrentMana}<${Spell[${SummonSpell}].Mana}) /call MedUp
/goto :Main
/return
/end


Sub SummonIt
/if (${Me.SpellReady[${SummonSpell}]}) {
  /call Cast "${SummonSpell}" gem1 5s 
  /delay ${Me.Gem[${SummonSpell}].CastTime}s !${Casting.ID}
 }
:cursor
/if (${Cursor.ID}) {
/autoinventory 
/delay 2s !${Cursor.ID}
}
/if (${Cursor.ID}) /goto :cursor
/if (!${Me.SpellReady[${SummonSpell}]} && !${Me.Sitting} && !${Me.Mount.ID}) /sit
/delay 15s ${Me.SpellReady[${SummonSpell}]}
/return
 
Sub MedUp
/if (${Me.PctMana}<25 && !${Me.Sitting} && !${Me.Mount.ID}) /sit
/delay 1m ${Me.PctMana}>90
/return

Edit

Changed /if (${Me.SpellReady[${SummonSpell}]} && !${Me.Sitting} && !${Me.Mount.ID}) /sit
to
/if (!${Me.SpellReady[${SummonSpell}]} && !${Me.Sitting} && !${Me.Mount.ID}) /sit
 
Last edited:
Starts and ends nothing happens.
 
Code:
Sub Main
:loop
/if (${FindItemCount[Emerald]}>4) {
 :Imbue
   /if (!${Me.SpellReady[Mass Imbue Emerald]}) /goto :Imbue
   /delay 1s
   /if (${Me.CurrentMana}<600) /goto :Imbue
   /cast 1
 :emeraldcheck
   /if (${Cursor.ID}!=22507) /goto :emeraldcheck
   /delay 1s
   /autoinv
   /delay 2s
   /goto :loop
}
/echo All Done
/end

This assumes A) You are on a mount and B) The Mass Imbue spell is in slot 1
 

Attachments

  • Imbue.mac
    341 bytes · Views: 9
Last edited:
my bad

HTML:
/if (${FindItemCount[=${RawItem}]}<${RICount} && ${Me.CurrentMana}>${Spell[${SummonSpell}].Mana}) /call SummonIt

should be

HTML:
/if (${FindItemCount[=${RawItem}]}>${RICount} && ${Me.CurrentMana}>${Spell[${SummonSpell}].Mana}) /call SummonIt
/call SummonIt never got called unless you had less then 5 emeralds, changed it in the post above should work now
 
Taron said:
Code:
Sub Main
:loop
/if (${FindItemCount[Emerald]}>4) {
 :Imbue
   /if (!${Me.SpellReady[Mass Imbue Emerald]}) /goto :Imbue
   /delay 1s
   /if (${Me.CurrentMana}<600) /goto :FTB
   /cast 1
 :emeraldcheck
   /if (${Cursor.ID}!=22507) /goto :emeraldcheck
   /delay 1s
   /autoinv
   /delay 2s
   /goto :loop
}
/echo All Done
/end

This assumes A) You are on a mount and B) The Mass Imbue spell is in slot 1

Did part of that get cut off? missing a :FTB
 
Whoops. I went back and changed the FTB (flesh to bone) and bonecheck names and replaced it with more imbue-appropriate ones. Missed that goto.
 
ahh yea that makes more sense hehe, figured it was something like that.
 
Still wont run. I start it and it stops.
 
If only Imbue that goes to cursor can keep that way i guess. Try that not master of macros but looks like should work

Code:
Sub Main
:loop
/if (${FindItemCount[Emerald]}<4) /endm
   /if (!${Me.SpellReady[Mass Imbue Emerald]}) /goto :Imbue
   /delay 1s
 :Imbue
   /if (${Me.CurrentMana}>600) /cast 1
 :emeraldcheck
   /if (${Cursor.ID}) {
   /delay 1s
   /autoinv
   /delay 2s
   /goto :loop
}
/return
 
Mine I forgot to add the /goto :Main before the first /return. But ill fix it today. Ended up I dont have to work afterall.
 
Here is a quick Mass Embue macro I put together a few months ago when doing making Mistletoe Sickles.

Code:
|Imbue.mac
|by: Cooch
|4/15/06

#Event OutOfStuff "Sorry, but you don't have everything you need for this recipe in your general inventory."
#Event NoMana "Insufficient Mana to cast this spell!"
#Event Done "You are missing some required components."

Sub Main
:Loop
  /if (${Cursor.ID}) {
    /autoinventory
    /goto :Loop
  }
  /cast "Mass Imbue Emerald"
  /doevents
  /delay 15s
  /goto :Loop
/return

|--Subs--

Sub Event_OutOfStuff
  /endmacro
/return

Sub Event_NoMana
  /sit
  /delay 30s
/return

Sub Event_Done
  /endmacro
/return
 
Cooch said:
Here is a quick Mass Embue macro I put together a few months ago when doing making Mistletoe Sickles.

Code:
Sub Main
:Loop
  /if (${Cursor.ID}) {
    /autoinventory
    /goto :Loop
  }
  /cast "Mass Imbue Emerald"
  /doevents

ROFL I was just thinking about a mac like this when I was going off to sleep last night. Only other thing I was thinking of adding was a GM watch/pause/quit/camp type event as well.

Cooch, could I just change the /cast "Mass Imbue Emerald" to /cast # (probably 1 for ease of use) so that it would be a generic macro to mass (or regular imbue) any items instead of emerald specific?

And also, could I change the spell name to whatever is appropriate name of new mass imbue <name> or just "imbue <name>" as another solution?

Still trying to learn some of the working of macs and identifiers and nominclature and such.

Thanks in advance =)
 
Status
Not open for further replies.