Page 1 of 2
1
2
LastLast
  1. #1

    Unusual macro, nitro boosts / invis field

    Hey,

    I didn't think this was possible but saw someone do it in a video, I'm looking for a macro that will apply invisibility field to my belt, or nitro boosts.

    Or even better, if it's possible: one that will swap between both depending on what is currently on the belt =)

    Thanks for your help!

  2. #2
    /use 6

    Activates the belt slot and i believe both invisibility and nitro are put on the belt

    Since you cant switch out belts during combat, it would activate whatever belt's engineering "tinker" is on the one you are wearing.

    You can do the #showtooltip spell name macro and activate it every time you use a certain spell but since you don't want to waste its Cooldown just having a /use macro is the probably the best option.

  3. #3
    huh? I don't think you get what I mean, I need a macro that tinkers it to my belt so I don't waste time opening engineering and looking for it, a simple macro how to use them isn't that much beyond me
    And you can swap it out in combat actually afaik

  4. #4
    Code:
    /run local l,a=GetInventoryItemLink("player",6)a=l:find("m:%d+:4223")and"Invisibility Field"or"Nitro Boosts"CastSpellByName("Engineering")for i=1,GetNumTradeSkills()do if a==GetTradeSkillInfo(i)then DoTradeSkill(i,1)break end end CloseTradeSkill()
    /use 6
    Exactly 255 characters. Phew.
    (Drycoded. Not sure on the enchantID (I used 4223, it's what wowhead says) for nitros. /dump the item link for a nitro boosts tinkered item and check the field after the item ID.)
    Last edited by Treeston; 2013-05-06 at 08:28 AM.
    UI & AddOns expert | Interface & Macros moderator - My work

  5. #5
    Wow, yeah that really is complicated, could you give a description of what that does now exactly? :P and I don't get what you mean by the last part, I feel dumb

    Thanks btw!

  6. #6
    Alright, let me make it readable and break it down for you:
    Code:
    local l=GetInventoryItemLink("player",6") -- gets the item link for your currently equipped belt
    local a = l:find("m:%d+:4223") and "Invisibility Field" or "Nitro Boosts" -- searches for enchant id 4223 in the currently equipped belt's link. if it is found, that means the belt has nitro boosts on it, and we should tinker invisibility field. otherwise, we should tinker nitro boosts.
    CastSpellByName("Engineering") -- open the engineering window
    for i=1,GetNumTradeSkills() do -- loop through all engineering recipes
        if GetTradeSkillInfo(i) == a then -- if we've found the tinker we should use
            DoTradeSkill(i,1) -- cast the tinker
            break -- stop looping
        end
    end
    CloseTradeSkill() -- close the engineering window
    Afterwards, /use 6 should target the tinker (which is currently queued on the glowing cursor) onto your belt. In theory.

    There's a few things that may not make this work:
    1. I don't know if the tinker cast requires the trade skill window to be open. If it does, that would complicate things.
    2. I don't know if tinkers actually use DoTradeSkill().
    3. I don't know if the tinker actually has the enchantID 4223. If the macro doesn't work, this is the first thing you'd want to check. Do a /dump "[Item Link]" (with quotes). This should break the item link down into its underlying datastring, which should look something like this: |cffcolor|Hitem:itemid:enchantid:<other information>|h[item name]|h|r. Replace the '4223' in the macro with the enchant ID your nitro boost tinkered belt displays.
    UI & AddOns expert | Interface & Macros moderator - My work

  7. #7
    Quote Originally Posted by BirdLady68 View Post
    /use 6

    Activates the belt slot and i believe both invisibility and nitro are put on the belt

    Since you cant switch out belts during combat, it would activate whatever belt's engineering "tinker" is on the one you are wearing.

    You can do the #showtooltip spell name macro and activate it every time you use a certain spell but since you don't want to waste its Cooldown just having a /use macro is the probably the best option.
    Why complicate things? The post I quoted solves its the best way.
    Every equipment slot has a number for easy macroing
    if u macro /use 6 it will use your belt.
    I think 13 and 14 are the trinkets.

  8. #8
    Quote Originally Posted by krogy View Post
    Why complicate things? The post I quoted solves its the best way.
    Every equipment slot has a number for easy macroing
    if u macro /use 6 it will use your belt.
    I think 13 and 14 are the trinkets.
    I think you've completely missed the point

    Treeston however, did get my meaning and I thank you for helping me my friend! <3

    ---------- Post added 2013-05-06 at 09:16 AM ----------

    Quote Originally Posted by Treeston View Post
    Alright, let me make it readable and break it down for you:
    Code:
    local l=GetInventoryItemLink("player",6") -- gets the item link for your currently equipped belt
    local a = l:find("m:%d+:4223") and "Invisibility Field" or "Nitro Boosts" -- searches for enchant id 4223 in the currently equipped belt's link. if it is found, that means the belt has nitro boosts on it, and we should tinker invisibility field. otherwise, we should tinker nitro boosts.
    CastSpellByName("Engineering") -- open the engineering window
    for i=1,GetNumTradeSkills() do -- loop through all engineering recipes
        if GetTradeSkillInfo(i) == a then -- if we've found the tinker we should use
            DoTradeSkill(i,1) -- cast the tinker
            break -- stop looping
        end
    end
    CloseTradeSkill() -- close the engineering window
    Afterwards, /use 6 should target the tinker (which is currently queued on the glowing cursor) onto your belt. In theory.

    There's a few things that may not make this work:
    1. I don't know if the tinker cast requires the trade skill window to be open. If it does, that would complicate things.
    2. I don't know if tinkers actually use DoTradeSkill().
    3. I don't know if the tinker actually has the enchantID 4223. If the macro doesn't work, this is the first thing you'd want to check. Do a /dump "[Item Link]" (with quotes). This should break the item link down into its underlying datastring, which should look something like this: |cffcolor|Hitem:itemid:enchantid:<other information>|h[item name]|h|r. Replace the '4223' in the macro with the enchant ID your nitro boost tinkered belt displays.
    in the video he casts invisiblity field, seemingly without the engineering window opening

  9. #9
    Only way we'll know is if you try it out.
    UI & AddOns expert | Interface & Macros moderator - My work

  10. #10
    Quote Originally Posted by Treeston View Post
    Only way we'll know is if you try it out.
    ye I will, I'll post the results later today at 15.00 or so, leaving for college in a bit

  11. #11
    Quote Originally Posted by Gnoe View Post
    I think you've completely missed the point

    Treeston however, did get my meaning and I thank you for helping me my friend! <3

    ---------- Post added 2013-05-06 at 09:16 AM ----------


    I think I got your meaning, you don't mean cast as in use but cast as in tinker the belt at will.

  12. #12
    Quote Originally Posted by Treeston View Post
    Only way we'll know is if you try it out.
    I've tried it, and when I use it, it says: "are you sure you want to replace "nitro boosts" with "nitro boosts""? and then just override my old nitros with new nitros trying to figure it out myself, but yeah...
    spell id for invis field is 4187

    tried doing that dump thing, and basicly tried all the numbers I saw there to no avail :P
    Last edited by Gnoe; 2013-05-06 at 02:02 PM.

  13. #13
    You'd have to insert the nitro one, not the invis one. Sorry if that one wasn't quite clear.
    UI & AddOns expert | Interface & Macros moderator - My work

  14. #14
    Yeah, this is what I did

    I tinkered my belt with nitro boosts, I then typed in /dump "item name"

    gave me this result:

    [16:07:41] Dump: value=" [Tomb Raider's Girdle]"
    [16:07:41] [1]=" |cffa335ee|Hitem:85982:0:4647:4592:4647:0:0:1947384448:90:152:445|h[Tomb Raider's Girdle]|h|r"

    I then tried replacing the value 4223 in the macro by : "4647" "4592" "85982" and all led to no result, still same thing it's telling me as before when I press it

  15. #15
    That doesn't appear to have any enchant ID whatsoever. Damn.

    Can you tinker the same belt with invisibility field and post dumps too?
    UI & AddOns expert | Interface & Macros moderator - My work

  16. #16
    with invis field:

    [16:18:23] Dump: value=" [Tomb Raider's Girdle]"
    [16:18:23] [1]=" |cffa335ee|Hitem:85982:0:4647:4592:4647:0:0:1947384448:90:152:445|h[Tomb Raider's Girdle]|h|r"

    think it's the same? :x

    ---------- Post added 2013-05-06 at 02:19 PM ----------

    it does wanna change from invis field to nitro boots though when I click it now, but not from nitros to invis

  17. #17
    It's the same alright. Sometimes I just hate Blizzard.

    I suppose the only way to retrieve tinker information would be by scanning the tooltip, but there's no way that tooltip scanning code would fit into a macro's space constraints. Don't see this as being doable, to be honest.
    UI & AddOns expert | Interface & Macros moderator - My work

  18. #18
    it's ok mate, you tried! and I am grateful! I got it to work in 2 separate macros now, one for changing to invis field and one for nitro boosts!

    A little clunkier but it does the job too I guess ^^

  19. #19
    Sorry to bump up this old thread, but I'm looking for some macros and this is the only thing I've found that came near it. What I'm looking for is just a series of 3 seperate macros that apply a tinker to my belt. Nr. 1 being 'Frag Belt', 2 'Invisibility Field' and 3 'Nitro Boosts'.
    I understand that this macro should somehow look like the one you replied:

    /run local l,a=GetInventoryItemLink("player",6)a=l:find("m:%d+:4223")and"Invisibility Field"or"Nitro Boosts"CastSpellByName("Engineering")for i=1,GetNumTradeSkills()do if a==GetTradeSkillInfo(i)then DoTradeSkill(i,1)break end end CloseTradeSkill()
    /use 6

    but I am not sure what to remove here so I can just apply 1 tinker.
    Thanks in advance!

  20. #20
    If you simply want to apply the same tinker every time, something like this should do the trick:

    Code:
    /run CastSpellByName("Engineering")for i=1,GetNumTradeSkills()do if "Frag Belt"==GetTradeSkillInfo(i)then DoTradeSkill(i,1)break end end CloseTradeSkill()
    /use 6
    Then again, as I said further up in the thread, here's the issues that might require adjustment:
    1. I don't know if the tinker cast requires the trade skill window to be open. If it does, that would complicate things.
    2. I don't know if tinkers actually use DoTradeSkill().
    3. I don't know if the tinker recipe is named "Frag Belt".
    UI & AddOns expert | Interface & Macros moderator - My work

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •