Close
Page 1 of 6 1 2 3 ... LastLast
Showing results 1 to 10 of 60
  1. #1

    Default Implementing an FTL quite simple with templates

    Hi,
    in this thread I wan't to show you, how an 'focusless, leaderless, targetless' - setup (ftl), can be implemented in HotKeyNet with the use of Templates , so that after you customized the templates you only need to add only one quite simple line for defining the hotstrings of an ftl-key!

    (For the general Idea of the FTL see the wiki-entry or the sticky !)

    First of all I like to say, that this is not all my thoughts alone, but I was mainly influenced/inspired by Freddie the author of HKN, while discussing the hole implemntation of the hole template-idea, and Anemo who implemented the first ftl-setup for HKN .

    What I wan't to do here is simply give you the needed Templates, to create the keymaps/hotstrings, show you what they do and how you can use and customize them.

    So first, the Template you copy in your hkn-file:

    Templates:

    Code:
    //%1% : Master Key
    // %2% : Slave Key
    // %3% : Modifier
    // %4% : SlavesToSend
    <Template SendMasterAndSlave>
             <SendFocusWin>
                      <Key %1%>
             <Sendlabel %4%>
                      <Key %3% %2%>
    <EndTemplate>
    
    // %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>
    
    // %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>
    
    <Label w1 Local SendWinM WoW1>
    <Label w2 Local SendWinM WoW2>
    <Label w3 Local SendWinM WoW3>
    <Label w4 Local SendWinM WoW4>
    <Label w5 Local SendWinM WoW5>
    Defining a ftl-key

    To define a ftl key, which is activated by the master-key, and sends the master-key to the master and the slave-key plus the modifiers identifiing the master to the slave, you add the following line to your HKN file:

    <ApplyTemplate FTL "master-key" "slave-key">

    so for example the following would define ftl-keys:

    <ApplyTemplate FTL "1" "u">
    <ApplyTemplate FTL "lshift 1" "k">
    <ApplyTemplate FTL "2" "lshift l">

    ...

    Customizing the Templates

    To get the Template working for your system you have to customize the following things:

    1. Customize the Modifiers which identify the windows
    2. Customize the Window-names
    3. Customize the labes



    The main work for defining the keys is done in 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>
    Here you can customize the modifiers which identify the WoW-windows.
    For example: <ApplyTemplate SendLeaderless "%1%" "%2%" "rctrl rshift" WoW1 "w2,w3,w4,w5">
    Means that the window named 'WoW1' is identified by the modifier combination 'rctrl rshift'.
    Here you have to change the 'WoW1' to the actual name of the window and the "rctrl rshift" to the modifier you want to use for that window.

    If you changed the names of the Windows (maybe to the names of your Charaters) you also have to change the name in the <Label>-definition for the window!

    Voila, all customizing neccesary were done, and you are good to go!

    And remember, once you have setup the templates correct, the only thing you have to do to add an leaderless-key is adding one line of <ApplyTemplate FTL "master-key" "slave-key"> to your hkn script, and do the ormal setup in wow !
    OLIPCS - ordinary life is pretty complex stuff
    ----------------------------------------------------------------
    Pala, Priest, Druid, Hunter, Mage
    Focusless Targetless Leaderless - Wiki
    HotKeyNet - Guide

  2. #2

    Default RE: Implementing an FTL quite simple with templates

    Quote Originally Posted by 'olipcs',index.php?page=Thread&postID=164765#post1 64765
    First of all I like to say, that this is not all my thoughts alone, but I was mainly influenced/inspired by Freddie the author of HKN, while discussing the hole implemntation of the hole template-idea...
    Thanks but templates would not have happened without you. Plus you thought about FTL much more than me and you explained to me what to do. This is a great write up.
    �Author of HotkeyNet and Mojo

  3. #3

    Default

    You have made it too easy! I'm very tempted to try the FTL system now. Great work.
    Jafula.
    Jamba - Jafula's Awesome Multi Boxer Assistant. An addon for YOU.

  4. #4

    Default

    Thanks for the kind words!
    You have made it too easy! I'm very tempted to try the FTL system now.
    Well, you still have to do the 'macro-part' in wow (but using the '/click-method' its not that much of an hassle...), but the hole keymaping/hostringing should be quite easy and powerfull...
    If you need any help cutsomizing the script or macros simply ask!
    OLIPCS - ordinary life is pretty complex stuff
    ----------------------------------------------------------------
    Pala, Priest, Druid, Hunter, Mage
    Focusless Targetless Leaderless - Wiki
    HotKeyNet - Guide

  5. #5

    Default

    see below
    1 Prot Pala + 1 Ele Shamy + 1 Frost Mage + 1 Moonkin + 1 Disc Priest
    1--------10---------20---------30---------40---------50---------60--------x-70--------80

  6. #6

    Default

    I think i figured it out:

    Lets say for an example:

    ToonA - WoW1 Window
    ToonB - WoW2 Window
    ToonC - WoW3 Window
    ToonD - WoW4 Window
    ToonE - WoW5 Window

    Macro for casting Lightning Bolt.
    Master Key: 1
    Slave Key: q

    I drag LB to Key 1 on every toon and:

    I use the following macro assigned on every toon at Key "q"

    Code:
    /assist 
    [mod:ctrl,mod:shift,nomod:alt]ToonA;
    [mod:ctrl,mod:alt,nomod:shift]ToonB;
    [mod:alt,mod:shift,nomod:ctrl]ToonC;
    [mod:ctrl,mod:alt,mod:shift]ToonD;
    [mod:ctrl,nomod:alt,nomod:shift]ToonE
    /cast [harm] Lightning Bolt
    /targetlasttarget
    Ok, now I do for this in HKN:

    Code:
    <ApplyTemplate FTL "1" "q">
    Now the following happens:

    - I am at ToonA in Window WoW1 and press "1"
    - HKN now goes to <Template FTL> and uses the "1" to relace %1%, and the "q" to replace %2%
    - So a <Hotkey 1> will be created and executed creating all the <ApplyTemplate SendLeaderless> stuff

    Code:
    <Hotkey 1>
    <ApplyTemplate SendLeaderless "1" "q" "rctrl rshift" WoW1 "w2,w3,w4,w5">
    <ApplyTemplate SendLeaderless "1" "q" "rctrl ralt" WoW2 "w1,w3,w4,w5">
    <ApplyTemplate SendLeaderless "1" "q" "ralt rshift" WoW3 "w1,w2,w4,w5">
    <ApplyTemplate SendLeaderless "1" "q" "rctrl ralt rshift" WoW4 "w1,w2,w3,w5">
    <ApplyTemplate SendLeaderless "1" "q" "rctrl" WoW5 "w1,w2,w3,w4">
    - So the <Template SendLeaderless> will be executed 5 times, but it has a <If ActiveWinIs %4%> in it. As you see above, the %4% is the fourth argument, in the <ApplyTemplate SendLeaderless ..> the fourth is WoW1 or WoW2 etc.
    - So at this step as we are using ToonA in active Window WoW1 the first template call is correct as only here the WoW1 as fourth argument matches with our active window WoW1 that is:

    Code:
    <ApplyTemplate SendLeaderless "1" "q" "rctrl rshift" WoW1 "w2,w3,w4,w5">
    Code:
    <Template SendLeaderless>
            <If ActiveWinIs %4%>
                <ApplyTemplate SendMasterAndSlave "%1%" "%2%" "%3%" "%5%">
    <EndTemplate>
    will translate into:

    Code:
    <Template SendLeaderless>
            <If ActiveWinIs WoW1>
              <ApplyTemplate SendMasterAndSlave "1" "q" "rctrl rshift" "w2,w3,w4,w5">
    <EndTemplate>
    - Going into the SendMasterAndSlave the following will be constructed now:

    Code:
    <Template SendMasterAndSlave>
             <SendFocusWin>
                      <Key 1>
             <Sendlabel w2,w3,w4,w5>
                      <Key rctrl rshift q>
    This means, the active Window (WoW1) will geht the key "1", and all the other windows will get "ctrl shift q". Above we assigned LB to "1", and a macro to "q" on all others as well.

    Now it goes to the macro we put on key "q" above and as you can see the "ctrl shift" mod will cause every toon to assist ToonA
    This mod will be used: [mod:ctrl,mod:shift,nomod:alt]ToonA;

    Code:
    /assist 
    [mod:ctrl,mod:shift,nomod:alt]ToonA;
    [mod:ctrl,mod:alt,nomod:shift]ToonB;
    [mod:alt,mod:shift,nomod:ctrl]ToonC;
    [mod:ctrl,mod:alt,mod:shift]ToonD;
    [mod:ctrl,nomod:alt,nomod:shift]ToonE
    /cast [harm] Lightning Bolt
    /targetlasttarget
    Now, if we switch to ToonB and do the same, the only thing that changes is that in <Hotkey 1> the second line now is important as ToonB is in WoW2 and thus WoW2 will become our active window:

    Code:
    <ApplyTemplate SendLeaderless "1" "q" "rctrl ralt" WoW2 "w1,w3,w4,w5">
    So following from that, now our active window WoW2 will receive the "1" and w1, w3, w4 and w5 will get the "ctrl alt q".
    If you now check the assist, we see, that ctrl + alt will asst ToonB: [mod:ctrl,mod:alt,nomod:shift]ToonB;
    Now everyone else will assist ToonB to attack the same target with LBs.
    1 Prot Pala + 1 Ele Shamy + 1 Frost Mage + 1 Moonkin + 1 Disc Priest
    1--------10---------20---------30---------40---------50---------60--------x-70--------80

  7. #7

    Default

    Hi again, I could test it yesterday and after some trouble (Returns in the big assist-line) it worked. Now I wonder how could you do the following:

    1. Create a Macro for your healer that makes him heal whatever "master" you are playing right now. So if i play ToonA in WoW1 and press lets say hotkey "E" he will cast chainhealing on ToonA, if i switch to ToonB in WoW2 and press "E" he will cast chainheal on ToonB etc. I played around with "/focus" or "targettarget" but this doesnt work with /assist.
    2. Same for /follow. How do you make your guys follow your actual master?

    Thanks.

    ---
    I found this in another thread:

    Code:
    /target [mod:ctrl,mod:shift,nomod:alt,target=ToonA] 
    [mod:ctrl,mod:alt,nomod:shift,target=ToonB] 
    [mod:alt,mod:shift,nomod:ctrl,target=ToonC] 
    [mod:ctrl,mod:alt,mod:shift,target=ToonD] 
    [mod:ctrl,nomod:alt,nomod:shift,target=ToonE] 
    /follow 
    /targetlasttarget
    I think I could use this for follow (obvious) and maybe even for healing as well. So this may solve my 2 questions above. Gotta try this at home this evening.
    1 Prot Pala + 1 Ele Shamy + 1 Frost Mage + 1 Moonkin + 1 Disc Priest
    1--------10---------20---------30---------40---------50---------60--------x-70--------80

  8. #8

    Default FTL and non FTL chars

    Basically what I am trying to do is pass some FTL characters around and at the same time pass some non-FTL characters. I was thinking I could do this with a If statement below; but it does not seem to be working so well. Does anyone have a suggestion to getting NON-FTL characters passed?

    Code:
    <Template FTL>
          <Hotkey %1%>
                <If %1% Is %2%> 
       <SendLabel w1, w2, w3, w4, w5>
           <Key %1%>
    <Else>
                   <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>
    
    <ApplyTemplate FTL "1" "j">
    <ApplyTemplate FTL "2" "]">
    <ApplyTemplate FTL "3" "[">
    <ApplyTemplate FTL "4" "\">
    
    <ApplyTemplate FTL "5" "5">
    <ApplyTemplate FTL "6" "6">

    Well I was being dumb and I figured it out. I added to get it to work.
    Code:
    <KeyList PartialList 5, 6, 7, 8, 9, 0, Minus, Plus, f, g>
    <Hotkey PartialList; Shift PartialList; Alt PartialList; Ctrl PartialList>
    	<SendLabel w1, w2, w3, w4, w5>
       	<Key %Trigger%>
    Although the If statement still looks like I should have been able to get that to work as well.

  9. #9

    Default

    The point why the <If> statement doesn't do the trick is, that the command <If variable Is value> needs a variabe to compare, and what you are doing by <If %1% Is %2%> and calling <ApplyTemplate FTL "6" "6">is replacing the %1% and %2% with '6' so that it looks like: <If 6 is 6>. For HKN this means it has to check if a variable named '6' has the value 6. And since you have not set a value vor a variabel '6', this always fails.

    Ehat you could try is first set a variable to the value of %1% and then compare it with %2%, like:
    Code:
    <Template FTL>
        <Hotkey %1%>       
      	<SetVar compare %1%>
      	<If compare Is %2%> 
            	<SendLabel w1, w2, w3, w4, w5>
                      	<Key %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>
    ..and you would need to change the <Template SendLeaderless> to use an <ElseIf ActiveWinIs %4%> instead of <If ActiveWinIs %4%>, because you can't nest Ifs.
    OLIPCS - ordinary life is pretty complex stuff
    ----------------------------------------------------------------
    Pala, Priest, Druid, Hunter, Mage
    Focusless Targetless Leaderless - Wiki
    HotKeyNet - Guide

  10. #10

    Default

    I would like to find out more about FTL. I am using focus now and fails if one dies. Is the difference in the macros or in HKN? HKN is working great, no need to fiddle with that part, but being able to switch and fight would be nice in those "oh SH*T" Times.
    RAF Tour Guide files are obsolete, I went to Zygor
    MultiBoxers play with themselves

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
  •