PDA

View Full Version : [WoW] [HOTKEYNET] I'm trying to add a 4th window and more space for the PiP interface I have set up, need some help.



cheese
03-13-2019, 06:09 PM
So, I kind of understand the parameters of what I'm plugging into my script, but I don't understand what the code is doing and how to add a 4th client.

EDIT: The code directly below this text is the original code used from another post on this site. The problem I'm having with this is that while the script opens 4 windows, all four clients display the grey blizzard error box and crash.


//-----------------------------------------------------------
// PRESS CTRL R TO RENAME WOW'S IF YOU LAUNCH THEM MANUALLY.
//-----------------------------------------------------------
<Hotkey ScrollLockOn Ctrl R>
<SendPC local>
<RenameWin "World of Warcraft" WoW1>
<RenameWin "World of Warcraft" WoW2>
<RenameWin "World of Warcraft" WoW3>


// SET PIP CONFIGURATION
// Usage: <SetPip BigWindowName LittleWindowName>
// This command is called by <Hotkey F1> which is defined below.
//-------------
<Command SetPip>
<TargetWin %2%>
<SetWinSize 600 300>
<SetWinPos 1300 515>
<TargetWin %3%>
<SetWinSize 600 300>
<SetWinPos 1300 215>
<TargetWin %1%>
<SetWinSize 1920 1080>
<SetWinPos 0 0> // THIS IS ONLY HALF OF IT, YOU NEED THE NEXT PART, TOO
<TargetWin %2%>
<SetForegroundWin>
<UpdateWin>
<TargetWin %3%>
<SetForegroundWin>
<UpdateWin>
<TargetWin %1%>
<SetWinRegion 1300 215 600 600> // THIS IS THE HOLE YOU NEED TO PUNCH IN THE MAIN WINDOW
<SetForegroundWin>


//------------
// TOGGLE PIP CONFIG WITH HOTKEY
//------------
<Hotkey ScrollLockOn F1> // THIS IS WHERE YOU DEFINED F1
<Toggle>
<SetPip WoW1 WoW2 WoW3>
<Toggle>
<SetPip WoW2 WoW1 WoW3>
<Toggle>
<SetPip WoW3 WoW1 WoW2>


// SUBROUTINE TO LAUNCH AND RENAME A COPY OF WOW.
//---------
<Command LaunchAndRename>
<SendPC %1%>
<Run "F:\Program Files (x86)\World of Warcraft\World of Warcraft\_retail_\WoW.exe">
<RenameTargetWin %2%>
<RemoveWinFrame>


//----------
// HOTKEY TO LAUNCH AND RENAME BOTH WOW'S.
//----------
<Hotkey ScrollLockOn Alt Ctrl L>
<LaunchAndRename Local WoW1>
<RemoveWinFrame>
<LaunchAndRename Local WoW2>
<RemoveWinFrame>
<LaunchAndRename Local WoW3>
<RemoveWinFrame>
<SetPip WoW1 WoW2 WoW3>

//-----------
// DEFINE MAIL LABELS FOR SENDING KEY STROKES.
//-----------
<Label w1 Local SendWinM WoW1>
<Label w2 Local SendWinM WoW2>
<Label w3 Local SendWinM WoW3> // YOU HAD A 4TH WINDOW DEFINED HERE. DELETED


// HOTKEYS
//--------------

//FIRST, WE DEFINE A KEYLIST CALLED MYLIST INSTEAD OF USING HOTKEYS

<KeyList MyList A-Z, 0-9, Period, Comma, Oem1, Oem2, NumPad0-Numpad9, NumPadEnter, F2-F12, Esc except W, A, S, D, J, Q, E, X>

// F1 HAS BEEN DELETED FROM THE LIST SINCE IT'S ALREADY DEFINED. Q, E AND X HAVE BEEN ADDED TO THE EXCLUDE


// NOW WE CAN DEFINE THE HOTKEYS AND MODIFIERS USING THE KEYLIST INSTEAD OF MAKING A WHOLE LIST FOR EACH MODIFIER

<Hotkey ScrollLockOn MyList; ScrollLockOn Shift MyList>
<SendLabel w1, w2, w3>
<Key %Trigger%>


//---------------
// DEFINE MOVEMENT KEYS THAT WILL GET SENT TO BOTH WOW'S.
// ADD MORE KEYS IF YOU WANT.
//---------------

