[ home / board list / faq / random / create / bans / search / manage / irc ] [ ]

/nostalrius/ - 8chan wow private server

Catalog

8chan Bitcoin address: 1NpQaXqmCBji6gfX8UgaQEmEstvVY7U32C
The next generation of Infinity is here (discussion) (contribute)
A message to the "victims" of Adelaide and the news publications writing about their "plight"
Name
Email
Subject
Comment *
File
* = required field[▶ Show post options & limits]
Confused? See the FAQ.
Embed
(replaces files and can be used instead)
Options
dicesidesmodifier
Password (For file and post deletion.)

Allowed file types:jpg, jpeg, gif, png, webm, mp4, swf, pdf
Max filesize is 8 MB.
Max image dimensions are 10000 x 10000.
You may upload 5 per post.


File: 1425941711586.jpg (53.78 KB, 620x315, 124:63, d.jpg)

959b7d No.447

Thanks to Duane for this one.

This is for the people who don't want to use certain addon's for whatever reason. I know I don't want to have use certain ones for shit.

Mouseover Macro.

/script TargetUnit("mouseover")
/cast SPELL_HERE
/script TargetLastTarget()

This'll let you mouseover things with the spell you want, be it healing or a fireball.

a84dd4 No.448

File: 1425942913266.png (208.79 KB, 480x640, 3:4, 2c4034709285e60638e77e8215….png)

>>447
If anyone has any macro or script ideas, feel free to post them and I'll give it my best shot.

959b7d No.449

>>448

If you can make macro's that involve stance/form switching, people would probably suck you off for free.

a84dd4 No.450

File: 1425943878155.jpg (22.55 KB, 332x450, 166:225, 1294860614257.jpg)

>>449
I'm not sure what you mean. Like switching into a stance, using an ability, then switching back into your previous one?

959b7d No.451

>>450
yeah.

for example, switching to defensive stance, equiping 1-h weapon/shield, shield bashing. Then possibly having a second button press switch back to another stance.

Just things to keep in mind. I don't want them at the moment, but something I may ask for help with down the road.

a0358e No.452

/script px,py=GetPlayerMapPosition("player")
/script DEFAULT_CHAT_FRAME:AddMessage(format("[ %s ] %i , %i",GetZoneText(),px*100,py*100));

Prints your coordinates in your chat panel

a84dd4 No.457

>>451
That'd be pretty straightforward, but you can't change gear while in combat.
For switching gear and stance before a fight, I imagine people would rather use some loadout addon than have to change a macro every time they get new stuff.

337ce2 No.458

>>457
You can switch weapons and shields in combat.

1a3785 No.459

File: 1425978452167.jpg (35.45 KB, 320x479, 320:479, spede-pasanen-calling-doub….jpg)

>>458
I used to have some gear-related macros, but I can't tell you how I did it.

a84dd4 No.544

File: 1426090111633.jpg (1.55 MB, 2328x3135, 776:1045, 1275251051355.jpg)

I got some complaints about my mouseover macro, so here's a better one that won't bug you when you're moused-over an incorrect target:

[code]/script if (UnitIsEnemy("player", "mouseover")) then TargetUnit("mouseover"); CastSpellByName("YOUR SPELL HERE"); TargetLastTarget(); end[/code]

Expanded:

[code]if (UnitIsEnemy("player", "mouseover")) then
TargetUnit("mouseover");
CastSpellByName("YOUR SPELL HERE");
TargetLastTarget();
end[/code]

For heals and buffs, replace UnitIsEnemy with UnitIsFriend.

Sadly, this version still has a bug with no solution (AFAIK) in Vanilla WoW: If you mouseover macro a unit that you already have targeted, it will deselect that target after the macro is used. Spent about an hour trying to find a way around this, and the best thing I could think of (saving the targets name, then retargeting the unit by name) doesn't work. No way to get unit GUIDs in this version either. So, uh, be aware of this flaw when you use these macros.

>>458
Well I'll be damned.

a84dd4 No.545

>>544
thanks dolvak

18e28e No.611

>>545
why the fuck did you assume that is me

a84dd4 No.618

>>611
Read the IDs and name fields ya dingus.
I was bitching about the lack of code tags on /nostalrius/, and Toomykins said you were the one that controls it. Hence, "thanks dolvak"

502743 No.939

Some Huntard macros I've found around the net

Call / Revive / Dismiss / Mend Pet

/run local c=CastSpellByName if UnitExists("pet")then if UnitHealth("pet")==0 then c("Revive Pet")else if IsShiftKeyDown() then c("Dismiss Pet") else c("Mend Pet") end end else c("Call Pet") end

