You are not logged in.

Applications: [GameMaster: OPEN] | [Volunteer Testers: OPEN]


This forum will be permanently shut down on Friday 13.07.2018
Please copy or save all important information from old forum before they will be deactivated
We have moved to new board. https://forum.runesofmagic.gameforge.com/Come join us.

1

Thursday, September 17th 2015, 8:10am

Macro Questions

I was wondering if someone can help me with a macro I'm trying to make. As you all know, many classes use different kind of buffs to eliminate a boss during an instance run. Well I was wondering if someone knows how to make a macro to use all my buffs during a boss fight. I tried but sometimes during the lag some of my buffs don't pop. So i was wondering if there is a macro where it can read what is spell/item is on cooldown and moves on to the next thing that's not on cooldown and pop it?

so something like this.


/
/Cast Illusion Blade Dance - if not on cooldown
/wait 1.0
/cast Create Opportunity - if not on cooldown
/wait 1.0
/cast Assassins Rage - if not on cooldown.

Meaning the macro will go through anything that's not on cooldown/used and pop it. That was just an example up there, so was wondering if someone has a macro like that, where i can press it during a fight if something is not on cooldown and have it use the spell/item.

Thanks, Alphapro - Osha Server. :phatgrin: :phatgrin: :phatgrin:

Cike

Rogue

Posts: 4,171

Occupation: Being Human

  • Send private message

2

Thursday, September 17th 2015, 3:49pm

macros will automatically skip anything on CD/unusable by default.
my r/p can outdps r/m. your name is stupid.

mages should stack dex. word.

3

Thursday, September 17th 2015, 5:00pm

macros will automatically skip anything on CD/unusable by default.
yeah but i cant keep clicking on it to pop the other buffs. it just keeps trying to cast the first one in the macro. so it just keeps giving me the error message that its on cooldown.

4

Thursday, September 17th 2015, 5:20pm

I think what he wants to do is attempt to use a buff multiple times, until it is on cooldown, then proceed to another buff. That way if he lags the macro won't skill multiple buffs.

IMO the best way to do that is actually manually. If the computer /internet part of the system isn't working optimally (lagging), then you should rely less on it to perform better.

There's no good way to do this via macro. In fact, a similar problem presents itself with siege war title macros, and VN cape macros. People have gone so far as to make addons that assist with ensuring these things activate, but even the they aren't that fantastic. On that note, one could simply adapt the addon that has been made for said thngs to also trigger your cooldowns.

5

Thursday, September 17th 2015, 5:22pm

What you are looking for, is more functionalitiy then a macro can provide. What you are looking for is DIYCE2.0 Macores have very limited space or characters... So what we do is create addons with decision making, which is what you want. DIYCE or its child DIYCE 2.0 will serve you well.

6

Thursday, September 17th 2015, 5:26pm

yeah but i cant keep clicking on it to pop the other buffs. it just keeps trying to cast the first one in the macro. so it just keeps giving me the error message that its on cooldown.


The reason for this is actually quite simple. When you press a macro, it "cancels" all currently running versions of it, and starts again. So for example, if you keep spamming a macro that casts 5 spells, every click "cancels" the current rotation, and begins at the top. If you want to cast the 2nd/3rd/4th, etc. spell, you need to actually let the macro run its full duration before clicking again. Perhaps a less difficult way of explaining this is if you had a macro that simply /wait 5 /cast x. Spamming the macro will make X cast after 6 or 7 or 8 seconds, etc. based on how long you spammed the skill, since the wait time keeps starting back at 0 elapsed wait.

You can get around this in a crude way. Simply make a macro /cast x, /cast y...NO WAIT TIMES in between. The computer will try to execute as much of the macro as it can in between each key presses. The first press will execute the first cast x, the second does x and y (where x is on cooldown), the third x y z (x and y on cd) etc...After testing, this only seems to work for about 3 skills at once, so perhaps not effective.

There is one issue with this method however....Items that don't have a cooldown, like caviar sandwhich, will kind of mess it up. Or possible skills with a cast time

My previous post was under the assumpton that you didn't want to spam the macro. If you are willing to macro spam, its easier to do, and can be done, in a macro, without diyce (altho they will function somewhat similarly in theory), and without attempting to use skills already on cooldown (unlike the above method).

