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!
  • *Original post by Twiiggy


    R/M Premeditation + Wound Attack Combo


    So this is a really basic macro that will cast Premeditation and the straight after Wound Attack. It will then wisper you when Premeditation is back up.


    Just replace 'Character Name' with your character name............

    Code
    1. /cast Premeditation
    2. /wait .2
    3. /cast Wound Attack
    4. /wait 60
    5. /wait 20
    6. /w Character Name 10's on WA CRIT
  • Quote

    Anyone have a macro that will check if autoshot is on for scouts? Can't use cast because itll just toggle it on and off?


    *reply by achilleas1

    Code
    1. /run enemy = UnitCanAttack("player","target") and (not UnitIsDeadOrGhost("target")); a1,a2,a3,a4,a5,AS = GetActionInfo(16); if enemy and (not AS) then CastSpellByName("Autoshot") end


     

    the 6-th output argument of GetActionInfo (AS: boolean) is true if Autoshot is on, else is false. the number 16 is the action slot i have Autoshot skill in the skillbar. that said, u need to set autoshot to some trash-slot in ur actionbar and just check if its on/off through the macro.

  • *Original post by Ozmondius


    Hide Macro


    I liked the old behavior of "Hide" as a toggle, when you used to cast the skill, if Hide was on, it would cancel the buff and if it was off, hitting the button would put you into hide. I hated when they changed that, so I created a macro that mimics the old behavior:


    Code
    1. /run for i=1,100 do n,_,_,id=UnitBuff("player",i) if id==500675 then CancelPlayerBuff(i) break else CastSpellByName("Hide") end end

    It works fine if you have no other buffs on, but if you have other buffs on, it just casts or recasts hide, it won't cancel hide if it's on. I can't figure out how to fix it. It seems like when there is more than one buff on, including hide, id does not equal 500675 because it is also seeing other buff id's. Is there an "includes" operator that could be used in place of the "==" or another fix? Thanks for the help.


  • *reply by achilleas1


    the problem with the macro u provide is that if u have hide it cancels it. else it casts over and over again. below u can find the proper version (not tested ingame yet but will work)




    Code
    1. /run hide = false; for i=1,40 do if UnitBuff("player",i) == "Hide" then hide == "true"; CancelPlayerBuff(i); break end end if hide == false then CastSpellByName("Hide") end


    -----


    *Additional info added by Ozmondius related post in old thread:



    This now works perfectly. Thanks for all the help:


    Purpose: toggle hide off and on like the skill used to do. Hit it once, the buff goes on, hit it again, and it takes you out of hide.


    Code
    1. /run local w=0 for i=1,100 do local _,_,_,d=UnitBuff("player",i) if d==500675 then CancelPlayerBuff(i) w=1 break end end if w==0 then CastSpellByName("Hide") end
  • *Original post by potato221


    Follow Party Member 1



    Follows first person in the party.


    Code
    1. /script FollowUnit( "party1" );

    Trade Party Member 1



    Opens Trade with the first person in party.


    Code
    1. /script RequestTrade("party1");

    Razor Lurker Strat



    Way old instance, but says in party the strat for Razor Lurker.


    Code
    1. /party TANK: 3-1-2
    2. /party TREE: 2-1-3 (use 3 on different players each cycle)
    3. /party WIND: 3- 1 (twice) - 2
    4. /party WATER: Select tank- 1 ; Select boss - 3 (three times) - 2
  • *Original post by Zerienga


    Champion/Warlock Rune Pulse and Dark Energy Strike switch:


    Code
    1. /run w=0 for i=1,100 do local _,_,_,d=UnitBuff("player",i) if d==621252 then CastSpellByName("Rune Pulse") w=1 break end end if w==0 then CastSpellByName("Dark Energy Strike") end


    Due to Rune Pulse having a global cooldown and Dark Energy Strike having a global cooldown, I found it difficult to always pay attention to my buff bar looking for Chain Drive, and I often ended up using Dark Energy Strike when I meant to use Rune Pulse. So, this macro uses Rune Pulse only if Chain Drive is active, and if it is not active, then it will use Dark Energy Strike.

  • *Original post by Trogdor6996


    Figured I should pop this in here after helping someone else if anyone else finds it useful.



    Description: Disables and re-enables Click to Move so TS won't try to move you or keep the cast circle stuck if you try to cast it out of range. Just change name to any similar skill like Enlivened Blade.


    Code
    1. /script GC_SetMouseMoveEnable(false)
    2. /script CastSpellByName("Thunderstorm")
    3. /wait .001
    4. /script SpellTargetUnit("")
    5. /script GC_SetMouseMoveEnable(true)
  • *Originally posted by Blankminded


    Priest/scout Chain of Light Swap Macro


    Code
    1. /run function SwapFocus() Slot1,Slot2 = 6,12 local MName = UnitName("focus1") local PName = UnitName("player") for i = 1,12 do if UnitName("raid"..i) == MName then Slot1 = i elseif UnitName("raid"..i) == PName then Slot2 = i end end MoveRaidMember(Slot1,Slot2) end
    2. /cast Chain of Light
    3. /wait 2.1
    4. /run SwapFocus()
    5. /wait 2
    6. /run SwapFocus()


    Focus a character you wish to swap, and have boss (or monster) targetted during combat. Could be used for other skills such as Group heal or Curing shot. Bypasses the need to target a character in group to swap (by focusing them before combat), and allows you to swap with a character regardless of raid order.

  • *Original reply by Peryl


    Cute little macro there BlankMinded, I took the liberty to redo that first line though since as written it will always recreate the function. Try this as the first line instead:


    Code
    1. /run if SwapFocus==nil then SwapFocus=loadstring("local S1,S2 = 6,12 local MName,PName=UnitName("focus1"),UnitName("player") for i=1,12 do local UName=UnitName("raid"..i) if UName==MName then S1=i elseif UName==PName then S2=i end end MoveRaidMember(S1,S2)") end

    I removed some extraneous space, renamed and/or reordered a few variables, and embedded the whole thing in a call to loadstring.

  • *Original post by SHAYdynasty


    Macro Name : Donation Buff





    Description : Will keep donating 30k till you get the buff you want, then will stop donating. This macro is specifically for the 3% physical attack "625652", but you can change to your liking by just changing the id.





    Usage : Keep Jess Hays targeted and spam away.





    Macro :


    Code
    1. /run local buff=0 for i=1,100 do local _,_,_,d=UnitBuff("player",i) if d==625652 then TargetUnit("") buff=1 break end end if buff ==0 then CastSpellByName("Attack") end
    2. /script ChoiceOption(2)
    3. /wait .1
    4. /script ChoiceOption(2)

    Can also modify the first line if you just want to donate gold fast.


    Code
    1. /script CastSpellByName("Attack")
    2. /script ChoiceOption(2)
    3. /wait 0.1
    4. /script ChoiceOption(2)
  • Novar

    Approved the thread.
  • Diogenes

    Approved the thread.
  • Hello Guys,


    Could some one please help me build a macro for my Rogue/Scout as I am pretty bad at it, help of any kind would really be appreciated.:)


    Thank You.


    P.S: Sorry, I did incorrectly create a new thread for the same.

  • If you are serious about wanting macros <-- plural, make sure to get the ExtendedIcons addon to increase your text box size.


    your basic macro will follow along the lines of:


    /run if GetActionUsable(Action bar number) then CastSpellByName("Name of the skill you'd like to use");end


    Now if you'd like your 1 button press to check 2 actions and then do a default action if both checks fail:


    /run if GetActionUsable(Action bar #1) then CastSpellByName("Action #1");else if GetActionUsable(Action bar #2) then CastSpellByName("Action #2");else CastSpellByName("Default Action");end;end


    You need to match each "if" with an "end"

  • Cenre : Not sure what a diyce is, however would talk to my friend (Google) before asking any lame questions, thank you for letting me know a new thing. :)


    ycavan : Would this continue itself till the time the target is dead, as most of the macros which I found on google don't loop them self and that's the part i am unable to code. Thanks to you too for taking your time and replying back :)

  • Guys do you know "Research Expert" daily ? There are 3 bottle of liquid. First click Yellow Liquid than White Liquid and Blue Liquid. How can we make this click function in this macros ?

  • isnt right. it is possible and it is legal. its easy to say isnt legal. but it is when do something around this. ;) buts more easy to say no.

    ok please enlighten us.


    I only know of 2 ways to achieve this.


    1) Intercept and change client/server communication

    2) Use of external programs

    both ways are forbidden according to ToS.

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