Feed pet, Replace X with bag number 0 being the default Blizzard bag and 4 being the last bag, replace Y with slot in bag 1 being top left and 16 being bottom right in the default blizzard bag

/run if not UnitAffectingCombat("player") then if not GetContainerItemLink(X,Y) then OpenBag(X) else CastSpellByName("Feed Pet") PickupContainerItem(X,Y) end end

Aspect switching, not spammable and tries to cast more than 1 spell at a time but works mostly as intended. If out of combat Cheetah or Hawk starting with Cheetah, if in combat Hawk or Monkey starting with Hawk, if Dazed Monkey

/run c=cast; if buffed("Dazed","player") then c("Aspect of the Monkey");end if not UnitAffectingCombat("player")then c("Aspect of the Cheetah"); c("Aspect of the Hawk") else c("Aspect of the Hawk"); c("Aspect of the Monkey");end

Retards mana saving Hunter's Mark / Pet Attack. Send pet to attack and cast hunter's mark if the target doesn't have it

/run PetAttack()
/run if not buffed("Hunter's Mark",'target') then cast("Hunter's Mark");end

Lazy Melee. Wing Clip and Raptor strike, add mongoose and disengage to free up action slots

/run if 1==0 then cast("Raptor Strike");end
/run if not buffed("Wing Clip",'target') then cast("Wing Clip") else cast("Raptor Strike");end

502743 No.947

>>939
>replace Y with slot in bag 1 being top left and 16 being bottom right in the default blizzard bag
Left to right, top to bottom

a84dd4 No.1014

File: 1427125120839.png (223.29 KB, 500x500, 1:1, 27bff720f952326ea908db1abc….png)

Some druid wanted a macro that would bring him back to human form no matter what shape he was in.

Replace shapeshifting spells with these macros:

/script G_MY_CURRENT_SHAPE = "bear"
/cast whatever spell goes into bear mode

/script G_MY_CURRENT_SHAPE = "cat"
/cast whatever spell goes into cat mode



Then make a macro for becoming humanoid again:

/script if G_MY_CURRENT_SHAPE == "bear" then CastSpellByName("whatever spell goes into bear mode") else if G_MY_CURRENT_SHAPE == "cat" then CastSpellByName("whatever spell goes into cat mode") end

fd9937 No.1015

File: 1427126762204.png (463.28 KB, 1096x492, 274:123, macroerror.PNG)

>>1014
thanks, but i'm still having problems, the shapeshifting macros seem to work fine (i don't know how to check if the global variable has been changed), but the back to human one, i can't seem to get working.

in it's current form it looks like this:
/script if G_MY_CURRENT_SHAPE == "bear" then CastSpellByName("Bear Form") else if G_MY_CURRENT_SHAPE == "cat" then CastSpellByName("Cat Form") else if G_MY_CURRENT_SHAPE == "sealion" then
CastSpellByName("Aquatic Form") end
i checked that it was in one line in notepad, and my untrained eye can't find anything else.
it also produces the error in the pic, and prints "CastSpellByName("Aquatic Form") end" to my last used chat (like guild chat)

a84dd4 No.1016

File: 1427127233926.gif (1.85 MB, 500x283, 500:283, 1422231596853.gif)

>>1015
You had a line feed in there.

/script if G_MY_CURRENT_SHAPE == "bear" then CastSpellByName("Bear Form") else if G_MY_CURRENT_SHAPE == "cat" then CastSpellByName("Cat Form") else if G_MY_CURRENT_SHAPE == "sealion" then CastSpellByName("Aquatic Form") end

a84dd4 No.1017

File: 1427127953805.png (249.66 KB, 380x453, 380:453, 1418956863609.png)

>>1014
>>1015
>>1016
God damn it, it was my fault all along.
I'm fucking tired and forgot Lua has a separate elseif keyword instead of letting you chain "else if"s like C.
Sorry, this should work:

/script if G_MY_CURRENT_SHAPE == "bear" then CastSpellByName("Bear Form") elseif G_MY_CURRENT_SHAPE == "cat" then CastSpellByName("Cat Form") elseif G_MY_CURRENT_SHAPE == "sealion" then CastSpellByName("Aquatic Form") end

b59bba No.1059

For druid macros here's one that makes it so when you're in bear form it casts, as an example, Growl, when you're in caster form Regrowth.

/script cI, cN, cIA = GetShapeshiftFormInfo(1); if bIA then CastSpellByName"Growl" else CastSpellByName"Regrowth" end

