• 2008-06-27 12:03:09
  • Vega

AHK scriptek online pókerhez

Néhány rendkívül hasznos AHK script rövid ismertetője, melyek nagy segítséget nyújtanak az online játékban.

Party Cashgame Tools

Gyakorlatilag nélkülözhetetlen kelléke minden Party Pokeren komolyabban pénzes játékot űző számára.

Főbb funkciók:

- Lobby Lock - a Party Poker új asztal megnyitásakor minimalizálja a lobbyt, ami ha több asztalon játszunk és egymás után több helyre szeretnénk beülni, igen idegesítő. Ez a funkció automatikusan visszahozza a lobbyt új asztal megnyitása után.

- a „várj a nagyvakra” és vak berakás opciók automatikus kipipálása (ez utóbbi egy gombbal kikapcsolható minden asztalon mikor épp készülünk kiszállni a játékból)

- Auto rebuy to maximum funkció kipipálása

- Verseny hirdetések és egyéb felugrók automatikus bezárása

- Chat ablak(ok) részleges vagy teljes eltüntetése - ez a különféle HUD-okat használók számára különösen hasznos funkció, rengeteg helyet szabadít fel ahova statisztikát lehet pakolni.

- Biztos elhagyod-e az asztalt kérdésre auto „ok”-ot nyom

- Hotkey rendelés pár fontos dologhoz: maxra feltöltés, minden asztalnál kiülés, asztalok elhagyása, check/fold kipipálása, autopost off minden asztalon

A legtöbb fent felsorolt dolog apróság, ám összeadva rengeteg időt és energiát lehet megspórolni mikor az ember sok asztalon játszik.

A funkciók beállításai egy egyszerű, jól átlátható grafikus felületen változtathatóak.

Javaslom mindenkinek ennél (és igazából minden más scriptnél), hogy éles használat előtt játékpénzes asztalon próbálja ki, hogy pontosan mire is számíthat.

Letöltés és egyéb infók.

Stars Planner

PokerStarson működő script.

Számos a Party Cashgame Toolsban látott funkciókhoz hasonló szolgáltatást nyújt és pár teljesen újat.:

- Lobby minimalizálás visszavonása új aszalra való beüléskor

- Auto Post kipipálása minden asztalon

- Kiülés minden asztalon

- Automatikus buyin a szék kiválasztása után

A legfontosabb funkció pedig:

- Megtanítható az asztalok pozíciójára és méretére, majd ezt követően képes az újonnan nyíló asztalokat automatikusan helyére rakni és átméretezni.

Részletes leírás és beállítási instrukciók itt.

Hasonló, Party Pokerhez írt szoftver a Part Planner. Aki Full Tilt Pokerhez szeretne hasonlót, annak a Full Tilt Planner javasolt.

Bet Pot

Rendkívül hasznos script, különösen azért mert a legtöbb hasonló shortcut jellegű scripttel szemben a Betpot elsősorban az egérgombok használatára van optimalizálva. Használata mellett a játék vezérlése a megszokott módon működik az egér segítségével, az egyetlen adalék, hogy a középső és a jobboldali egérgomb révén könnyedén lehet teljes vagy részleges potot emelni, hogy éppen mekkorát az aktuális utcánként állítható.

Alap beállítások mellett ez a következőképpen néz ki:

Preflop a középső gomb (görgő) teljes, a jobb oldali gomb szintén teljes potot emel.

Flopon a középső gomb (görgő) teljes, a jobb oldali gomb ¾ potot emel.

Turnön a középső gomb (görgő) 3/4, a jobb oldali gomb 2/3 potot emel.

Riveren a középső gomb (görgő) 2/3, a jobb oldali gomb fél potot emel.

A görgő fel-le mozgatásával + vagy - egy nagyvakot adhatunk az emelés összegéhez.

Valamennyi érték állítható, csakúgy mint pár más dolog (összeg kerekítés, automatikus tét megtétel), sajnos nem grafikus felületen, hanem a script szerkesztésével.

Az ezzel kapcsolatos információkat az script oldalán lehet áttanulmányozni.

A Betpot számos termem szoftverét támogatja, ám a különböző termeket különböző mértékben és bizonyos feltételek mellett csak. Erről pontosabban szintén a Betpot oldalán lehet olvasni.

Egy alternatív Bet Pot script iPoker-hez itt.

HH-viewer

Kis kiegészítés a Full Tilten játszóknak.

