Close
Page 2 of 2 FirstFirst 1 2
Showing results 11 to 15 of 15

Thread: Window ID's

  1. #11

    Default

    Quote 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]
    [align=center]Quad Core 2 Extreme 3.0Ghz @ 3.2Ghz 1600Mhz FSB[/align]
    [align=center]4x 160GB SATA II -- 0+2(Raid0), 1+3(Raid0)
    4GB DDR2 1066 (5-5-5-15) -- 2x Palit 9600GT 512MB
    2x 28" Hanns-G 281 @ 1920x1200
    Vista 32 Bit Ultimate
    [/align]
    [align=center]<Hells Heroes> (US-Tich [Horde])
    Donilli, Donilil, Doniill, Doniili[/align]

  2. #12

    Default

    I am just nitpicking about WinGet. Creating 5 windows, calling WinGet and making an assumption about the order in which it returns the window IDs just makes me feel slightly uncomfortable. However, if it works it works. I just proposed a solution that does not depend on any assumptions and that I feel more comfortable with.

    From the Maximizer code it looks like they manipulate the WoW window using SetWindowLong and SetWindowPos. These API methods can be called from AHK using DllCall so theoretically we should be able to do in an AHK script what Maximizer currently does.

    The only "gotcha" with SetWindowLong and SetWindowPos is that it is ignored unless the windows are part of the same process which is probably why Maximizer launches your WoW for you. I am not sure if this will be an issue with AHK but I doubt it as there are numerous AHK script examples where SetWindowLong and SetWindowPos is used.
    The Orcks of War
    Shaman Borck Zorck Dorck Porck Corck
    Mixed Team - Msblonde - Mswhite - Msblack - Msred - Msbrown -

  3. #13

    Default

    Well, I figured it out. I now have an all AHK solution to retrive the PID's (without WinGet), as well as to completely avoid maximizer. All without the need for any dll calls.

    the code will be put out once i clean it all up, make it able to be extremely easily adjusted for different setups. some of the features to be included:

    - compatibility for different # of clones
    - different regions and layout presets
    - custom layouts
    - PiP (overlays, though i havent decided method theres 2 different ways to do it)
    - automatic send error and restart errored out wow (and correctly place it reguardless of any region swaps) (this will take a bit longer to create as i need to have wow crash on me to get all the correct information)

    theres still a lot of things i want to get into it, but i hope this becomes usefull
    [align=center]Quad Core 2 Extreme 3.0Ghz @ 3.2Ghz 1600Mhz FSB[/align]
    [align=center]4x 160GB SATA II -- 0+2(Raid0), 1+3(Raid0)
    4GB DDR2 1066 (5-5-5-15) -- 2x Palit 9600GT 512MB
    2x 28" Hanns-G 281 @ 1920x1200
    Vista 32 Bit Ultimate
    [/align]
    [align=center]<Hells Heroes> (US-Tich [Horde])
    Donilli, Donilil, Doniill, Doniili[/align]

  4. #14

    Default

    First post modified with current script, all is currently is figuring out is how many and and screen positions
    this does not have the full functionality, as currently it only has ability for 1, 2, and partial 3 instance split
    [align=center]Quad Core 2 Extreme 3.0Ghz @ 3.2Ghz 1600Mhz FSB[/align]
    [align=center]4x 160GB SATA II -- 0+2(Raid0), 1+3(Raid0)
    4GB DDR2 1066 (5-5-5-15) -- 2x Palit 9600GT 512MB
    2x 28" Hanns-G 281 @ 1920x1200
    Vista 32 Bit Ultimate
    [/align]
    [align=center]<Hells Heroes> (US-Tich [Horde])
    Donilli, Donilil, Doniill, Doniili[/align]

  5. #15

    Default

    Nice!
    All my codes r belong to you: wow5box

Similar Threads

  1. bartender 4 button id's?
    By Jubber in forum Macros and Addons
    Replies: 3
    Last Post: 06-18-2009, 11:39 AM
  2. BUG - Losing a window and/or window freeze's
    By Ualaa in forum Software Tools
    Replies: 1
    Last Post: 10-27-2008, 08:18 AM
  3. Replies: 2
    Last Post: 07-05-2008, 03:16 PM
  4. Keyclone - Switch Main window with Slave Window
    By Dinnie in forum New Multi-Boxers & Support
    Replies: 3
    Last Post: 07-03-2008, 11:09 AM
  5. Moused over Window Becomes Target Window?
    By Silly Gooooose in forum Software Tools
    Replies: 5
    Last Post: 03-12-2008, 03:43 PM

Posting Rules

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