I can add a cat form component too, but it'll necessitate UI errors popping up in cat form, or whatever form is first, which is annoying. This casts Claw if cat, Growl if Bear and Regrowth if caster. There might be a workaround but getting this to work was annoying enough.

/script bI, bN, bIA = GetShapeshiftFormInfo(3); if cIA then CastSpellByName"Claw" else end
/script cI, cN, cIA = GetShapeshiftFormInfo(1); if bIA then CastSpellByName"Growl" else CastSpellByName"Regrowth" end

b59bba No.1061

>>1059
Sht I swapped blA and clA, the variables need to match in each part of the macro so:

/script bI, bN, bIA = GetShapeshiftFormInfo(1); if bIA then CastSpellByName"Growl" else CastSpellByName"Regrowth" end

and

/script cI, cN, cIA = GetShapeshiftFormInfo(3); if cIA then CastSpellByName"Claw" else end
/script bI, bN, bIA = GetShapeshiftFormInfo(1); if bIA then CastSpellByName"Growl" else CastSpellByName"Regrowth" end

2078e8 No.1101

Holy shit I feel so retarded for overlooking the obvious. I was trying to make it so I wouldn't get an error when making a macro for a combined Cat/Bear/Caster form button. I was trying to pass variables between scripts and all sorts of nonsense.

Here's the script, its very simple. Casts Prowl in Cat form, Growl in Bear form and Regrowth as a caster.

/script cI, cN, cIA = GetShapeshiftFormInfo(3); bI, bN, bIA = GetShapeshiftFormInfo(1); if cIA then CastSpellByName"Prowl" elseif bIA then CastSpellByName"Growl" else CastSpellByName"Regrowth" end

Declare the variables up front. Run the if statement. Easy-peasy.

2078e8 No.1107

>>1101
Also as an addendum to this I believe that warrior stance detection works the same way:

GetShapeshiftFormInfo(1) sees if battle stance
GetShapeshiftFormInfo(2) sees if defensive stance
GetShapeshiftFormInfo(3) sees if berserker stance

Anyone with a warrior that can confirm this would be great.

502743 No.1128

>>1107
yes, it works the same way

/run if GetShapeshiftFormInfo(1) then cast("Mocking Blow"); if GetShapeshiftFormInfo(2) then cast("Disarm");end end

Casts mocking blow in Battle Stance and Disarm in Defensive Stance

8b0ef9 No.1306

File: 1428353638479.jpg (45.83 KB, 320x400, 4:5, 1393035067705.jpg)

Here's a contribution

>>544
So I looked around in the API's and found `SpellTargetUnit` which casts the spell currently waiting to be cast on a target on a specified unit. Using this you can totally avoid the bullshit target juggling that you're talking about.

e.g.
[code]
CastSpellByName("Healing Touch");
SpellTargetUnit("mouseover");
[/code]
To cast Healing Touch on your mouse-over target.

Using this I wrote the following macro. It casts a friendly spell on one of these targets in order of precedence: "mouseover", "target", "focus", "player". I wanted to add an Alt-self cast condition, but ran out of room.

[code]
– Start by casting spell
CastSpellByName("Rejuvenation");

– Aliases
local u = UnitExists
local i = UnitIsFriend
local s = SpellTargetUnit
local m = "mouseover"
local t = "target"
local f = "focus"
local p = "player"

– Targeting logic
if (u(m) and i(p,m)) then
– Mouseover exists and is friendly
s(m)
elseif (u(t) and i(p,t)) then
– Target exists and is friendly
s(t)
elseif (u(f) and i(p,f)) then
– Focus exists and is friendly
s(f)
else
– Default player
s(p)
end;
[/code]

Compressed:
[code]
CastSpellByName("Rejuvenation");local u,i,s,m,t,f,p=UnitExists,UnitIsFriend,SpellTargetUnit,"mouseover","target","focus","player";if(u(m)and i(p,m))then s(m)elseif(u(t)and i(p,t))then s(t)elseif(u(f)and i(p,f))then s(f)else s(p)end;
[/code]

8b0ef9 No.1307

Improved version of >>1306:

MacroHelper.toc
[code]
## Interface: 11200
## Title: MacroHelper

MacroHelper.lua
[/code]

MacroHelper.lua
[code]
— Helper function for friendly spell macros
function FriendCast()
local spellTarget = 0; – 0 = player, 1 = mouseover, 2 = target
local haveMouseover = UnitExists("mouseover") and UnitIsFriend("player", "mouseover");
local haveTarget = UnitExists("target") and UnitIsFriend("player", "target");

