AHK Table Arranger til Boss

#1| 0

Jeg har lavet et AHK script til at organisere borde på Boss. Programmet virker kun til 1920:1200 opløsning, hvor det placerer 6 borde med mindst mulig overlap i fuldskærm. Lige nu er det skrevet til Fortune, men kan bruges til alle klienter i netværket, ved at modificerer én linje i koden. Jeg poster det her for at få feedback og gode idéer til forbedringer. Det kunne feks være nice hvis programmet kunne håndtere Gametime+ halløjet, men det er vist ret omstændigt at lave.

Kode. Installer AHK, kopier nedenstående kode til filnavn.ahk,
kør scriptet med AHK og tryk Alt+P. Når du er færdig med at spille så tryk Alt+P igen, for at få start-menuen frem igen.
----------------------------------------
pokerstate = 0

!p::

if pokerstate = 0
{
DetectHiddenWindows, on
WinSet,AlwaysOnTop,off,ahk_class Shell_TrayWnd
pokerstate = 1
}
else
{
DetectHiddenWindows, on
WinSet,AlwaysOnTop,off,ahk_class Shell_TrayWnd
pokerstate = 0
exit
}

WinGet, id, list,,, Program Manager
SearchFor = - Fortune Poker
numtables = 0
Loop, %id%
{
this_id := id%A_Index%
WinGetTitle, title, ahk_id %this_id%

if (InStr(title, SearchFor) <> 0)
{
numtables++
tabletitles%numtables% := title
}
}


SysGet, Mon, Monitor, 1
if (MonRight <> 1920 OR MonBottom <> 1200)
{
MsgBox Wrong Resolution
Exit
}

Tablewidth = 806
Tableheight = 626

xoverlap := (3*Tablewidth - 1920) / 2
yoverlap := 20

Pos1x := 2*(Tablewidth - xoverlap)
Pos1y := -22
Pos2x := 2*(Tablewidth - xoverlap)
Pos2y := Tableheight + Pos1y - yoverlap
Pos3x := Tablewidth - xoverlap
Pos3y := Pos1y
Pos4x := Tablewidth - xoverlap
Pos4y := Tableheight + Pos1y - yoverlap
Pos5x := 0
Pos5y := Pos1y
Pos6x := 0
Pos6y := Tableheight + Pos1y - yoverlap

Loop, %numtables%
{
title := tabletitles%A_Index%
WinMove, %title%, , Pos%A_Index%x, Pos%A_Index%y
}
--------------------------------

13-04-2008 21:59 #2| 0

Du forhøjer chancen for at andre bidrager hvis du dokumenterer koden. Så kan man forstå scriptet, selvom man måske kun forstår 3/4 af koden.

Hvad gør <>? Dem husker jeg ikke umiddelbart at have læst noget om i API'en..
if (MonRight <> 1920 OR MonBottom <> 1200)

14-04-2008 07:16 #3| 0

Min idé var at folk kunne prøve scriptet og skrive idéer her i tråden, ikke at de nødvenigvis skulle kode selv.

<> betyder "forskellig fra", i.e. modsatte af =.

14-04-2008 18:56 #4| 0

Aaah, jeg bruger konsekvent !=.

Anyway, overvej at tilføje følgende til starten af din kode:
SetWinDelay, 0

www.autohotkey.com/docs/commands/SetWinDelay.htm

Det betyder selvfølgelig ikke det store, når scriptet bare tiler bordene, men hvis du senere udvider scriptet, så kunne det godt komme til at betyde en del.

← Gå til forumoversigtenGå til toppen ↑
Skriv et svar