PHP Source code

1
/run if (not CDRCountthen CDRCount 0 end local _,acd GetActionCooldown(CDRCount 61) if acd 1 then CDRCount = (CDRCount 1) % else UseAction(CDRCount 61end


Set all actions in sequential action bar slots. For testing, my cooldowns that I wished to use started at slots 61. There are 2 such 61's in the macro that need to be changed according to how may buffs you wish to use. It will use these buffs in order. The "% 3" in the macro is how many buffs to use -- I ussed three while testing, change this as necessary (leave the % sign though). Modifications /additions would be required if you wish to use something that does not have a cooldown (macros, or Caviar don't place a cooldown on an action bar slot). I have no idea if this will help during lag. NOTE: This uses 1 action per button press, so spamming IS required.

This post has been edited 8 times, last edit by "BlankMinded" (Sep 17th 2015, 6:38pm)


7

Thursday, September 17th 2015, 8:09pm

Thanks everyone. Will try somethings out and keep u updated soon. Thanks again :pump:

8

Thursday, September 17th 2015, 9:14pm

Who needs diyce just to buff up? lol Anyway, the easiest way to deal with lag is just slightly increase the wait time, so /wait 1.2 or 1.3 instead of /wait 1.0. Wait time with just 1.0 will often miss some of the casts.

9

Thursday, September 17th 2015, 11:43pm

i believe you can just check for the buff on yourself for the things that dont have a cooldown, with unlimited macro space you could make something very disgusting programing wise but that might work if you want to press only once. considering the amount of text you would need diyce is likely a better option then a macro

you can basicaly make a switch case to check for all the buffs you want to use with the macro, then cast the spell and repeat as many time as you have buffs. for instance

/run (insert code to decide what case you are on here)
if(A) then CastSpellByName("Illusion Blade Dance") elseif(B) then CastSpellByName("Create Oportunity") etc etc
/wait 1
/run (repeat of the previous code with the top priority skill out of the check/rotation since you checked for it already. could also keep it in in case it come off cooldown during the macro time)
/wait 1
/run (keep repeating until you went through all the buffs)


problem is you need to be in a /run statement to check for buffs and cd and such, but you cannot put a /wait into a run statement to avoid ppl looping macros so you have to do every step of the loop yourself. Also, although this is some sort of code that would work in theory, it might not in practice as lag might just get the better of you.
Tankyhealy P/K 98/98
Soppy W98/WD98/S98/D98/R98/M98
vids and stuff: https://www.youtube.com/channel/UCFh1qLzUKyyZHadIxExA_kw
Borella should loot every boss

10

Thursday, September 17th 2015, 11:59pm

The code I posted earlier just uses Action Bar slots until that action bar slot has a cooldown, then moves to the next one. If you want to use caviar, a small modification, checking if you have caviar buff, could be added. I chose not to add it since I personally use caviar before a countdown begins....why wait on something that's spammable and lasts a minute when you can use it ahead of time.

Increasing wait times (1.2 in between buffs) is one way to overcome some lag, but won't necessarily always work -- what happens when your ms spike is high enough such that 1.2 is not sufficient...?). Again, it can overcome it, and is worth trying, but may not always work depending on severity of lag.

you can basicaly make a switch case to check for all the buffs you want to use with the macro, then cast the spell and repeat as many time as you have buffs.
Checking for a buff is often times the same as checking if you've used the cooldown skill. Its definitely a viable way to tackle the problem, but requires checking for buffs multiple times, which seems less efficient. As I said already, you could check for certain buffs that don't put cooldowns on action bar slots (macros and caviar), and just check action bar slots directly for what's still available to use. From the OP, it seems as though he wants the macro specifically for cooldown skills, so the number of exceptions will be very few.

11

Friday, September 18th 2015, 1:13am

i meant you check for the cd of the skills that have one and if you have the buff for those that dont have cd, not need to check in only 1 way ;)
Tankyhealy P/K 98/98
Soppy W98/WD98/S98/D98/R98/M98
vids and stuff: https://www.youtube.com/channel/UCFh1qLzUKyyZHadIxExA_kw
Borella should loot every boss

Similar threads