// SPACE AND X ADDED TO THE MOVEMENT KEYS. ADD Q AND E IF YOU WANT THOSE KEYS TO PASS TO SLAVES FOR STRAFING.

<MovementHotkey ScrollLockOn up, down, left, right, space, X>
<SendLabel w1, w2, w3>
<Key %Trigger%>

// USE PAUSE TO TOGGLE BROADCASTING ON AND OFF WHEN TYPING IN THE CHAT WINDOW OR ANYTIME YOU DON'T WANT EVERYONE RESPONDING TO

KEYSTROKES.

//------------------
//TOGGLE HKN MUTE
//------------------
<hotkey Pause>
<sendpc local>
<ToggleHotkeys>


//-----------------------------------------------------------
// 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>
<ClickMouse %TriggerMainKey%>

// SPACE DELETED BECAUSE IT SHOULD BE DEFINED IN MOVEMENTHOTKEY

This is what I've changed so far, which results in a ton of errors on the HKN client.


//-----------------------------------------------------------
// PRESS CTRL R TO RENAME WOW'S IF YOU LAUNCH THEM MANUALLY.
//-----------------------------------------------------------
<Hotkey ScrollLockOn Ctrl R>
<SendPC local>
<RenameWin "World of Warcraft" WoW1>
<RenameWin "World of Warcraft" WoW2>
<RenameWin "World of Warcraft" WoW3>
<RenameWin "World of Warcraft" WoW4>

// SET PIP CONFIGURATION
// Usage: <SetPip BigWindowName LittleWindowName>
// This command is called by <Hotkey F1> which is defined below.
//-------------
<Command SetPip>
<TargetWin %2%>
<SetWinSize 600 300>
<SetWinPos 1300 515>
<TargetWin %3%>
<SetWinSize 600 300>
<SetWinPos 1300 215>
<TargetWin %1%>
<SetWinSize 1920 1080>
<SetWinPos 0 0>
<TargetWin %2%>
<SetForegroundWin>
<UpdateWin>
<TargetWin %3%>
<SetForegroundWin>
<UpdateWin>
<TargetWin %1%>
<SetWinRegion 1300 215 600 600>
<SetForegroundWin>
//------------
// TOGGLE PIP CONFIG WITH HOTKEY
//------------
<Hotkey ScrollLockOn F1>
<Toggle>
<SetPip WoW1 WoW2 WoW3 WoW4>
<Toggle>
<SetPip WoW2 WoW1 WoW3 WoW4>
<Toggle>
<SetPip WoW3 WoW1 WoW2 WoW4>
<Toggle>
<SetPip WoW4 WoW1 WoW2 WoW3>

// SUBROUTINE TO LAUNCH AND RENAME A COPY OF WOW.
//---------
<Command LaunchAndRename>
<SendPC %1%>
<Run "F:\Program Files (x86)\World of Warcraft\World of Warcraft\_retail_\WoW.exe">
<RenameTargetWin %2%>
<RemoveWinFrame>


//----------
// HOTKEY TO LAUNCH AND RENAME BOTH WOW'S.
//----------
<Hotkey ScrollLockOn Alt Ctrl L>
<LaunchAndRename Local WoW1>
<RemoveWinFrame>
<LaunchAndRename Local WoW2>
<RemoveWinFrame>
<LaunchAndRename Local WoW3>
<RemoveWinFrame>
<LaunchAndRename Local WoW4>
<RemoveWinFrame>
<SetPip 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>

// HOTKEYS
//--------------

//FIRST, WE DEFINE A KEYLIST CALLED MYLIST INSTEAD OF USING HOTKEYS

<KeyList MyList A-Z, 0-9, Period, Comma, Oem1, Oem2, NumPad0-Numpad9, NumPadEnter, F2-F12, Esc except W, A, S, D, J, Q, E, X>

// F1 HAS BEEN DELETED FROM THE LIST SINCE IT'S ALREADY DEFINED. Q, E AND X HAVE BEEN ADDED TO THE EXCLUDE


// NOW WE CAN DEFINE THE HOTKEYS AND MODIFIERS USING THE KEYLIST INSTEAD OF MAKING A WHOLE LIST FOR EACH MODIFIER

<Hotkey ScrollLockOn MyList; ScrollLockOn Shift MyList>
<SendLabel w1, w2, w3, w4>
<Key %Trigger%>