if (not IsAltKeyDown()) then
if (haveMouseover) then
spellTarget = 1;
elseif (haveTarget) then
spellTarget = 2;
end;
end;

– Function aliases, unitID strings, prioritized spell target, if have a target
return CastSpellByName, SpellTargetUnit, ClearTarget, TargetLastTarget, "mouseover", "player", target, haveTarget;
end
[/code]

Generic friendly spell macro
[code]
/run local c,s,r,l,m,p,t,h=SMFriendCast()if(h and t~=2)then r()end;c("FRIENDLY-SPELL")if(t==2)then return;end;if(t==1)then s(m)else s(p)end;if(h)then l()end
[/code]

fc3a04 No.1310

I made a macro that swaps armor placed in the 4th bag (if you would ever want something so specific) - this is also assuming that bag has 8 slots, so just add more p(4,X);e(1) if its more

/script local p=PickupContainerItem;local e=AutoEquipCursorItem;p(4,1);e(1);p(4,2);e(1);p(4,3);e(1);p(4,4);e(1);p(4,5);e(1);p(4,6);e(1);p(4,7);e(1);p(4,8);e(1)

optional part of gear switch to toggle helmet visibility:

;ShowHelm(not ShowingHelm())

8a7f7d No.1342

File: 1428490602256.jpg (1.11 MB, 1600x850, 32:17, 1411472867507.jpg)

So apparently SpellTargetUnit doesn't work with offensive spells, so here's a macro that casts the spell on a nonfriendly mouseover'd unit, or your current target if there isn't one.

[code]
/script local u = UnitExists; local m="mouseover"; local s = "SPELLNAME"; local t = TargetUnit; local c = CastSpellByName; if(u(m) and not UnitIsFriend("player", m)) then t(m); c(s); t("playertarget"); elseif(u("target")) then c(s) end
[/code]

Using TargetUnit("playertarget") avoids the issue in >>544 by taking advantage of a small delay before the global variable 'playertarget' is updated. Unfortunately I can't figure out how to keep it from targeting the unit you cast the spell on if you don't have a target before you cast it, but that's slightly less of an issue than dropping your target.

8b0ef9 No.1359

It also looks like my current method doesn't even work with unit frames like Grid, making it a pretty useless macro.

8b0ef9 No.1361

File: 1428572031150.jpg (306.76 KB, 846x1201, 846:1201, 1406617113158.jpg)

So I don't know about enemy mouseover casting yet, but I fixed my friendly mouseover macro. It's also now just a single function call.

MacroHelper.lua
[code]
function SmartCastFriend(spell)
local haveTarget = UnitExists("target")
local target = "player"
if (not IsAltKeyDown()) then
local f = GetMouseFocus()
if (f.unit and UnitReaction(f.unit, "player") >= 4) then
target = f.unit
elseif (UnitExists("mouseover") and UnitReaction("mouseover", "player") >= 4) then
target = "mouseover"
elseif (UnitExists("target") and UnitReaction("target", "player") >= 4) then
target = "target"
end
end
if (UnitIsUnit(target, "target")) then
CastSpellByName(spell)
else
TargetUnit(target)
CastSpellByName(spell)
if (haveTarget) then
TargetLastTarget()
else
ClearTarget()
end
end
end
[/code]

Friendly Spell Macro Template
[code]
/run SmartCastFriend("SPELL")
[/code]

I also found out that if you add the following as the first line of your macro, the macro button in the action bar will appear like a regular spell button or like a modern WoW macro with #showtooltip (might only work with action bar addons though):
[code]
/script if nil then CastSpellByName("SPELL") end
[/code]

Here's a finished example:
[code]
/script if nil then CastSpellByName("Rejuvenation") end
/run SmartCastFriend("Rejuvenation")
[/code]

08ace5 No.1403

For warriors - I'm using these two macros:

/script texture,name,isActive,isCastable = GetShapeshiftFormInfo(1); if isActive then CastSpellByName("Charge()"); else CastSpellByName("Battle Stance()"); end;


/script texture,name,isActive,isCastable = GetShapeshiftFormInfo(3); if isActive then CastSpellByName("Intercept()"); else CastSpellByName("Berserker Stance()"); end;


As you can see, one is for Intercept, the other for Charge, if you're not in the correct stance, it will change you to that stance, and you'll have to push the button again to charge/intercept.

I made this for myself:

/script texture,name,isActive,isCastable = GetShapeshiftFormInfo(3); if isActive then CastSpellByName("Bloodrage()"); CastSpellByName("Intercept()"); else CastSpellByName("Berserker Stance()"); end;

