Jewelry Crafting Macro from 1 to 250 (Version 2.2) 8/3/04

Post your completed (working) macros here. Only for macros using MQ2Data syntax!

Moderator: MacroQuest Developers

User avatar
Override
a hill giant
a hill giant
Posts: 179
Joined: Sun Dec 29, 2002 9:19 am

Jewelry Crafting Macro from 1 to 250 (Version 2.2) 8/3/04

Post by Override » Mon Aug 02, 2004 3:23 am

Well, I have decided to start releasing some of my Tradeskills Macros. I have them for pretty much for all tradeskills, but I want to work out a few bugs on some before I release a few. Here is a Link that has all the updated macros:

http://www.soc-music.com/mq2/

Below is the Jewelrycrafting one I have made. This is to be used in the Abysmal Sea and you will need a lot of money on you to go from 1 to 250 if you are doing that. Plus BE SURE to place the .inc files into the common directory in your macros directory (if there isn't one.....create it).

jc.mac

Code: Select all

| 
| jc.mac
| Takes you from 1 to 250 in Jewelry Crafting
| Version 2.2
| Date: August 3, 2004
|
| Please be sure to get the lastest updates at http://www.soc-music.com/mq2/index.htm
|
| Before are the settings you need to change for you.
| This Macro can take you up to 250 in Jewelry Crafting.
| SkillMaxWanted can be change to what skill you want to stop at.
| MerchantName is which merchant you are at.
|
| This Macro works best in the Abysmal Sea since all the components are there.
| You WILL need to be next to the merchant in order for this to work.
| Also, be sure you have a lot of money on you to go from 1 to 250.
|
| Requirements:
| You will need a Jewelry Kit (in the last slot).
|
| Disclaimer:
| Code was used from other programers also from the MQ Forums.
| 


#event CombineError "#*#There was no place to put that#*#" 
#event CombineError "#*#You cannot combine these items in this container type!#*#" 
#event CombineError "#*#did not accept these items#*#" 
#include common/sell.inc
#include common/buy.inc
#include common/packs.inc

Sub Main 
    /declare OldSkill int outer
    /declare SkillMaxWanted int outer
    /declare PackCode string outer 
    /declare Component[10] string outer 
    /declare i int outer
    /declare MerchantName string Outer
    /declare BarItem item outer
    /declare GemItem item outer
    /declare CombItemName string outer
    /declare ItemTo string outer
    /declare EndingVar int outer
    /declare Levelname int outer
    /varset OldSkill ${Me.Skill[Jewelry Making]}

| ************************************************
| *   Change these settings to what you want.    *
| ************************************************

    /varset SkillMaxWanted 250
    /varset MerchantName "Rilwind Sitnai"


| ************************************************
| ************************************************

    :start
    /echo Jewelry Crafting is at ${Me.Skill[Jewelry Making]}

    /if (${Me.Skill[Jewelry Making]}>=${SkillMaxWanted}) {
      /echo Jewelry Making is at ${SkillMaxWanted}. Quiting!
      /endmacro
    }

    /if (${Me.Skill[Jewelry Making]}>=220 && ${Me.Skill[Jewelry Making]}<250) {
      /varset BarItem "platinum bar"
      /varset GemItem "jade"
      /varset CombItemName "PJ"
      /varset ItemTo "Jaded Platinum Ring"
    }

    /if (${Me.Skill[Jewelry Making]}>=202 && ${Me.Skill[Jewelry Making]}<220) {
      /varset BarItem "platinum bar"
      /varset GemItem "lapis lazuli"
      /varset CombItemName "PLL"
      /varset ItemTo "Platinum Lapis Lazuli Necklace"
    }

    /if (${Me.Skill[Jewelry Making]}>=191 && ${Me.Skill[Jewelry Making]}<202) {
      /varset BarItem "gold bar"
      /varset GemItem "fire emerald"
      /varset CombItemName "GFE"
      /varset ItemTo "Fire Emerald Golden Bracelet"
    }

    /if (${Me.Skill[Jewelry Making]}>=183 && ${Me.Skill[Jewelry Making]}<191) {
      /varset BarItem "gold bar"
      /varset GemItem "star ruby"
      /varset CombItemName "GSA"
      /varset ItemTo "Golden Star Ruby Ring"
    }

    /if (${Me.Skill[Jewelry Making]}>=183 && ${Me.Skill[Jewelry Making]}<191) {
      /varset BarItem "gold bar"
      /varset GemItem "opal"
      /varset CombItemName "GO"
      /varset ItemTo "Golden Opal Amulet"
    }

    /if (${Me.Skill[Jewelry Making]}>=172 && ${Me.Skill[Jewelry Making]}<183) {
      /varset BarItem "gold bar"
      /varset GemItem "topaz"
      /varset CombItemName "GT"
      /varset ItemTo "Golden Topaz Earring"
    }

    /if (${Me.Skill[Jewelry Making]}>=146 && ${Me.Skill[Jewelry Making]}<172) {
      /varset BarItem "gold bar"
      /varset GemItem "amber"
      /varset CombItemName "GA"
      /varset ItemTo "Golden Amber Earring"
    }

    /if (${Me.Skill[Jewelry Making]}>=100 && ${Me.Skill[Jewelry Making]}<146) {
      /varset BarItem "gold bar"
      /varset GemItem "malachite"
      /varset CombItemName "GM"
      /varset ItemTo "Gold Malachite Bracelet"
    }

    /if (${Me.Skill[Jewelry Making]}>=76 && ${Me.Skill[Jewelry Making]}<100) {
      /varset BarItem "electrum bar"
      /varset GemItem "amber"
      /varset CombItemName "EA"
      /varset ItemTo "Electrum Amber Earring"
    }

    /if (${Me.Skill[Jewelry Making]}<76) {
      /varset BarItem "electrum bar"
      /varset GemItem "lapis lazuli"
      /varset CombItemName "EL"
      /varset ItemTo "Electrum Lapis Lazuli Earring"
    }

    /varset EndingVar 1
    /target ${MerchantName}
    /face
    /click right target
    /delay 1s
    /call Buy ${BarItem} 20
    /delay 1s
    /call Buy ${GemItem} 20
    /delay 1s
    /notify MerchantWnd DoneButton leftmouseup
    /delay 2s
    /call OpenPacks
    /delay 2s
    /notify TradeskillWnd ExperimentButton leftmousehold
    /notify TradeskillWnd ExperimentButton leftmouseup
    /delay 2s


    /call readIni "${CombItemName}" 
    :Begin 
       /if (${EndingVar}==1) /call ClearCursor 
       /for i 1 to 10 
             /if (${EndingVar}==1) /call AddComp "${Component[${i}]}" ${i} 
       /next i 
       /if (${EndingVar}==1) /call DoCombine 
       /if (${EndingVar}==1) /goto :Begin
 
    /delay 1s
    /call ClosePacks
    /keypress esc
    /keypress esc
    /target ${MerchantName}
    /face
    /click right target
    /delay 1s
    /call OpenPacks
    /delay 2s
    /call Sell ${ItemTo}
    /delay 1s
    /call ClosePacks
    /keypress esc
    /keypress esc

    /goto :start

    /return

Sub readIni(RecipeName) 
    /declare Container string 

    /echo Running ${RecipeName} recipe, which makes ${ItemTo}.

   /if (${Ini["jc.ini","${RecipeName}",-1,"NOTFOUND"].Equal["NOTFOUND"]}) { 
        /echo Recipe ${RecipeName} not found 
        /endmacro 
    } 

   /varset Container ${Ini[jc.ini,${RecipeName},Cont,Enviro]} 

   /if (${Container.Equal[Enviro]}) { 
        /varset PackCode Enviro 
   } else { 
        /varset PackCode ${FindItem[=${Container}].InvSlot} 
       
      /if (${PackCode.Equal[NULL]}) { 
         /echo Could not find container ${Container} 
         /varset EndingVar 2
         /return
      } 
      | pack1 = 22, ... , pack8 = 29 
      /varset PackCode pack${Math.Calc[${PackCode}-21].Int} 
   }  

    /for i 1 to 10 
        /varset Component[${i}] ${Ini[jc.ini,${RecipeName},Comp${Math.Calc[${i}-1].Int},NOTFOUND]} 
    /next i 
    /return 

sub ClearCursor 
    :Loop 
      /if (!${Cursor.ID}) /return 
      /autoinv 
|      /destroy	
      /delay 5 
      /doevents 
      /goto :Loop 
    /return 

sub DoCombine 
    :Loop
      /combine ${PackCode} 
      /delay 1s 
      /if (${PackCode.Equal[Enviro]}) /delay 1s 
      /doevents 
      /if (${InvSlot[${PackCode}].Item.Items}) /goto :Loop 
      /delay 5 
      /if (${Me.Skill[Jewelry Making]}>${OldSkill}) {
        /echo Your Jewelry Crafting Went Up!! It's now ${Me.Skill[Jewelry Making]}!
        /varset OldSkill ${Me.Skill[Jewelry Making]}
      }
    /return 

sub AddComp(CompName, PackSlot) 
   /if (${CompName.Equal[NOTFOUND]}) /return 

   /if (!${FindItem[=${CompName}].ID}) { 
      /echo Could not find ${CompName} in inventory 
      /beep 
      /varset EndingVar 2
      /return 
    } 

   :Loop 
      /ctrl /itemnotify ${FindItem[=${CompName}].InvSlot} leftmouseup 

      /if (!${Cursor.ID}) { 
         /delay 1 
         /goto :Loop 
      } 

   /if (${PackCode.Equal[Enviro]}) { 
      /itemnotify ${InvSlot[enviro${PackSlot}]} leftmouseup 
   } else { 
      /itemnotify in ${PackCode} ${PackSlot} leftmouseup 
   }    
   /return 

Sub Event_CombineError 
    /varset EndingVar 2
/return 
jc.ini

Code: Select all

[EL]
Cont=Jeweler's Kit
Comp0=electrum bar
Comp1=lapis lazuli


[EA]
Cont=Jeweler's Kit
Comp0=electrum bar
Comp1=amber

[GM]
Cont=Jeweler's Kit
Comp0=gold bar
Comp1=malachite

[GA]
Cont=Jeweler's Kit
Comp0=gold bar
Comp1=amber

[GT]
Cont=Jeweler's Kit
Comp0=gold bar
Comp1=topaz

[GO]
Cont=Jeweler's Kit
Comp0=gold bar
Comp1=opal

[GSR]
Cont=Jeweler's Kit
Comp0=gold bar
Comp1=star ruby

[GFE]
Cont=Jeweler's Kit
Comp0=gold bar
Comp1=fire emerald

[PLL]
Cont=Jeweler's Kit
Comp0=platinum bar
Comp1=lapis lazuli

[PJ]
Cont=Jeweler's Kit
Comp0=platinum bar
Comp1=jade
buy.inc

Code: Select all

| 
| buy.inc
| Buy Include File needed for macros
| Version 1.3
| Date: August 1, 2004
|
| Please be sure to get the lastest updates at http://www.soc-music.com/mq2/index.htm
|
| These file MUST be in the common directory in your macros directory.
|
| Disclaimer:
| Code was used from other programers also from the MQ Forums.
| 


#event Broke "#*#can't afford to buy them#*#" 

Sub Buy(item ItemToBuy, int amount)

/echo Buying ${ItemToBuy}

/declare TotalMItems int Inner
/varset TotalMItems ${Merchant.Items}
/declare x int Inner
/declare ItemSlotNum int Inner
/varset ItemSlotNum 0

/for x 1 to ${TotalMItems}
  /if (${ItemToBuy.Equal[${Merchant.Item[${x}]}]}) {
    /varset ItemSlotNum ${x}
  }
/next x

/if (${ItemSlotNum}==0) {
  /echo Not on Merchant
  /return
}

/itemnotify merchant${ItemSlotNum} leftmouseup


:Buy 
   /if (${FindItemCount[=${SelectedItem}]}>=${amount}) {
     /echo Done!
     /return
   }        

:StackLoop 
   /if (${Math.Calc[${amount}-${FindItemCount[=${SelectedItem}]}]}<=20) /goto :RegLoop 
   /buyitem ${If[${SelectedItem.Stackable},20,1]} 
   /delay 5 
   /doevents 
   /goto :StackLoop 

:RegLoop 
   /if (${Math.Calc[${amount}-${FindItemCount[=${SelectedItem}]}]}<=0) {
     /echo Done!
     /return
   }        
   /buyitem ${If[${SelectedItem.Stackable},${Math.Calc[${amount}-${FindItemCount[=${SelectedItem}]}]},1]} 
   /delay 5 
   /doevents 
   /goto :RegLoop 

/return

Sub Event_Broke 
   /echo Error: You are out of money! 
   /beep
   /endmacro
/return 
packs.inc

Code: Select all

| 
| packs.inc
| Open and Close Packs Include File needed for macros
| Version 1.1
| Date: August 1, 2004
|
| Please be sure to get the lastest updates at http://www.soc-music.com/mq2/index.htm
|
| These file MUST be in the common directory in your macros directory.
|
| Disclaimer:
| Code was used from other programers also from the MQ Forums.
| 

Sub OpenPacks 
   /declare bag int local 0 

   /newif (!${Window[InventoryWindow].Open}) /keypress inventory 
   /delay 1 
   /for bag 1 to 8 step 1 
      /newif (!${Window[pack${bag}].Open}) /itemnotify pack${bag} rightmouseup 
   /next bag 
   /delay 1 
/return 

Sub ClosePacks 
   /declare bag int local 0 
|   /newif (!${Window[InventoryWindow].Open}} /keypress inventory 
   /delay 1 
   /for bag 1 to 8 step 1 
      /newif (${Window[pack${bag}].Open}) /itemnotify pack${bag} rightmouseup 
   /next bag 
   /delay 1 
/return 
sell.inc

Code: Select all

| 
| sell.inc
| Selling Include File needed for macros
| Version 1.2
| Date: August 1, 2004
|
| Please be sure to get the lastest updates at http://www.soc-music.com/mq2/index.htm
|
| These file MUST be in the common directory in your macros directory.
|
| Disclaimer:
| Code was used from other programers also from the MQ Forums.
| 


Sub Sell(string ItemToSell)
   /declare OldMoney int Inner    
   /declare NewMoney int Inner
 
   /autoinv 

   /if (${ItemToSell.Equal[NULL]}) {
     /echo Usage: /macro sell "Item"
     /return
   }

   :Finding 
      /if (${FindItemCount[=${ItemToSell}]}==0) /goto :Done 
      /itemnotify ${FindItem[=${ItemToSell}].InvSlot} leftmouseup 

   :WaitFind 
      /if (${Bool[${SelectedItem}]}==FALSE) /goto :WaitFind 

   :Selling
      /delay 1s 
      /varset OldMoney ${Me.Cash} 
      /shift /notify MerchantWnd MW_Sell_Button leftmouseup 

   :WaitSell 
      /varset NewMoney $(Me.Cash} 
      /if (${NewMoney}==${OldMoney}) /goto :WaitSell 
      /goto :Finding 

   :Done 
      /echo No more ${ItemToSell} to sell!!!      
/return 
Last edited by Override on Tue Aug 03, 2004 10:48 pm, edited 2 times in total.
Self Automated Tradeskill Macros at:
[url=http://www.override13.com/mq2/]http://www.override13.com/mq2/[/url]

NotSoCSharp
a ghoul
a ghoul
Posts: 85
Joined: Sat Oct 25, 2003 10:48 am

Post by NotSoCSharp » Mon Aug 02, 2004 8:19 am

FYI,

The brewing and smithing links on your page point to the same zip file.

El
a ghoul
a ghoul
Posts: 108
Joined: Mon Dec 29, 2003 12:34 pm

Post by El » Mon Aug 02, 2004 1:44 pm

Couple of things... There's some weirdness going on with the buy function -- it won't buy more than a a single item at a time. Looks like ${Item.Stackable} always returns NULL instead of a boolean.

Also, I tried your fletching version and it has a truly expensive route of skilling up. I'm putting together a fletching version that has the cheapest route I've found.

EDIT: Never mind. Applying http://macroquest2.com/phpBB2/viewtopic.php?t=8508 fixes the stackable problem.

User avatar
Override
a hill giant
a hill giant
Posts: 179
Joined: Sun Dec 29, 2002 9:19 am

Post by Override » Mon Aug 02, 2004 5:57 pm

Thanks for letting me know about the links, I fixed them. :)
Self Automated Tradeskill Macros at:
[url=http://www.override13.com/mq2/]http://www.override13.com/mq2/[/url]

User avatar
Override
a hill giant
a hill giant
Posts: 179
Joined: Sun Dec 29, 2002 9:19 am

Post by Override » Mon Aug 02, 2004 5:59 pm

Actually, i have studied a lot of fletching routes, and I believe I have about the cheapest once you get over 100, I didn't care about before 100 just because that wasn't that expensive anyways and it goes by quick.
Self Automated Tradeskill Macros at:
[url=http://www.override13.com/mq2/]http://www.override13.com/mq2/[/url]

El
a ghoul
a ghoul
Posts: 108
Joined: Mon Dec 29, 2003 12:34 pm

Post by El » Mon Aug 02, 2004 8:30 pm

From 100 on, this is what I've used. Now, I don't have GoD, so it's possible that the prices are cheaper there than I'm used to:

102 - 122 wooden shafts, large nocks, wooden arrow vanes, field points
122 - 135 ceramic shafts, large nocks, round cut fletchings, field points
135 - 162 wooden shafts, large nocks, bone arrow vanes, field points
162 - 202 wooden shafts, large nocks, ceramic arrow vanes, field points

Now, I'm a believer in staying close to the trivial range... i.e. I don't like making items much further than 40pts away from my skill level. I've had statistically better skill increases when I do that. I typically do my fletching in PoK with 125+ charisma.

This is about as good as path as I've been able to find over the years. The reason I mentioned it was that when I was testing your fletching macro out, I noticed how fast my pp was vanishing compared to what I'm used to seeing.

User avatar
Override
a hill giant
a hill giant
Posts: 179
Joined: Sun Dec 29, 2002 9:19 am

Post by Override » Mon Aug 02, 2004 9:46 pm

I will check out your way in a day or two and see how it is. I used this site and used the cheapest way on this site:

http://mywebpages.comcast.net/aoenla/fl ... _skill.htm

It has not been updated in a while so it may be wrong.
Self Automated Tradeskill Macros at:
[url=http://www.override13.com/mq2/]http://www.override13.com/mq2/[/url]

El
a ghoul
a ghoul
Posts: 108
Joined: Mon Dec 29, 2003 12:34 pm

Post by El » Mon Aug 02, 2004 10:54 pm

Ah, I see... it looks like you used the top portion of the table on that site. Those arrows seem to be for sale or use, depending on your needs. The bottom portion of the table (type 1 - type 11) looks to be the skillup section.

Nice site. Thanks for giving the link.

fantum409
a ghoul
a ghoul
Posts: 141
Joined: Fri Nov 14, 2003 10:03 pm

Post by fantum409 » Tue Aug 03, 2004 12:20 pm

Well, I am amazed with this jc.mac! I normally avoid TS's like the plague since first round of carpal in the velious era LoL. But maybe now its time to work on that BIC quest a little and master some skills.

Thank you for a KILLER mac! This is the first TS mac I've tried and it worked perfectly "out of the box." My main went from 10 to 200 for a bit under 7kpp in about 3 hours. Nicely done!

=)

wrangler
a ghoul
a ghoul
Posts: 93
Joined: Fri Nov 28, 2003 3:07 pm

Post by wrangler » Tue Aug 03, 2004 12:45 pm

i'll have to play around with it more tonight, but i had a problem where when i started the macro this morning, it would just continuously keeping buying the 1st item

i targetted the merchant with all bags open and not overlapping and started macro

im at skill 202, so it starting buying platinum bars repeatedly. i ended the macro at 4 stacks as it looks like it should only work one stack at a time

thanks for the macro however, perhaps im doing something wrong

doh, as i keep reading
will try fix as in
http://macroquest2.com/phpBB2/viewtopic.php?t=8508

**edit
i made the changes in the above post. recreated all the files, evern recompiled MQ, and the macro still just targets the NPC merchant and buys platinum bars one at a time untill i stop it. perhaps i am missing something afterall

noticed that the sizes of the files on the site are different then the ones i made, will try replacing them

nope, just keeps buying platinum bars without end
Last edited by wrangler on Tue Aug 03, 2004 7:06 pm, edited 1 time in total.

ScubaSki
a lesser mummy
a lesser mummy
Posts: 55
Joined: Mon Jun 21, 2004 8:27 pm

Post by ScubaSki » Tue Aug 03, 2004 7:06 pm

Great bunch of Macro's. After I made the offset fixes everything worked fine.

Couple things

1 - Speed effects like SOW/SOE effect this macro. It was having alot of trouble hitting the vendors and got stuck.(Alot on the blacksmithing one) Even clicking off the speed effects didn't help much.

2 - Would it be hard to code in a batch command to setup the number of "batches" you want to go through before it does the vendor routines again? Mostly for brewing and smithing where there is alot of running around. I've got plenty of bag space so a "/mac smithing 3" that buys 3 batches of combines would be awesome.

3 - Also in the smithing macro it had trouble getting to a forge and opening doors. You may want to look at that. I'm not certain why it didn't work for me but I tested it every way I could think of. I could not determine the problems with it.

I eagerly anticipate the rest of the tradeskill macros sir!

User avatar
Override
a hill giant
a hill giant
Posts: 179
Joined: Sun Dec 29, 2002 9:19 am

Post by Override » Tue Aug 03, 2004 7:22 pm

wrangler wrote:i'll have to play around with it more tonight, but i had a problem where when i started the macro this morning, it would just continuously keeping buying the 1st item

i targetted the merchant with all bags open and not overlapping and started macro

im at skill 202, so it starting buying platinum bars repeatedly. i ended the macro at 4 stacks as it looks like it should only work one stack at a time

thanks for the macro however, perhaps im doing something wrong

doh, as i keep reading
will try fix as in
http://macroquest2.com/phpBB2/viewtopic.php?t=8508

**edit
i made the changes in the above post. recreated all the files, evern recompiled MQ, and the macro still just targets the NPC merchant and buys platinum bars one at a time untill i stop it. perhaps i am missing something afterall

noticed that the sizes of the files on the site are different then the ones i made, will try replacing them

nope, just keeps buying platinum bars without end
I am not sure why it is doing it for you. That is the problem I was having before I did the fix on http://macroquest2.com/phpBB2/viewtopic.php?t=8508. Once I did that it started buying stacks again. I would download the lastest zip of MQ2 and apply the fix again and recompile, if it is still messing up, you may have to wait till they do another update to MQ2.
Self Automated Tradeskill Macros at:
[url=http://www.override13.com/mq2/]http://www.override13.com/mq2/[/url]

wrangler
a ghoul
a ghoul
Posts: 93
Joined: Fri Nov 28, 2003 3:07 pm

Post by wrangler » Tue Aug 03, 2004 7:28 pm

thanks, im gonna try making the fix before compiling
i bet that's my problem

**edit

thats it!
have to make the alterations BEFORE compiling
thanks again for the great macro
works flawlessly now
Last edited by wrangler on Tue Aug 03, 2004 7:40 pm, edited 1 time in total.

User avatar
Override
a hill giant
a hill giant
Posts: 179
Joined: Sun Dec 29, 2002 9:19 am

Post by Override » Tue Aug 03, 2004 7:29 pm

ScubaSki wrote:Great bunch of Macro's. After I made the offset fixes everything worked fine.

Couple things

1 - Speed effects like SOW/SOE effect this macro. It was having alot of trouble hitting the vendors and got stuck.(Alot on the blacksmithing one) Even clicking off the speed effects didn't help much.

2 - Would it be hard to code in a batch command to setup the number of "batches" you want to go through before it does the vendor routines again? Mostly for brewing and smithing where there is alot of running around. I've got plenty of bag space so a "/mac smithing 3" that buys 3 batches of combines would be awesome.

3 - Also in the smithing macro it had trouble getting to a forge and opening doors. You may want to look at that. I'm not certain why it didn't work for me but I tested it every way I could think of. I could not determine the problems with it.

I eagerly anticipate the rest of the tradeskill macros sir!
I have tested this macro on 9 differnet computers and I never did try it with SOW on, I have run level 3 AAs on all my toons and it worked fine. But I would not suggest having SOE or Levi on because you WILL probably get stuck on the doors. Try adding a:
#turbo 10
That may slow the macro down for you to work a little better, and it would be really easy to add a "batches" parameter to it, I will look in to adding that soon for all the macros. Thanks for the idea.
Self Automated Tradeskill Macros at:
[url=http://www.override13.com/mq2/]http://www.override13.com/mq2/[/url]

ScubaSki
a lesser mummy
a lesser mummy
Posts: 55
Joined: Mon Jun 21, 2004 8:27 pm

Post by ScubaSki » Tue Aug 03, 2004 10:00 pm

Well, I figured out part of my problem.

I'm also an Avid FPS gamer so I remapped the default use key from "U" to "E" like it is in most FPS games. I just got frustrated so I went and actually looked at your macro code. =p A simple replace and it works great now. Sorry for the confusion.