//---------------
// DEFINE MOVEMENT KEYS THAT WILL GET SENT TO BOTH WOW'S.
// ADD MORE KEYS IF YOU WANT.
//---------------

// SPACE AND X ADDED TO THE MOVEMENT KEYS. ADD Q AND E IF YOU WANT THOSE KEYS TO PASS TO SLAVES FOR STRAFING.

<MovementHotkey ScrollLockOn up, down, left, right, space, X>
<SendLabel w1, w2, w3, w4>
<Key %Trigger%>

// USE PAUSE TO TOGGLE BROADCASTING ON AND OFF WHEN TYPING IN THE CHAT WINDOW OR ANYTIME YOU DON'T WANT EVERYONE RESPONDING TO

KEYSTROKES.

//------------------
//TOGGLE HKN MUTE
//------------------
<hotkey Pause>
<sendpc local>
<ToggleHotkeys>


//-----------------------------------------------------------
// 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%>

This section is the area I think I don't understand.


// SET PIP CONFIGURATION
// Usage: <SetPip BigWindowName LittleWindowName>
// This command is called by <Hotkey F1> which is defined below.
//-------------
<Command SetPip>
<TargetWin %2%>
<SetWinSize 600 300>
<SetWinPos 1300 515>
<TargetWin %3%>
<SetWinSize 600 300>
<SetWinPos 1300 215>
<TargetWin %1%>
<SetWinSize 1920 1080>
<SetWinPos 0 0>
<TargetWin %2%>
<SetForegroundWin>
<UpdateWin>
<TargetWin %3%>
<SetForegroundWin>
<UpdateWin>
<TargetWin %1%>
<SetWinRegion 1300 215 600 600>
<SetForegroundWin>

I know this is something simple but I can't figure it out. What is %2%, %3%, %1%, and %4% doing exactly? Is it targetting the 1-4 in WoW1-4? Why do 2 and 3 have UpdateWin and SetForegroundWin but 1 doesn't? What I know so far is that I need to increase the size of the cut out I'm creating in the main client.

From what I understand, the code below may work, I'll test it now and keep this open in case I run into any issues.



<TargetWin %4%>
<SetWinSize 600 300>
<SetWinPos 1300 -85>
<TargetWin %4%>
<SetForegroundWin>
<UpdateWin>
<TargetWin %1%>
<SetWinRegion 1300 -85 600 600>
<SetForegroundWin>


https://www.dual-boxing.com/attachment.php?attachmentid=2140&stc=1

Above is the result of trying to use the original script, not sure what it's doing.

Also, I have learning disabilities and struggle with picking up new information so I will need extra time to understand it. I will eventually figure it out so if I ask too many questions, I'm trying to solve what's in my head in my own way.

cheese
03-13-2019, 11:02 PM
edit: I broke something, I'm give up for tonight.

https://pastebin.com/SHYN4WB5 if anyone thinks they can find the issue, I'd more than appreciate it.

Wubsie
03-15-2019, 01:02 PM
Ohoyhoy.

Took a bit since I don't use Hotkeynet anymore, but here's a slightly changed version that worked fine for me:

https://pastebin.com/BMdTdzjN


//-----------------------------------------------------------
// PRESS CTRL R TO RENAME WOW'S IF YOU LAUNCH THEM MANUALLY.
//-----------------------------------------------------------
<Hotkey ScrollLockOn Ctrl R>
<If WinSizeIs "World of Warcraft" 470 265>
<SendWinM "World of Warcraft">
<RenameWin "World of Warcraft" HiddenDialogBox>
<Else>
<RenameWin "World of Warcraft" WoW1>
<RenameWin "World of Warcraft" WoW2>
<RenameWin "World of Warcraft" WoW3>
<RenameWin "World of Warcraft" WoW4>
//-------------
// SET PIP CONFIGURATION
// Usage: <SetPip BigWindowName LittleWindowName>
// This command is called by <Hotkey F1> which is defined below.
//-------------
<Command SetPip>
<TargetWin %4%>
<SetWinSize 525 300>
<SetWinPos 1300 715>
<TargetWin %2%>
<SetWinSize 525 300>
<SetWinPos 1300 415>
<TargetWin %3%>
<SetWinSize 525 300>
<SetWinPos 1300 115>
<TargetWin %1%>
<SetWinSize 1920 1080>
<SetWinPos 0 0>
<TargetWin %2%>
<SetForegroundWin>
<UpdateWin>
<TargetWin %3%>
<SetForegroundWin>
<UpdateWin>
<TargetWin %4%>
<SetForegroundWin>
<UpdateWin>
<TargetWin %1%>
<SetWinRegion 1300 115 525 900>
<SetForegroundWin>
//------------
// TOGGLE PIP CONFIG WITH HOTKEY
//------------
<Hotkey ScrollLockOn F1>
<Toggle>
<SetPip WoW1 WoW2 WoW3 WoW4>
<Toggle>
<SetPip WoW2 WoW1 WoW3 WoW4>
<Toggle>
<SetPip WoW3 WoW1 WoW2 WoW4>
<Toggle>
<SetPip WoW4 WoW1 WoW2 WoW3>