It just casts Bloodrage and then on another click Intercept, because I don't have the talent that lets me keep rage between switching stances. It's not ideal, but it works for me for now.

9a5897 No.1414

For shamans who used to slap in /startattack into their combat spells on retail like I did, I found a work around it not existing in vanilla.

/script if not IsCurrentAction(12) then UseAction(12) end; CastSpellByName("Earth Shock")

Drag the attack skill from the general tab to whatever button slot. I put mine on button 12, which is the 12 in the script. Change earth shock to whatever other skill you want too. Works exactly like /startattack macros, ie, starts attack and casts the spell in one go. You can't just do /cast Earth Shock /cast attack because attack is a toggle, so you'd be disabling auto attack all the time.

ef9fe8 No.1768

>>1361

I wanted target to take precedence over mouseover at all times so I just changed the order of the elseif clauses in your script , but mouseover still overrides target, any idea why ?


ef9fe8 No.1769

>>1768

nvm I'm retarded

This works as described in the previous post.


function SmartCastFriend(spell)
local haveTarget = UnitExists("target")
local target = "player"

local f = GetMouseFocus()

if (UnitExists("target") and UnitReaction("target", "player") >= 4) then
target = "target"

elseif (f.unit and UnitReaction(f.unit, "player") >= 4) then
target = f.unit
elseif (UnitExists("mouseover") and UnitReaction("mouseover", "player") >= 4) then
target = "mouseover"

end
if (UnitIsUnit(target, "target")) then
CastSpellByName(spell)
else
TargetUnit(target)
CastSpellByName(spell)
if (haveTarget) then
TargetLastTarget()
else
ClearTarget()
end
end
end


aa21c5 No.1776

I'm trying to figure this shit out, but I had no idea it would be so unintuitive.

I really only need to know two things. How do you cast Healing Touch and Rejuvenate from a macro? I can't drop Rejuvenate first since it triggers a GCD and HT has a cast time, so Rejuvenate never triggers.

Also, I tried to make a basic macro, two buffs; Mark of The Wild and Thorns. They both trigger GCDs and it only casts one.

It seems like basic shit but I just cant wrap my head around it and on top of that the syntax has changed so the info on the net includes unavailable commands.


b267cd No.1777

>>1776

posted it in gchat but might as well post it again here

https://github.com/PROXiCiDE/MacroExtender


122a9a No.1778

>>1776

Your "basic macro" is a little more interesting.

Here's my version, just replace the spells.


/run local c=CastSpellByName;MuhBuff=MuhBuff or false;if(MuhBuff)then c("Renew(Rank 1)")else c("Holy Nova(Rank 1)")end;MuhBuff=not MuhBuff

Simply, I wouldn't advice casting two spells off of the same macro without some more complex logic, because of GCD and timing.

I'm Miraculin in game (not in guild); shoot me questions if you have any


c4a7c3 No.1825


c4a7c3 No.1826

Hello guyz can u help for mouseover macro to cast Fear if i already have target and also to not lose my current target but to cast on my mouseover tryed many ways with the posts below -.- so its like i have target and im able to cast fear on him but if i mouseover on another target to be able to cast fear on him too without losing my current target, sry for my english :)


b267cd No.1828

>>1826

/script if UnitCanAttack("player","mouseover") then TargetUnit("mouseover"); CastSpellByName("Fear"); TargetLastTarget(); else CastSpellByName("Fear"); end

Here's one I made for my druid right now, really quick, because I was bored:

/script if IsAltKeyDown()then CastSpellByName("Nature's Grasp");elseif IsShiftKeyDown()then root();elseif UnitCanAttack("player","mouseover")then TargetUnit("mouseover");root();TargetLastTarget();end function root()CastSpellByName("Entangling Roots");end

Works fine for me. Note the function I call is after everything because I want Nature's Grasp cooldown to show up in OmniCC.

There's also classic mouseover: http://www.wow-one.com/forum/topic/13808-introducing-classic-mouseover-cm/

/cmcast Fear


c4a7c3 No.1829

Sawk ur my hero, now i have all i wanted for my warlock ur awesome :) its no more vanillaaa its wotlk hahaha :D


c4a7c3 No.1836

Hello again about mouseover Fear if i have more than one mouseover target the function TargetlastTarget jumps my current and mouseover target randomly -.-




[Return][Go to top][Catalog][Post a Reply]
Delete Post [ ]
[]
[ home / board list / faq / random / create / bans / search / manage / irc ] [ ]