Give a Macro, Take a Macro!

Welcome to the forums of Runes of Magic EN & US

Rules and Guidelines: Game Rules - Community Guidelines - Terms of Use - RoM Servers Status

Customer Support: EN/EU Customer Support - US Customer Support

Get in touch with us: Join our Discord!
  • OK, I figured it out. I modified it with a partial script someone else wrote at one point...


    /run local MB=UnitMana("player");MT=true;if MB>=80 then MT=false;for i=1,40 do if UnitBuff("player", i)=="Disassembly Mode"then MT=false; if not(MT)then if GetActionUsable(5) then UseAction(5)end end end end end


    and it works. Turns out that when I was adding it originally, I forgot to add the extra "end" at the end. /facepalm

    Edited once, last by Champ ().

  • GetActionUsable is only true if you have enough rage


    but to come back to your question: with UnitMana("player") you can get the first resource (as a warrior rage, as a knight mana,...).

    as psyron it should work for rage so you can do it like


    /run local MT=true for i=1,40 do if UnitBuff("player", i)=="Disassembly Mode"then MT=false; if not(MT)then if GetActionUsable(5) and UnitMana("player") >= 80 then UseAction(5) end end end end

  • Its exactly what i want, talking to a NPC without double click on him :D, in stead of double click, or press 1 to cast "Attack", i just need to right click on a daily NPC to repeat accepting/returning a quest. I usually farm dailies with alts on a 6 seats mount. While on a mount, the characters cannot cast skills (even the normal attack), only right click.

    If you combine 2 addons- Daily Notes with Auto Follow(and auto quest) I think you will get what you want. All six alts will complete and accept after you target the NPC once at the beginning.

  • Hello, i want to know if there is macro that give auto buff when you write a command. For exemple you want the buff "Embrace of the water spirit" from P/S you type something in chat and it give the buff automaticaly.

  • Не могли бы вы поподробней проинформировать как пишется макрос, куда его вставляют. Мы в этом не очень разбираемся.

    ---------------------------------------------------------------------

    Could you please inform in more detail how the macro is written and where it is inserted? We don't understand this very well.

    Места надо знать!!!

  • Is it possible to write macro for counting stacks with buffs/debuffs? Some of them has different id's for each (like d/s camellia or w/m electrical rage) so its easy to config, but some others (like soul brand wl/m) doesn't and any amount of buffs 1-4 with same id. Is it possible to count them with macro?

    Edited once, last by JustUser ().

  • Is it possible to write macro for counting stacks with buffs/debuffs? Some of them has different id's for each (like d/s camellia or w/m electrical rage) so its easy to config, but some others (like soul brand wl/m) doesn't and any amount of buffs 1-4 with same id. Is it possible to count them with macro?

    https://runesofmagic.fandom.com/wiki/API:UnitBuff (only visible buffs)

    https://runesofmagic.fandom.com/wiki/API:UnitBuffLeftTime (time from visible buffs)


    https://runesofmagic.fandom.com/wiki/API:UnitDebuff (only visible debuffs)

    https://runesofmagic.fandom.com/wiki/API:UnitDebuffLeftTime (time from visible debuffs)


    https://runesofmagic.fandom.com/wiki/API:UnitBuffInfo (all buffs and debuffs, even invisible one)


    UnitBuff, UnitDebuff and UnitBuffInfo will all return the stack count of each buff. If the buff you're looking for has different id's, you'll have to search for them the normal way.

  • I'm not very good at writing macros and hoped there exist something ready to use ( :) ), but thanks for the tip. I will study and try. Thank you!

  • "ready to use" depends on the purpose how you want to use it


    if you just wanna check how much stacks a certain debuff of your target has, you can check it with:


    Code: check stacks of soul brand and print it to chat
    1. /run for i=1,50 do local name,icon,count,ID=UnitBuff("target",i) if ID==621446 then SELECTED_CHAT_FRAME:AddMessage(count) break end end

    if you want to further work with this information, you should put that as function in an addon


    Code: function to check stack of buffs
    1. function CheckBuffStacks(id, unit)
    2.     local unit = unit or "target"
    3.     for i=1,50 do
    4.         local name,icon,count,ID=UnitBuff(unit,i)
    5.         if ID==id then
    6.             return count
    7.         end
    8.     end
    9. end
  • What I am usually doing - is taking pieces of different codes and put in 1, editing its for my needs. Mostly it works. So I will see if I can make something with your hints. Thank you much bro!

  • Before attacking the boss, I want the title to work according to the CD countdown. I want to use the title with 1 second left, but it will work according to the CD timing.


    Does anyone know the macro?

  • Does anyone know a way to open chests in bunker in silverfall via macro? - kinda u complete the mobs killing, chests appear, then u press a macro and it targets the needed one and opens it?

    And pretty much the same question for opening a storage chest at home - is even possible? Have been checking API though havent found anything useful in particular

  • Does anyone know a way to open chests in bunker in silverfall via macro? - kinda u complete the mobs killing, chests appear, then u press a macro and it targets the needed one and opens it?

    And pretty much the same question for opening a storage chest at home - is even possible? Have been checking API though havent found anything useful in particular

    impossible

    Eigentlich bin ich ein Gnom !


    Unityforce auf Kerub Kadmos


    Wichtl @ Kadmos (††† R.I.P. Zikiel 2021-08 †††)

    Gagh @ Kadmos (††† R.I.P. Kerub 2023-09 †††)

  • /run for r=1,100 do local BN,_,ct,BID,par = UnitBuff("player", r) if BN == "name" then local found = true elseif not BN then break end end if found == false then CastSpellByName("skillname") end

    Any tips why it doesn't work?


    Quote

    /run for r=1,100 do local BN,_,ct,BID,par = UnitBuff("player", r) if BN == "Savage Blessing" then local found = true elseif not BN then break end end if found == false then CastSpellByName("Savage Blessing") end

  • Code
    1. /run local found = false for r=1,100 do local BN,_,ct,BID,par = UnitBuff("player", r) if BN == "name" then found = true elseif not BN then break end end if not found then CastSpellByName("skillname") end

    fixed^^


    edit: sorry it was late night... now it's fixed xD

    Edited 3 times, last by Ainz ().

  • as macro:

    Code
    1. /run local found for r=1, 100 do local BN = UnitBuffInfo("player", r) if BN == "<BUFF_NAME>" then found=true elseif not BN then break end end if not found then CastSpellByName("<SKILLNAME>") end

    as a language independent macro with skill/buffids would be

    Code
    1. /run local found for r=1, 100 do local _,_,_,id= UnitBuffInfo("player", r) if id == <BUFFID> then found=true elseif not id then break end end if not found then CastSpellByName(TEXT("Sys<SKILLID>_name") end

    Du bist mit einer Entscheidung von mir nicht zufrieden? Kontaktiere meinen Superior SaitoHajime