A Full Tilten a Last Hand gomb megnyomásával egy grafikus felületen megjelenik a legutolsó leosztásunk végeredménye, közös kártyák és mutatott lapok. Azonban ha részletekre lennénk kiváncsiak a lejátszásból (mikor ki emelt, stb) ahhoz az aprócska chat ablakban mutatott hand historyt kell átnyálazni, ami nem túl kényelmes.

A HH-viewer a Last Hand használatakor nyit egy extra ablakot, ahol nagyobb méretben és a kártyák grafikus megjelenítésével sokkal könnyebben át lehet tekinteni a leosztás menetét.

Egyszerű script, de annak aki játék közben szeret ránézni a leosztásnaplóra, kötelező darab.

Ajánlom még Zax cikkét az AutoHotkeyról.

Vega

Pontok: 4.5 (pontozók száma: 34)
    AHK scriptek online pókerhez
    124
    2012-12-24 20:33
    Kellemes ünnepeket neked, ott a ködös Albionban. :)
    123
    2012-12-24 11:10
    Akkor nem vagyok egyedül,hálisten!
    122
    2012-12-24 10:04
    De jo lenne egy szot erteni amirol beszelgettek,de addig is minden jot kivanok draga baratom!
    121
    2012-12-24 02:53
    Na meg van a baj, vagyis a megoldás. Töltöttem le legújabb http://www.autohotkey.com/ innen. Majd rendszergazdaként futtattam a scriptemet és jó lett. De már mindent kipróbáltam. HMm2-vel sem ment amint ment a hud.
    120
    2012-12-23 20:13
    Megnézem ha lesz egy kis időm, de amit elsőként ellenőriznék, hogy tuti jó ablakba megy-e a click.
    Lehet a mousgetpos a HUDot találja meg, így oda megy a kattintás.
    Próbáld ki a controlclicket közvetlen egy asztalra paraméterezni, úgy működik-e? Ha igen, nincs gond, ha nem akkor gondolkodnom kell. :)
    119
    2012-12-23 15:43
    Szia!

    Gyakorlatilag semmi nem megy ha elindul a hud a PT4ben. Addig jók a kódok. Próbáltam a bwinen az újon ott nem ment, meg a 888-on. De régebben használtam a partyn ott ment meg kb minden teremben eddig soha nem volt ilyen hogy ne menjen semmi a huddal, vagyis nem befolyásolta soha az ahk működését.
    Most ezt írtam a 888-ra, de semmi. De a legegyszerűbb key mapping sem megy a::B, egy sima ControlClick vagy MouseClick sem. Mindent kipróbáltam. Az a baj hogy ez nekem nagyon fontos nem szeretnék emiatt HM2-öt venni, ha azzal egyáltalán működik.

    SetTimer, AutoFocusTimer, 50 ;Set Autofocus Timer

    #SingleInstance, Force
    #NoEnv
    SetTitleMatchMode, 2
    SetControlDelay -1


    AutoFocusTimer:
    MouseGetPos, , , Id
    WinGetClass class, ahk_id %id%
    If class != #32770

    Suspend on
    If class = #32770

    Suspend off
    return


    ;Fold
    ~Tab::
    MouseGetPos,,, MouseOverTableId
    IfWinNotActive, ahk_id%MouseOverTableId%
    WinActivate, ahk_id%MouseOverTableId%
    ControlClick, X295 Y405, ahk_id %MouseOverTableId%, , , , NA Pos
    Sleep, 5
    ControlClick, X271 Y379, ahk_id %MouseOverTableId%, , , , NA Pos
    szamol(0,0)
    return


    ;Check
    ~q::
    ControlSend,,{F6}, ahk_id %Id%
    szamol(0,0)
    return

    ;Bet
    ~XButton1::
    ControlSend,,{F7}, ahk_id %Id%
    szamol(0,0)
    return

    szamol(X,Y){
    static klikkCount := 4
    static bet := 0
    if(Y == 0){
    klikkCount := 4
    bet := 0
    }else if(Y == 1){
    klikkCount := klikkCount + X
    if(klikkCount>20){
    string := klikkCount * 0.2-2
    }else{
    string := klikkCount * 0.1
    }
    return string
    } else if(Y == 2){
    if(bet == 0){
    bet := X
    if (bet >= 3){
    klikkCount := (bet + 2) / 0.2
    }else{
    klikkCount := bet / 0.1
    }
    }else if(bet == 1){
    bet := 10 + x
    klikkCount := (bet + 2) / 0.2
    }else if(bet == 2){
    bet := 20 + X
    klikkCount := (bet + 2) / 0.2
    }else{
    bet := X
    if (bet >= 3){
    klikkCount := (bet + 2) / 0.2
    }else{
    klikkCount := bet / 0.1
    }
    }
    if(klikkCount == 0){
    klikkCount := 4
    }
    return bet
    }
    }
    ~WheelDown::
    My := szamol(-1,1)
    MouseGetPos,,, MouseOverTableId
    IfWinNotActive, ahk_id%MouseOverTableId%
    WinActivate, ahk_id%MouseOverTableId%
    ControlClick, X607 Y425, ahk_id %MouseOverTableId%, , , , NA Pos
    ;MouseClick, left, 607,425,2,0
    Send +{BS 10}
    Send %My%
    return


    ~WheelUp::
    My := szamol(1,1)
    MouseGetPos,,, MouseOverTableId
    IfWinNotActive, ahk_id%MouseOverTableId%
    WinActivate, ahk_id%MouseOverTableId%
    ControlClick, X607 Y425, ahk_id %MouseOverTableId%, , , , NA Pos
    ;MouseClick, left, 607,425,2,0
    Send +{BS 10}
    Send %My%
    return

    ~LButton::
    szamol(0,0)
    return


    ~0::
    My := szamol(0,2)
    MouseGetPos,xpos,ypos,MouseOverTableId
    IfWinNotActive, ahk_id%MouseOverTableId%
    WinActivate, ahk_id%MouseOverTableId%
    ;ControlClick, X607 Y425, ahk_id %MouseOverTableId%, , , , NA Pos
    MouseClick, left, 607,425,2,0
    Send +{BS 10}
    Send %My%
    MouseMove,%xpos%,%ypos%,0
    return

    ~1::
    My := szamol(1,2)
    MouseGetPos,xpos,ypos,MouseOverTableId
    IfWinNotActive, ahk_id%MouseOverTableId%
    WinActivate, ahk_id%MouseOverTableId%
    ;ControlClick, X607 Y425, ahk_id %MouseOverTableId%, , , , NA Pos
    MouseClick, left, 607,425,2,0
    Send +{BS 10}
    Send %My%
    MouseMove,%xpos%,%ypos%,0
    return

    ~2::
    My := szamol(2,2)
    MouseGetPos,xpos,ypos,MouseOverTableId
    IfWinNotActive, ahk_id%MouseOverTableId%
    WinActivate, ahk_id%MouseOverTableId%
    ;ControlClick, X607 Y425, ahk_id %MouseOverTableId%, , , , NA Pos
    MouseClick, left, 607,425,2,0
    Send +{BS 10}
    Send %My%
    MouseMove,%xpos%,%ypos%,0
    return

    ~3::
    My := szamol(3,2)
    MouseGetPos,xpos,ypos,MouseOverTableId
    IfWinNotActive, ahk_id%MouseOverTableId%
    WinActivate, ahk_id%MouseOverTableId%
    ;ControlClick, X607 Y425, ahk_id %MouseOverTableId%, , , , NA Pos
    MouseClick, left, 607,425,2,0
    Send +{BS 10}
    Send %My%
    MouseMove,%xpos%,%ypos%,0
    return


    ~4::
    My := szamol(4,2)
    MouseGetPos,xpos,ypos,MouseOverTableId
    IfWinNotActive, ahk_id%MouseOverTableId%
    WinActivate, ahk_id%MouseOverTableId%
    ;ControlClick, X487 Y450, ahk_id %MouseOverTableId%, , , , NA Pos
    MouseClick, left, 607,425,2,0
    Send +{BS 10}
    Send %My%
    MouseMove,%xpos%,%ypos%,0
    return

    ~5::
    My := szamol(5,2)
    MouseGetPos,xpos,ypos,MouseOverTableId
    IfWinNotActive, ahk_id%MouseOverTableId%
    WinActivate, ahk_id%MouseOverTableId%
    ;ControlClick, X487 Y450, ahk_id %MouseOverTableId%, , , , NA Pos
    MouseClick, left, 607,425,2,0
    Send +{BS 10}
    Send %My%
    MouseMove,%xpos%,%ypos%,0
    return

    ~6::
    My := szamol(6,2)
    MouseGetPos,xpos,ypos,MouseOverTableId
    IfWinNotActive, ahk_id%MouseOverTableId%
    WinActivate, ahk_id%MouseOverTableId%
    ;ControlClick, X487 Y450, ahk_id %MouseOverTableId%, , , , NA Pos
    MouseClick, left, 607,425,2,0
    Send +{BS 10}
    Send %My%
    MouseMove,%xpos%,%ypos%,0
    return

    ~7::
    My := szamol(7,2)
    MouseGetPos,xpos,ypos,MouseOverTableId
    IfWinNotActive, ahk_id%MouseOverTableId%
    WinActivate, ahk_id%MouseOverTableId%
    ;ControlClick, X487 Y450, ahk_id %MouseOverTableId%, , , , NA Pos
    MouseClick, left, 607,425,2,0
    Send +{BS 10}
    Send %My%
    MouseMove,%xpos%,%ypos%,0
    return

    ~8::
    My := szamol(8,2)
    MouseGetPos,xpos,ypos,MouseOverTableId
    IfWinNotActive, ahk_id%MouseOverTableId%
    WinActivate, ahk_id%MouseOverTableId%
    ;ControlClick, X487 Y450, ahk_id %MouseOverTableId%, , , , NA Pos
    MouseClick, left, 607,425,2,0
    Send +{BS 10}
    Send %My%
    MouseMove,%xpos%,%ypos%,0
    return

    ~9::
    My := szamol(9,2)
    MouseGetPos,xpos,ypos,MouseOverTableId
    IfWinNotActive, ahk_id%MouseOverTableId%
    WinActivate, ahk_id%MouseOverTableId%
    ;ControlClick, X487 Y450, ahk_id %MouseOverTableId%, , , , NA Pos
    MouseClick, left, 607,425,2,0
    Send +{BS 10}
    Send %My%
    MouseMove,%xpos%,%ypos%,0
    return
    118
    2012-12-23 05:27
    Mutass kódot, anélkül nem lehet semmi okosat mondani.
    117
    2012-12-23 04:59
    Na kiderült azóta hogy semmilyen teremben nem jó az ahk-m ha van PT4-en hud, ha nem megy a PT4 akkor jó. Már a gépet is újra raktam, nagyon idegesít. Ha van valaki akinek megy az ahk scriptje PT4 mellett, az szóljon már hogy tudjam hogy van remény csak meg kell találni a hibát. Kérném azt is írja le hogy milyen verziójú PT4-et használ? Milyen teremben játszik! Köszi!
    116
    2012-12-19 00:27
    Sziasztok!

    Olyan problémám adódott, hogy az új bwinen nem megy az ahk scriptem, ha be van kapcsolva a PT4 és van hud, amint kikapcsolom a hudod abban a pillanatban megy és telesen jól működik. Nem értem mi lehet az oka! Aki tud esetleg segíteni annak nagyon hálás lennék! :)
    115
    2012-07-26 22:52
    Nem játszom ongame-n, így nincs. De relative jó esély van rá, hogy a 112-es hszólásban lévő kód a megfelelő átalakításokkal (ablak neve, mérete) működne.
    114
    2012-07-26 10:32
    Vega mester!
    Az ongame fulugro ablakaira van scripted? :D
    113
    2012-06-05 02:26
    Nagy hála és köszönet érte. Hamarosan tesztelem!

    U.I.: Úgy tűnik, ezzel a hozzászólással lettél Pooh-Bah. Gratz!
    ----------

     

    112
    2012-06-05 01:14
    Nem működik, nincs neve a gomboknak.
    Kellett egy kis pihenés saját script írásban, így ránéztem a Pacificre. Itt a teljes script ami minden SNG üzenet ablakot bezár (amit láttam), kivéve az unreg igen/nem-et. Ez garantáltan a legegyszerűbb megoldás.

    #Persistent
    #SingleInstance Force
    SetTitleMatchMode 2


    settimer, wincloser, 50
    Return

    wincloser:
    IfWinNotActive ahk_class #32770 ; ha tuti nem Pacific ablak, ne csináljon semmit
    return

    WingetActiveTitle, title
    WinGetPos X, Y, Width, Height, A

    Ifinstring title, Tournament Registration ; regisztrációs ablak
    ControlClick, X200 Y200, %title%, , , , NA Pos ; klikk a regisztráció gombra

    Ifinstring title, Tournament ID
    {
    If height = 234 ; sikeres reg ablak
    ControlClick, X170 Y200, %title%, , , , NA Pos ; klikk OK gomb

    If height = 218 ; unreg ablak
    Return ; ne csináljon semmit

    If height = 266 ; sikeres unreg ablak
    ControlClick, X160 Y230, %title%, , , , NA Pos ; klikk OK gomb
    }

    Ifinstring title, User Message ; SNG indulás utáni ablak
    {
    If height = 186 ; ültetés utáni ablak
    ControlClick, X160 Y150, %title%, , , , NA Pos ; klikk az OK gombra

    If height = 250 ; gratuláló, nyertél ablak
    ControlClick, X160 Y210, %title%, , , , NA Pos ; klikk az OK gombra
    , , NA Pos ; klikk OK gomb
    }

    Ifinstring title, Member Message ; akarsz-e újabb SNG regisztrálni
    {
    If height = 218 ; SNG vége xy helyezést értél el
    ControlClick, X160 Y180, %title%, , , , NA Pos ; klikk az OK gombra
    else
    ControlClick, X230 Y215, %title%, , , , NA Pos ; klikk a nem gombra
    ;ControlClick, X95 Y215, %title%, , , , NA Pos ; klikk az igen gombra
    }
    Return

    Edit: Mert tényleg rettentő sokféle méretű ablak van.
    111
    2012-06-05 00:38
    Ok, köszönöm a segítséget, asszem a winget/controllist-tel fogok próbálkozni.
    ----------

     

    110
    2012-06-05 00:12
    Ha van a buttonoknak neve az a window spyban látszik, illetve a WinGet-tel kérhetsz egy listát. Paci esetén nem tudom van-e neve a gomboknak, de vszínű nincs.

    A legszebb kód a legegyszerűbb, így ha a controlclick működik én a helyedben annál maradnék. Ha pl nem mindig egyforma az ablakméret ott már bonyolódik, de még mindig nem vészes.

    Gyakorlatilag egyetlen sorral bővül a kód. Pixelsearch a megfelelő színre. (vagy ebben az esetben lehet jobb, ha csináljsz egy screenshotot a kívánt gombról és imagesearch), az általa meghatározott koordinátát meg átadod a controlclicknek.

    Ezek alapvető parancsok, ráadásul nagyon gyorsak, egy átlag pixelsearch (főleg fast paraméterrel) 1-2 milliszekundum alatt megtörténik ilyen méretű ablaknál.
    Ha overkillt akarsz akkor GDI+ library, ott már találsz bonyolult dolgokat is. :)
    109
    2012-06-04 23:44
    Pacificpoker, és a tipikus sng ablakokat akarom kilőni. A koordinátás megoldás megvan, de szebbet akarok. Az van, hogy "User Message" és "Tourney ID..." ablakok vannak, de nem mindig ugyanolyan nagyok, és néha ok/cancel van. Mindegy, megoldottam (a "ControlClick , OK" sorral), a pixelsearch v méret olvasás overkillnek tűnik, de lehet, hogy rákényszerülök majd. Amire én gondoltam, az a Button1, Button2 "izékhez" kapcsolódna, amit beolvasok, és ha nincs Button2, akkor megnyomja, de nem bírtam kiguglizni, és lehet, hogy valamit benéztem. Most teljesen jól működik, csak annyi, hogy ha unregisztrálok, akkor az ok/cancel-ből rögtön leokézza, ez perpill nem zavar, de később, ha esetleg fejlesztek, akkor zavarni fog az ilyen "maradvány", nem szép így.
    ----------

     

    108
    2012-06-04 23:23
    Ha ez bonyolult volt, bajban vagy...
    Ha póker kliensről beszélünk (abból amit írtál gondolom ipoker kliens) nincs egyszerű módja az ablakok megkülönböztetésének, de van nagyjából 5 tényleg bonyolult. Amit írtam meg se közelítette azokat.

    Még egyszer, nagyon egyszerűen:
    Ha az ablak mérete 402x265 (ipoker), klikkelj a 201-es x koordinátára. Ha csak OK gomb van, megnyomja azt, ha YES/NO gombok nem történik semmi mert a két gomb közé kattint.

    Ennyi:
    ControlClick, X201 Y250, A, , , , NA Pos

    Ha tudod az ablak nevét az "A" paramétert írd át arra.
    További segítséget a paranccsal kapcsolatban az ahk oldal helpjében találsz.
    107
    2012-06-04 22:39
    Ez így nagyon bonyolult. Biztos van mód arra, hogy megállapítsam, hogy egy ablaknak csak egy gombja van, csak még nem jöttem rá. Azért köszi.
    ----------

     

    106
    2012-06-04 19:35
    Ha sehogy nem tudod megkülönböztetni az ablakokat egymástól (pl méret alapján), akkor a legegyszerűbb ha mindenképp kattintasz, de olyan koordinátákra ami ha csak egy gomb van (ok) arra kattint, ha kettő van, sehova. Ez általában a két gombos ablak közötti mező.

    (Egyik) alternatív megoldás ha pixelsearch segítségével kideríted hol van(nak) a gomb(ok).
    105
    2012-06-04 19:01
    Hogy tudom megállapítani, hogy egy felugró ablaknak csak egy gombja (általában "OK") van? Le tudom okézni, de akkor is okéz, ha van másik gomb is (általában "Cancel"), és azt nem akarom. Köszi.
    ----------