// SUBROUTINE TO LAUNCH AND RENAME A COPY OF WOW.
//---------
<Command LaunchAndRename>
<SendPC %1%>
<Run "C:\World of Warcraft\_retail_\WoW.exe">
<wait 1500>
<RenameWin "World of Warcraft" PreDummyBox>
<RenameWin "World of Warcraft" %2%>


//----------
// HOTKEY TO LAUNCH AND RENAME BOTH WOW'S.
//----------
<Hotkey ScrollLockOn Alt Ctrl L>
<LaunchAndRename Local WoW1>
<RemoveWinFrame>
<LaunchAndRename Local WoW2>
<RemoveWinFrame>
<LaunchAndRename Local WoW3>
<RemoveWinFrame>
<LaunchAndRename Local WoW4>
<RemoveWinFrame>


//-----------
// 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>

// HOTKEYS
//--------------

//FIRST, WE DEFINE A KEYLIST CALLED MYLIST INSTEAD OF USING HOTKEYS

<KeyList MyList A-Z, 0-9, Period, Comma, Oem1, Oem2, NumPad0-Numpad9, NumPadEnter, F2-F12, Esc except W, A, S, D, J, Q, E, X>
<KeyList MyList2 A-Z, 0-9, Plus, Minus, F1-F12, NumLock, except W, A, S, D, f1, E, Q>
<Hotkey ScrollLockOn MyList; ScrollLockOn Shift MyList2>
<SendLabel w1, w2, w3, w4>
<Key %Trigger%>
// F1 HAS BEEN DELETED FROM THE LIST SINCE IT'S ALREADY DEFINED. Q, E AND X HAVE BEEN ADDED TO THE EXCLUDE




//---------------
// DEFINE MOVEMENT KEYS THAT WILL GET SENT TO BOTH WOW'S.
// ADD MORE KEYS IF YOU WANT.
//---------------
<KeyList MoveSet up, down, left, right, X, Space>
<MovementHotkey ScrollLockOn MoveSet>
<SendLabel w1, w2, w3, w4>
<Key %Trigger%>
// SPACE AND X ADDED TO THE MOVEMENT KEYS. ADD Q AND E IF YOU WANT THOSE KEYS TO PASS TO SLAVES FOR STRAFING.



//-----------------------------------------------------------
<Hotkey ScrollLockOn Alt LButton, MButton, RButton, Button4, Button5>
<SendLabel w1, w2, w3, w4>
<ClickMouse %TriggerMainKey%>
//-----------------------------------------------------------


// USE PAUSE TO TOGGLE BROADCASTING ON AND OFF WHEN TYPING IN THE CHAT WINDOW OR ANYTIME YOU DON'T WANT EVERYONE RESPONDING TO KEYSTROKES.

//------------------
//TOGGLE HKN MUTE
//------------------
<hotkey Pause>
<sendpc local>
<ToggleHotkeys>


//-----------------------------------------------------------
// 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%>

Here's it working just fine for me with 4 clients. Swapping seems to work too.

https://youtu.be/0i2-CFbDlUg

Seems to me the issue was relating to the hidden windows that open with every single instance of WoW nowadays. I believe your script was trying to place those in to the PiP fields instead of the actual game clients. I could be wrong though, but whatever it is, I seem to have fixed it.

Remember to change the WoW path back to match your installation.

PS. There were some dual definitions for hotkeys and movement hotkeys. I got rid of those. Hopefully there wasn't anything else you specifically made in those definitions. :3