Close
Showing results 1 to 10 of 60

Threaded View

  1. #11

    Default

    I tried answering this question by question, but that soooo wasn't working.

    Keeping in mind I don't use FTL and never have, I'm going to try and explain what's going on.

    First - FTL means "Focusless, Targetless, Leaderless". This is a detailed explanation.

    Very simply, depending on what window you are in, you are automatically sending a different modifier. That modifier is telling all your toons who to "assist" by targeting a toon based off those modifiers.

    At this point, let's completely disregard all the snippets you quoted, because I don't think they're doing what you think they are and that's only making things more complicated and confusing.


    I kind of find it easier to work backwards, so bear with me as I try and explain.

    1. From post 1 we need to create the templates. I'll explain them later, just add them to your script.

    2. Create the macro in WoW that establishes the modifiers for who is leader. This is the FTL macro.

    Code:
    /stopmacro [nomod]
    /assist [mod:rctrl,mod:rshift,nomod:ralt]ToonA;[mod:rctrl,mod:ralt,nomod:rshift]ToonB;[mod:ralt,mod:rshift,nomod:rctrl]ToonC;[mod:rctrl,mod:ralt,mod:rshift]ToonD;[mod:rctrl,nomod:ralt,nomod:rshift]ToonE
    You will need to change ToonA-E to the names of your toons.

    3. Put that macro on the same key for everyone. Make note that the macro I'm using is NOT the same as the one you were trying to use. Mine is for assisting. The one you had was a target and follow macro, which we'll do later. For this part we'll put the macro on the = key.

    4. Now we need a spell, so we'll use the LB macro -

    Code:
    /click ActionButton12
    /cast Lightning Bolt
    /targetlasttarget
    Place the macro on button 1 of your actionbars. The /click is what will call your FTL macro which will tell your toons who to assist. The default placement of = in game is ActionButton12.

    5. Now we need to delete the modifiers in game. The modifiers need to be removed from button use because they are being defined in the FTL macro that's on =. If you don't remove the modified versions of the keybinding then you will run into conflicts when HKN sends the modifiers because the game will think you're trying to call an entirely different key. For example, the default binding for Ctrl+1 in game is your pet bar. If you left it bound, then when you pressed 1 while trying to use FTL, the game would try and trigger the pet bar instead of the FTL.


    Now we have all the basics set up, we'll go back to the HotKeyNet file.

    At this point we want to be able to cast Lightning Bolt, which we put on Key 1. We also want this to use the FTL setup instead of straight broadcasting. So we need to define that in the HotKeyNet file. We do this with the ApplyTemplate to call the FTL template

    Code:
    <ApplyTemplate FTL "1" "1">
    So, what does that mean? We go back into the original code from post 1 where we set up the FTL template

    Code:
    // %1% : master-key
    // %2% : slave-key
    <Template FTL>
              <Hotkey %1%>     
                       <ApplyTemplate SendLeaderless "%1%" "%2%" "rctrl rshift" WoW1 "w2,w3,w4,w5">
                       <ApplyTemplate SendLeaderless "%1%" "%2%" "rctrl ralt" WoW2 "w1,w3,w4,w5">
                       <ApplyTemplate SendLeaderless "%1%" "%2%" "ralt rshift" WoW3 "w1,w2,w4,w5">
                       <ApplyTemplate SendLeaderless "%1%" "%2%" "rctrl ralt rshift" WoW4 "w1,w2,w3,w5">
                       <ApplyTemplate SendLeaderless "%1%" "%2%" "rctrl" WoW5 "w1,w2,w3,w4">          
    <EndTemplate>
    Now we need to understand Arguments. An argument is a variable that is defined in our commands. The first word, term or string following our command is argument 1, referenced in our subroutine as %1%. The second is argument 2, or %2% in our subroutine. So in the code for ApplyTemplate FTL, we established that the first two arguments for variables %1% and %2% are 1 and 1 {IE, the actual key we pressed and want sent}.

    Ok, we've pressed 1. HotKeyNet pulls the arguments from the ApplyTemplate FTL and plugs them into Template FTL wherever it sees %1% and %2%. But, Template FTL is also calling the command to ApplyTemplate SendLeaderless and supplying a bunch of arguments of its own {carrying over the arguments from ApplyTemplate FTL}.

    So let's look at Template SendLeaderless.

    Code:
    // %1% : master key
    // %2% : slave key
    // %3% : modifier
    // %4% : Active window
    // %5% : Slave Windows
    <Template SendLeaderless>
            <If ActiveWinIs %4%>
                <ApplyTemplate SendMasterAndSlave "%1%" "%2%" "%3%" "%5%">
    <EndTemplate>
    The comments give you a little cheat-sheet for knowing what all these arguments will be. %1% and %2% are the master and slave keys from ApplyTemplate FTL {1 and 1}. Next is the modifier that we want sent, which we find in Template FTL. As I explained back there, argument 3 {%3%} would be the third thing following the command "ApplyTemplate SendLeaderless", which for us is the modifiers. %4% define which window is the Active, and thus the "Master" window. And %5% defines which windows are the slaves.

    As you can see, the information for %3%, %4% and %5% are all different. This section looks for the currently active window {%4%} and then calls ApplyTemplate SendMasterAndSlave and sends it the arguments it finds associated with that Active Window.

    So if the currently active window is called WoW1, as seen in Template FTL, then it pulls argument 3 from that line {"rctrl rshift"} and inputs it into %3% to determine the modifiers to send, and pulls argument 5 {"w2,w3,w4,w5"} and inputs it into %5% to determine which windows are slaves.

    If WoW4 were the active, then it would input the information in that line from Template FTL { "rctrl ralt rshift" and "w1,w2,w3,w5"}.

    This will drop us back down to 4 arguments that are forwarded on to the last piece of the puzzle, Template SendMasterAndSlave.

    Code:
    //%1% : Master Key
    // %2% : Slave Key
    // %3% : Modifier
    // %4% : SlavesToSend
    <Template SendMasterAndSlave>
             <SendFocusWin>
                      <Key %1%>
             <Sendlabel %4%>
                      <Key %3% %2%>
    <EndTemplate>
    Again, our comments say %1% is our master key and %2% is our slave key{1 from <ApplyTemplate FTL "1" "1">}. %3% is the modifier and %4% is the slaves as established in Template SendLeaderless.

    So, the Master window is sent the key 1 {%1%}. Everyone else is labeled as a slave window {%4%} and those slave windows get sent the modifier keys {%3%} and the slave key 1{%2%}. This means if WoW1 is active, then "w2,w3,w4,w5" are slave windows, so WoW1 gets 1 and the slaves get rctrl rshift 1. According to the macro in game

    Code:
    /stopmacro [nomod]
    /assist [mod:rctrl,mod:rshift,nomod:ralt]ToonA;[mod:rctrl,mod:ralt,nomod:rshift]ToonB;[mod:ralt,mod:rshift,nomod:rctrl]ToonC;[mod:rctrl,mod:ralt,mod:rshift]ToonD;[mod:rctrl,nomod:ralt,nomod:rshift]ToonE
    rctrl rshift means the slaves should assist ToonA and cast Lightning Bolt.

    If WoW2 is active, then "w1,w3,w4,w5" are slaves and the modifier would be "rctrl ralt", and the slaves would assist ToonB. And so on.


    Now, back to the follow macro. You would create the macro in game

    Code:
    /stopmacro [nomod]
    /target [mod:rctrl,mod:rshift,nomod:ralt,target=ToonA][mod:rctrl,mod:ralt,nomod:rshift,target=ToonB][mod:ralt,mod:rshift,nomod:rctrl,target=ToonC][mod:rctrl,mod:ralt,mod:rshift,target=ToonD][mod:rctrl,nomod:ralt,nomod:rshift,target=ToonE]
    /follow 
    /targetlasttarget
    Again, change the ToonA-E to your Toon names. Place it on Q.

    Add the code to HotKeyNet

    Code:
    <ApplyTemplate FTL "Q" "Q">
    Here you ask

    ...we are in window of ToonE, and we press Q -- what happens exactly?
    If you are in the window for ToonE, which is WoW5, HotKeyNet will go through all that code above and determine that WoW5 is active, thus "w1,w2,w3,w4" are the slaves. So it will send Q to the master {ToonE}. Since ToonE gets an unmodified Q and you have /stopmacro [nomod], nothing happens to ToonE, which is exactly what you want in this case.

    But, all the other toons are slaves, so they get a modified Q. WoW5 being master means the modifier HotKeyNet sends from SendLeaderless is rctrl, and rctrl Q and the macro says that mod:rctrl,nomod:ralt,nomod:rshift,target=ToonE, and they will target ToonE and follow him.


    What I would really like to see is a script that "smartly" figures out which window is the master...I was hoping that is how FTL works.
    So that whenever you swap windows, the script is generic and swaps master to whatever window you are focused on.
    This is exactly what FTL does based on active window, the arguments and variables in the script.

    You keep talking about "hit the corresponding modifiers to inform HKN that we switched to ToonB: "rCtrl + rAlt"...there are no modifiers to physically press. The modifiers being sent are "automatically input" based on what window is your active window, which HotKeyNet doesn't need you to define, it already sees it because it's the window that currently has the OS's focus.
    Last edited by Khatovar : 05-31-2013 at 01:14 AM
    Blog : Herding Khats
    Team : Kina - Çroaker - Messkit - Lìfetaker - Wìdowmaker
    Newbie Guides : Multiboxing Vol. 1 - Multiboxing Vol. 2 - HotKeyNet - Jamba
    The Almighty Lax made a liar out of me, apparently I DO get prizes for it.
    *Commences Wielding the Banhammer like there's piñatas up in here and I'm Lady Thor*

    _ Forum search letting you down? Use the custom Google search _

Similar Threads

  1. A simple request.
    By noob123 in forum New Multi-Boxers & Support
    Replies: 5
    Last Post: 11-02-2008, 12:04 AM
  2. Just a simple question?
    By Hellsceammulti in forum New Multi-Boxers & Support
    Replies: 1
    Last Post: 10-08-2008, 04:34 PM
  3. Templates
    By Djarid in forum Off-Topic
    Replies: 2
    Last Post: 03-08-2008, 12:26 PM
  4. Class templates
    By Djarid in forum Off-Topic
    Replies: 3
    Last Post: 03-06-2008, 04:05 PM
  5. Simple Question
    By Moon in forum New Multi-Boxers & Support
    Replies: 10
    Last Post: 11-25-2007, 10:24 PM

Posting Rules

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •