#1
|
|||
|
|||
Party Clicker (New, cool AHK script)
I've only been using this script for a day, and now I don't know how I could stand playing without it before. [img]/images/graemlins/smile.gif[/img]
The main feature is to assign mouse hotkeys for (advance) action buttons in Partypoker. The corresponding action button will be clicked when you click the mouse hotkey anywhere in the active poker table window. To use it you need a mouse with at least 3 extra buttons. I have a Logitech MX1000, with the following config: - Left Horizontal Scroll: check/fold - Right Horizontal Scroll: bet/raise - Up Scroll Wheel: check/call If you have a 4th extra mouse button (I use Down Scroll Wheel) you can assign it to the "Clicker Function" in the script. This function performs various tasks depending on where you clicked - Click on Rebuy button: automatically rebuys for default amount, taking care of clicking OK button and closing dialog windows. - Click on Leave Table button: automatically leaves the table, taking care of clicking OK button and closing dialog windows. - Click in Statistics or Hand History window: moves the window to a predefined location on your screen. - Click on Square Pattern: moves table or lobby to corresponding location on screen. See script for more info. Adde |
#2
|
|||
|
|||
Re: Party Clicker (New, cool AHK script)
;;; ------------ SCRIPT STARTS HERE ------------ ;;;
/* ----------------------------------------------------------------------------------------- Party Clicker By Adde at 2+2 forums (HstreamPoker at gmail dot com) Script version: 0.11 AHK version: 1.0.43.04 ----------------------------------------------------------------------------------------- DISCLAIMER Use on your own risk. I would recommend that you try it out on micro limit or play money tables to get used to betting with mouse buttons. ----------------------------------------------------------------------------------------- ABOUT This AutoHotkey (AHK) script assigns various actions to 4 mouse buttons. The main feature is to control the (advance) action buttons in PartyPoker (Fold/Check/Bet/Raise) by clicking a mouse button anywhere in the active window. ----------------------------------------------------------------------------------------- ACTION BUTTONS Depending on what action buttons are available on the poker table, the script will try to click these, in order: CHECK/FOLD MOUSE BUTTON: 1. Check/Fold - 2. Check - 3. Fold CHECK/CALL MOUSE BUTTON: 1. Check - 2. Call BET/RAISE MOUSE BUTTON: 1. Bet - 2. Raise You need at least three extra buttons on your mouse for this to work. You would prefer a mouse with both vertical and horisontal scrolling, for instance Logitech MX1000. Since AHK has limited support for mouse hotkeys, I had to assign a keyboard commando to the horizontal scrolling buttons in mouse settings, and then assign the same commando to a hotkey in this script. To choose what mouse buttons should be used, edit settings below on this page. ----------------------------------------------------------------------------------------- CLICKER BUTTON One mouse button is assigned to a "Clicker Function" in this script. This function performs various tasks depending on where you clicked - Click on Rebuy button: automatically rebuys for default amount, taking care of clicking OK button and closing dialog windows. - Click on Leave Table button: automatically leaves the table, taking care of clicking OK button and closing dialog windows. - Click in Statistics or Hand History window: moves the window to a predefined location on your screen. - Click on Square Pattern: moves table or lobby to corresponding location on screen. ----------------------------------------------------------------------------------------- SQUARE PATTERN The Square Pattern is a pattern of 8 squares at the upper left part of poker tables and poker lobby. The 8 squares resemble a setup of two monitors.By clicking (with the Clicker Button) a square, the table/lobby will move to that position on monitor 1 or monitor 2. If you only have one monitor, edit settings below. You have to edit the PartyPoker image files to include this pattern. Image file "table.jpg" should have 8 squares at top left part, 37x37 pixels. http://img48.imageshack.us/img48/1870/table1os.jpg Image file "client_top.jpg" should have 8 squares at top left part, 27x27 pixels. http://img159.imageshack.us/img159/7...ienttop0tg.jpg More information on editing PartyPoker image files can be found here: http://www.pokermods.com ----------------------------------------------------------------------------------------- HOW TO USE IT 1. Read instructions for AutoHotkey at OverCards.com: http://overcards.com/wiki/moin.cgi/AutoHotKey 2. Edit settings here below. 3. Run the script. This will put a AHK icon in the system tray. To exit this script, right-click the icon and choose Exit. ----------------------------------------------------------------------------------------- */ ; -------------------------------------------------------------------------------------------- ; ; SETTINGS ; ; -------------------------------------------------------------------------------------------- ; These settings should be either TRUE or FALSE. prefsActivateMoveTable := TRUE ; Should poker tables be moved via Square Pattern? prefsActivateMoveLobby := TRUE ; Should poker lobby be moved via Square Pattern? prefsActivateMoveHH := TRUE ; Should Hand History window be moved when clicked? prefsActivateMoveStatistics := TRUE ; Should Statistics window be moved when clicked? prefsActivateButtonRebuy := TRUE ; Should automatic rebuy be performed when clicked? prefsActivateButtonLeave := TRUE ; Should automatic table leave be performed when clicked? prefsActivateButtonActions := TRUE ; Should action buttons be used? ; If you only have one monitor, edit this setting. prefsNumofMonitors := 2 ; Select which mouse hotkeys should be used. ; For available hotkeys, see: http://www.autohotkey.com/docs/KeyList.htm prefsHotkeyCheckFold := "^!Left" prefsHotkeyBetRaise := "^!Right" prefsHotkeyCheckCall := "WheelUp" prefsHotkeyClicker := "WheelDown" ; Select what position on screen the Hand History and Statistics windows should be moved to. ; If you only have one monitor, the x coordinate should not be more than 1600. prefsHandHistory_x := 2710 prefsHandHistory_y := 0 prefsStatistics_x := 2960 prefsStatistics_y := 0 ; -------------------------------------------------------------------------------------------- ; ; DATA (DON'T CHANGE!) ; ; -------------------------------------------------------------------------------------------- sys_PP_Title_Lobby := "PartyPoker.com: Poker Lobby" sys_PP_Title_SeatAvailable := "Seat Available" sys_PP_Title_Buyin := "Buy-In" sys_PP_Key_Buyin := "The seat has been reserved for you" sys_PP_Title_JoinWaitList := "Join Wait List" sys_PP_Title_MaxTables := "PartyPoker.com" sys_PP_Key_MaxTables := "You already have 10 tables open" sys_PP_Key_SeatReserved1 := "A seat has been reserved for you on" sys_PP_Title_AddChips := "PartyPoker.com" sys_PP_Key_AddChips := "Additional chips" sys_PP_Key_LeaveTable := "Do you really want to stand-up" ; -------------------------------------------------------------------------------------------- ; ; FUNCTIONS (DON'T CHANGE!) ; ; -------------------------------------------------------------------------------------------- BringToFront(id, title1) { Loop { WinActivate, ahk_id %id% Sleep , 200 WinGetActiveTitle , title2 if (title1 = title2) break } } ProcessCheckFold() { global prefsActivateButtonActions if (prefsActivateButtonActions = FALSE) return SetTitleMatchMode, 1 MouseGetPos, x , y , id ControlGet , flag, Visible , , AfxWnd4224 , ahk_id %id% if (flag = FALSE) goto BtnStartCF AdvLeftBottomCF: ControlGet , flag, Visible , , AfxWnd4223 , ahk_id %id% if (flag = FALSE) goto AdvMiddleTopCF ControlGetText , str , AfxWnd4223 , ahk_id %id% IfInString , str , Check/Fold { ControlFocus , AfxWnd4223 , ahk_id %id% ControlClick , AfxWnd4223 , ahk_id %id% ;msgbox, AdvLeftBottom goto FinishCF } AdvMiddleTopCF: ControlGet , flag, Visible , , AfxWnd4224 , ahk_id %id% if (flag = FALSE) goto BtnStartCF ControlGetText , str , AfxWnd4224 , ahk_id %id% IfInString , str , Check { ControlFocus , AfxWnd4224 , ahk_id %id% ControlClick , AfxWnd4224 , ahk_id %id% ;msgbox, AdvMiddleTop goto FinishCF } AdvLeftTopCF: ControlGet , flag, Visible , , AfxWnd4222 , ahk_id %id% if (flag = FALSE) goto BtnStartCF ControlGetText , str , AfxWnd4222 , ahk_id %id% IfInString , str , Fold { ControlFocus , AfxWnd4222 , ahk_id %id% ControlClick , AfxWnd4222 , ahk_id %id% ;msgbox, AdvLeftTop goto FinishCF } BtnStartCF: BtnMiddleCF: ControlGet , flag, Visible , , AfxWnd4218 , ahk_id %id% if (flag = FALSE) goto NoButtonsCF ControlGetText , str , AfxWnd4218 , ahk_id %id% IfInString , str , Check { ControlFocus , AfxWnd4218 , ahk_id %id% ControlClick , AfxWnd4218 , ahk_id %id% ;msgbox, BtnMiddle goto FinishCF } BtnLeftCF: ControlGet , flag, Visible , , AfxWnd4217 , ahk_id %id% if (flag = FALSE) goto NoButtonsCF ControlGetText , str , AfxWnd4217 , ahk_id %id% IfInString , str , Fold { ControlFocus , AfxWnd4217 , ahk_id %id% ControlClick , AfxWnd4217 , ahk_id %id% ;msgbox, BtnLeft goto FinishCF } FinishCF: return NoButtonsCF: return } ProcessBetRaise() { global prefsActivateButtonActions if (prefsActivateButtonActions = FALSE) return SetTitleMatchMode, 1 MouseGetPos, x , y , id AdvMiddleTopBR: ControlGet , flag, Visible , , AfxWnd4224 , ahk_id %id% if (flag = FALSE) goto BtnStartBR ControlGetText , str , AfxWnd4224 , ahk_id %id% IfInString , str , Bet { ControlFocus , AfxWnd4224 , ahk_id %id% ControlClick , AfxWnd4224 , ahk_id %id% ;msgbox, BET ADV goto FinishBR } AdvRightTopBR: ControlGet , flag, Visible , , AfxWnd4226 , ahk_id %id% if (flag = FALSE) goto BtnStartBR ControlGetText , str , AfxWnd4226 , ahk_id %id% IfInString , str , Bet { ControlFocus , AfxWnd4226 , ahk_id %id% ControlClick , AfxWnd4226 , ahk_id %id% ;msgbox, RAISE ADV goto FinishBR } IfInString , str , Raise { ControlFocus , AfxWnd4226 , ahk_id %id% ControlClick , AfxWnd4226 , ahk_id %id% ;msgbox, RAISE ADV goto FinishBR } BtnStartBR: BtnMiddleBR: ControlGet , flag, Visible , , AfxWnd4218 , ahk_id %id% if (flag = FALSE) goto NoButtonsBR ControlGetText , str , AfxWnd4218 , ahk_id %id% IfInString , str , Bet { ControlFocus , AfxWnd4218 , ahk_id %id% ControlClick , AfxWnd4218 , ahk_id %id% ;msgbox, BET goto FinishBR } BtnRightBR: ControlGet , flag, Visible , , AfxWnd4219 , ahk_id %id% if (flag = FALSE) goto NoButtonsBR ControlGetText , str , AfxWnd4219 , ahk_id %id% IfInString , str , Bet { ControlFocus , AfxWnd4219 , ahk_id %id% ControlClick , AfxWnd4219 , ahk_id %id% ;msgbox, BET goto FinishBR } IfInString , str , Raise { ControlFocus , AfxWnd4219 , ahk_id %id% ControlClick , AfxWnd4219 , ahk_id %id% ;msgbox, RAISE goto FinishBR } FinishBR: return NoButtonsBR: return } ProcessCheckCall() { global prefsActivateButtonActions if (prefsActivateButtonActions = FALSE) return SetTitleMatchMode, 1 MouseGetPos, x , y , id AdvMiddleTopCC: ControlGet , flag, Visible , , AfxWnd4224 , ahk_id %id% if (flag = FALSE) goto BtnStartCC ControlGetText , str , AfxWnd4224 , ahk_id %id% IfInString , str , Check { ControlFocus , AfxWnd4224 , ahk_id %id% ControlClick , AfxWnd4224 , ahk_id %id% ;msgbox, CHECK ADV goto FinishCC } IfInString , str , Call { ControlFocus , AfxWnd4224 , ahk_id %id% ControlClick , AfxWnd4224 , ahk_id %id% ;msgbox, CALL ADV goto FinishCC } BtnStartCC: BtnMiddleCC: ControlGet , flag, Visible , , AfxWnd4218 , ahk_id %id% if (flag = FALSE) goto NoButtonsCC ControlGetText , str , AfxWnd4218 , ahk_id %id% IfInString , str , Check { ControlFocus , AfxWnd4218 , ahk_id %id% ControlClick , AfxWnd4218 , ahk_id %id% ;msgbox, CHECK goto FinishCC } IfInString , str , Call { ControlFocus , AfxWnd4218 , ahk_id %id% ControlClick , AfxWnd4218 , ahk_id %id% ;msgbox, CALL goto FinishCC } FinishCC: return NoButtonsCC: return } DoLeaveTable(id) { global sys_PP_Key_LeaveTable SetTitleMatchMode, 1 WinActivate , ahk_id %id% ControlClick , AfxWnd423 , ahk_id %id% WinWait , , %sys_PP_Key_LeaveTable% , 10 if (ErrorLevel <> 0) return ControlFocus , Button1 , %sys_PP_Key_LeaveTable% Send {ENTER} WinWaitClose , %sys_PP_Key_LeaveTable% , , 2 Loop { IfWinNotExist, %sys_PP_Key_LeaveTable% break ControlFocus , Button1 , %sys_PP_Key_LeaveTable% Send {ENTER} WinWaitClose , %sys_PP_Key_LeaveTable% , , 1 } return } DoRebuy(id) { global sys_PP_Title_Buyin global sys_PP_Key_Buyin global sys_PP_Title_AddChips global sys_PP_Key_AddChips SetTitleMatchMode, 1 WinActivate , ahk_id %id% ControlClick , AfxWnd421 , ahk_id %id% WinWait , %sys_PP_Title_Buyin% , , 2 Loop { IfWinExist, %sys_PP_Title_Buyin% break WinActivate , ahk_id %id% ControlClick , AfxWnd421 , ahk_id %id% WinWait , %sys_PP_Title_Buyin% , , 1 } WinActivate, %sys_PP_Title_Buyin% ;ControlClick , Button1 , %sys_PP_Title_Buyin% ControlFocus , Button1 , %sys_PP_Title_Buyin% Send {ENTER} WinWaitClose , %sys_PP_Title_Buyin% , , 2 Loop { IfWinNotExist, %sys_PP_Title_Buyin% break WinActivate, %sys_PP_Title_Buyin% ControlFocus , Button1 , %sys_PP_Title_Buyin% Send {ENTER} WinWaitClose , %sys_PP_Title_Buyin% , , 1 } WinWait , %sys_PP_Title_AddChips%, %sys_PP_Key_AddChips%, 2 if (ErrorLevel <> 0) return ;ControlClick , Button1 , %sys_PP_Title_AddChips%, %sys_PP_Key_AddChips% ControlFocus , Button1 , %sys_PP_Title_AddChips%, %sys_PP_Key_AddChips% Send {ENTER} WinWaitClose , %sys_PP_Title_AddChips%, %sys_PP_Key_AddChips% , 2 Loop { IfWinNotExist , %sys_PP_Title_AddChips%, %sys_PP_Key_AddChips% break ControlFocus , Button1 , %sys_PP_Title_AddChips%, %sys_PP_Key_AddChips% Send {ENTER} WinWaitClose , %sys_PP_Title_AddChips%, %sys_PP_Key_AddChips% , 2 } return } ProcessClicker() { global sys_PP_Title_Lobby global prefsNumofMonitors global prefsActivateButtonRebuy global prefsActivateButtonLeave global prefsActivateMoveTable global prefsActivateMoveLobby global prefsActivateMoveHH global prefsActivateMoveStatistics global prefsHandHistory_x global prefsHandHistory_y global prefsStatistics_x global prefsStatistics_y SetTitleMatchMode, 1 MouseGetPos, x , y , id WinGetText , str , ahk_id %id% IfInString , str , This Hand goto DoTable WinGetTitle , str , ahk_id %id% IfInString , str , %sys_PP_Title_Lobby% goto DoLobby WinGetTitle , str , ahk_id %id% IfInString , str , HH goto DoHH WinGetTitle , str , ahk_id %id% IfInString , str , Statistics goto DoStatistics return DoTable: ; Rebuy button: Top=694.510 / Bottom=783.529 if ( x >= 694 and x <= 783 and y >= 510 and y <= 529 ) { if (prefsActivateButtonRebuy = FALSE) return DoRebuy(id) return } ; Leave button: Top=694.554 / Bottom=783.570 if ( x >= 694 and x <= 783 and y >= 554 and y <= 570 ) { if (prefsActivateButtonLeave = FALSE) return DoLeaveTable(id) return } if (prefsActivateMoveTable = FALSE) return if (x < 5 or x > 143 or y < 26 or y > 94) return if x <= 39 xn = 0 else if x <= 73 xn = 795 else if x <= 108 xn = 1600 else xn = 2395 if y <= 59 yn = 0 else yn = 575 if (prefsNumofMonitors < 2 and xn >= 1600) xn := xn - 1600 WinGetTitle , title , ahk_id %id% WinMove, ahk_id %id% , , xn , yn BringToFront(id, title) return DoLobby: if (prefsActivateMoveLobby = FALSE) return if (x < 5 or x > 102 or y < 27 or y > 75) return if x <= 28 xn = 0 else if x <= 53 xn = 795 else if x <= 77 xn = 1600 else xn = 2395 if y <= 51 yn = 0 else yn = 575 if (prefsNumofMonitors < 2 and xn >= 1600) xn := xn - 1600 WinGetTitle , title , ahk_id %id% WinMove, ahk_id %id% , , xn , yn BringToFront(id, title) return DoHH: if (prefsActivateMoveHH = FALSE) return WinGetTitle , title , ahk_id %id% WinMove, ahk_id %id% , , %prefsHandHistory_x% , %prefsHandHistory_y% BringToFront(id, title) return DoStatistics: if (prefsActivateMoveStatistics = FALSE) return WinGetTitle , title , ahk_id %id% WinMove, ahk_id %id% , , %prefsStatistics_x% , %prefsStatistics_y% BringToFront(id, title) return } ; -------------------------------------------------------------------------------------------- ; ; HOTKEYS (DON'T CHANGE!) ; ; -------------------------------------------------------------------------------------------- Hotkey, IfWinActive, ahk_class #32770 Hotkey, %prefsHotkeyCheckFold%, DoCheckFold Hotkey, %prefsHotkeyCheckCall%, DoCheckCall Hotkey, %prefsHotkeyBetRaise%, DoBetRaise Hotkey, %prefsHotkeyClicker%, DoClicker return DoCheckFold: ProcessCheckFold() return DoBetRaise: ProcessBetRaise() return DocheckCall: ProcessCheckCall() return DoClicker: ProcessClicker() return ;;; ------------ SCRIPT ENDS HERE ------------ ;;; |
#3
|
|||
|
|||
Re: Party Clicker (New, cool AHK script)
Hey i tried to set this one up... I am so bad at this...I coudlnt get it to work.... Is there any way to just make a script where i can rebuy for the full stack when i click a button???
|
#4
|
|||
|
|||
Re: Party Clicker (New, cool AHK script)
I just finished adding something to AutoResizer that might help people using this too (maybe even a similar idea could be added using just AHK?).
Basically, I now have a little 3x3 grid which gets displayed in the top left of the top left table (hopefully soon it will be in the top left of every table...). I now have an option to just keep posting blinds continuously, until a hotkey is hit which basically says "I want to leave this table after this round", the corresponding square in the 3x3 grid is highlighted (toggled) and when it come round to your next turn to post a BB, it leaves the table for you. I can see mixed with your script, it could mean that the only thing needed is just to press this hotkey on tables you don't like, then let your script sit you back at a new one (sounds like multi-tabler's dream!). Hopefully I will have it a bit better tested soon and will release it as a new AR version (it also colours/flashes the squares to warn about impending timeouts, but that also needs testing too...). Juk [img]/images/graemlins/smile.gif[/img] |
#5
|
|||
|
|||
Re: Party Clicker (New, cool AHK script)
[ QUOTE ]
I just finished adding something to AutoResizer that might help people using this too (maybe even a similar idea could be added using just AHK?). Basically, I now have a little 3x3 grid which gets displayed in the top left of the top left table (hopefully soon it will be in the top left of every table...). I now have an option to just keep posting blinds continuously, until a hotkey is hit which basically says "I want to leave this table after this round", the corresponding square in the 3x3 grid is highlighted (toggled) and when it come round to your next turn to post a BB, it leaves the table for you. I can see mixed with your script, it could mean that the only thing needed is just to press this hotkey on tables you don't like, then let your script sit you back at a new one (sounds like multi-tabler's dream!). Hopefully I will have it a bit better tested soon and will release it as a new AR version (it also colours/flashes the squares to warn about impending timeouts, but that also needs testing too...). Juk [img]/images/graemlins/smile.gif[/img] [/ QUOTE ] This sounds like the coolest thing Ive ever heard of. |
#6
|
|||
|
|||
Re: Party Clicker (New, cool AHK script)
[ QUOTE ]
[ QUOTE ] I just finished adding something to AutoResizer that might help people using this too (maybe even a similar idea could be added using just AHK?). Basically, I now have a little 3x3 grid which gets displayed in the top left of the top left table (hopefully soon it will be in the top left of every table...). I now have an option to just keep posting blinds continuously, until a hotkey is hit which basically says "I want to leave this table after this round", the corresponding square in the 3x3 grid is highlighted (toggled) and when it come round to your next turn to post a BB, it leaves the table for you. I can see mixed with your script, it could mean that the only thing needed is just to press this hotkey on tables you don't like, then let your script sit you back at a new one (sounds like multi-tabler's dream!). Hopefully I will have it a bit better tested soon and will release it as a new AR version (it also colours/flashes the squares to warn about impending timeouts, but that also needs testing too...). Juk [img]/images/graemlins/smile.gif[/img] [/ QUOTE ] This sounds like the coolest thing Ive ever heard of. [/ QUOTE ] The current version of AR does quite alot of helpful stuff (the name "AutoResizer" doesn't really explain what it does: see here), but I just haven't had time to fully test these new features yet, but it will only be a couple of days and it will be ready for others to beta test. Mixed with Adde's script it really does sound like it could be pretty cool for multi-tabling. [img]/images/graemlins/smile.gif[/img] Juk [img]/images/graemlins/smile.gif[/img] |
#7
|
|||
|
|||
Re: Party Clicker (New, cool AHK script)
Hey Juk,
This could be useful. Do I understand you correct that "Auto Post Blind" doesn't need to be checked, and AR will click the Post Blind buttons every time they come up. If the hotspot is activated it will instead click Sit Out and close the table? Party Seat Taker has got the code to automatically join and sit down on a new table whenever one is closed. Need to think about the workflow though... Adde |
#8
|
|||
|
|||
Re: Party Clicker (New, cool AHK script)
I threw this code up on the Wiki; you can find it on the AutoHotKey page.
Adde, drop me a line if you think of a better name; anyeone can edit the Wiki, but I only I can change a page name easily. |
#9
|
|||
|
|||
Re: Party Clicker (New, cool AHK script)
[ QUOTE ]
I threw this code up on the Wiki; you can find it on the AutoHotKey page. Adde, drop me a line if you think of a better name; anyeone can edit the Wiki, but I only I can change a page name easily. [/ QUOTE ] I'm as bad as the next guy with names, so don't hesitate to help me out. [img]/images/graemlins/wink.gif[/img] PartyMouseHotkeys? PartyActionClicker? Adde |
#10
|
|||
|
|||
Re: Party Clicker (New, cool AHK script)
[ QUOTE ]
This could be useful. Do I understand you correct that "Auto Post Blind" doesn't need to be checked, and AR will click the Post Blind buttons every time they come up. If the hotspot is activated it will instead click Sit Out and close the table? [/ QUOTE ] Yes, AR will now make sure "Auto Post Blind" is turned on at all times (it can now read the state of the checkbox, so safer than the old version). It will also click "Post BB", "Post SB" and "Wait for BB" constantly too (so long as the "mini-hud" is active). Then you use a hotkey (mapped to the numpad atm) to say "I want to leave this table", it will then uncheck "Auto Post BB", show this on the "mini-HUD", and wait for the next "Post BB" - when it sees this, it automatically leaves the table ("Post SB" is treated ok too, and it will wait specifically for the next "Post BB"). [ QUOTE ] Party Seat Taker has got the code to automatically join and sit down on a new table whenever one is closed. Need to think about the workflow though... [/ QUOTE ] Yes, this is what I was thinking... It should now be possible to just keep N tables open at all times and just leave when you press the "I want to leave this table" hotkey (all needs testing though, or I could see it going badly wrong [img]/images/graemlins/smile.gif[/img] ). I will try to give the new AR a real test asap, then will release the new version of AR for others to try (until I have given it a better test myself, I don't want to release to others incase it is still buggy). Juk [img]/images/graemlins/smile.gif[/img] |
|
|