View Full Version : Guide: HowTo use HotKeyNet for boxing
olipcs
11-22-2008, 07:22 AM
This is a guide for using HotKeyNet (http://www.dual-boxing.com/forums/www.hotkeynet.com) for multiboxing.
The following topics are covered:
Basic Concept (http://www.dual-boxing.com/showpost.php?p=147978&postcount=2)
Defining an Hotkey / Broadcasting keys (http://www.dual-boxing.com/showpost.php?p=147979&postcount=3)
Starting WoWs / Renaming Windows (http://www.dual-boxing.com/showpost.php?p=147980&postcount=4)
Resizing / Positioning of WoW-windows (http://www.dual-boxing.com/showpost.php?p=147981&postcount=6)
PiP / window switching (http://www.dual-boxing.com/showpost.php?p=147982&postcount=7)
Mousebroadcasting (http://www.dual-boxing.com/showpost.php?p=147983&postcount=8)
Advanced Stuff (http://www.dual-boxing.com/showpost.php?p=147984&postcount=9) (Templates, round robin, ftl, etc...)
More examples & informations (http://www.dual-boxing.com/showpost.php?p=147985&postcount=10)
This guide can also be found in the wiki (http://www.dual-boxing.com/wiki/index.php/HotKeyNet_Boxing_Guide) . (in an older version)
If you want have a look, how a sample script for 5-on-1 generated from this guide could look like, see the attached file.
(of course you need to edit the WoW-pathes and Window positions as you like)
v1 - 22. 11. 08 : first version
v1.1 2. 12.08 : added the wiki link
v1.2 4.3.09: Section: PiP / windowswitching: changed the use of <SetWinSize> and <SetWinPos> to <SetWinRect> (this requires HKN build 161 and above)
v1.3 - 10.09.2009: Added an explanation of <Template> to the 'Advanced Stuff' section / Added a sample script.
olipcs
11-22-2008, 07:22 AM
HotKeyNet (HKN) is a currently free program for sending HotKeys to different windows (on one ore more than one pc) developed by Freddy.
The download, sample scripts and command reference can be found on: www.hotkeynet.com (http://www.hotkeynet.com) .
All actions of HKN are defined in a simple textfile, called the hkn-file or script, which can be edited with a simple texteditor.
if you now say: "Yeah great i don't want to read the concepts and explanations, give me a simple script!"
-no problem: if you want to get the files first, here are sample scripts (http://hotkeynet.com/wow/wow-quick-start.html) !
Ah, you stayed :), so back to the concept:
The basic concept of HotKeyNet is that it is a program what simply waits on a key-trigger to run an action, like for example pressing 'ctrl+o' to run winamp. So in general HKN can be used for a lot of other things than multiboxing.
In the following I will describe the script-definitions and commands necessary to use hkn for multiboxing.
olipcs
11-22-2008, 07:22 AM
General:
The command to define a Hotkey is: <Hotkey ..> ('http://www.hotkeynet.com/ref/hotkey.html')
A simple example to broadcast '1' to a window named 'wow1' on the local computer would look like:
<hotkey 1>
<sendpc local>
<sendwin wow1>
<key 1>
So basicaly in the <hotkey ..>-command the trigger is defiend (line 1), here '1', and in the following (line 2-4) an action to execute.
As a trigger simple keys like '1','a','F11' can be used or combinations of modifiers and a key.
As a modifier the normal modifiers 'shift','ctrl','alt' can be used or with the <UseKeyAsModifier>-command ('http://www.hotkeynet.com/ref/usekeyasmodifier.html') any other key can be used.
For the hole definition of <HotKey> see: HKN: HotKey ('http://www.hotkeynet.com/ref/hotkey.html') .
For how to figure out keynames see: HKN: Keynames ('http://www.hotkeynet.com/ref/keynames.html') .
Broadcasting Keys to WoW windows
For broadcasting a hole bunch of keys to different WoW windows the following example (here for 5 boxing on one pc) can be used:
//-----------------------------------------------------------
// DEFINE MAIL LABELS FOR SENDING KEY STROKES.
//-----------------------------------------------------------
<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>
//-----------------------------------------------------------
// DEFINE HOTKEYS FOR ALL KEY COMBINATIONS THAT WILL GET
// SENT TO ALL WOWS. ADD MORE KEY COMBO'S IF YOU WANT.
//-----------------------------------------------------------
<KeyList MyList A-Z, 0-9, Enter, Tab, Oem4, Space, Comma, Oem6 except W, A, S, D, Q, E, L>
<Hotkey MyList; Shift MyList; Alt MyList; Ctrl MyList>
<SendLabel w1, w2, w3, w4, w5>
<Key %Trigger%>
this does the following:
1. Defining five <Label..>-commands, one for each WoW-window.
A <Label ..> ('http://www.hotkeynet.com/ref/label.html') -command can be used to summerize for a setup to which window, running on which pc, with what method keys (or other actions) are send.
So <Label w1 Local SendWinM WoW1> defines that when sending a key to the label 'w1' with <SendLabel..> ('http://www.hotkeynet.com/ref/sendlabel.html') its meant: Sending a key to the window named 'WoW1', which is runing on the local pc using the method SendWinM.
2. Defining a KeyList
This also is a shorter form of defining multiple hotkeys. And basicly means, that all the trigger-keys can be defined in a KeyList and the name of the KeyList can be used in the <HotKey>-definition instead of the triggers. For the syntax see this ('http://www.hotkeynet.com/ref/keylist.html') .
3. Defining the Hotkey
With <Hotkey MyList; Shift MyList; Alt MyList; Ctrl MyList> the triggers for the action defined in the next 2 lines are defined, using the KeyList defined before. The action to execute is composed of 2 things:
a) <SendLabel w1, w2, w3, w4, w5>, tells HKN to which Labels to send (and thereby to wich Window, on which PC with which Method)
b) <Key %Trigger%>, tells HKN what to send. Here the same key as the key which triggerd the action. For reference see: this ('http://www.hotkeynet.com/ref/key.html') .
Movement Keys
Some keys which need to be handled differently are keys that should be used for moving, turning etc. in wow, as for them ist not a simple <KeyDown><KeyUp>. This keys can be defined like any other <HotKey> with <MovementHotkey> ('http://www.hotkeynet.com/ref/movementhotkey.html') .
So example code for using the cursor-keys as movement-keys and broadcasting them to all windows, would look like:
<MovementHotkey up, down, left, right>
<SendLabel w1, w2, w3, w4, w5>
<Key %Trigger%>
Toggeling HKN off/on
Sometimes its quite usefull to simply turn of all hotkey-definitions (for example for chatting) this can be easily be done with defining a Trigger-Key for toggeling HKN on/off like:
<hotkey pause>
<sendpc local>
<ToggleHotkeys>
olipcs
11-22-2008, 07:23 AM
As HotKeyNet is not restricted on only sending keys, when a hotkey is triggered, but perfom a lot of other actions, it can be used for starting wow itself and renaming the windows.
This can be done like this:
//-----------------------------------------------------------
// SUBROUTINE TO LAUNCH AND RENAME A COPY OF WOW.
//-----------------------------------------------------------
<Command LaunchAndRename>
<SendPC %1%>
<Run %2%>
<RenameTargetWin %3%>
<RemoveWinFrame>
<SetAffinity %4%>
//-----------------------------------------------------------
// HOTKEY TO LAUNCH AND RENAME YOUR WOW WINDOWS while 5 boxing
// Please configure the Path and processor afinitys correctly
//-----------------------------------------------------------
<Hotkey Alt Ctrl L>
<LaunchAndRename Local "C:\temp\multi\w1\wow.exe" WoW1 1>
<LaunchAndRename Local "C:\temp\multi\w2\wow.exe" WoW2 2>
<LaunchAndRename Local "C:\temp\multi\w3\wow.exe" WoW3 2>
<LaunchAndRename Local "C:\temp\multi\w4\wow.exe" WoW4 3>
<LaunchAndRename Local "C:\temp\multi\w5\wow.exe" WoW5 3>
<ResizeAndPosition WoW1 WoW2 WoW3 WoW4 WoW5>
This first defines an command (for how to define a command see: this ('http://www.hotkeynet.com/ref/command.html') ) named LaunchAndRename, which starts WoW, which has the following parameters:
<LaunchAndRename %1% %2% %3% %4%>
%1%: The pc to to run the WoW from (see <SendPC> ('http://www.hotkeynet.com/ref/sendpc.html') )
%2%: path and program to run (This must be customized!) (see <Run> ('http://www.hotkeynet.com/ref/run.html') )
%3%: name to rename the window to (see RenameTargetWin ('http://www.hotkeynet.com/ref/renametargetwin.html') )
%4%: Affinity, which processor to use in a dual/quad-core environment (see <SetAffinity> ('http://www.hotkeynet.com/ref/setaffinity.html') )
Second a <Hotkey> is defined (trigger: ctrl + alt+ l) which uses the command to start 5 wow. And initiates the repositioning and resizing of them with <ResizeAndPositio>. (This is covered in the next paragraph).
olipcs
11-22-2008, 07:23 AM
In the steps before you have learned how to setup keybroadcasting and starting the WoWs.
Know we want to position and resize the windows.
This can be done with two commands:
<SendWin> (http://www.hotkeynet.com/ref/sendwin.html) / <SendWinM> (http://www.hotkeynet.com/ref/sendwinm.html) : To specify which window to resize/position
<SetWinRect x y width heigh> (http://hotkeynet.com/ref/setwinrect.html) : positions the Window at x,y (x horizontal position, y vertical position)and resizes it to width * heigth (width horizontal size, height vertical size)
So to position the window named 'WoW1' at x=200, y=300 withe the resolution of 640x480 an the local pc you would use the follwoing comand-sequence:
<SendWin WoW1>
<SetWinRect 200 300 640 480>
derived from this example you can build a command for 5 boxing, by defining five conectional regions and position windows accordingly.
For example for a system using 2 monitos both with a 1280x1024 resolution, and using the first monitor for the 'main' screen, the second monitor for the other four windows, using resolutions of 640x512 for them would look like:
//-----------------------------------------------------------
// SUBROUTINE TO Position Windows for 5 boxing.
//-----------------------------------------------------------
<Command ResizeAndPosition>
<SendPC Local>
<SendWinM %1%>
<SetWinRect 0 0 1280 1024>
<SendWinM %2%>
<SetWinRect 1280 0 640 512>
<SendWinM %3%>
<SetWinRect 1280 512 640 512>
<SendWinM %4%>
<SetWinRect 1920 0 640 512>
<SendWinM %5%>
<SetWinRect 1920 512 640 512>
of course you would have to customize the positions / sizes of the windows as you need them!
olipcs
11-22-2008, 07:23 AM
Window-switching
simple window switching, like for example Keyclone does it (even if its called pip there) can be done quite easily with using the selfwritten <ResizeAndPosition>-command shown above.
With this you can do for example simple switching with the trigger-keys F1 - F5 for the corresponding windows WoW1 - WoW5 like this:
//----------------------------------------------------------------
//Window Switching
//----------------------------------------------------------------
<Hotkey F1>
<ResizeAndPosition WoW1 WoW2 WoW3 WoW4 WoW5>
<Hotkey F2>
<ResizeAndPosition WoW2 WoW1 WoW3 WoW4 WoW5>
<Hotkey F3>
<ResizeAndPosition WoW3 WoW2 WoW1 WoW4 WoW5>
<Hotkey F4>
<ResizeAndPosition WoW4 WoW2 WoW3 WoW1 WoW5>
<Hotkey F5>
<ResizeAndPosition WoW5 WoW2 WoW3 WoW4 WoW1>
PiP
With HotKeyNet you can do real Picture-in-Picture drawing of windows, like on the following screenshot:
http://www.hotkeynet.com/art/pip-1-600.jpg
To do this you use the <SetWinPosition> and <SetWinSize>-commands like shown in the above section to resize and position the windows.
But in addition for the 'big window' you specify a 'hole' so that it doesn't overlap the 'littel windows'.
The command to use for this is: <SetWinRegion x y width height> ('http://www.hotkeynet.com/ref/setwinregion.html') with,
x = relative horizontal position, form the upper left corner of the target window, where the hole should start
y = relative vertical position, form the upper left corner of the target window, where the hole should start
width = horizontal width of th hole
height = vertical height of the hole
So to give an example, image 5boxing on an 1920x1200 screen, and you want the main window to take up the hole screen, and to line up the four 'slave'-windows with a size of 320x200 300 pixels from the bottom, with a spacing of 100px. To switch between them also we use F1-F5. This could be done like this:
<Command ResizeAndPosition>
<SendPC Local>
<SendWin %1%>
<SetWinSize 1920 1200>
<SetWinPos 0 0>
<SetWinRegion 160 1620 300 200>
<SetWinRegion 560 1620 300 200>
<SetWinRegion 960 1620 300 200>
<SetWinRegion 1360 1620 300 200>
<SendWinM %2%>
<SetWinSize 300 200>
<SetWinPos 160 1620>
<SendWinM %3%>
<SetWinSize 300 200>
<SetWinPos 560 1620>
<SendWinM %4%>
<SetWinSize 960 1620>
<SetWinPos 1920 0>
<SendWinM %5%>
<SetWinSize 1460 1620>
<SetWinPos 1920 512>
//----------------------------------------------------------------
//Window Switching
//----------------------------------------------------------------
<Hotkey F1>
<ResizeAndPosition WoW1 WoW2 WoW3 WoW4 WoW5>
<Hotkey F2>
<ResizeAndPosition WoW2 WoW1 WoW3 WoW4 WoW5>
<Hotkey F3>
<ResizeAndPosition WoW3 WoW2 WoW1 WoW4 WoW5>
<Hotkey F4>
<ResizeAndPosition WoW4 WoW2 WoW3 WoW1 WoW5>
<Hotkey F5>
<ResizeAndPosition WoW5 WoW2 WoW3 WoW4 WoW1>
for an example on HotKeyNEt-site see: this ('http://www.hotkeynet.com/wow/wow-pip.html')
olipcs
11-22-2008, 07:23 AM
With HotKeyNet it is possible to do mouse-broadcasting, meaning that you can broadcast a mouse-click on a position in one window, to the corresponding position (regarding to window-resolution) in anoher window.
In WoW this is quite usefull for 'mouse-healing', using clique or healbot and for using targetet abilities, like blizzard, druids trees, hunter aoe ...
The general command to trigger a mouse-click with hotkey net is <ClickMouse ..> ('http://www.hotkeynet.com/ref/clickmouse.html') .
The command is quite compley, and better explained in the HKN-APi than i could do it here, so for real details you might look there ('http://www.hotkeynet.com/ref/clickmouse.html') .
I give here a simple example for simply broadcasting left, right, middle - click while pressing 'g' (for using 'g' as amodifier see <UseKeyAsModifier> ('http://www.hotkeynet.com/ref/usekeyasmodifier.html') ).
<UseKeyAsModifier g>
<Hotkey g LButton, MButton, RButton>
<SendLabel w1, w2, w3, w4, w5>
<ClickMouse %TriggerMainKey%>
if you want tor also broadcast f.e. shift+left click you would have to add:
<Hotkey g shift LButton, MButton, RButton>
<SendLabel w1, w2, w3, w4, w5>
<KeyDown shift>
<ClickMouse %TriggerMainKey%>
<KeyUp shift>
Another example for this can be found here: [HotKeyNet] HotkeyNet + AOE! ('http://www.dual-boxing.com/forums/index.php?page=Thread&threadID=8118')
olipcs
11-22-2008, 07:23 AM
Here only some quick comments/links for how to implement other more advanced features using HotKeyNet.
Round-Robin
Round robin can be implemented using the <Toggle> (http://www.hotkeynet.com/ref/toggle.html) -command.
For example defining '4' as a round-robin-key for the windows WoW1 - WoW5 can be done like:
<Hotkey 4>
<Toggle>
<SendLabel w1>
<Key %trigger%>
<Toggle>
<SendLabel w2>
<Key %trigger%>
<Toggle>
<SendLabel w3>
<Key %trigger%>
<Toggle>
<SendLabel w4>
<Key %trigger%>
<Toggle>
<SendLabel w5>
<Key %trigger%>
Focusless Targetless Leaderless Setup
It is possible to implement an ftl-setup with HotKeyNet, but as it would be a little much to explain it in an introduction thread, i like to only link to the implementation and disscussion:
[HotKeyNet] Implementing an FTL quite simple with templates (http://www.dual-boxing.com/showthread.php?t=17555)
Example of an specific implementation:I need a FTL mentor :/ (http://www.dual-boxing.com/showpost.php?p=146814) to come ;)
Templates:
In HKN if you have a script-block you want to reuse (with slight modifications) you could use Templates.
To do this, you define templates with <Template> (http://hotkeynet.com/ref/template.html) and call them with <ApplyTemplate> (http://hotkeynet.com/ref/applytemplate.html).
Remark:
The following I wrote for a user to explain Templates to him, so it might be alittle bit out of context here, but I think to cover some more advanced features of HKN, this could be usefull:
The general idea of templates in HKN is, to give a way to simplify some definitions, that occure quite often, and have a very similar structure.
One relay simple example:
-Lets say you want to define multiple keys (1,2) which sends the key to w1 and always 'w' to w2 (and you don't know about keylists http://www.dual-boxing.com/images/smilies/wink.gif ).
This could be done by defining a Template like:
<Template blubb>
<Sendlabel w1>
<Key %trigger%>
<Sendlabel w2>
<Key w>
<EndTemplate>
and calling it like:
<Hotkey 1>
<ApplyTemplate blubb>
<Hotkey 2>
<ApplyTemplate blubb>
What HotkeyNet now does, is simply when finding the '<ApplyTemplate blubb>' look if there a definition for the template with the name 'blubb' specified by <Template blubb> and if it finds such a definition, it substitutes the <ApplyTemplate blubb> with the text defined between <Template blubb> and <EndTemplate>.
So on runtime, the tow Hotkey definitions would look like:
<Hotkey 1>
<Sendlabel w1>
<Key %trigger%>
<Sendlabel w2>
<Key w>
<Hotkey 2>
<Sendlabel w1>
<Key %trigger%>
<Sendlabel w2>
<Key w>
This is a real simple working example, but if this would be all templates could do, it wouldn't be so usefull.
The next component of templates are parameters. With parameters you can, when calling a template with <ApplyTemplate> give the call some specific values, which then are used in the template.
For this the calling syntax is:
<ApplyTemplate name parameter1 parameter2 parameter3 ..>
in the Template itself every occurence of %PARAMETER_NUMBER% is than replaced with the text for the parameter.
Short example:
<ApplyTemplate test This is a test>
in the Template specified by <Template test> every occurence of:
- %1% is replaced with This
- %2% is replaced with is
- %3% is replaced with a
- %4% is replaced with test
so the following
<Template sendkey>
<Hotkey %1%>
<SendLabel %2%>
<Key %3%>
<EndTemplate>
<ApplyTemplate 1 w1 u>
would create the following Hotkey:
<Hotkey 1>
<Sendlabel w1>
<Key u>
Now, one last important thing:
Normaly HKN seperates parameters by a space.
If you want to use a phrase as an Parameter which containes spaces (like f.e. a path) you have to capsulate it in "" like "This is a test".
So to come back to the original code:
<Template If>
<If MouseIsOverWindowRect %1% %2%>
<SendLabel %3%>
<Key %4%>
<EndTemplate>
<Template Else>
<If MouseIsOverWindowRect %1% %2%>
<SendLabel %3%>
<Key %4%>
<EndTemplate>
<Hotkey ScrollLockOn LButton>
<ApplyTemplate If "WoW5" "88 299 125 58" "w3" "Numpad1">
<ApplyTemplate ElseIf "WoW5" "88 367 125 58" "w3" "Numpad2">
<ApplyTemplate ElseIf "WoW5" "88 433 125 58" "w3" "Numpad3">
<Else>
<SendFocusWin>
<ClickMouse down %Trigger%>
Lets have a look at what <ApplyTemplate If "WoW5" "88 299 125 58" "w3" "Numpad1"> does:
it replaces the <ApplayTemplate If ...> with the block between <Template If> and <EndTemplate> and substitutes:
- %1% with WoW5
- %2% with 88 299 125 58
- %3% with w3
- %4% with Numpad1
So the code in HKN would look like:
<Hotkey ScrollLockOn LButton>
<If MouseIsOverWinRect WoW5 88 299 125 58>
<Sendlabel w3>
<Key Numpad1>
<ApplyTemplate ElseIf "WoW5" "88 367 125 58" "w3" "Numpad2">
<ApplyTemplate ElseIf "WoW5" "88 433 125 58" "w3" "Numpad3">
<Else>
<SendFocusWin>
<ClickMouse down %Trigger%>
( And of course <ApplyTemplate ElseIf ..> would then be replaced with the text of <Template ElseIf> )
olipcs
11-22-2008, 07:23 AM
Allmost everything I presented here can be found on the HKN-Website,
so if you realy want to know it go to:
www.hotkeynet.com ('http://hotkeynet.com/') WoW Quickstart with HKN ('http://hotkeynet.com/wow/wow-quick-start.html') WoW Forum on HotKeyNet.com ('http://hotkeynet.com/phpBB3/viewforum.php?f=8')
Freddie
11-22-2008, 04:43 PM
This is terrific! :D
ElectronDF
11-22-2008, 10:25 PM
Any chance we can get this stickied? Please.
Aizerin
11-30-2008, 02:22 PM
With HotKeyNet it is possible to do mouse-broadcasting, meaning that you can broadcast a mouse-click on a position in one window, to the corresponding position (regarding to window-resolution) in anoher window.
In WoW this is quite usefull for 'mouse-healing', using clique or healbot and for using targetet abilities, like blizzard, druids trees, hunter aoe ...
The general command to trigger a mouse-click with hotkey net is [/url] .
The command is quite compley, and better explained in the HKN-APi than i could do it here, so for real details you might look there ('http://www.hotkeynet.com/ref/clickmouse.html') .
I give here a simple example for simply broadcasting left, right, middle - click while pressing 'g' (for using 'g' as amodifier see ).
if you want tor also broadcast f.e. shift+left click you would have to add:
Another example for this can be found here: [HotKeyNet] [url='http://www.dual-boxing.com/forums/index.php?page=Thread&threadID=8118']HotkeyNet + AOE! ('http://www.hotkeynet.com/ref/usekeyasmodifier.html')i have problem i have in my script
<Hotkey Oem3 LButton, MButton, RButton, Button4, Button5>
<SendLabel Aiizi, Aiizii>
<ClickMouse %TriggerMainKey%>
but when i am in game use Oem3 and click do nothing can you help me ? Labels are good. and i multiboxing and local (1PC)or another way to global take quest :)
olipcs
11-30-2008, 05:21 PM
hard to say whats the problem, can you post the hotkeynet debug info for me?
Aizerin
12-03-2008, 02:42 PM
hotkeynet say no errors :( because i dont now where is problem
olipcs
12-04-2008, 03:53 AM
hm, does hkn say anything else, when you use oem3 + a mouse button?
(like executing clickmouse.... (in blue color))
Another point might be, that your settings for mousedelay are to low and you have to rise them, this can be done in the options dialog of hotkeynet.
For more detail how to do this see: http://hotkeynet.com/ref/clickmouse.html
jbrcks
12-05-2008, 03:26 PM
I'm having a bit of trouble with the PiP. I am setting up 2 WoWs on 1 system. I can start everything fine and get the windows positioned correctly but when I toggle which copy of wow is big and which is small. The smaller window does not display and I am left with just a hole in the big window where the smaller copy should be and I just see the desktop background. Any advice on this problem?
Example:
http://e.imagehost.org/t/0281/PiPError.jpg ('http://e.imagehost.org/download/0281/PiPError')
(The black part is where the window should be, there is actually a small strip along the top of the PiP box of the smaller window.)
Relevent code:
//-----------------------------------------------------------
// SUBROUTINE TO Position Windows for 2 boxing.
//-----------------------------------------------------------
<Command ResizeAndPosition>
<SendPC Local>
<SendWin %1%>
<SetWinSize 1280 1024>
<SetWinPos 0 0>
<SetWinRegion 0 25 400 300>
<SetForegroundWin>
<UpdateWin>
<SendWinM %2%>
<SetWinSize 400 300>
<SetWinPos 0 35>
<SetForegroundWin>
<UpdateWin>
//----------------------------------------------------------------
// TOGGLE PIP CONFIG WITH HOTKEY
//----------------------------------------------------------------
<Hotkey ScrollLockOn Oem5>
<Toggle>
<ResizeAndPosition WoW1 WoW2>
<Toggle>
<ResizeAndPosition WoW2 WoW1>
Freddie
12-06-2008, 10:05 AM
The easiest thing to do is download the sample PIP script which you can download from here:
http://hotkeynet.com/wow/wow-pip.html
After you download it, if you want to substitute a different size or location for your little window, here's how you plug in the numbers:
<Command SetPip>
<TargetWin %2%>
<SetWinSize WIDTH HEIGHT>
<SetWinPos X_POSITION Y_POSITION>
<TargetWin %1%>
<SetWinPos 0 0>
<SetWinSize 1680 1020>
<TargetWin %2%>
<SetForegroundWin>
<UpdateWin>
<TargetWin %1%>
<SetWinRegion X_POSITION Y_POSITION WIDTH HEIGHT>
<SetForegroundWin>
Shavi
12-22-2008, 04:57 PM
Great program, made my day. And i learned to use it pretty quick with a combination of this guide and the other guides on hotkeynet´s own website.
Thanks :)
Freddie
12-23-2008, 12:29 AM
Glad to hear it and thanks very much for posting.
The program has a reputation for being hard. But as you demonstrate, many people have no trouble. It depends on the user.
People who have problems post a lot about the program. People who find it easy rarely post. The result is that the public gets an exaggerated impression of how difficult the program is. Your post helps balance things out. Thanks again.
suprafro
01-07-2009, 02:21 PM
This is really an excellent multiboxing tool, it is very polished and intuitive...one of the great features I wasn't expecting at all was the real time, verbose input and script debugging... This really made it quick and easy for me to get up and running with HKN having no experience prior with the app. I was honestly expecting to spend hours to just get a "hello world" script to work but within 10 minutes I was up and running without a hitch. Mind you, I'm barley scratching the surface of this programs potential but getting started with the functionality I needed was a snap!
Anyway thanks so much for making this tool public/available, also a big thanks to all the folks writing tutorials and quick start guides.
Good stuff, i'm a fan :thumbsup:
Freddie
01-07-2009, 04:09 PM
...within 10 minutes I was up and running without a hitch... getting started with the functionality I needed was a snap!
I really enjoy hearing this. Thanks. Like I said in my last message above, the program has a reputation for being difficult but for people like yourself, it's actually pretty easy. It depends on the user.
...it is very polished and intuitive...
A lot of the polish is due to suggestions from users. I've been very lucky during the beta that the program attracted some extremely talented testers who made wonderful suggestions.
Owltoid
01-07-2009, 05:40 PM
I enjoy the freedom that I have with HKN. Since it's text based I can set-up any configuration that I may need without too much difficulty. Once you get over the initial learning curve is a pretty simple program to use. I often make quick changes on the fly.
:thumbsup: HKN!
ilililil
02-09-2009, 05:25 AM
question about PiP, when it removes border you cant see that windows name anymore. Will the commands till pass to the windows?
olipcs
02-09-2009, 07:38 AM
Yes it will (and in the taskbar, the windownames are still there).
zutto
02-11-2009, 07:47 PM
I'm having a bit of trouble with the PiP. I am setting up 2 WoWs on 1 system. I can start everything fine and get the windows positioned correctly but when I toggle which copy of wow is big and which is small. The smaller window does not display and I am left with just a hole in the big window where the smaller copy should be and I just see the desktop background. Any advice on this problem?
Example:
http://e.imagehost.org/t/0281/PiPError.jpg ('http://e.imagehost.org/download/0281/PiPError')
(The black part is where the window should be, there is actually a small strip along the top of the PiP box of the smaller window.)
Relevent code:
//-----------------------------------------------------------
// SUBROUTINE TO Position Windows for 2 boxing.
//-----------------------------------------------------------
<Command ResizeAndPosition>
<SendPC Local>
<SendWin %1%>
<SetWinSize 1280 1024>
<SetWinPos 0 0>
<SetWinRegion 0 25 400 300>
<SetForegroundWin>
<UpdateWin>
<SendWinM %2%>
<SetWinSize 400 300>
<SetWinPos 0 35>
<SetForegroundWin>
<UpdateWin>
//----------------------------------------------------------------
// TOGGLE PIP CONFIG WITH HOTKEY
//----------------------------------------------------------------
<Hotkey ScrollLockOn Oem5>
<Toggle>
<ResizeAndPosition WoW1 WoW2>
<Toggle>
<ResizeAndPosition WoW2 WoW1>you prob dont need help but for future to players like me :] the problem is border, if you remove it, in winxp it does that.. [atleast for me] removed the option to remove em and worked nicely:]
PS. this kicks ass nicely more customizable than keyclone.. + doesnt cost anythin' ;o
Freddie
02-11-2009, 08:48 PM
you prob dont need help but for future to players like me :] the problem is border, if you remove it, in winxp it does that.. [atleast for me] removed the option to remove em and worked nicely:]
I'm not sure what you mean. HotkeyNet should be able to remove borders without causing problems like the one in the screenshot. If anyone is still having a problem like that, please post the script and I'll look at it.
PS. this kicks ass nicely more customizable than keyclone.. + doesnt cost anythin' ;o
Thanks for the kind words! :)
If I may, I would also like to thank Freddie for HKN. Last night I looked at the homepage, DL'd HKN, read the next couple of steps on the instruction page and then saw that there was a 'sample' wow script. I copied that into my HKN folder, loaded it and then BANG! I'm multiboxing with two DKs. Making changes is pretty easy too.
Good stuff!
dubiox
02-12-2009, 03:08 PM
I used to use keyclone with my 5 druids on 2 PCs (lvl 71 now) but I got sick of having to start task manager every time to kill it. I switched to hkn and I really like it. With the help from this thread I got everything working very quickly. I find hkn easier to configure than keyclone and I like being able to make changes on the fly. I would like to point out that both programs have excellent customer support and both work fine for multiboxing. I am not bashing on keyclone.
Pros:
Load changes without restarting everything
More intuitive setup to start windows on remote computers
Wow windows seem to start up and shut down quicker
Window swapping seems to happen quicker (and is more reliable, I think in keyclone the main window needs focus when you hit your window swapping key but in hkn any window can have focus)
Program shuts down much quicker and does not stick around running in the background
Easy debugging, you can see what codes each key sends and you can see what actions happen when you press a key
FTL is easier to set up using the hkn templates than trying to enter them in the keyclone gui (I ended up writing a keyclone keymap generator in perl to make it easier)
Cons:
No nice gui like the keyclone one for designing your window layout
Does not restrict control to specified windows by default (takes over all keystrokes to all programs unlike keyclone, solution here: http://www.hotkeynet.com/phpBB3/viewtopic.php?f=3&t=817&p=5497#p5497)
Other thoughts:
Runaway toon problem happens in both keyclone and hkn for me.
I think people worry too much about resolution when designing a layout. From my testing it looks like it is best to let wow choose the right resolution based on the window dimensions. It does not seem to support odd resolutions although it is possible to create an ugly stretched window if you try.
I did not see a way in hkn to limit framerate (so now I don't think it is even necessary).
I did not try any mouse stuff in either program except I tried focus-follows-mouse in keyclone and did not like it (it is much slower focus switching than clicking).
-K
Freddie
02-12-2009, 06:03 PM
If I may, I would also like to thank Freddie for HKN. Last night I looked at the homepage, DL'd HKN, read the next couple of steps on the instruction page and then saw that there was a 'sample' wow script. I copied that into my HKN folder, loaded it and then BANG! I'm multiboxing with two DKs. Making changes is pretty easy too.
Good stuff!
You're welcome and thanks for the kind words.
I'm fascinated by this type of comment because many people -- probably most -- think the program's hard. But there's a whole bunch of people that react the opposite way. They say the program's easy, praise the simplicity of the script language, etc.
I always wonder, which group would I be in if I hadn't written it? :)
Moorea
02-14-2009, 08:44 PM
HotKeyNet seems very nice; I have a few questions:
a) How would I setup a toggle to send ALL and ANY keys to all wow windows (sometimes I want for instance to type a / command on all windows; or for typing my password; which includes keys like w,a,s,d that in normal mode I don't want to broadcast) - I have ScrollLockOn for the normal setup but I would like a different toggle like "Insert" to switch to broad cast all mode ?
b) Any way to have a small status window and/or play a sound based on current mode (ScrollLock On/Off ; Insert On/Off; Pause On/Off ...)
c) Why is the program contacting an "authorization server" - does that mean it can stop being free at any time - and/or stop working at any time ?
Freddie
02-15-2009, 01:26 AM
a) How would I setup a toggle to send ALL and ANY keys to all wow windows...
For "all keys" you can use the keyword AllMainKeys any place that HotkeyNet allows you to list the names of keys. However this doesn't include alt, shift or ctrl. Those three modifiers have to be specified as part of key combinations. For more info, see:
http://hotkeynet.com/ref/hotkey.html
For "all wow windows" you would make a label for each window and list the label names separated by commas. The whole thing would look like this:
<Hotkey AllMainKeys; Shift AllMainKeys; Ctrl AllMainKeys; Alt AllMainKeys>
<SendLabel 1, 2, 3 ...>
<Key %Trigger%>
I have ScrollLockOn for the normal setup but I would like a different toggle like "Insert" to switch to broad cast all mode ?
First, please note that there are three built-in toggle keys on the keyboard. You can use them in combinations. There are eight combinations in total. I think it's better to use them this way instead of a non-toggle key like Insert because the keyboard lights give you a visual indicator. But if you want to use Insert, or any other key, you can do that with a user-defined variable. See:
http://www.hotkeynet.com/phpBB3/viewtopic.php?f=11&t=871&p=5740#p5740
b) Any way to have a small status window and/or play a sound based on current mode (ScrollLock On/Off ; Insert On/Off; Pause On/Off ...)
For sounds, use a user-defined variable as explained in the link above together with the info in the following Wiki article:
http://hotkeynet.com/wiki/index.php?title=Play_sounds
There is no built-in way to display a window. You can probably find a third-party program that displays a window.
c) Why is the program contacting an "authorization server"
See http://www.hotkeynet.com/phpBB3/viewtopic.php?f=3&t=9
does that mean it can stop being free at any time - and/or stop working at any time ?
Eventually I plan to start charging for the program, but not until the number of users gets to a certain point. At the rate the number is increasing, it will probably be free for at least another year.
The program has more than one authorization server. If it can't contact one it contacts another. The authorization servers are located in different data centers and operated by different companies, so it's very unlikely that they will all become unreachable at the same time.
Moorea
02-15-2009, 04:04 AM
Thanks for the other hints; about the "free"
c) Why is the program contacting an "authorization server"
See http://www.hotkeynet.com/phpBB3/viewtopic.php?f=3&t=9
does that mean it can stop being free at any time - and/or stop working at any time ?
Eventually I plan to start charging for the program, but not until the number of users gets to a certain point. At the rate the number is increasing, it will probably be free for at least another year.
The program has more than one authorization server. If it can't contact one it contacts another. The authorization servers are located in different data centers and operated by different companies, so it's very unlikely that they will all become unreachable at the same time.
While it is obviously your privilege to do whatever you want with your work, you may want to clarify this somewhere clearly on your site as the current "HotkeyNet is free multiboxing software" is a bit misleading if you plan on starting to charge and disable the program for people - hooking people with "free" and once they have a significant investment, force them to pay looks a bit like bait and switch... It's also not clear it's a time limited beta (if that's how I should understand the 30 days mentioned in the thread above)
Also in the forum post you reference it says :
By the way, in case anybody is worried about security problems, the only info that HotkeyNet sends to its server its version number.
Yet 60 characters seems like a looong base64 chunk for just a version ?
Freddie
02-15-2009, 06:13 AM
While it is obviously your privilege to do whatever you want with your work, you may want to clarify this somewhere clearly on your site as the current "HotkeyNet is free multiboxing software" is a bit misleading if you plan on starting to charge and disable the program for people - hooking people with "free" and once they have a significant investment, force them to pay looks a bit like bait and switch...
This has been explained many times both here and in HotkeyNet's forum. I'm curious to know if other people see this like Moorea does. If so I'll make some changes to clarify the situation.
It's also not clear it's a time limited beta (if that's how I should understand the 30 days mentioned in the thread above)
Each build expires after 60 days (it used to be 30). It says so on each build (in the about box). This is done to force people to upgrade to a newer build so that new code gets tested promptly after it's written.
Yet 60 characters seems like a looong base64 chunk for just a version ?
The program takes a string like this:
"HotkeyNet 0.1.37 build 160"
The program pads that string with zeros to make the length a multiple of 16 because this is required by the encryption algorithm. After encryption and conversion to base 64 encoding, the resulting string is approximately 60 bytes.
Moorea
02-15-2009, 08:39 AM
Small bug report:
<KeyList MyList A-Z except A>
<Hotkey MyList; Shift MyList>
<SendLabel x>
<Key %Trigger%>
Will exclude A as expected, but not Shift A
(so I ended up writing my KeyList B-C, F-P, R, T-V, Y-Z, 0-8
while I really wanted A-Z, 0-9 except W,A,S,D,Q,E,X,9
)
And suggestions:
Instead of having to hard code the ip (which can change when using dhcp) can you add aliases like CLIENT1 CLIENT2... or PC1... or ALL_REMOTE to go with "local" (and maybe ALL too)
Also the UI select which IP the server should be listening from and its definition of itself (for multiple network interfaces cases)
Freddie
02-15-2009, 01:11 PM
<KeyList MyList A-Z except A>
<Hotkey MyList; Shift MyList>
<SendLabel x>
<Key %Trigger%>
I just pasted this into a script, added a label definition, and it works fine for me. (In other words A and Shift A do not get defined.) Could you please paste your entire script (or email it to me) so I can see if something else is defining Shift A? Thanks.
Instead of having to hard code the ip (which can change when using dhcp) can you add aliases like CLIENT1 CLIENT2...
Okay. Thanks for the suggestion.
Edit: On second thought, is it possible to use labels for this? Labels have names which can be CLIENT1 etc., and you can just change the IP address in the label.
or ALL_REMOTE to go with "local" (and maybe ALL too)...
I'm not sure whether I can do this because the program allows people to specify an IP for the local PC. Hotkeys get "expanded" -- undergo quite a bit of text substitution -- at the time the program loads them. In a case like this, the loader wouldn't realize that the local IP is local and not remote. If I were writing the program from scratch I could have handled this, but at this point, it might involve more work than I want to do. I'll have to look at the source code and see how much work it would be.
Also the UI select which IP the server should be listening from and its definition of itself (for multiple network interfaces cases)
Do you mean your server has multiple IPs and you need to tell the server copy of HotkeyNet which IP to listen with?
Edit: I don't have multiple IPs here so I can't test, but the program is written in such a way that the server is supposed to listen on all its IPs, so you should be able to control this now by entering whichever server IP you want to use in the client copies of HotkeyNet. Is it not working that way?
By the way, in case you don't know, you can send commands from any copy of HotkeyNet to any of the others regardless of which one is the server and which are clients. You can designate some other machine to be the server if that helps.
Moorea
02-15-2009, 05:26 PM
<KeyList MyList A-Z except A>
Could you please paste your entire script (or email it to me) so I can see if something else is defining Shift A? Thanks.
I found my bug; I had later in the script:
<Hotkey ScrollLockOn ExList; Shift ExList; Alt ExList; Ctrl ExList>
instead of
<Hotkey ScrollLockOn ExList; ScrollLockOn Shift ExList; ScrollLockOn Alt ExList; ScrollLockOn Ctrl ExList>
(this is btw my workaround for do not pass override; I have all my excluded keys in ExList and map them when I do Scroll lock)
[quote]Instead of having to hard code the ip (which can change when using dhcp) can you add aliases like CLIENT1 CLIENT2...
Okay. Thanks for the suggestion.
Edit: On second thought, is it possible to use labels for this? Labels have names which can be CLIENT1 etc., and you can just change the IP address in the label.
The idea is to not have to edit the script at all when machine IPs change (dhcp)
or ALL_REMOTE to go with "local" (and maybe ALL too)...
I'm not sure whether I can do this because the program allows people to specify an IP for the local PC. Hotkeys get "expanded" -- undergo quite a bit of text substitution -- at the time the program loads them. In a case like this, the loader wouldn't realize that the local IP is local and not remote. If I were writing the program from scratch I could have handled this, but at this point, it might involve more work than I want to do. I'll have to look at the source code and see how much work it would be.
Also the UI select which IP the server should be listening from and its definition of itself (for multiple network interfaces cases)
Do you mean your server has multiple IPs and you need to tell the server copy of HotkeyNet which IP to listen with?
Edit: I don't have multiple IPs here so I can't test, but the program is written in such a way that the server is supposed to listen on all its IPs, so you should be able to control this now by entering whichever server IP you want to use in the client copies of HotkeyNet. Is it not working that way?
By the way, in case you don't know, you can send commands from any copy of HotkeyNet to any of the others regardless of which one is the server and which are clients. You can designate some other machine to be the server if that helps.
Yes that's how I worked around this problem, I switch which one was my server and which one was my client, while the program indeed listens on all interfaces; it thinks it's own IP is the first one it find; ie when I try to make a script that would work loaded from either of my 2 machines; I couldn't because on the client; the "main" was one IP but another from the server
aerows
03-01-2009, 12:44 AM
HotKeyNet - especially in 165 - is where it's at. I've been using it since 155, and just started using the mouse broadcasting. Before I used AutoHotKey, which is also nice, but HotKeyNet has a lot of nice extra things.
It's very good, and I sincerely thank the dev for sharing it with the community, and everyone involved in making it work so well.
Freddie
03-01-2009, 01:43 AM
It thinks it's own IP is the first one it find; ie when I try to make a script that would work loaded from either of my 2 machines; I couldn't because on the client; the "main" was one IP but another from the server
I'm sorry but I don't understand. Are you saying that you want a mechanism so you can specify which IP the client uses as its own IP?
Freddie
03-01-2009, 01:47 AM
HotKeyNet - especially in 165 - is where it's at. I've been using it since 155, and just started using the mouse broadcasting. Before I used AutoHotKey, which is also nice, but HotKeyNet has a lot of nice extra things.
It's very good, and I sincerely thank the dev for sharing it with the community and...
You're welcome and thanks for the kind words. AutoHotKey is an outstanding program so I'm honored by the comparison.
Did you try mouse broadcasting before 165? I'm wondering how much of an improvement there was.
...and everyone involved in making it work so well.
I second that ... the program has had some terrific testers who contributed greatly.
kaladis
03-18-2009, 02:44 PM
I'm having trouble keeping my characters in sync while using movement keys; would latency cause this issue or should i be playing around with my script?
olipcs
03-19-2009, 04:17 AM
normaly latency is the reason.
Thats why no one uses 'synced movement' for moving around, but a '/follow' macro.
artwin777
03-20-2009, 02:46 PM
normaly latency is the reason.
Thats why no one uses 'synced movement' for moving around, but a '/follow' macro.Yeah figured it out sooner then later ...but now my question is about the mouse... is there a way 2 hold click cuase waht happens is my main window camera gets turned so abviously my secondary window Point of View is different ... Now the only way 2 fix this is(atleast waht i can think of) is 2 make it where when i click hold my main window it also those so on secondary window ! ... cant seem 2 figure out how 2 do this !this way both windows are always angled the same and making mousebroadcasting more effective!
BTW great program ty 4 ur help !
Kalikiano
03-31-2009, 07:22 PM
I am one of the ones that try to hold onto Autohotkey but the more I fiddle with HKN the easier it gets. Ive been AOEing today after maint and its a blast I have even been able to accept quests using HKN and Jamba without lowering the screen. Now that Ive seen PiP the software looks even better.
I have a question. If I wanted to put the PiP screen in the bottom right corner and use custom ui setup what cords would I use or can you point me in a direction on how I can learn the cords so I can put it anywhere.
alcattle
03-31-2009, 10:15 PM
we would need to know the monitor resolution, what size the PiP you need and where on the screen you want the PiP. Keep in mind it is better if the two windows have the same ratio. With that data, it is easy to set up in HKN (even I could do it :rolleyes: )
Kalikiano
03-31-2009, 11:15 PM
I fiddled around with it and read about using MSpaint to find locations pretty easy once you see how it works. this thing is sweet.
Thanks alot Freddie.
this is the order of my script should I change the order around any?
Hotkey Ctrl R>
<RenameWin World WoW1>
<RenameWin World WoW2>
<RemoveWinFrame>
<Command SetPip>
<TargetWin %2%>
<SetWinSize 360 270>
<SetWinPos 0 270>
<TargetWin %1%>
<SetWinPos 0 0>
<SetWinSize 1280 1024>
<TargetWin %2%>
<SetForegroundWin>
<UpdateWin>
<TargetWin %1%>
<SetWinRegion 0 270 360 270>
<SetForegroundWin>
//----------------------------------------------------------------
// TOGGLE PIP CONFIG WITH HOTKEY
//----------------------------------------------------------------
<Hotkey Capslockoff F12>
<Toggle>
<SetPip WoW1 WoW2>
<Toggle>
<SetPip WoW2 WoW1>
//-----------------------------------------------------------
// DEFINE MAIL LABELS FOR SENDING KEY STROKES
//-----------------------------------------------------------
<Label w1 Local SendWinM WoW1>
<Label w2 Local SendWinM WoW2>
//-----------------------------------------------------------
// DEFINE HOTKEYS FOR ALL KEY COMBINATIONS THAT WILL GET
// SENT TO BOTH WOWS. ADD MORE KEY COMBO'S IF YOU WANT.
//-----------------------------------------------------------
<Hotkey CapslockOff 0-9, Plus, Minus, F1-F11, Numpad1-Numpad9, except W, A, S, D, Q, E>
<SendLabel w1, w2>
<Key %Trigger%>
//-----------------------------------------------------------
// BROADCAST MOUSE CLICKS. HOLD DOWN OEM3 (ON U.S. KEYBOARDS,
// THAT'S THE SQUIGGLE KEY IN UPPPER LEFT CORNER) WHEN YOU
// WANT TO BROADCAST.
//-----------------------------------------------------------
<UseKeyAsModifier Oem3>
<Hotkey CapslockOff Oem3 LButton, MButton, RButton, Button4, Button5>
<SendLabel w1, w2>
<ClickMouse %TriggerMainKey%>
onizero
04-03-2009, 09:13 PM
I want to thank you guys,
I started using AKN for WOW and ended up using it for Work.
I got to tell you the look on my co-workers faces when i used PIP for multiple remote desktop sessions was unforgetable.
I currently use a combination of AKN, AutoHotKey, and multiplicity to manage a farm of local and remote servers.
its defiantly a sight to see.
WOOT.
alcattle
04-06-2009, 10:48 PM
Hope you meant HKN for HotKeyNet, otherwise you would make no sence. :D
Xanil
04-07-2009, 04:24 PM
basically I am trying to find a Lineage2 multibox and tested out this with only few Hotkeys (F5-F12). But when I try to Ctrl+Alt+L I get a message: "An internal exception occurred (Address: 0x10ac2dac)
Please, contact supportATOreans.com ('http://www.dual-boxing.com/forums/mailto:support@Oreans.com') Thank you!" Heres my simplified version for only making it possible to actively heal with my healer and basically nothing else.
//================================================== ==============
// SAMPLE SCRIPT FOR TWO WOW'S ON ONE PC
//
// Instructions: Copy this entire script (all the blue writing
// on gray background including comments). Save it in a file.
// Load it into HotkeyNet.
//
// Toggle the scroll lock key to turn hotkeys off and on. (You
// can change this if you want, just like you can change
// everything else with HotkeyNet.)
//
// Requires HotkeyNet build 147 or higher.
//
// For more info, go to www.hotkeynet.com ('http://www.hotkeynet.com/')
//================================================== ==============
//-----------------------------------------------------------
// PRESS CTRL R TO RENAME WOW'S IF YOU LAUNCH THEM MANUALLY
//-----------------------------------------------------------
<Hotkey Ctrl R>
<SendPC local>
<RenameWin "Lineage 2" l1>
<RenameWin "Lineage 2" l2>
//-----------------------------------------------------------
// SUBROUTINE TO LAUNCH AND RENAME A COPY OF Lineage2.
//-----------------------------------------------------------
<Command LaunchAndRename>
<SendPC %1%>
<Run "C:\Program Files (x86)\Lineage II\system\l2.exe">
<RenameTargetWin %2%>
//-----------------------------------------------------------
// HOTKEY TO LAUNCH AND RENAME BOTH WOW'S.
//-----------------------------------------------------------
<Hotkey Alt Ctrl L>
<LaunchAndRename Local l1>
<LaunchAndRename Local l2>
//-----------------------------------------------------------
// DEFINE MAIL LABELS FOR SENDING KEY STROKES
//-----------------------------------------------------------
<Label w1 Local SendWinM l1>
<Label w2 Local SendWinM l2>
//-----------------------------------------------------------
// DEFINE HOTKEYS FOR ALL KEY COMBINATIONS THAT WILL GET
// SENT TO BOTH WOWS. ADD MORE KEY COMBO'S IF YOU WANT.
//-----------------------------------------------------------
<Hotkey F5-F12>
<SendLabel w1, w2>
<Key %Trigger%>
Any ideas what im doing wrong or is it that I cant do this with Lineage? If not then if you know any other applications I would be thankfull if you refer to such.
Freddie
04-07-2009, 05:16 PM
basically I am trying to find a Lineage2...
Lineage II is protected by GameGuard. This probably makes it impossible for HotkeyNet to send keystrokes to Lineage II.
Xanil
04-07-2009, 06:31 PM
Well basically, with my last installation what I got from Tehgamers I was able to do some scripts that automatically closed both my clients and I didnt even have to use my admin for that... Maybe ill dl that version again and try this witht that :D
spudstar99
04-24-2009, 01:42 PM
hello .. me is trieing HKN and it looks very nasty ...
but i suck .. i don't know why my script doesn't work ?!
can someone maybe give it a look please ?!
my problem ... i load the script and then .. i push the button but nothing happen ..
this is what HKN says
Loading script D:\dl\hotkeynet_171\multi.txt.
Finished loading hotkey file.
No errors were found
0 definitions were loaded
0 keys will be used as modifiers
this is my code ...
<Command ResizeAndPosition>
<SendPC Local>
<SendWin %1%>
<SetWinRect 0 0 1280 1024>
<SendWinM %2%>
<SetWinRect 1280 0 640 512>
<SendWinM %3%>
<SetWinRect 1280 512 640 512>
<SendWinM %4%>
<SetWinRect 1920 0 640 512>
<Command LaunchAndRename>
<SendPC %1%>
<Run %2%>
<RenameTargetWin %3%>
<RemoveWinFrame>
<SetAffinity %4%>
//-----------------------------------------------------------
// HOTKEY TO LAUNCH AND RENAME YOUR WOW WINDOWS while 5 boxing
// Please configure the Path and processor afinitys correctly
//-----------------------------------------------------------
<Hotkey L>
<LaunchAndRename Local "E:\Spiele\wow 3\wow.exe" WoW1 1>
<LaunchAndRename Local "E:\Spiele\wow 4\wow.exe" WoW2 1>
<LaunchAndRename Local "E:\Spiele\wow 5\wow.exe" WoW3 1>
<LaunchAndRename Local "E:\Spiele\wow 6\wow.exe" WoW4 1>
<ResizeAndPosition WoW1 WoW2 WoW3 WoW4>
//-----------------------------------------------------------
// DEFINE MAIL LABELS FOR SENDING KEY STROKES.
//-----------------------------------------------------------
<Label w1 Local SendWinM WoW1>
<Label w2 Local SendWinM WoW2>
<Label w3 Local SendWinM WoW3>
<Label w4 Local SendWinM WoW4>
//-----------------------------------------------------------
// DEFINE HOTKEYS FOR ALL KEY COMBINATIONS THAT WILL GET
// SENT TO BOTH WOWS. ADD MORE KEY COMBO'S IF YOU WANT.
//-----------------------------------------------------------
<Hotkey ScrollLockOn A-Z, 0-9, Plus, Minus, F1-F12 except W, A, S, D, Q, E, L>
<SendLabel w1, w2, w3, w4>
<Key %Trigger%>
//-----------------------------------------------------------
// DEFINE MOVEMENT KEYS THAT WILL GET SENT TO BOTH WOW'S.
// ADD MORE KEYS IF YOU WANT.
//-----------------------------------------------------------
<MovementHotkey ScrollLockOn up, down, left, right>
<SendLabel w1, w2, w3, w4>
<Key %Trigger%>
//-----------------------------------------------------------
// BROADCAST MOUSE CLICKS. HOLD DOWN OEM3 (ON U.S. KEYBOARDS,
// THAT'S THE SQUIGGLE KEY IN UPPPER LEFT CORNER) WHEN YOU
// WANT TO BROADCAST.
//-----------------------------------------------------------
<UseKeyAsModifier Oem3>
<Hotkey ScrollLockOn Oem3 LButton, MButton, RButton, Button4, Button5>
<SendLabel w1, w2, w3, w4>
<ClickMouse %TriggerMainKey%>
Thank you ...
olipcs
04-24-2009, 02:08 PM
your script ooks ok for me, but what is realy strange is this:
Finished loading hotkey file.
No errors were found
0 definitions were loaded
0 keys will be used as modifiers
because, to test your script, i simply cut and pasted it, loaded it in hotkeynet, and HKN showed correctly:
Finished loading hotkey file.
No errors were found
59 definitions were loaded
1 key will be used as a modifier
so you are realy sure, you loaded the right file and not an empty one? (i know dumb question, but sometiems its that simple).
I attached the file, i used to test, maybe this might help.
Freddie
04-24-2009, 02:23 PM
If there is any doubt about whether a script got loaded, press "Show loaded hotkeys" at the bottom of HotkeyNet's main window. If you see hotkeys, they got loaded. If you don't, they didn't.
spudstar99
04-24-2009, 06:38 PM
sry .. i'm that dumb .. yeah it was realy the wrong folder ...
thanks for ya help ... hope i did not stolen too much of you time
sincery spud
Freddie
04-24-2009, 06:39 PM
No problem! :)
Thanks for the great how-to posts and the sample files on the HKN site. It took a bit of futzing around, but I was finally able to get things up and running.
And, no, it wasn't as hard as everybody makes it out to be!
I'd purchased Keyclone, which I'd been using under XP, but with Windows 7 being free for now, I wanted to give that a go. I didn't want to buy a second copy of Keyclone to use under W7 (since if W7 wasn't my thing I'd just go back to XP), so I gave HKN a go. It took an hour or so to get everything set up the way I'd had it in Keyclone, but now it's working great!
Okay, there is one thing. Making a slave account loot a mob. Does anybody know how to do that in HKN?
Edit: Okay, so it's 2 more things. I really like the pixel-perfect customization of HKN's PiP setup, but is it possible to use it with two monitors on one system? I know how to do it in Keyclone because you can specify which monitor to use there, but how about in HKN?
falsfire3401
05-06-2009, 03:58 PM
Okay, there is one thing. Making a slave account loot a mob. Does anybody know how to do that in HKN?
This is what I do using HKN to make the slave loot easily and painlessly:
I have a macro on the slave toon that does /target party1target. I keybind this macro to \ (backslash) and setup HKN to pass backslashes to the 2nd client
Then I used wow's keybind menu to keybind Shift-\ (shift backslash) to "Interact with Target" and setup HKN to pass shift-backslash through to the 2nd client.
So when I want to make the slave loot a mob, after I kill it I just target the corpse on my main, get the slave close enough and hit backslash shift-backslash and presto she loots it.
The exact same setup is how I get the slaves to interact with quest NPCs, vendors, innkeepers, and flight masters.
olipcs
06-05-2009, 03:35 AM
I got the following PM, regarding HKN, and because some others may find the infos also usefull, I like to post the my answer here.
PM:
Damnit, you're making me want to switch to HKN.
Mind if I ask you some questions? I'm still reading your guide for it and general documentation before I get started, but some of these are dealbreakers for me :).
Is it possible to set up a pause hotstrings button? So instead of 1 sending the ctrl shift 1 to wow2 it would just send 1?
Is it possible to set up a pause DNP so you can send the WASD keys over?
I think I've heard you or others say before that window switching is almost instant, is this correct? (I'm comparing it to keyclone here)
Thanks!
Answer:
Hi,
glad to hear that the guide is of some use for you.
First of all, what you have to understand is, that there isn't the concept of 'hotstrings' in HKN, because technical in HKN all Hotkeys are 'hotstrings' because HKN isn't a keybroadcaster like keyclone, but a 'hotkey'-program, where you simply define what should happen when you press a 'trigger' (a key, or a keycombination).
To your questions:
is it possible to set up a pause hotstrings button? So instead of 1 sending the ctrl shift 1 to wow2 it would just send 1? If I understand you correct you want something, that activates/deactivates FTL-behaviour by pressing a key?
- IF so, yes this can be achived with HKN, and I will show you how, with a small example.
lets say you want to use 'o' for toggeling ftl on/off. The first Hotkey I define for this is 'o' and its only purpose is to toggle a variable 'ftl_on_off' (with '0' meaning of, '1' meaning on).
<Hotkey o>
<If ftl_on_off is 0>
<SetVar ftl_on_off 1>
<Else>
<SetVar ftl_on_off 0>
what I now do in the FTL-Key is first check the state of 'ftl_on_off', and when its '0' I simply broadcast the key which activated the hotkey.
This can be done, with changing the templates presented here: [HotKeyNet] Implementing an FTL quite simple with templates ('http://www.dual-boxing.com/forums/index.php?page=Thread&threadID=18139')
a little to include the 'ftl_on_off'-check and altering the other conditions to 'ElseIf' like:
<Template SendMasterAndSlave>
<SendFocusWin>
<Key %1%>
<Sendlabel %4%>
<Key %3% %2%>
<EndTemplate>
<Template SendLeaderless>
<Else If ActiveWinIs %4%>
<ApplyTemplate SendMasterAndSlave "%1%" "%2%" "%3%" "%5%">
<EndTemplate>
<Template FTL>
<Hotkey %1%>
<If ftl_on_of is 0>
<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>
which you then would define for '1' by simply adding the following line:
<ApplyTemplate FTL 1 1>
I hope the general concept is quite clear with the example, to put it short its:
1. define the 'activating'-Hotkey to set a Variable ('o' / 'ftl_on_of')
2. In the hotkeys which should be send first check the state of the variable and act appropriate
Is it possible to set up a pause DNP so you can send the WASD keys over? This could be achived on two ways:
1. also with setting a variable and then defining Movement Hotkeys like this for w,a,s,d:
<MovementHotkey W,A,S,D>
<If pass_wsad is 1>
<SendLabel w1,w2,w3,w4,w5>
<Key %trigger%>
<Else>
<SendFocusWin>
<Key %trigger%>
2. with using CapsLock, NumLock or ScrollLock (or another key as a modifier, which you would need to press)for switching on/off like:
<MovementHotkey CapsLockOn A,S,W,D>
<Sendlabel w1,w2,w3,w4,w5>
<Key %TriggerMainKey%>
I think I've heard you or others say before that window switching is almost instant, is this correct? (I'm comparing it to keyclone here) First of all, the following is purely subjective and not a general statement.
On my system regarding to windowswitching speed HKN was faster than Keyclone but only a little (so there where no real big difference between them), when you want real fast windowswitching speed Innerspace would be your option (as a matter of fact for 2 month I used Innerspace and HKN in combinition, with Innerspace only for the windowswitching and HKN for everything else).
I hope I could help you with your questions,
Olipcs
Pocalypse
06-09-2009, 03:46 AM
I got the following PM, regarding HKN, and because some others may find the infos also usefull, I like to post the my answer here.
Thank you very much Olipcs (and Freddie)!
I've set up HKN now with all of the above (only took me about 4 hours, I was expecting it to be harder), and so far it looks like it'll work much better than what I'm used to. I get to use Shift and Alt modifiers with FTL now, even set up for 10 man!
Oh, and it took me about half an hour trying to get the pause FTL key to work, before I noticed you inserted another 'Else' into the SendLeaderless template, which fixed everything :).
Gonna mess with it more tomorrow, but I'm very happy right now.
Freddie
06-09-2009, 04:50 AM
Glad to hear it, and you're welcome. :)
Pocalypse
06-10-2009, 02:12 AM
Hey Freddie / Olipcs, I'm afraid I must come asking for help once again :(.
I'm trying to set up both a FTL setup (with toggle hotkey) and mouseover healing from main to slave healer.
I have it all working except for one part, which is only transmit the mouselocation if within a certain area.
I know the command that does it, but I can't seem to find the correct way to put it in an IF statement without getting errors, because I'm already using If for the toggle FTL key.
Here is the script I am using (which works, note some of the lines are commented out)
//-----------------------------------------------------------
// FTL Setup
//-----------------------------------------------------------
<Template SendMasterAndSlave>
<SendFocusWin>
<Key %1%>
<Sendlabel %4%> //Remove this when activating the other commented lines
// <If MouseIsOverWindowRect WoW6 43 173 235 411>
// <Sendlabel %4%>
<SaveMousePos>
<ClickMouse NoClick NoRestore>
<Key %3% %2%>
<RestoreMousePos>
// <Else>
// <Sendlabel %4%>
// <Key %3% %2%>
<EndTemplate>
<Template SendLeaderless>
<Else If ActiveWinIs %4%>
<ApplyTemplate SendMasterAndSlave "%1%" "%2%" "%3%" "%5%">
<EndTemplate>
<Template FTL>
<Hotkey %1%>
<If FTL_Toggle is 0>
<Sendlabel w1,w2,w3,w4,w5,w6,w7,w8,w9,w10>
<Key %1%>
<ApplyTemplate SendLeaderless "%1%" "%2%" "ralt lctrl" WoW06 "w1,w2,w3,w4,w5,w7,w8,w9,w10">
<ApplyTemplate SendLeaderless "%1%" "%2%" "rshift rctrl lctrl" WoW07 "w1,w2,w3,w4,w5,w6,w8,w9,w10">
<ApplyTemplate SendLeaderless "%1%" "%2%" "rshift rctrl" WoW08 "w1,w2,w3,w4,w5,w6,w7,w9,w10">
<ApplyTemplate SendLeaderless "%1%" "%2%" "rshift lctrl" WoW09 "w1,w2,w3,w4,w5,w6,w7,w8,w10">
<ApplyTemplate SendLeaderless "%1%" "%2%" "rctrl lctrl" WoW10 "w1,w2,w3,w4,w5,w6,w7,w8,w9">
<EndTemplate>
<ApplyTemplate FTL "1" "I">
<ApplyTemplate FTL "2" "K">
<ApplyTemplate FTL "3" "Plus">
<ApplyTemplate FTL "4" "Minus">
<ApplyTemplate FTL "5" "P">
<ApplyTemplate FTL "6" "Period">
<ApplyTemplate FTL "7" "Comma">
<ApplyTemplate FTL "8" "U">
<ApplyTemplate FTL "F" "Divide">
<ApplyTemplate FTL "G" "Multiply">
<ApplyTemplate FTL "R" "NumpadMinus">
<ApplyTemplate FTL "T" "NumpadPlus">
<ApplyTemplate FTL "V" "Oem7">
<ApplyTemplate FTL "Oem3" "O">
The bits commented out are what I would logically think is the correct way of putting the If statement in, however when I use them and come to compile it I get errors like "Else If can only follow If".
I'm basically having trouble using more than one If, even though they shouldn't be nested within each other.
I've tried putting EndIf in appropriate places, but can't seem to get it right. I don't think I entirely understand how the script parses.
Any help would be appreciated!
olipcs
06-10-2009, 03:37 AM
I try to answer this:
First the above doesn't work, because you try to nest IFs inside each other (with calling SendMAsterAndSlave from SendLeaderless).
But with a workaround this is fixable.
But first I want to get straight what you realy want to achive:
-Your current form of implementation trys to send the mouse-over-healing keys in an FTL-Style, like in your example:
If WoW06 is the active window, the mouse is in the specific region and you press '1' , WoW6 would recieve '1' and all other WoWs would recieve the mousepos broadcasted followed by 'ralt lctrl I' .
-Is this realy what you want? -I'm asking because for myself I have nearly an identic setup but with some differences:
- my mouseover heals don't need FTL-sytle, because their target is based on the mouse-position not on the leader (so the mustn't know which window is active)
- for me the mouse-broadcasting is only send to the healer
- even when activated by an FTL key, my healer(s) get a different key than the slave key broadcasted.
To clarify things and give you a custom solution maybe it would realy help me, if you could state a specific scenario (like 'When I press '1' on WindowX i want the follwoing to happen...).
Meanwhile I try to get the above working (even wehn I think its not realy what you want).
Pocalypse
06-10-2009, 03:48 AM
-Is this realy what you want? -I'm asking because for myself I have nearly an identic setup but with some differences:
- my mouseover heals don't need FTL-sytle, because their target is based on the mouse-position not on the leader (so the mustn't know which window is active)
- for me the mouse-broadcasting is only send to the healer
- even when activated by an FTL key, my healer(s) get a different key than the slave key broadcasted.
To clarify things and give you a custom solution maybe it would realy help me, if you could state a specific scenario (like 'When I press '1' on WindowX i want the follwoing to happen...).
Meanwhile I try to get the above working (even wehn I think its not realy what you want).
So to custo
Basically I like having the best of both worlds.
When I'm not in the rectangle area required, I'd like my healer to heal whoever is being hit on. This requires a targettarget off the current leader, so it needs a FTL key.
My healing macro looks like:
/click Bigasstargetmacro
/cast [target=mouseover,help][target=targettarget,help][help] Greater Heal
I don't really need the mousebroadcast to my dps guys, but it doesn't hurt since none of their macros use it. I eventually will have 2 healers in 10 mans though (I like to plan ahead :)).
olipcs
06-10-2009, 04:07 AM
ok I understand, so I sume up:
- when the mouse is not in the specific area, you need an FTL-style-button for your heals
- when the mouse is in the specific region, you heal by mouse over, so you don't need FTL-style
Some questions I have are:
- the key you use for healing, are the 'empty' for your dps-toons and your tank(s), so only the healers do something when they are pressed?
- Do you need the mouse-over-healing from every-window or would one window (like the window of the tank) be enough?
olipcs
06-10-2009, 04:15 AM
meanwhile the script I came up with for the original problem described:
//-- ---------------------------------------------------------
// FTL Setup
//-----------------------------------------------------------
// %1% Window
// %2% Region
// %3% Windows to broadcast the Mouse to (slaves)
// %4% Master Key
// %5% slave-Key
// %6% window-identifier
<Template SendMouseOverFTL>
<Else If MouseIsOverWindowRect %1% %2%>
<SendFocusWin>
<Key %4%>
<SendLabel %3%>
<SaveMousePos>
<ClickMouse NoClick NoRestore>
<Key %6% %5%>
<RestoreMousePos>
<EndTemplate>
<Template FTLMouseOver>
<ApplyTemplate SendMouseOverFTL WoW06 "%3%" "w1,w2,w3,w4,w5,w7,w8,w9,w10" "%1%" "%2%" "ralt lctrl">
<ApplyTemplate SendMouseOverFTL WoW07 "%3%" "w1,w2,w3,w4,w5,w6,w8,w9,w10" "%1%" "%2%" "rshift rctrl lctrl">
<ApplyTemplate SendMouseOverFTL WoW08 "%3%" "w1,w2,w3,w4,w5,w6,w7,w9,w10" "%1%" "%2%" "rshift rctrl">
<ApplyTemplate SendMouseOverFTL WoW09 "%3%" "w1,w2,w3,w4,w5,w6,w7,w8,w10" "%1%" "%2%" "rshift lctrl">
<ApplyTemplate SendMouseOverFTL WoW10 "%3%" "w1,w2,w3,w4,w5,w6,w7,w8,w9" "%1%" "%2%" "rctrl lctrl">
<EndTemplate>
<Template SendMasterAndSlave>
<SendFocusWin>
<Key %1%>
<Sendlabel %4%>
<Key %3% %2%>
<EndTemplate>
<Template SendLeaderless>
<Else If ActiveWinIs %4%>
<ApplyTemplate SendMasterAndSlave "%1%" "%2%" "%3%" "%5%">
<EndTemplate>
<Template FTL>
<Hotkey %1%>
<If FTL_Toggle is 0>
<Sendlabel w1,w2,w3,w4,w5,w6,w7,w8,w9,w10>
<Key %1%>
<ApplyTemplate FTLMouseOver "%1%" "%2%" "%3%">
<ApplyTemplate SendLeaderless "%1%" "%2%" "ralt lctrl" WoW06 "w1,w2,w3,w4,w5,w7,w8,w9,w10">
<ApplyTemplate SendLeaderless "%1%" "%2%" "rshift rctrl lctrl" WoW07 "w1,w2,w3,w4,w5,w6,w8,w9,w10">
<ApplyTemplate SendLeaderless "%1%" "%2%" "rshift rctrl" WoW08 "w1,w2,w3,w4,w5,w6,w7,w9,w10">
<ApplyTemplate SendLeaderless "%1%" "%2%" "rshift lctrl" WoW09 "w1,w2,w3,w4,w5,w6,w7,w8,w10">
<ApplyTemplate SendLeaderless "%1%" "%2%" "rctrl lctrl" WoW10 "w1,w2,w3,w4,w5,w6,w7,w8,w9">
<EndTemplate>
<ApplyTemplate FTL "1" "I" "43 173 235 411">
olipcs
06-10-2009, 04:35 AM
and here a customization of the above to reflect your needs better:
//-- ---------------------------------------------------------
// FTL Setup
//-----------------------------------------------------------
// %1% Window
// %2% Region
// %3% Windows to broadcast the Mouse to (healers)
// %4% Key the healers should recieve
<Template SendMouseOverFTL>
<Else If MouseIsOverWindowRect %1% %2%>
<SendLabel %3%>
<SaveMousePos>
<ClickMouse NoClick NoRestore>
<Key %4%>
<RestoreMousePos>
<EndTemplate>
// %1% : Key to broadcast
// %2% : Region
// %3% : Windows to broadcast the Mouse to (healers)
<Template FTLMouseOver>
<ApplyTemplate SendMouseOverFTL WoW06 "%2%" "%3%" "%1%">
<ApplyTemplate SendMouseOverFTL WoW07 "%2%" "%3%" "%1%">
<ApplyTemplate SendMouseOverFTL WoW08 "%2%" "%3%" "%1%">
<ApplyTemplate SendMouseOverFTL WoW09 "%2%" "%3%" "%1%">
<ApplyTemplate SendMouseOverFTL WoW10 "%2%" "%3%" "%1%">
<EndTemplate>
<Template SendMasterAndSlave>
<SendFocusWin>
<Key %1%>
<Sendlabel %4%>
<Key %3% %2%>
<EndTemplate>
<Template SendLeaderless>
<Else If ActiveWinIs %4%>
<ApplyTemplate SendMasterAndSlave "%1%" "%2%" "%3%" "%5%">
<EndTemplate>
// %1% master key
// %2% slave key
// %3% mouse-over-region
// %4% windows to broadcast the mouseover to
<Template MouseOverFTL>
<Hotkey %1%>
<If FTL_Toggle is 0>
<Sendlabel w1,w2,w3,w4,w5,w6,w7,w8,w9,w10>
<Key %1%>
<ApplyTemplate FTLMouseOver "%2%" "%3%" "%4%">
<ApplyTemplate SendLeaderless "%1%" "%2%" "ralt lctrl" WoW06 "w1,w2,w3,w4,w5,w7,w8,w9,w10">
<ApplyTemplate SendLeaderless "%1%" "%2%" "rshift rctrl lctrl" WoW07 "w1,w2,w3,w4,w5,w6,w8,w9,w10">
<ApplyTemplate SendLeaderless "%1%" "%2%" "rshift rctrl" WoW08 "w1,w2,w3,w4,w5,w6,w7,w9,w10">
<ApplyTemplate SendLeaderless "%1%" "%2%" "rshift lctrl" WoW09 "w1,w2,w3,w4,w5,w6,w7,w8,w10">
<ApplyTemplate SendLeaderless "%1%" "%2%" "rctrl lctrl" WoW10 "w1,w2,w3,w4,w5,w6,w7,w8,w9">
<EndTemplate>
<ApplyTemplate MouseOverFTL "1" "I" "43 173 235 411" "w3,w7">
Here with <ApplyTemplate MouseOverFTL "1" "I" "43 173 235 411" "w3,w7"> you would define an mouse-over-ftl-key (with toggle on_of) which does the following when '1' is pressed:
1. If FTL_Toggle is 0 simply send '1' to all ten WoWs
2. If the mouse is over the region '43 173 235 411' of window WoW6-WoW10, 'I' is send to WoW3 and WoW7 (your healers ;) )
3. it acts like a normal FTL key
For this to work good I would make one little change to your healing macro, so that it only uses the mouseover-target when it was activated directly (by a simple 'I'),and not by an FTL key. (Compensating for the fact, that currently when your mouse on one of the healers is over an Unitframe, and 'I' is activated by the normal FTL it would result in the mouse-over-target to be healed, not the targettarget)
/click Bigasstargetmacro
/cast [target=mouseover,help,nomod][target=targettarget,help][help] Greater Heal
Pocalypse
06-10-2009, 04:43 AM
Olipcs, you are a genius!
That script works 99%. The only problem I'm having now is my priest seems to have a 'phantom' leftover mouse. So as soon as I use the mouseover broadcasting once, the priest keeps the mouse in that position, so every subsequent cast (that does not include a mouseover) is still considered a mouseover. It looks like <RestoreMousePos> is not being sent, but I can't figure out why.
Ok, it's almost 3am, and I have work in the next 6 hours, so I'll have to continue this tomorrow.
Thanks a ton for your help!!!
Edit: Hmm, just read your next reply, is that always the case, do all WoW windows always leave a 'phantom' mouse after using mouse broadcasting. If that's the case, having a different key sent over is a must.
olipcs
06-10-2009, 04:50 AM
glad I could help :)
Edit: Hmm, just read your next reply, is that always the case, do all WoW windows always leave a 'phantom' mouse after using mouse broadcasting. If that's the case, having a different key sent over is a must. I can't say if it's allways the case, but I think I had the same problem when I first implemented my mouseover-healing, and the simplest solution for me was to use a different key (or modifier combination not used in the ftl) to get around it (and don't care about save-mouse/restore-position at all).
vikemosabe
06-12-2009, 06:29 PM
Hey all.
First: awesome tutorial.
Second: I am having an issue with the reseizeandposition function
Launchandrename opens them all just fine.
Then they resize and get rid of the border.
But then they all resize to 1920x1200 and I don't have pips.
I can switch between them, but they all are simply full screen without the pips.
I am using Windows 7 x64.
Here's my script:
<Command ResizeAndPosition>
<SendPC Local>
<SendWin %1%>
<SetWinSize 1920 1200>
<SetWinPos 0 0>
<SetWinRegion 160 1620 300 200>
<SetWinRegion 560 1620 300 200>
<SetWinRegion 960 1620 300 200>
<SetWinRegion 1360 1620 300 200>
<SendWinM %2%>
<SetWinSize 300 200>
<SetWinPos 160 1620>
<SendWinM %3%>
<SetWinSize 300 200>
<SetWinPos 560 1620>
<SendWinM %4%>
<SetWinSize 960 1620>
<SetWinPos 1920 0>
<SendWinM %5%>
<SetWinSize 1460 1620>
<SetWinPos 1920 512>
//-----------------------------------------------------------
// SUBROUTINE TO LAUNCH AND RENAME A COPY OF WOW.
//-----------------------------------------------------------
<Command LaunchAndRename>
<SendPC %1%>
<Run %2%>
<RenameTargetWin %3%>
<RemoveWinFrame>
<SetAffinity %4%>
//-----------------------------------------------------------
// DEFINE MAIL LABELS FOR SENDING KEY STROKES.
//-----------------------------------------------------------
<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>
//-----------------------------------------------------------
// HOTKEY TO LAUNCH AND RENAME YOUR WOW WINDOWS while 5 boxing
// Please configure the Path and processor afinitys correctly
//-----------------------------------------------------------
<Hotkey Alt Ctrl L>
<LaunchAndRename Local "C:\Users\Public\Games\World of Warcraft\wow.exe" WoW1 1>
<LaunchAndRename Local "C:\Users\Public\Games\World of Warcraft - Copy\wow.exe" WoW2 1>
<LaunchAndRename Local "C:\Users\Public\Games\World of Warcraft - Copy\wow.exe" WoW3 1>
<LaunchAndRename Local "C:\Users\Public\Games\World of Warcraft - Copy\wow.exe" WoW4 1>
<LaunchAndRename Local "C:\Users\Public\Games\World of Warcraft - Copy\wow.exe" WoW5 1>
<ResizeAndPosition WoW1 WoW2 WoW3 WoW4 WoW5>
<MovementHotkey up, down, left, right>
<SendLabel w1, w2, w3, w4, w5>
<Key %Trigger%>
<hotkey pause>
<sendpc local>
<ToggleHotkeys>
<KeyList MyList A-Z, 0-9, Enter, Tab, Oem4, Space, Comma, Oem6 except W, A, S, D, Q, E, L>
<Hotkey MyList; Shift MyList; Alt MyList; Ctrl MyList>
//<Hotkey AllMainKeys; Shift AllMainKeys; Ctrl AllMainKeys; Alt AllMainKeys>
<SendLabel w1, w2, w3, w4, w5>
<Key %Trigger%>
//----------------------------------------------------------------
//Window Switching
//----------------------------------------------------------------
<Hotkey F1>
<ResizeAndPosition WoW1 WoW2 WoW3 WoW4 WoW5>
<Hotkey F2>
<ResizeAndPosition WoW2 WoW1 WoW3 WoW4 WoW5>
<Hotkey F3>
<ResizeAndPosition WoW3 WoW2 WoW1 WoW4 WoW5>
<Hotkey F4>
<ResizeAndPosition WoW4 WoW2 WoW3 WoW1 WoW5>
<Hotkey F5>
<ResizeAndPosition WoW5 WoW2 WoW3 WoW4 WoW1>
vikemosabe
06-12-2009, 07:38 PM
Well, I've been messing around with it and got it working by changing to setwinrect.
Now, however, my question is how can I broadcast the function keys to all windows?
I tried this:
<KeyList MyList A-Z, 0-9, Enter, Tab, Oem4, Space, Comma, Oem6, F1-F12 except W, A, S, D, Q, E>
But it doesn't seem to work.
No errors, but not working, either.
Actually, since I use keyclone for my mac I would be happy just broadcasting any and all keys.
I tried using this:
<Hotkey AllMainKeys; Shift AllMainKeys; Ctrl AllMainKeys; Alt AllMainKeys>
<SendLabel w1, w2, w3, w4, w5>
<Key %Trigger%>
but that gives me these errors:
Disregarding empty hotkey: <Hotkey E>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey G>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey H>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey I>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey J>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey K>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey L>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey M>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey N>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey O>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey P>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey Q>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey R>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey S>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey T>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey U>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey V>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey W>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey X>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey Y>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey Z>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey Apps>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey Numpad0>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey Numpad1>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey Numpad2>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey Numpad3>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey Numpad4>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey Numpad5>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey Numpad6>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey Numpad7>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey Numpad8>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey Numpad9>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey Multiply>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey NumpadPlus>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey Separator>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey NumpadMinus>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey Decimal>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F1>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F2>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F3>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F4>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F5>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F6>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F7>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F8>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F9>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F10>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F11>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F12>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F13>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F14>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F15>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F16>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F17>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F18>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F19>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F20>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F21>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F22>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F23>
Empty hotkeys were found.
Disregarding empty hotkey: <Hotkey F24>
Finished loading hotkey file.
111 errors were found
12 definitions were loaded
0 keys will be used as modifiers
Installing mouse hook
Hook installation succeeded
So, I don't know what I'm doing wrong with it.
Any help is appreciated.
Freddie
06-12-2009, 07:57 PM
Those pieces of code will work fine in the right context. Since you didn't show your whole script I don't know what caused your errors. It could be something you left out or something extra you put in.
Here's a complete script that shows how to use your second piece of code.
<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>
<Hotkey AllMainKeys; Shift AllMainKeys; Ctrl AllMainKeys; Alt AllMainKeys>
<SendLabel w1, w2, w3, w4, w5>
<Key %Trigger%>
olipcs
06-13-2009, 04:32 AM
I would guess that you hav defined some keys double. MAybe the function keys, when you use the pip-example wich uses F1-F5.
Trollzilla
06-13-2009, 06:19 AM
my ftl setup runs fine now .. only one problem . vehicle follow wont work :<
could some please post some way to make it work (need it for my weekly malygos clear tomorrow ;D -> testet it with the ebon blade daily in icecrown)
Freddie
06-13-2009, 06:45 AM
I would guess that you hav defined some keys double. MAybe the function keys, when you use the pip-example wich uses F1-F5.
The program is probably displaying an error message that explains the cause of the problem. But it's the first error message, and it's followed by more than a hundred others, so the first error message (the one that really counts) may be scrolling off the top of the buffer and getting lost.
This is why the new program (HotkeyNet 2) only shows one error message. (There are other reasons too.)
Schmidtdiver
06-15-2009, 03:12 PM
So I'm not sure if anyone else is having a similar issue. From what I've read of similar posts, Windows XP seems to be the culprit. I'm just not entirely sure how to fix it.
So the problem is that everything directly beneath my picture window shows desktop. I copy-pasted the text from HKN sample Pip into a text-file and this is what I got. no matter how much I fiddled with the numbers it didn't change.
http://img40.imageshack.us/img40/7618/hknissuepic.jpg
Someone mentioned turning off borders earlier but I'm not certain what they're speaking of. I'm really green at this so I apologize if it's something simple. Thanks
Freddie
06-15-2009, 06:35 PM
There's no issue with XP.
This particular PIP script works by (1) making a hole in the big window and (2) putting the little window in the exact same spot as the hole.
The screenshot shows that you're putting the hole and window in different places. That's the cause of the problem.
There are two ways to solve the problem. You can either use the same numbers for the hole and little window so they'll be in the same spot. Or else you can stop making the hole (remove SetWinRegion from the script) and instead, use AlwaysOnTop to keep the little window on top of the big one.
CommanderChaos
06-26-2009, 04:59 PM
I thought I'd share my full script implementing "ftl" for Hotkeynet. I'm running Win7 64-bit, and using 4 small pip screens in the bottom two corners of my main 1920 x 1200 screen. I have 5 separate folders for my WoW instances for keeping my configs and addons separate. Hope this might be of use to someone. This has been rock solid for me.
//-----------------------------------------------------------
// SUBROUTINE TO LAUNCH AND RENAME A COPY OF WOW.
//-----------------------------------------------------------
<Command LaunchAndRename>
<SendPC %1%>
<Run "%2%:\World of Warcraft %3%\WoW.exe">
<RenameTargetWin %4%>
<RemoveWinFrame>
//-----------------------------------------------------------
// HOTKEY TO LAUNCH AND RENAME YOUR WOW WINDOWS
//-----------------------------------------------------------
<Command ResizeAndPosition>
<SendPC Local>
<SendWin %1%>
<SetWinSize 1920 1200>
<SetWinPos 0 0>
<SetWinRegion 0 1050 240 150>
<SetWinRegion 240 1050 240 150>
<SetWinRegion 1440 1050 240 150>
<SetWinRegion 1680 1050 240 150>
<SendWinM %2%>
<SetWinSize 240 150>
<SetWinPos 0 1050>
<SendWinM %3%>
<SetWinSize 240 150>
<SetWinPos 240 1050>
<SendWinM %4%>
<SetWinSize 240 150>
<SetWinPos 1440 1050>
<SendWinM %5%>
<SetWinSize 240 150>
<SetWinPos 1680 1050>
<Hotkey ScrollLockOn RCtrl L>
<LaunchAndRename Local E 1 WoW1>
<LaunchAndRename Local E 2 WoW2>
<LaunchAndRename Local E 3 WoW3>
<LaunchAndRename Local E 4 WoW4>
<LaunchAndRename Local E 5 WoW5>
<ResizeAndPosition WoW1 WoW2 WoW3 WoW4 WoW5>
//-----------------------------------------------------------
// DEFINE MAIL LABELS FOR SENDING KEY STROKES.
//-----------------------------------------------------------
<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>
//-----------------------------------------------------------
// DEFINE ASSIST COMMAND FUNCTIONS
//-----------------------------------------------------------
<command main1>
<SendPC Local>
<Sendwin WoW1>
<Key %all%>
<command assist1>
<SendPC Local>
<SendWinM WoW2>
<Key RCtrl %1%>
<SendWinM WoW3>
<Key RCtrl %1%>
<SendWinM WoW4>
<Key RCtrl %1%>
<SendWinM WoW5>
<Key RCtrl %1%>
<command main2>
<SendPC Local>
<SendWin WoW2>
<Key %all%>
<command assist2>
<SendPC Local>
<SendWinM WoW1>
<Key RAlt %1%>
<SendWinM WoW3>
<Key RAlt %1%>
<SendWinM WoW4>
<Key RAlt %1%>
<SendWinM WoW5>
<Key RAlt %1%>
<command main3>
<SendPC Local>
<SendWin WoW3>
<Key %all%>
<command assist3>
<SendWinM WoW1>
<Key RShift %1%>
<SendWinM WoW2>
<Key RShift %1%>
<SendWinM WoW4>
<Key RShift %1%>
<SendWinM WoW5>
<Key RShift %1%>
<command main4>
<SendPC Local>
<SendWin WoW4>
<Key %all%>
<command assist4>
<SendWinM WoW1>
<Key RShift RCtrl %1%>
<SendWinM WoW2>
<Key RShift RCtrl %1%>
<SendWinM WoW3>
<Key RShift RCtrl %1%>
<SendWinM WoW5>
<Key RShift RCtrl %1%>
<command main5>
<SendPC Local>
<SendWin WoW5>
<Key %all%>
<command assist5>
<SendWinM WoW1>
<Key RShift RAlt %1%>
<SendWinM WoW2>
<Key RShift RAlt %1%>
<SendWinM WoW3>
<Key RShift RAlt %1%>
<SendWinM WoW4>
<Key RShift RAlt %1%>
?
//----------------------------------------------------------------
//Window Switching
//----------------------------------------------------------------
<Hotkey ScrollLockOn F1>
<ResizeAndPosition WoW1 WoW2 WoW3 WoW4 WoW5>
<Main1 %trigger%><Assist1 %trigger%>
<Hotkey ScrollLockOn F2>
<ResizeAndPosition WoW2 WoW1 WoW3 WoW4 WoW5>
<Main2 %trigger%><Assist2 %trigger%>
<Hotkey ScrollLockOn F3>
<ResizeAndPosition WoW3 WoW1 WoW2 WoW4 WoW5>
<Main3 %trigger%><Assist3 %trigger%>
<Hotkey ScrollLockOn F4>
<ResizeAndPosition WoW4 WoW1 WoW2 WoW3 WoW5>
<Main4 %trigger%><Assist4 %trigger%>
<Hotkey ScrollLockOn F5>
<ResizeAndPosition WoW5 WoW1 WoW2 WoW3 WoW4>
<Main5 %trigger%><Assist5 %trigger%>
//-----------------------------------------------------------
// DEFINE HOTKEYS FOR ALL KEY COMBINATIONS THAT WILL GET
// SENT TO ALL WOWS. ADD MORE KEY COMBO'S IF YOU WANT.
//-----------------------------------------------------------
//<Hotkey ScrollLockOn A-Z, 0-9, Tab, F1-F12 except W, A, S, D, Q, E>
//<SendLabel w1, w2, w3, w4, w5>
//<Key %Trigger%>
<Hotkey ScrollLockOn 0-9, Tab, Minus, Plus, Numpad0-Numpad9, NumpadMinus, Divide, Multiply, Numpadplus, PgUp, PgDn, Home, End, Insert, Oem6, F6-F12>
<If ActiveWinIs WoW1> <Main1 %trigger%><Assist1 %trigger%>
<Else If ActiveWinIs WoW2> <Main2 %trigger%><Assist2 %trigger%>
<Else If ActiveWinIs WoW3> <Main3 %trigger%><Assist3 %trigger%>
<Else If ActiveWinIs WoW4> <Main4 %trigger%><Assist4 %trigger%>
<Else If ActiveWinIs WoW5> <Main5 %trigger%><Assist5 %trigger%>
//-----------------------------------------------------------
// DEFINE MOVEMENT KEYS THAT WILL GET SENT TO BOTH WOW'S.
// ADD MORE KEYS IF YOU WANT.
//-----------------------------------------------------------
<MovementHotkey ScrollLockOn up, down, left, right>
<SendLabel w1, w2, w3, w4, w5>
<Key %Trigger%>
//-----------------------------------------------------------
// BROADCAST MOUSE CLICKS. HOLD DOWN OEM3 (ON U.S. KEYBOARDS,
// THAT'S THE SQUIGGLE KEY IN UPPPER LEFT CORNER) WHEN YOU
// WANT TO BROADCAST.
//-----------------------------------------------------------
<UseKeyAsModifier oem3>
<Hotkey ScrollLockOn oem3 LButton, MButton, RButton, Button4, Button5>
<SendLabel w1, w2, w3, w4, w5>
<ClickMouse %TriggerMainKey%>
?
CommanderChaos
06-26-2009, 05:37 PM
As a followup, here's two essential macros to go with the above HKN script:
Macro to be placed on my button 9 of hotbar 1 (I'm using Bartender4):
/targetexact [nomod:rshift,mod:rctrl,target=WoW1toon] [nomod:rshift,mod:ralt,target=WoW2toon] [nomod:rctrl,nomod:ralt,mod:rshift,target=WoW3toon] [mod:rctrl,mod:rshift,target=WoW4toon] [mod:ralt,mod:rshift,target=WoW5toon]
Macro placed on whatever key I want to use to make all toons follow the leader (and target the leaders' target):
/petpassive
/stopmacro [nomod]
/click BT4Button9
/follow
/tar [target=targettarget]
This is the most basic form for most any other spell macro:
#showtooltip
/click BT4Button9
/tar [mod,target=targettarget]
/startattack [harm]
/cast [harm]Smite;[help]Lesser Heal
Hi, I want to share my HKN script too.
I run 5 chars on a core i7 cpu with 16MB of RAM, vista64 and 2 graphic cards with 2 monstrous 27" monitors 8)
I start all accounts from the same directory. I do not need to separate addons, because I use very few. Currently I have only healbot, CT-Mod core module, Atlas and Jamba installed. Jamba is absolutely cool for multiboxing :thumbsup:
The speciality of my script is that I can turn on synchronous mode to let all chars chat or emote the same.
Pause turns HKN on/off.
PrintScreen and ScrollLock controll keyboard transmission to one/all windows. Target of this was to be able to chat without breaking follow of the slave chars. So if you press enter or shift 7 to enable the input line, a flag is set and all normal keys are no longer transmitted to the slave windows (space, q, w, e,...). After you leave the input line, everything is to normal.
Sometimes you want to make the group act syncronous, (/dance, /chicken,...) Press printscreen once, press enter, type "/dance", press enter, Tadaaa!
To disable synchronization, press printscreen once more.
A lot of normal keyboard commands are not transmitted to the slave windows. But sometimes you want to open all pockets of all chars at once, or whatever. Press printscreen, press scrolllock, then anything you like. Don't forget to press printscreen and scrolllock again after you are done ;)
With ctrl alt w you can start 5 clients of WoW. If any of the clients are open allready, that one is skipped.
With capslock the group disperses a little so the chars are no longer standing all on the same spot. It has the nice side effect that you will never again shout in chat ;)
F1-F5 do no longer target the group members. Instead, they make window1-window5 of the different accounts act as main window and let them switch places.
Sone other keys are defined for other actions, they are described in the script.
// HotKeyNet on/off!
<Hotkey Pause>
<ToggleHotkeys>
<DisplayVars>
<SendPC local>
<Cancel>
// Subroutine starts WoW and logs in
<Command WoWStart>
<Run %1%>
<WaitForWin "World of Warcraft" 20000>
<WaitForWinEnabled 20000><wait 2000>
<SetFocusWin>
<SendWinSF "World of Warcraft">
<Key Backspace><wait 500>
<SendWin "World of Warcraft">
<SetAffinity %5% %6%>
<Text %3%><wait 100><Key tab><wait 100><Text %4%><wait 100><Key Enter><wait 500>
<RenameWin "World of Warcraft" %2%>
<WaitForWin %2% 20000>
<Command script>
<Key shift 7><wait 100><Text script %1%><wait 100><Key enter>
<Command cmd>
<wait 300><Key shift 7><wait 100><Text %1%><wait 1000><Key enter>
// move windows to their place
<Command OrderWin>
<SendPC local>
<TargetWin %1%><SetWinRect -1280 168 1280 1024>
<SetFocusWin>
<TargetWin %2%><SetWinRect 0 0 800 590>
<TargetWin %3%><SetWinRect 800 0 800 590>
<TargetWin %4%><SetWinRect 0 590 800 590>
<TargetWin %5%><SetWinRect 800 590 800 590>
// Eingabezeilenmodus trigger
<Hotkey ScrollLock>
< if kz is --> <SetVar kz e->
<else if kz is -m> <SetVar kz em>
<else if kz is e-> <SetVar kz -->
<else if kz is em> <SetVar kz -m>
<endif>
// Multichatmodus trigger
<Hotkey PrintScreen>
< if kz is --> <SetVar kz -m>
<else if kz is -m> <SetVar kz -->
<else if kz is e-> <SetVar kz em>
<else if kz is em> <SetVar kz e->
<endif>
<Hotkey F1>
<OrderWin wow1 wow2 wow3 wow4 wow5>
<Hotkey F2>
<OrderWin wow2 wow1 wow3 wow4 wow5>
<Hotkey F3>
<OrderWin wow3 wow1 wow2 wow4 wow5>
<Hotkey F4>
<OrderWin wow4 wow1 wow2 wow3 wow5>
<Hotkey F5>
<OrderWin wow5 wow1 wow2 wow3 wow4>
<label win1 local SendWinM wow1>
<label win2 local SendWinM wow2>
<label win3 local SendWinM wow3>
<label win4 local SendWinM wow4>
<label win5 local SendWinM wow5>
<label mwin1 local SendWinS wow1>
<label mwin2 local SendWinS wow2>
<label mwin3 local SendWinS wow3>
<label mwin4 local SendWinS wow4>
<label mwin5 local SendWinS wow5>
<label current local SendFocusWin>
// synchron chat and commands
//kz indicates if commandline or not
<hotkey Enter; NumpadEnter>
<DoHotkey Hotkey ScrollLock>
<if kz is -m>
<SendLabel win1, win2, win3, win4, win5>
<Key %Trigger%>
<else if kz is em>
<SendLabel win1, win2, win3, win4, win5>
<Key %Trigger%>
<else>
<SendPC local>
<SendFocusWin>
<Key %Trigger%>
<endif>
<hotkey b-c; f-p; r; t-v; x-z>
<if kz is em>
<SendLabel win1, win2, win3, win4, win5>
<Key %Trigger%>
<else>
<SendLabel current>
<Key %Trigger%>
<endif>
<hotkey shift a-z>
<if kz is em>
<SendLabel mwin1, mwin2, mwin3, mwin4, mwin5>
<key %Trigger%>
<else>
<SendLabel current>
<Key %Trigger%>
<endif>
<hotkey shift 7>
<if kz is -m>
<SendLabel mwin1, mwin2, mwin3, mwin4, mwin5>
<DoHotkey Hotkey ScrollLock>
<key shift 7>
<else if kz is -->
<SendLabel current>
<DoHotkey Hotkey ScrollLock>
<key shift 7>
<else if kz is em>
<SendLabel mwin1, mwin2, mwin3, mwin4, mwin5>
<key divide>
<else if kz is e->
<SendLabel current>
<key divide>
<endif>
// turn camera 180° assigned to Backspace. Very useful
<hotkey Backspace; Delete>
<if kz is em>
<SendLabel win1, win2, win3, win4, win5>
<Key %Trigger%>
<else>
<SendLabel current>
<Key %Trigger%>
<endif>
// Movement ALL chars
<MovementHotkey q; w; e; a; s; d; space>
<if kz is e->
<SendLabel current>
<Key %Trigger%>
<else>
<SendLabel win1, win2, win3, win4, win5>
<Key %Trigger%>
// Movement Slaves only
<MovementHotkey Numpad8>
<Sendlabel win2, win3, win4, win5>
<Key up>
<MovementHotkey Numpad2>
<Sendlabel win2, win3, win4, win5>
<Key down>
<MovementHotkey Numpad4>
<Sendlabel win2, win3, win4, win5>
<Key left>
<MovementHotkey Numpad6>
<Sendlabel win2, win3, win4, win5>
<Key right>
// follow groupleader (WoW Follow Macro assigned to this key)macrocall
<hotkey decimal>
<SendLabel win2, win3, win4, win5>
<Key %Trigger%>
// ^ assist groupleader (WoW Assist Macro assigned to this key)macrocall
<hotkey OEM5>
<if kz is e->
<SendLabel current>
<Key %Trigger%>
<else if kz is em>
<SendLabel mwin1, mwin2, mwin3, mwin4, mwin5>
<Key %Trigger%>
<else>
<SendLabel win2, win3, win4, win5>
<Key F2><Key F>
<SendLabel win1, win2, win3, win4, win5>
<Key G>
<endif>
// attack key bar (the main left bottom bar)
<hotkey 0-9; OEM4; OEM6>
<if kz is e->
<SendLabel current>
<Key %Trigger%>
<else>
<SendLabel win1, win2, win3, win4, win5>
<Key %Trigger%>
<endif>
// support key bar (in WoW I assigned these keys to the right bottom bar)
<hotkey ctrl alt 0-9>
<SendLabel win1, win2, win3, win4, win5>
<Key %Trigger%>
// stop follow
// capslock - master nothing, slaves disperse
<HotKey capslock>
<if kz is e->
<else if kz is em>
<else>
<SendPC local>
<SendWinM wow1><KeyDown down>
<SendWinM wow2><KeyDown down>
<SendWinM wow3><KeyDown down>
<SendWinM wow4><KeyDown down>
<SendWinM wow5><KeyDown down>
<wait 10>
<SendWinM wow2><KeyDown q>
<SendWinM wow3><KeyDown e>
<SendWinM wow4><KeyDown q>
<SendWinM wow5><KeyDown e>
<wait 160>
<SendWinM wow1><KeyUp down>
<SendWinM wow2><KeyUp q>
<SendWinM wow3><KeyUp e>
<SendWinM wow4><KeyUp down>
<SendWinM wow5><KeyUp down>
<wait 110>
<SendWinM wow2><KeyUp down>
<SendWinM wow3><KeyUp down>
<SendWinM wow4><KeyUp q>
<SendWinM wow5><KeyUp e>
<endif>
<Hotkey ctrl alt w>
<SendPC local>
<if WinDoesNotExist wow1>
<WoWStart "D:\Programme\Spiele\World of Warcraft\wow.exe" wow1 user1 password1 0 2>
<endif>
<if WinDoesNotExist wow2>
<WoWStart "D:\Programme\Spiele\World of Warcraft\wow.exe" wow2 user2 password2 1 3>
<endif>
<if WinDoesNotExist wow3>
<WoWStart "D:\Programme\Spiele\World of Warcraft\wow.exe" wow3 user3 password3 4 6>
<endif>
<if WinDoesNotExist wow4>
<WoWStart "D:\Programme\Spiele\World of Warcraft\wow.exe" wow4 user4 password4 5 7>
<endif>
<if WinDoesNotExist wow5>
<WoWStart "D:\Programme\Spiele\World of Warcraft\wow.exe" wow5 user5 password5 5 6>
<endif>
<wait 2000>
<OrderWin wow1 wow2 wow3 wow4 wow5>
<SetVar kz -->
Nimoi
09-10-2009, 01:40 PM
...[SNIP]
tl;dr: The sample code (http://www.hotkeynet.com/wow/wow-sample-two-on-two.html) works great, but I can't figure out how to get modifier keys to work with it.
<Hotkey ScrollLockOn A-Z, 0-9, Plus, Minus, F1-F12 except W, A, S, D, Q, E>
<PassThrough>
<SendLabel w2>
<Key %Trigger%>
<KeyList MyList A-Z, 0-9, Plus, Minus, F1-F12 except W, A, S, D, Q, E>
<Hotkey MyList; Shift MyList; Alt MyList; Ctrl MyList>
<PassThrough>
<SendLabel w2>
<Key %Trigger%>With that I can send modifier keys over, (Shift + R was my test, worked! Yay!), but now ScrollLockOn doesn't seem to matter. My slave is going crazy right now opening the map and stuff as I type this as Scroll Lock is off.
<Hotkey ScrollLockOn A-Z, 0-9, Plus, Minus, F1-F12 except W, A, S, D, Q, E>
<PassThrough>
<SendLabel w2>
<Key %Trigger%>
<KeyList MyList A-Z, 0-9, Plus, Minus, F1-F12 except W, A, S, D, Q, E>
<Hotkey MyList; ScrollLockOn Shift MyList; ScrollLockOn Alt MyList; ScrollLockOn Ctrl MyList>
<PassThrough>
<SendLabel w2>
<Key %Trigger%>It still doesn't care about Scroll Lock. :( Maybe an If block would do it?
<Hotkey ScrollLockOn A-Z, 0-9, Plus, Minus, F1-F12 except W, A, S, D, Q, E>
<PassThrough>
<SendLabel w2>
<Key %Trigger%>
<KeyList ScrollLockOn A-Z, 0-9, Plus, Minus, F1-F12 except W, A, S, D, Q, E>
<Hotkey ScrollLockOn; Shift ScrollLockOn; Alt ScrollLockOn; Ctrl ScrollLockOn>
<PassThrough>
<SendLabel w2>
<Key %Trigger%>
You must supply the name of at least one non-modifier key.
Freddie
09-10-2009, 03:36 PM
<Hotkey ScrollLockOn MyList; ScrollLockOn Shift MyList; ScrollLockOn Alt MyList; ScrollLockOn Ctrl MyList>
<SendLabel w1, w2>
<Key %Trigger%>
Nimoi
09-10-2009, 04:24 PM
<Hotkey ScrollLockOn MyList; ScrollLockOn Shift MyList; ScrollLockOn Alt MyList; ScrollLockOn Ctrl MyList>
<SendLabel w1, w2>
<Key %Trigger%>
A response, and from the creator no less! How grand! Thanks very much for the help!
Nimoi
09-12-2009, 04:11 PM
I hate to doublepost, but it seems that every time I cast something with Shift + key, and then attempt to use that combination again it disregards the fact that I am holding Shift for both clients.
<Hotkey ScrollLockOn Shift R>
<Hotkey ScrollLockOn R>
<Hotkey ScrollLockOn R>
<Hotkey ScrollLockOn R>
<Hotkey ScrollLockOn R>
Shift was held the entire time.
It only seems to count for the first key, I need to release and then press shift again for it to continue.
Any help would be very appreciated! :)
Edit: this is what I have, thanks to Freddie:
<KeyList MyList A-Z, 0-9, Plus, Minus, F1-F12 except W, A, S, D, Q, E>
<Hotkey ScrollLockOn MyList; ScrollLockOn Shift MyList; ScrollLockOn Alt MyList;
ScrollLockOn Ctrl MyList>
<SendLabel w1, w2>
<Key %Trigger%>
Seems like such a simple problem, sorry to bother.
Freddie
09-12-2009, 05:01 PM
I hate to doublepost, but it seems that every time I cast something with Shift + key, and then attempt to use that combination again it disregards the fact that I am holding Shift for both clients.
Uncheck "Clear modifiers before executing hotkey" on the Settings Panel.
Nimoi
09-12-2009, 05:23 PM
Uncheck "Clear modifiers before executing hotkey" on the Settings Panel.
I love you. If you ever go paid I will definitely be paying.
Edit: Oddly enough, after having checked the option on both clients and restarting, it still doesn't seem to be making any difference. :( I'm searching your reference.
Edit2: I got it to work after changing SendWin to SendWinM.
<Label w1 Local SendWinM "World of Warcraft">
<Label w2 192.168.254.6 SendWinM "World of Warcraft">
lorddread
02-22-2010, 12:41 AM
Hi trying to figure out how to use the
The No Focus Manifesto v 2.0
its from this post on here with hotkeynet
http://www.dual-boxing.com/showthread.php?t=25679
On page 3 i put some stuff in and asked if it would work in hotkeynet but since no one using it prob reads that topic thought i would ask here for some help on it. And don't want to double post so am putting the link to it above. My question is on page 3 of that topic.
Any help would he greatly appreciated.
Thanks in advance
Nikita
10-07-2011, 11:06 AM
Posting in this old thread! I need some help with setting up FTL for HotKeyNet. Ive tried to implement this into a script, but nothing is working as intended.
Infoz:
Using 2 computers
Main IP: 192.168.10.103
Alt IP: 192.168.10.102
Using ScrollLock as on/off button.
I use 0-9, shift+0-9 and shift+a-z in my keybindings.
How the hell can I make this work? Any help would be appreciated highly, dearly, and sincerly.
Regards Nikita
Khatovar
10-08-2011, 02:13 AM
I don't use multiple PCs or FTL, but try these threads.
http://hotkeynet.com/phpBB3/viewtopic.php?f=8&t=1205&start=0&st=0&sk=t&sd=a
http://www.dual-boxing.com/showthread.php?t=14818
http://www.dual-boxing.com/showthread.php?t=17555
http://www.dual-boxing.com/showthread.php?t=26369
Nikita
10-09-2011, 01:38 PM
Ive been reading all those threads, and Im still not even close to getting it to work. Any FTL, and HotKeyNet users who could throw me a bone here?
//-----------------------------------------------------------
// SUBROUTINE TO LAUNCH AND RENAME A COPY OF WOW.
//-----------------------------------------------------------
<Command LaunchAndRename>
<SendPC %1%>
<Run %2%>
<RenameTargetWin %3%>
//-----------------------------------------------------------
// HOTKEY TO LAUNCH AND RENAME YOUR WOW WINDOWS
//-----------------------------------------------------------
<Hotkey ScrollLockOn Alt Ctrl L>
<LaunchAndRename Local "c:\Program Files\World of Warcraft\WoW.exe" WoW1>
<LaunchAndRename Local "c:\Program Files\World of Warcraft\WoW.exe" WoW2>
<LaunchAndRename 192.168.10.102 "c:\WoW\WoW\WoW.exe" WoW3>
<LaunchAndRename 192.168.10.102 "c:\WoW\WoW\WoW.exe" WoW4>
//-----------------------------------------------------------
// DEFINE A MAIL LABEL FOR EACH WOW
//-----------------------------------------------------------
<Label w1 Local SendWinM WoW1>
<Label w2 Local SendWinM WoW2>
<Label w3 192.168.10.102 SendWinM WoW3>
<Label w4 192.168.10.102 SendWinM WoW4>
<Template Assist>
<If ActiveWinIs w1>
<Sendlabel w2, w3, w4>
<Key F1>
<Else If ActiveWinIs w2>
<Sendlabel w1, w3, w4>
<Key F2>
<Else If ActiveWinIs w3>
<Sendlabel w1, w2, w4>
<Key F3>
<Else If ActiveWinIs P4>
<Sendlabel w1, w2, w3>
<Key F4>
<EndIf>
<EndTemplate>
//-----------------------------------------------------------
// DEFINE HOTKEYS FOR ALL KEY COMBINATIONS THAT WILL GET
// SENT TO ALL FOUR WOWS. ADD MORE KEY COMBO'S IF YOU WANT.
//-----------------------------------------------------------
<Hotkeyup ScrollLockOn Space, A-Z, NumPad0-NumPad9, Plus, Minus, 1-9, F5-F12 except W, A, S, D, X, R, Z, C; ScrollLockOn Shift AllMainKeys;>
<ApplyTemplate Assist>
<SendLabel w1,w2,w3,w4>
<Key %trigger%>
//-----------------------------------------------------------
// DEFINE MOVEMENT KEYS THAT WILL GET SENT TO ALL FOUR WOW'S.
// ADD MORE KEYS IF YOU WANT.
//-----------------------------------------------------------
<MovementHotkey ScrollLockOn up, down, left, right>
<SendLabel w1, w2, w3, w4>
<Key %Trigger%>
<Hotkey ScrollLockOn Shift T>
<SendLabel w1,w2,w3,w4>
<Key Shift T>
<Hotkeyup ScrollLockOn Shift T>
<SendLabel w1,w2,w3,w4>
<Key K>
<Hotkey ScrollLockOn x>
<Toggle>
<SendLabel w1>
<Key x>
<Toggle>
<SendLabel w2>
<Key y>
<Toggle>
<SendLabel w3>
<Key u>
<Toggle>
<SendLabel w4>
<Key i>
<ResetToggles>
<Hotkeyup ScrollLockOn x>
<Toggle>
<SendLabel w4>
<Key t>
<Toggle>
<SendLabel w3>
<Key t>
<Toggle>
<SendLabel w2>
<Key t>
<Toggle>
<SendLabel w1>
<Key t>
<ResetToggles>
<Hotkey ScrollLockOn r>
<Toggle>
<SendLabel w1>
<Key r>
<Toggle>
<SendLabel w2>
<Key o>
<Toggle>
<SendLabel w3>
<Key p>
<Toggle>
<SendLabel w4>
<Key l>
<ResetToggles>
<HotkeyUp ScrollLockOn r>
<Toggle>
<SendLabel w2>
<Key j>
<Toggle>
<SendLabel w1>
<Key t>
<Toggle>
<SendLabel w4>
<Key n>
<Toggle>
<SendLabel w3>
<Key t>
<ResetToggles>
<Hotkey ScrollLockOn z>
<SendLabel w1, w2, w3, w4>
<Key z>
<Hotkeyup ScrollLockOn z>
<SendLabel w1, w2, w3, w4>
<Clickmouse LButton>
<RestoreMousePos>
<Hotkey ScrollLockOn c>
<SendLabel w1, w2, w3, w4>
<Key c>
<Hotkeyup ScrollLockOn c>
<SendLabel w1, w2, w3, w4>
<Clickmouse LButton>
<RestoreMousePos>
Ive read that you need assist macros through out your team!
F1:
/assist shaman1
F2:
/assist shaman2
F3:
/assist shaman3
F4:
/assist shaman4
All 4 shamans has these macros bound on these keys.
Now, how do I setup ApplyTemplate to press my assist button, and my keys @ the same time? What am I missing here? Do I need to use key modifiers like shift, ctrl and alt?
Hannik
06-17-2020, 08:52 PM
I am doing this for the first time and am having trouble figuring stuff out..is there someone in wow classic that is on Atiesh server or can contact me to help me figure some of this out..
Toon name Bulatai
Hannik
Destroyan
09-29-2022, 04:01 PM
This is amazing guidance!!! Thank you.
One question. I am building the PiP for a 4-box on an ultra-wide monitor with 3440x1440 resolution. I have all the windows set (following your template), but the main window is cutting off (showing thru to the desktop on the lower 1/5 and right side 1/5th) of the screen. Any idea how to fix this issue?
Edit: Adding the script for reference
//-----------------------------------------------------------
// SUBROUTINE TO Position Windows for 4 boxing.
// You need to configure the positions as you like
//-----------------------------------------------------------
<Command ResizeAndPosition>
<SendPC Local>
<SendWinM %1%>
<SetWinRect 0 0 2290 1400>
<SendWinM %2%>
<SetWinRect 2290 0 1145 466>
<SendWinM %3%>
<SetWinRect 2290 467 1145 466>
<SendWinM %4%>
<SetWinRect 2290 934 1145 466>
vBulletin® v4.2.2, Copyright ©2000-2025, Jelsoft Enterprises Ltd.