View Full Version : [WoW] Healing Macro - Keypress Numpad 1-5 for party #1-5, using FTL setup
effep
12-02-2012, 04:34 AM
UPDATED 09/01/2013
Here you go - a functional Numpad1->Numpad5, from any window, works with FTL, you will heal your group by party #.
So if you are on WoW3 and hit Numpad1, it heals yourself - Numpad3, and it heals your "Party2" (#3 in party list, you, the "Player", are #1). If youre on WoW5 and hit Numpad2, it heals party1, numpad4, it heals party3....
So on and so on...
The requirement for this to work is that you invite your team in order.
WoW1=ToonA
WoW2=ToonB....and so on...
You do not need to change this script at all. There are no names. It targets via @Player and @Party1 through @Party4
Built for HKN.
Enjoy.
//-----------------------------------------------------------// Numpad1-5 heals (Player, Party1, Party2, Party3, Party4)
// Setup: Numpad1-Numpad5 -- /cast [@Player-@Party4] "Heal"
// for this to work, must invite in order: wow1->wow5
//*-----------------------------------------------------------
<HotKey Numpad1> // Heal player/self
<SendFocusWin>
<Key Numpad1>
<If ActiveWinIs WoW1>
<SendLabel w2, w3, w4, w5>
<Key Numpad2>
<If ActiveWinIs WoW2>
<SendLabel w1>
<Key Numpad2>
<SendLabel w3, w4, w5>
<Key Numpad3>
<If ActiveWinIs WoW3>
<SendLabel w1, w2>
<Key Numpad3>
<SendLabel w4, w5>
<Key Numpad4>
<If ActiveWinIs WoW4>
<SendLabel w1, w2, w3>
<Key Numpad4>
<SendLabel w5>
<Key Numpad5>
<If ActiveWinIs WoW5>
<SendLabel w1, w2, w3, w4>
<Key Numpad5>
//+
//*
<HotKey Numpad2> // Heal party1 -> WoW2 (on WoW3-5) // WoW2 (on WoW1) // WoW1 (on WoW2)
<SendFocusWin>
<Key Numpad2>
<If ActiveWinIs WoW1>
<SendLabel w2>
<Key Numpad1>
<SendLabel w3, w4, w5>
<Key Numpad3>
<If ActiveWinIs WoW2>
<SendLabel w1>
<Key Numpad1>
<SendLabel w3, w4, w5>
<Key Numpad2>
<If ActiveWinIs WoW3>
<SendLabel w1>
<Key Numpad1>
<SendLabel w2, w4, w5>
<Key Numpad2>
<If ActiveWinIs WoW4>
<SendLabel w1>
<Key Numpad1>
<SendLabel w2, w3, w5>
<Key Numpad2>
<If ActiveWinIs WoW5>
<SendLabel w1>
<Key Numpad1>
<SendLabel w2, w3, w4>
<Key Numpad2>
//*
<HotKey Numpad3> // Heal party3
<SendFocusWin>
<Key Numpad3>
<If ActiveWinIs WoW1>
<SendLabel w3>
<Key Numpad1>
<SendLabel w2>
<Key Numpad3>
<SendLabel w4, w5>
<Key Numpad4>
<If ActiveWinIs WoW2>
<SendLabel w1>
<Key Numpad3>
<SendLabel w3>
<Key Numpad1>
<SendLabel w4, w5>
<Key Numpad4>
<If ActiveWinIs WoW3>
<SendLabel w1>
<Key Numpad2>
<SendLabel w2>
<Key Numpad1>
<SendLabel w3, w4, w5>
<Key Numpad3>
<If ActiveWinIs WoW4>
<SendLabel w1>
<Key Numpad2>
<SendLabel w2>
<Key Numpad1>
<SendLabel w3, w5>
<Key Numpad3>
<If ActiveWinIs WoW5>
<SendLabel w1>
<Key Numpad2>
<SendLabel w2>
<Key Numpad1>
<SendLabel w3, w4>
<Key Numpad3>
//+
//*
<HotKey Numpad4> // Heal party4
<SendFocusWin>
<Key Numpad4>
<If ActiveWinIs WoW1>
<SendLabel w4>
<Key Numpad1>
<SendLabel w2, w3>
<Key Numpad4>
<SendLabel w5>
<Key Numpad5>
<If ActiveWinIs WoW2>
<SendLabel w4>
<Key Numpad1>
<SendLabel w1, w3>
<Key Numpad4>
<SendLabel w5>
<Key Numpad5>
<If ActiveWinIs WoW3>
<SendLabel w4>
<Key Numpad1>
<SendLabel w1, w2>
<Key Numpad4>
<SendLabel w5>
<Key Numpad5>
<If ActiveWinIs WoW4>
<SendLabel w3>
<Key Numpad1>
<SendLabel w1, w2>
<Key Numpad3>
<SendLabel w5>
<Key Numpad4>
<If ActiveWinIs WoW5>
<SendLabel w3>
<Key Numpad1>
<SendLabel w1, w2>
<Key Numpad3>
<SendLabel w4>
<Key Numpad4>
//+
//*
<HotKey Numpad5> // Heal party5
<SendFocusWin>
<Key Numpad5>
<If ActiveWinIs WoW1>
<SendLabel w2, w3, w4>
<Key Numpad5>
<SendLabel w5>
<Key Numpad1>
<If ActiveWinIs WoW2>
<SendLabel w1, w3, w4>
<Key Numpad5>
<SendLabel w5>
<Key Numpad1>
<If ActiveWinIs WoW3>
<SendLabel w2, w3, w4>
<Key Numpad5>
<SendLabel w5>
<Key Numpad1>
<If ActiveWinIs WoW4>
<SendLabel w2, w3, w4>
<Key Numpad5>
<SendLabel w5>
<Key Numpad1>
<If ActiveWinIs WoW5>
<SendLabel w4>
<Key Numpad1>
<SendLabel w1, w2, w3>
<Key Numpad4>
//+
My goal is actually quite simple...
I am using FTL setup, and everything is working fine.
Am using the common target, assist, and follow with FTL templates.
I am using HotKeyNet.
So this is my goal:
Whichever character I am on, i want to be able to hit Numpad1 through Numpad5, and have everyone in the group (or everyone that can) healbomb that target# directly related to what party# they are.
So for example:
1) I'm on ToonA: I hit Numpad1 == entire group (self included) heal bomb ToonA
2) I'm on ToonA: I hit Numpad4 == entire group (self included) heal bomb ToonD
3) I'm on ToonE: I hit Numpad3 == entire group (self included) heal bomb ToonB
4) I'm on ToonC: I hit Numpad1 == entire group (self included) heal bomb ToonC
So obviously the thing to take into consideration here is that:
1) Whichever character screen you are using this macro from - that character is party1
2) FTL tells each other screen where it was cast from - meaning that each other screen needs to understand how to re-arrange the part1-party5 list accordingly.
3) The typical targetting FTL function does not work. Only ToonA casting numpad1 (all group targets=ToonA) works correctly. The rest start to split off down the line as you move further away from ToonA.
My macros are on my PC and im writing this from laptop so cant copy/paste them in here - but they arent working anyway.
So - any help on this?
Interesting problem to solve I think...
To help out a bit, the part that really needs to be focused on is that the group structure looks different each time you cast from another toon.
So party1-party5 are not constant.
ie:
ToonA:
Party1: ToonA
Party2: ToonB
Party3: ToonC
Party4: ToonD
Party5: ToonE
but
ToonD:
Party1: ToonD
Party2: ToonA
Party3: ToonB
Party4: ToonC
Party5: ToonE
and
ToonC:
Party1: ToonC
Party2: ToonA
Party3: ToonB
Party4: ToonD
Party5: ToonE
Khatovar
12-02-2012, 04:58 AM
There's an easier way to do this. Get a unit frame mod like Pitbull. Arrange party Alphabetically and include Player in party. Now your party is in the same order across all screens.
Put the Party frame in the same place on everyone.
Use mouseover or click to heal. No need for a dozen different buttons, no need for a spreadsheet to figure out what button heals who when.
http://genus-industri.us/wp/2011/11/08/hkn-script-v2-part-2/
http://www.dual-boxing.com/threads/33764-Mouse-Broadcasting-MButton-Shift-MButton-PROBLEM
http://www.dual-boxing.com/threads/38204-Mouseclick-Repeater-Region-Cursor-Sticking
http://www.dual-boxing.com/threads/28503-Effective-Raid-Healing
effep
12-02-2012, 05:15 AM
Sorry but that is completely not at all what I am asking for.
Its not at all how my setup is configured either so its just not possible.
I run 1 instance of WoW with all the fluff, plugins, etc and at much higher resolutions - then I run 4 slaves in mini boxes with bare necessary plugins (basically just jamba and a few others).
I also use a swapping mechanism: F8-F12, swaps my mini-screens to the main screen and changes that character to leader in the group. So I can always have my main viewscreen to control any character as the "leader" if needed.
Regardless - I need to, regardless of which toon I am on, which invite order they joined group with, or if I'm partying with other people, I need to be able to hit numpad1 through numpad5, and correspondingly heal or cast spells at that party#.
I've been thinking about the logic on this and I'm not sure if its possible but its come down to realizing a few more things since I last posted:
1) Party5 doesnt exist :) I looked that up...its player + Party1-4
2) The FTL setup needs to be able to tell the other screens from where the numpad1-5 key was pressed, however - the FTL modifiers arent what the keypress should be in the end. Because the structure of the group changes with each character/wow-instance change.
So - quite a logical problem to solve for anyone who likes the challenge.
Its definitely bunking me...
Really want to have this functionality though. That will be awesome, for heals or any other kind of spell, even targetting...
This kind of feature I guess is basically expanding the FTL to FTLG === Focusless, Targetless, Leaderless, Groupless!
Because it is independant of your group (or order of your group).
Anyone want to become famous? Is an FTLG logical construct possible with the limitations we have with macroing?
Be interesting to see...
I'm quite new to macroing with all this stuff in wow, but I multi-boxed most of my life - I just usually used shell scripts and hardware to solve the issue. (quad-boxed in everquest 1 in 1998). Really cool to see the recent few years of great tools built for us multiboxers now...so much easier ;)
effep
12-02-2012, 05:32 AM
Holy Sh** I figured it out...
OK I might be assuming things but - check this out:
(This is a very first draft of the logic so bear with me)
/target [mod:rctrl,mod:rshift,nomod:ralt,target=Staaxx][mod:rctrl,mod:ralt,nomod:rshift,target=Stbbxx][mod:ralt,mod:rshift,nomod:rctrl,target=Stccxx][mod:rctrl,mod:ralt,mod:rshift,target=Stddxx][mod:rctrl,nomod:ralt,nomod:rshift,target=Steexx][nomod,target=player]/target [mod,target=targettarget]
/say "My target is: %target"
/castsequence reset=5 Rejuvenation, Regrowth, Nourish, Regrowth
This is for hitting Numpad1 and "Healing Self".
So basically the logic is: using standard FTL to determine who cast the spell, then since you also know that whoever hits the # has a direct relation to that group member (if youre on any toon and hit 4, you know its party3 that needs healing) - you simply do the standard figuring out "who cast this from where" using FTL and then add on "ok he cast it, so lets target his target" (the second line: anyone who DID get a mod in their command, ISNT the person who ordered the cast, so they need to look at their target, ie: the person who ordered it, to find the target)
on the very end of the standard FTL line there is an addition: [nomod,target=player] -- you replace "player" with whatever party#...ie: hit Numpad2 == party1, numpad4 == party3 etc...
the cave-at of this is that, unfortunately, going back to last target ie: /targetlasttarget - will have you targetting not the mob you are fighting but rather the person who ordered the heal bomb.
interesting?
anyway to clean this up and make it run efficiently?
effep
12-02-2012, 05:40 AM
OK after testing there is one problem.
The lag causes it not to update usually on first click.
So i think ill have to separate the numpad1-5 so I can spam numpad1-5 to get the right target, and then click numpad0 for the actual heal.
It takes 2 sometimes 3 keypress spam on numpad1-5 to get the entire group targetting the right target.
Otherwise - it works.
Anyone want to help fix it so it works in one click that would be awesome.
effep
12-02-2012, 05:45 AM
OK now this might be considered spamming - but progress is progress.
I've changed it so that the initial target (by the calling toon) is done first:
/target [nomod,target=party1]
/target [mod:rctrl,mod:rshift,nomod:ralt,target=Staaxx][mod:rctrl,mod:ralt,nomod:rshift,target=Stbbxx][mod:ralt,mod:rshift,nomod:rctrl,target=Stccxx][mod:rctrl,mod:ralt,mod:rshift,target=Stddxx][mod:rctrl,nomod:ralt,nomod:rshift,target=Steexx]
/target [mod,target=targettarget]/say "My target is: %target"
/castsequence reset=5 Rejuvenation, Regrowth, Nourish, Regrowth
So now - I'm thinking, is it possible in the big FTL /target call to simply provide the name of the character, IE: Staaxx, with @target? So they know to target that specific character's target?
As opposed to calling "targetoftarget" type deal?
Is there a way to call a character name and then that character's name target in the same line?
IE: Staaxx@target or Staaxxtarget???
That would make this work better - and also allow /targetlasttarget a
effep
12-02-2012, 05:50 AM
currently it still takes 2 keypresses for the rest of the team to target the correct party#
I'm leaving it at this.
Sorry for all the multiple posts. ;)
Khatovar
12-02-2012, 06:05 AM
Yes, but how does that help if you have different toons in your party? If you're running by name, and you've replaced Staaxx with a PuG, then your macros are all fubar. You'd have to change it to party position, which since party position is going to be different for everyone is going to require spreadsheets to figure out. If you're running in a battlegrounds or other raid group, you can't be sure your team is going to be all in the same group, so even party positions won't help.
If you create a mouseover region and use Include Player in Party + Alphabetical, or even the Jamba Team List, then you only need 1 macro
/cast [@mouseover] Heal
Or you can use something like Grid or Clique and pass clicks instead of mouseovers.
Then rather than using
<If MouseIsOverWindowRect WoW1 591 368 55 210>
<SendLabel w2>
<Clickmouse Noclick>
<Key LCtrl 1>
<RestoreMousePos>
you could use
<If MouseIsOverWindowRect WoW 591 368 55 210>
<SendLabel w1, w2, w2, w3, w4, w5>
<Clickmouse Noclick>
<Key LCtrl 1>
<RestoreMousePos>
Which should work off any WoW window if you have Window Name Match > Partial selected in the settings.
Or -
<If MouseIsOverScreenRect 591 368 55 210>
<SendLabel w1, w2, w3, w4, w5>
<Clickmouse Noclick>
<Key LCtrl 1>
<RestoreMousePos>
Which runs based off the position on the screen rather than the window and sends to all WoW windows, triggering the mouseover heal. Or you can change the NoClick to Click if you go for a click to heal option like Grid or Clique.
If you want to run in different resolutions, you can still use it by using the scaling parameters.
If you still want to go the route you're going, try using keyup and keydown to see if that will remove the need for the second press.
effep
12-02-2012, 08:19 AM
Yes, but how does that help if you have different toons in your party? If you're running by name, and you've replaced Staaxx with a PuG, then your macros are all fubar. You'd have to change it to party position, which since party position is going to be different for everyone is going to require spreadsheets to figure out. If you're running in a battlegrounds or other raid group, you can't be sure your team is going to be all in the same group, so even party positions won't help.
Actually - not quite. Thats not how its working.
True - you will have to rename whatever character(s) you are using in this list. However, you will not have to worry about other people in your group, or other character names.
Thats no different than any other FTL implementation though.
What this does is allow you - REGARDLESS OF GROUP STRUCTURE - to target - and have all your slaves target, the same person, in a party stack, using whatever 5 keys you want (could bind this to F1-F5 and instead of you alone targetting the same party member, everyone targets the same party member --- currently if you just pass lets say "F1" through as a hotkey, everyone targets themselves. F2 will target different people too as party2 is different for each member.)
So yes, this is actually working, as I said above.
If you create a mouseover region and use Include Player in Party + Alphabetical, or even the Jamba Team List, then you only need 1 macro
/cast [@mouseover] Heal
Or you can use something like Grid or Clique and pass clicks instead of mouseovers.
While I am thankful for your suggestions - I made this thread explicitly because I dont want to use mouseovers.
So thank you, again, but your comments are offtopic and for me in this specific situation - irrelevant.
I know about mouseovers, but my setup makes it somewhat hard to use them.
So thank you/no thanks. ;)
If you still want to go the route you're going, try using keyup and keydown to see if that will remove the need for the second press.
I will try a few things with that, however its a matter of delay.
The game needs about half a second (or a full one) to first select the target with one character, until the others update that the new target is selected.
In fact, FTL works a bit slow too, i have to hit FTL assist twice quite often.
Might just be connection issue...
Anyway again thanks for the helpful comments. In my setup I am avoiding mouse regions entirely. Would rather keyboard everything. Just works better for me. My screens are each somewhat different - and I use primarily the main character anyway - Staaxx - which is the tank (5 druid team).
Ualaa
12-02-2012, 01:07 PM
You said you're using an FTL system.
FTL is for your assist; without focus/target/leader set, your team will know where a command has originated based on the modifier that is sent with the command.
You're attempting a simple set of macros, which will not require assist to execute.
Macro 1, Keybind: NumPad 1
(Everyone) /cast [target=ToonA] Heal Spell
Macro 2, Keybind: NumPad 2
(Everyone) /cast [target=ToonB] Heal Spell
Etc.
The problem with a Leader based assist.
Or in this case, a leader based heal, is that it is going to break down in battlegrounds (or LFR raids, unless the leader is willing to move all five of your toons into the same group).
In battlegrounds, only the BG leader (or those given assist) can rearrange groups, and even then they can only move players from their own server.
Your characters will often be in 2-3 different groups, when boxing five toons; party1 (the leader of the party) will not always be one of your characters, and in many cases none of your toons will be the party1 character.
A party based assist (or in your case party based heals) is only going to be consistently useful in 5-man content.
Going with a toon specific target method, 1=ToonA / 2=ToonB / 3=ToonC / 4=ToonD / 5=ToonE, that will always work however the groups are made.
Similarly, with your FTL having everyone assist the leader and heal whoever the leader is targeting... that will also always work.
In general, for heals you can use one of these three systems:
a) Character specific heals, with a given keybind that triggers a macro to heal a specific character... at least one bind per character, but depending on the number of heals you're planning on using it could be three binds per character, meaning 15 macros each with its own hotkey.
b) Assist the mob... by casting at its target or its target's target... /cast [@targettarget,help][@targettargettarget,help] Heal Spell.
c) Using an alphabetical overlay of your team/raid... so the top, bottom or 3rd frame down (on any toon) refers to the same target... combined with a Repeater Region to broadcast mouse clicks to the desired healing targets.
effep
12-02-2012, 05:47 PM
You said you're using an FTL system.
FTL is for your assist; without focus/target/leader set, your team will know where a command has originated based on the modifier that is sent with the command.
You're attempting a simple set of macros, which will not require assist to execute.
Macro 1, Keybind: NumPad 1
(Everyone) /cast [target=ToonA] Heal Spell
Macro 2, Keybind: NumPad 2
(Everyone) /cast [target=ToonB] Heal Spell
Etc.
Hi - thats actually not at all what I am trying to do.
Please read the original post.
Quick recap: I want to cast on a dynamic target, from any dynamic target, based on its position in the group list viewed from any dynamic character.
It must be based on the group list order - NOT on the character name.
The group list and its order looks different for each person/toon in the group.
Obviously I wouldnt make a post for something as silly as already knowing the character name....
FTL and all these systems are about being dynamic - not hard coded.
I want to make something similar by being able to hotkey target group members by the # of their party list.
Basically - being able to look at the party list like a numbered checklist.
Remember - the group list is different from each character.
The problem with a Leader based assist.
Or in this case, a leader based heal, is that it is going to break down in battlegrounds (or LFR raids, unless the leader is willing to move all five of your toons into the same group).
that is exactly why i am making one that is dynamic -- not breaking for raids, groups, of any composition.
I dont use leader-based already, I am using FTL.
In battlegrounds, only the BG leader (or those given assist) can rearrange groups, and even then they can only move players from their own server.
Your characters will often be in 2-3 different groups, when boxing five toons; party1 (the leader of the party) will not always be one of your characters, and in many cases none of your toons will be the party1 character.
A party based assist (or in your case party based heals) is only going to be consistently useful in 5-man content.
Going with a toon specific target method, 1=ToonA / 2=ToonB / 3=ToonC / 4=ToonD / 5=ToonE, that will always work however the groups are made.
Similarly, with your FTL having everyone assist the leader and heal whoever the leader is targeting... that will also always work.
In general, for heals you can use one of these three systems:
a) Character specific heals, with a given keybind that triggers a macro to heal a specific character... at least one bind per character, but depending on the number of heals you're planning on using it could be three binds per character, meaning 15 macros each with its own hotkey.
b) Assist the mob... by casting at its target or its target's target... /cast [@targettarget,help][@targettargettarget,help] Heal Spell.
c) Using an alphabetical overlay of your team/raid... so the top, bottom or 3rd frame down (on any toon) refers to the same target... combined with a Repeater Region to broadcast mouse clicks to the desired healing targets.
and I already know of those and dont want to use any of them...
I want to look at my group list, in whichever order and with whatever characters it has in it - and have all my toons in that group able to heal members based on what # they are in the group - from top to bottom, player+party1-party4
obviously - thats easy for the character casting it. its the same as hitting F1-F5. its how to inform the slaves which one that needs to be targetted where the tricky part is.
Ualaa
12-02-2012, 10:38 PM
If you want to go by order within the group, that is a leader based system.
Party1, Party2, Party3 and Party4 are the exact syntax used in a Leader based assist.
This is only going to work when you're controlling everyone in the party.
Meaning, it is broken and not working in LFR and Battlegrounds and anytime you have a friend play with some of your toons.
You might be able to design a system like this, but the question becomes why?
Why do you want to design a heal based system, that will break anytime the group is not composed entirely of your characters.
An addon like Grid (with Grid Custom Layouts) or Healbot or Vuhdo (both are stand alone addons) gets you a fixed order sort.
As in the top frame is the same character on every toon, as is the second frame... all the way down to the last frame.
Here is how the party leader assist system works...
If you want to do a party order based system, maybe you can adapt this.
Everyone has base spells on Action Bar 2.
Everyone has /cast [@Party1target] Whatever... on the same keybind but on the second action bar.
So if you are the leader, #1 is Lightning Bolt.
Everyone else is on Bar 2, where it is /cast [@Party1Target] Lightning Bolt
Then you have a toggle for each lead switch.
When you push Hotkey 1, that switches Toon A to Action bar 1, and everyone else to Action bar 2.
Meaning one macro per the number of toons, on each toon on your team (with five toons on the team, everyone has five macros).
The format for changing the action bars is /changeactionbar 1 or /changeactionbar 2.
This accomplishes... the Party Leader does not use Party1 (because that is their F2 target, not themselves).
While everyone else uses Party1 which is the current leader...
effep
01-08-2013, 04:41 PM
Updated with functional Numpad1-5 party#-based healing system.
Not the cleanest, but it works.
The biggest drawback I've had so far is that using RDF randomizes the group order.
This can be fixed by sequentially removing people from group and adding them back in via correct order.
Note that this works only when the group is invited in the same order.
So you should create group from WoW1 which will make the group look like this, from WoW1:
Player=WoW1
Party1=WoW2
Party2=WoW3
Party3=WoW4
Party5=WoW5
After that - it doesnt matter which window you are controlling. FTL, whatever - hitting numpad1-5 will heal in perfect order:
Numpad1: Player (self)
Numpad2: Party1
Numpad3: Party2
etc...
vBulletin® v4.2.2, Copyright ©2000-2025, Jelsoft Enterprises Ltd.