Installing AutoHotKey
Just download and install the latest version here:
https://www.autohotkey.com/download/
First thing about AutoHotKey Scripts
It basically only works when left to do it’s thing.
You can pause and unpause it whenever you want, so for example, you let it play the minigame, pause it, do your own thing and after 5 minutes manually unpause it to play the minigame again and repeat.
If at any point anything goes wrong, F11 will pause the script.
If the symbol on the taskbar is red its paused
You can fully shut off script by right clicking the symbol on the the taskbar and clicking exit.
Creating the Script – The Setup
Right-click and edit setup.ahk and copy this in:
;create a txt file to store the coordinates in FileDelete, %A_WorkingDir%\coords.txt FileAppend, Coordinates for the Toilets are`n, %A_WorkingDir%\coords.txt ;setup where we move the mouse in the right places and save the Positions MsgBox, ( Move the cursor to the Top of the black circle inside the Toilet Top Row Far Left Toilet Press Enter if you did it ) click sleep, 50 ;Store the coordinates in the txt file, repeat this a bunch of times MouseGetPos, MouseX, MouseY FileAppend, %MouseX%`n, %A_WorkingDir%\coords.txt FileAppend, %MouseY%`n, %A_WorkingDir%\coords.txt MsgBox, ( Move the cursor to the Top of the black circle inside the Toilet Middle Row Second Toilet from the Left Press Enter if you did it ) click sleep, 50 MouseGetPos, MouseX, MouseY FileAppend, %MouseX%`n, %A_WorkingDir%\coords.txt FileAppend, %MouseY%`n, %A_WorkingDir%\coords.txt MsgBox, ( Move the cursor to the Top of the black circle inside the Toilet Bottom Row Middle Toilet Press Enter if you did it ) click sleep, 50 MouseGetPos, MouseX, MouseY FileAppend, %MouseX%`n, %A_WorkingDir%\coords.txt FileAppend, %MouseY%`n, %A_WorkingDir%\coords.txt MsgBox, ( Move the cursor to the Top of the black circle inside the Toilet Top Row Second Toilet from the Right Press Enter if you did it ) click sleep, 50 MouseGetPos, MouseX, MouseY FileAppend, %MouseX%`n, %A_WorkingDir%\coords.txt MsgBox, ( Move the cursor to the Top of the black circle inside the Toilet Top Row Far Right Toilet Press Enter if you did it ) click sleep, 50 MouseGetPos, MouseX, MouseY FileAppend, %MouseX%`n, %A_WorkingDir%\coords.txt Missedit: MsgBox, ( Move the Cursor over the white Part of the second "s" in "Press Start" Press Enter if you did it ) click sleep, 50 MouseGetPos, MouseX, MouseY PixelGetColor, color, MouseX, MouseY if (color != 0xFFFFFF) { goto, Missedit } FileAppend, %MouseX%`n, %A_WorkingDir%\coords.txt FileAppend, %MouseY%`n, %A_WorkingDir%\coords.txt MsgBox, ( Move the Cursor over the Start Button Press Enter if you did it ) MouseMove, 0, -200, 0, R sleep, 50 click sleep, 50 MouseMove, 0, 200, 0, R sleep, 50 MouseGetPos, MouseX, MouseY FileAppend, %MouseX%`n, %A_WorkingDir%\coords.txt FileAppend, %MouseY%`n, %A_WorkingDir%\coords.txt ExitApp ;Pause button F11:: Pause Suspend return
If pressing Enter doesn’t do anything, click into the messagebox and then move the cursor back into the position it’s asking for.
You can also drag the Messagebox out of the way.
Should anything break or go wrong F11 pauses the script.
This will repeat 5 times, so we get all the toilet locations.
These locations will later be checked for potatoes.
After that you will be asked to put your cursor on the white part of the second s in the word “press”, like in the picture.
It does this, so later on it will be able to tell when the 5 minute cooldown is over and it can restart the game.
And that is the setup done!
Creating the Script – Main Script
In this folder create a new file called “script.ahk”.
Right-click to edit and copy in this code:
#IfWinActive ahk_exe Farmer Against Potatoes Idle.exe Pause Suspend ;Set Toilet coordinates from setup file FileReadLine, LineX1, %A_WorkingDir%\coords.txt, 2 FileReadLine, LineX2, %A_WorkingDir%\coords.txt, 4 FileReadLine, LineX3, %A_WorkingDir%\coords.txt, 6 FileReadLine, LineX4, %A_WorkingDir%\coords.txt, 8 FileReadLine, LineX5, %A_WorkingDir%\coords.txt, 9 FileReadLine, LineY1, %A_WorkingDir%\coords.txt, 3 FileReadLine, LineY2, %A_WorkingDir%\coords.txt, 5 FileReadLine, LineY3, %A_WorkingDir%\coords.txt, 7 FileReadLine, LinePressX, %A_WorkingDir%\coords.txt, 10 FileReadLine, LinePressY, %A_WorkingDir%\coords.txt, 11 FileReadLine, LineStartX, %A_WorkingDir%\coords.txt, 12 FileReadLine, LineStartY, %A_WorkingDir%\coords.txt, 13 coordsX := [LineX1,LineX2,LineX3,LineX4,LineX5] coordsY := [LineY1,LineY2,LineY3] ;Base Color to compare against and allowed tolerance targetColor=0xFDC118 tolerance := 85 ;split target color into rgb tr := format("{:d}","0x" . substr(targetColor,3,2)) tg := format("{:d}","0x" . substr(targetColor,5,2)) tb := format("{:d}","0x" . substr(targetColor,7,2)) ;the main Loop that runs loop { ;check if the game is the active window, if not pause if !WinActive("ahk_exe Farmer Against Potatoes Idle.exe") { Pause Suspend } ;Check if whack-game can be started PixelGetColor, color, LinePressX, LinePressY if (color = 0xFFFFFF) { MouseClick, left, LineStartX, LineStartY } ;outer loop to set Y coordinates loopcount := 1 loop 3 { ;inner loop to set X coordinates loop 5 { ;check pixel color at a toilet PixelGetColor, color, coordsX[a_index], coordsY[loopcount], Alt RGB ;split pixel color into rgb pr := format("{:d}","0x" . substr(color,3,2)) pg := format("{:d}","0x" . substr(color,5,2)) pb := format("{:d}","0x" . substr(color,7,2)) ;check distance between pixel and target color to get the tolerance distance := sqrt((tr-pr)**2+(tg-pg)**2+(pb-tb)**2) if(distance<tolerance) { ;Click the toilet if the tolerance is right MouseClick, left, coordsX[a_index], coordsY[loopcount] sleep, 20 ;move mouse out of the way MouseMove, 0, 15, 0, R } } loopcount++ } } ;Pause button F11:: Pause Suspend return
Open the Whack-A-Potato minigame and press F11 to start it.
If you did everything right and you aren’t on cooldown the game should now play itself.
To open the shop just press F11 to pause, buy whatever you want and then resume by pressing F11 once more.
If you tab out the script will pause automatically, you will have to manually unpause it by pressing F11.
Thanks to Pix for his excellent guide, all credits belong to his effort. if this guide helps you, please support and rate it via Steam Community. enjoy the game.