• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->

Making Hotkeys macro's (1 Viewer)

remidemic

New member
Joined
Oct 17, 2006
RedCents
I've been looking all over the place looking for a couple things to help with my tradeskill without using hacks.

2 questions

1: On the Tradeskill window, there is two buttons there called Combine and autoinvitory. Is there a way to create a hotkey macro for the Combine on that window?

2: Is there a way to create a hotkey macro to auto drop or auto destroy?

I hope you guys can help. Remember, I'm not looking for hacks.
 
There's numerous tradeskill macro that could work for you. If you wanted to run just combine and inventory/destroy item you could try the macro below:
Rich (BB code):
| combine.mac : A Simple Combine macro
| Author      : Chill
| Version     : v1.2 23-Feb-2007 2:00AM EST
| Useage      : /macro combine [combines] -- have tradeskill window open with recipie highlighted.
|               /target yourself to pause the macro, target anything else (or nothing) to resume.
| Description : This macro will do the selected recipie until you run out of components or reach
                [combines], pausing whenever you are targeted, and report success/fail rates when done.

#event done "Sorry, but you don't have everything you need for this recipe in your general inventory."
#event success "You have fashioned the items together to create something new:#*#"
#event failure "You lacked the skills to fashion the items together."
#event trivial "You can no longer advance your skill from making this item."
#event skillup "You have become better at#*#"

Sub Main(int max)

/declare triv int outer 0
/declare stats int outer 1
/declare dropit int outer 0
/declare sellit int outer 0
/declare skills int outer 0
/declare wins int outer 0
/declare fails int outer 0
/declare total int outer 0
/declare rate float outer 0
/declare zero int outer 0

/doevents flush

   :Loop
   /if (${Target.ID}==${Me.ID}) {
     /delay 60m ${Target.ID}!=${Me.ID}
   }
   /if (${Cursor.ID}) {
      /if (${dropit}) /drop
      /autoinventory
      /autoinventory
      /autoinventory
      /autoinventory
      /goto :Loop
   }
   /if (${Defined[max]} && ${total} >= ${max}) /call Event_done
   /nomodkey /notify TradeskillWnd CombineButton leftmouseup
   /delay 2s ${Cursor.ID}
   /doevents
   /doevents trivial
   /goto :Loop
/return

Sub ShowRate
   /varcalc rate 100*${wins}/${total}
   /echo (${wins}) of (${total}) combines succeeded (${rate}%).
   /if (${fails}) {
      /varcalc rate 100*${fails}/${total}
      /echo (${fails}) of (${total}) combines failed (${rate}%).
   }
/return

Sub Event_trivial
   /if (${triv}) /call Event_done
/return

Sub Event_done
   /if (${total}) {
      /if (${stats}) /call ShowRate
   } else {
      /echo You had no combines made!  Maybe you have the wrong recipe selected or didn't have everything?
      }
   /endmacro
/return

Sub Event_success
   /varcalc wins ${wins}+1
   /varcalc total ${total}+1
   /autoinventory
   /autoinventory
   /autoinventory
   /autoinventory
/return

Sub Event_failure
   /varcalc fails ${fails}+1
   /varcalc total ${total}+1
   /autoinventory
   /autoinventory
   /autoinventory
   /delay 5s
/return

Sub Event_skillup
   /varcalc skills ${skills}+1
/return

The above code was slightly tweaked to remove divide by zero error when you tried to run the macro and you didn't combine a single thing either because you didn't have everything needed or because you selected the wrong recipe.

To destroy specific item, you need to do ID cursor and if it matches item, /destroy else /autoinventory

Add this somewhere in the macro in place of the /autoinventory:
Rich (BB code):
Sub CheckItem
   | Looks at the item, trashes if no good =), Dont have to
   | put in full name if trash item, just a part.
   | Add "BAD" items here to be trashed, follow the pattern =)
   | Make sure u adjust total number in array
   /declare i int local
   /declare BAD[4] string local
   /varset BAD[1] junk1
   /varset BAD[2] junk2
   /varset BAD[3] junk3
   /varset BAD[4] junk4

Make it as many as needed and change the declare number to match the total number of bad items. Also change the word junk to match the name of the item you wish to destroy.

And add this:
Rich (BB code):
   /for i 1 to ${BAD.Size}
      /if ( ${Cursor.Name.Find[${BAD[${i}]}]} )  /varset flag 1
   /next i
   }
   /if ( ${flag} ) {
      /echo destroying ${Cursor.Name}
      /destroy
   } else {
      /autoinv
   }
   /delay 3s ( ${Cursor.ID} )

I have not checked the auto destroy routine yet but if you use it, make sure you spell out the BAD lines so you only destroy junk and not the good stuff.
 
Making Hotkeys macro's

Users who are viewing this thread

Back
Top