
Originally Posted by
Chorizotarian',index.php?page=Thread&postID=54034# post54034]With this approach do you have to shut down all of your copies of WoW if you want to make a change to your AHK script? It would be nice if the script checked to see if a given copy was already running and, if so, skipped re-launching it.[/quote]
The nearest way i've figured out so far is to re-title it, and that crosses that line where you are modifying wow... i don't wan't to cross that line, so i won't... still working on a solution.
[quote='thinus
My current script also doesn't care about who is main and who is not. I have two broadcast methods, one of them will broadcast to all sessions, the other will only broadcast to the non-active sessions. In other words, I didn't care who the current main was.
However, what you are trying to do and what I am working on requires knowledge of which WoW session is the main and which are clones. The script also needs to keep track of which clone is which if you want it to affect your formations or moving/sizing of individual windows and switching mains. Even re-launching a specific session requires knowledge of which session is which. You are relying on the order of the IDs retrieved by WinGet and you are welcome to. I merely presented an alternative that does not rely on WinGet. Removing dependancies is a good thing.
So far, this is exactly what my script does; it sends to all non-active windows. It does this a different method, it does this because it's more efficient to know what ones to send to and just send it than check if it's inactive (4 times, one for each window) for every keystroke. This way you only change the way it sends if you call for it to, the inherant problem atm is that if you don't tell it to re-order the list, and you click another window and start pressing keys (other than the change commands) you will have 1 window recieve none, and another window recieve twice the ammount.
I would love to see a way to exclude maximizer, and take off the borders to the windows and place them. My problem with moving them is more that I have to move my mouse around two 28" monitors, and if they swap places (which is nice mind you) I then have to move the mouse all the way back... which tends to waste time in pvp.
I tend to differ from the idea of removing dependancies, as even if i were capable of skipping maximizer i would simply use the PID variables allowed in the run command to verify and reorg the initial list. There is a reason that DLL librarys are made, and theres a reason that wow is dependant on directX. Rewriting all the code is inefficient from a time standpoint, let alone the fact that in this case the WinGet command is compiled and probably written more efficiently than any scripting.
I don't mean to be battleing you on this, moreso you have more time and knowledge of the scripting language than I. I'm just trying to solve the problem and refine my setup to act the way I want it to. If others find it usefull (and I hope they do) great! I intend to have it fully commented and simple when i'm done, with the largest part of modification being someone commenting out the extra toons, or uncommenting the ones they need.
Theres a few other things I'm trying to put in there, specifically something I miss from AO... numpad camera control. I intend to put a small twist on it tho, by setting up a baseline placement for the cameras (one facing front, one left, one back, and one right) that would be bound to the Numpad5 key (an easy reset if things get screwy); then by using the 2,4,8,6 numpad keys be able to adjust the cameras all at once. This way a 4 boxer has 360 deg coverage and easy camera movement. Numpad - and + would be distance modifiers.
[align=left]The formation movement at this point is easy. Goes something like this:
Code:
^!x down::
{
; Line Formation Downpress
ControlSend, , {q down}, ahk_id %WoWinId2% ; Move Fast Left
ControlSend, , {/ down}{/ up}{e down}, ahk_id %WoWinId3% ; Move Slow Right
ControlSend, , {/ down}{/ up}{q down}, ahk_id %WoWinId4% ; Move Slow Left
ControlSend, , {s down}, ahk_id %WoWinId1% ; Move Back
}
^!x up::
{
; Line Formation Release
ControlSend, , {q up}, ahk_id %WoWinId2% ; Move Fast Left
ControlSend, , {e up}{/ down}{/ up}, ahk_id %WoWinId3% ; Move Slow Right
ControlSend, , {q up}{/ down}{/ up}, ahk_id %WoWinId4% ; Move Slow Left
ControlSend, , {s up}, ahk_id %WoWinId1% ; Move Back
}
Edit: Oh, right and the other fun part was doing the individual movement from any window to any other... Basically, the M3 Group of keys on the G11 are now:[/align]
[align=left]
G1...G2...G3 = Q...W...E
G4...G5...G6 = A...S...D[/align]
[align=left]All of which are modified by left ctrl, then the LCtrl Q combo sends the Q button to WoWinId2... etc...[/align]
[align=left]the other groups; G7-G12 and G13-G18 send to WoWinId3 and WoWinId4 respectivly, allowing me to hit the M3 button above them and take control of any of the 4 without moving my mouse over to them, or even moving my eyes from the main screen.[/align]
Connect With Us