yeah everytime the same error, tryed it for 2 minutes spamming the button, even relogged
yeah everytime the same error, tryed it for 2 minutes spamming the button, even relogged
nothing here
Well I tried your macro and it did not cast Divine plea, even when i was completely out of mana Devine plea was not cast at all.
I'm casting avenging wrath to help off set the decrease in healing when Divine plea is up. (avenging wrath increases healing by 20% and divine plea decreases healing by 50% - this way i'll only get a 30% decrease for some of the divine plea periods.
Thanks for the tip with the LoH i'll change taht now and see if i cna figure out the check for debuff thingy.
I don't know why it wouldn't work for you...I'll set aside the possibility that you're insane and don't know how to copy-paste.
Can you copy the latest one from the post? I changed the way it did variables to maybe help.
If it's not working, after you press it a few times, hit enter and paste this text into the text box:
It should print out a line (in your general log) telling what all the variables are (they hold the state of how long your various buffs/debuffs are active).Code:/run print("SR="..vSR..", Rake="..vRake..", Mangle="..vMangle..", Rip="..vRip..", Trauma="..vTrauma)
If that print line ALSO gives you an error, tell me what the error is...and then try these lines...in order...until you find which ones cause errors...and tell me what they print.
Code:/run print("SR="..vSR) /run print("Rake="..vRake) /run print("Mangle="..vMangle) /run print("Rip="..vRip) /run print("Trauma="..vTrauma)
Then you did not copy my complete macro... Here is the link to it: Holy Paladin Macro
It will cast Divine Plea if you are below 10% mana and the cooldown is up. I have personally increased the 10% to about 40% or even 70% depending on the fight/situation. In the second line you can see the Divine Plea and the mana check....the "0.10" represents 10% and can be changed to suit your needs.
Edit: Based on what you pasted as to what you're using...you did indeed just leave out the Divine Plea line... O_o
Last edited by Viral Fly-by; 12-29-2009 at 10:45 AM.
ah new macro is better, no more lua errors but it doesnt use rip, the macro always finishs with savage roar
|16:38:25| SR=0, Rake=2.1800000000003, Mangle=10.193, Rip=0, Trauma=0
sr was up when i pasted the print command
nothing here
now it works smoothly
|16:47:30| SR=31.441, Rake=1.8949999999995, Mangle=10.75, Rip=6.71, Trauma=0
thanks alot viral
nothing here
Excellent. Let me know how your DPS is with it...Like I said earlier I'm not completely satisfied with its performance...but my druid is specced more for bear and has bear glyphs so maybe I was just expecting too much. I love kitty so play it very well manually so maybe the macro keeping up with me is pretty good. =p
Mynewt, if you want to use Wings that way...might I suggest you use this code for that line instead:
It will detect if you have Divine Plea up (with at least 10 seconds remaining) and only then cast Wings...Code:/run local dp=({UnitBuff("player","Divine Plea")})[7]; if dp~=nil and dp-GetTime()>10 and GetSpellCooldown("Avenging Wrath")==0 and IsUsableSpell("Avenging Wrath")==1 then CastSpellByName("Avenging Wrath") end;
And for the LoH question...I'm not actually sure about Forbearance. Similar to using Wings, the "IsUsableSpell" check that you are doing may be sufficient. That function may say its not usable if Forbearance or the other restrictions. I'm not sure to be honest and would have to test. If you do any testing around it and find out, please let us know.
Last edited by Viral Fly-by; 12-29-2009 at 11:14 AM.
Last edited by Mynewt; 12-29-2009 at 11:01 AM.
Seems to work great but get the error:Code:#showtooltip Holy Light /use [combat]10 /use [combat] 13 /use [combat] 14 /run if UnitHealth("player")/UnitHealthMax("player")<0.10 and GetSpellCooldown("Divine Shield")==0 and IsUsableSpell("Divine Shield") then CastSpellByName("Divine Shield") end; /run if GetSpellCooldown("Divine Plea") ==0 and UnitPower("player")/UnitPowerMax("player")<=0.80 then CastSpellByName("Divine Plea") end; /run if ({UnitBuff("player","Divine Plea")})[7]-GetTime()>10 and GetSpellCooldown("Avenging Wrath")==0 and IsUsableSpell("Avenging Wrath")==1 then CastSpellByName("Avenging Wrath") end; /run if GetSpellCooldown("Arcane Torrent") ==0 and UnitPower("player")/UnitPowerMax("player")<=0.80 then CastSpellByName("Arcane Torrent") end; /run if GetSpellCooldown("Lay on Hands") ==0 and UnitPower("player")/UnitPowerMax("player")<=0.40 then RunMacroText("/cast [@Player] Lay On Hands") end; /run if ({UnitBuff("player","Divine Plea")})[7]-GetTime()>10 and GetSpellCooldown("Avenging Wrath")==0 and IsUsableSpell("Avenging Wrath")==1 then CastSpellByName("Avenging Wrath") end; /run f=0; if UnitExists("focus") then for i=1,40 do d={UnitBuff("focus",i)}; if d~=nil and d[1]=="Beacon of Light" and d[8]=="player" and d[7]-GetTime()>=3 then f=1; break end end if f==0 then RunMacroText("/cast [@focus] Beacon of Light") end end; /run FoL=3000; HS=6000; HL=8000; t="raid"; nps=1; npe=GetNumRaidMembers(); if npe==0 then t="party"; nps=0; npe=GetNumPartyMembers() end; e=UnitExists; n=UnitName; h=UnitHealth; hm=UnitHealthMax; s=nil; f="focus"; fh=0; if e(f) then fh=hm(f)-h(f) end; m=0; w=f; for i=nps,npe do if i==0 then tt="player" else tt=t..i end; if e(tt) and (e(f)==nil or n(tt)~=n(f)) then a=hm(tt)-h(tt); if a>m and UnitInRange(tt)==1 and UnitIsDeadOrGhost(tt)~=1 then m=a w=tt end end end; if fh>2*m then m=fh end; if GetSpellCooldown("Holy Shock")==0 and m>=HS then s="Holy Shock" elseif m>=HL then s="Holy Light" elseif m>=FoL then s="Flash of Light" end; if s~=nil then RunMacroText("/cast [@"..w.."] "..s) end; /run if GetSpellCooldown("Judgement of Light") == 0 then RunMacroText("/cast [@focustarget] Judgement of Light") end; /run f=0; if UnitExists("focus") then for i=1,40 do d={UnitBuff("focus",i)}; if d~=nil and d[1]=="Sacred Shield" and d[8]=="player" and d[7]-GetTime()>=3 then f=1; break end end if f==0 then RunMacroText("/cast [@focus] Sacred Shield") end end; /run t="raid"; nps=1; npe=GetNumRaidMembers(); if npe==0 then t="party"; nps=0; npe=GetNumPartyMembers() end; w=nil; m=0; for i=nps,npe do if i==0 then tt="player" else tt=t..i end; if UnitExists(tt) and UnitInRange(tt)==1 and UnitIsDeadOrGhost(tt)~=1 then for j=1,40 do d={UnitDebuff(tt,j)}; if d~=nil and (d[5]=="Magic" or d[5]=="Poison" or d[5]=="Disease") and d[7]>m then w=tt; m=d[7] end end end end; if w~=nil then RunMacroText("/cast [@"..w.."] Cleanse") end; /run StaticPopup_Hide("MACRO_ACTION_FORBIDDEN");
Now i'm sure its something i've done wrong, but can't figure out what.Code:x <string>:"if ({UnitBuff("player","Divine Plea")})[7]-...":1: attempt to perform arithmetic on field '?' (a nil value)
That one is my /fail. I always make that stupid mistake. Change the Divine Plea line to this:
Code:/run local dp=({UnitBuff("player","Divine Plea")})[7]; if dp~=nil and dp-GetTime()>10 and GetSpellCooldown("Avenging Wrath")==0 and IsUsableSpell("Avenging Wrath")==1 then CastSpellByName("Avenging Wrath") end;
Yup that's also what i did wrong the first time when I was tinkering. Thanks again for all your help you're a star!
Last edited by Mynewt; 12-29-2009 at 11:25 AM.
Viral what is the line that I put in my macro to spam it every tenth of a second until I am out of combat?
EDIT: Also have you tried working with any of the movement commands? I can get my character to begin moving, but can't get him to stop.
Last edited by Jibberish; 12-29-2009 at 02:12 PM.