The Wiki for Tale 4 is in read-only mode and is available for archival and reference purposes only. Please visit the current Tale 11 Wiki in the meantime.
If you have any issues with this Wiki, please post in #wiki-editing on Discord or contact Brad in-game.
User:Cegaiel/Macros/Potash/Code
From A Tale in the Desert
< User:Cegaiel | Macros | Potash
Jump to navigationJump to search;All new for Tale 5 ;Make Potash/Acid/Salt: 1-21 kettles ;Use 1280x1024 resolution. ;Pin Kettle #1-7 menus from left to right, starting at upper left corner ;Pin Kettle #8-14 below the above pinups/row ;Pin Kettle #15-21 below the above pinups/row ;Ctrl+R to reload ;Ctrl+P to pause ;Emergency: Hold F2 button down 2 seconds to Abort current countdown and hit Stoke Max immediately on all pots ;Only the current countdown will abort. It will move on to the next countdown and continue normally. ;Trust the script, only use Emergency F2 when you have more than 32s when the Wood count turns to zero ;As long as there is less than 32s, when the wood hits zero, then dont interupt the script ;When it hits zero wood, its still a full 32 seconds before the kettle goes out ;Likewise with stoking. It does not matter if you stoke the instant it hits zero wood or 29 seconds later, it wont speed anything up. ;Release Date: Oct 12, 2010 ;Author: Cegaiel IfWinExist eGenesis Client { WinGet, GameWinHandle, ID, eGenesis Client } else { Msgbox, eGenesis client not running, exiting... Exit } WinGetActiveStats, win_Title, Xmax, Ymax, win_Xpos, win_Ypos ;====================================================================== ;Check to see if we are in the correct resolution, or else exit script. ;You may remove this entire routine, if you wish. ;if !(Xmax = 1032) && (Ymax = 746) ;{ ;Msgbox, You are not in 1024x768 resolution`n`nExiting... ;EXIT ;} ;====================================================================== Gui, +AlwaysOnTop +ToolWindow Gui, Add, Text,, Type of Kettles? Gui, Add, DropDownList, vKettle Choose1, Public or Guilded|Private Gui, Add, Text,, What are we making? Gui, Add, DropDownList, vMake Choose2, Acid|Potash|Salt Gui, Add, Text,, How many kettles? Gui, Add, DropDownList, vNumKettles Choose1, 1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21 Gui, Add, Text,, How many runs? Gui, Add, Edit, vRuns wp number, 1 Gui, Add, Button, Default gStart, BEGIN Gui, Show return Start: Gui, Submit Gui, Destroy Counter = 0 Wood := (28 * runs * NumKettles) Water := (25 * runs * NumKettles) Salt := (1 * runs * NumKettles) Ash := (5 * runs * NumKettles) ;Note Acid and Salt are on same X, just different Y if (Make == "Acid") { OutputTotal := (3 * NumKettles * runs) Msgbox, Ingredients needed to run %NumKettles% kettles (%runs% runs):`n`n%wood% Wood minimum (a few extra just in case)`n%water% Sulphurous Water`n%salt% Salt`n`nMake sure you have that in your inventory!`n`nYield: 3 Acid per kettle`nTotal: %OutputTotal% Acid (%runs% runs)`n`nKettle Type: %Kettle%`n`nClick OK to continue... ;Position of the ACID button PotashX1 = 125 PotashX2 = 295 PotashX3 = 465 PotashX4 = 635 PotashX5 = 805 PotashX6 = 975 PotashX7 = 1145 PotashY = 265 ;+260 PotashY2 = 525 PotashY3 = 785 } else if (Make == "Salt") { OutputTotal := (3 * NumKettles * runs) Msgbox, Ingredients needed to run %NumKettles% kettles (%runs% runs):`n`n%wood% Wood minimum (a few extra just in case)`n%water% Coconut Water`n`nMake sure you have that in your inventory!`n`nYield: 3 Salt per kettle`nTotal: %OutputTotal% Salt (%runs% runs)`n`nKettle Type: %Kettle%`n`nClick OK to continue... ;Position of the SALT button PotashX1 = 125 PotashX2 = 295 PotashX3 = 465 PotashX4 = 635 PotashX5 = 805 PotashX6 = 975 PotashX7 = 1145 PotashY = 240 PotashY2 = 500 PotashY3 = 760 } else if (Make == "Potash") { OutputTotal := (5 * NumKettles * runs) Msgbox, Ingredients needed to run %NumKettles% kettles (%runs% runs):`n`n%wood% Wood minimum (a few extra just in case)`n%water% Water`n%ash% Ash`n`nMake sure you have that in your inventory!`n`nYield: 5 Potash per kettle`nTotal: %OutputTotal% Potash (%runs% runs)`n`nKettle Type: %Kettle%`n`nClick OK to continue... ;Position of the POTASH button PotashX1 = 45 ;+170 PotashX2 = 215 PotashX3 = 385 PotashX4 = 555 PotashX5 = 725 PotashX6 = 890 PotashX7 = 1060 PotashY = 170 ;+260 PotashY2 = 430 PotashY3 = 690 } ;This is where the Stoke Max option appears on the menu StokeMaxX1 = 70 ;+170 StokeMaxX2 = 240 StokeMaxX3 = 410 StokeMaxX4 = 580 StokeMaxX5 = 750 StokeMaxX6 = 920 StokeMaxX7 = 1090 StokeMaxY = 75 ;+260 StokeMaxY2 = 335 StokeMaxY3 = 595 ;Max button, this is after the pot is ignited and asks for Quantity, we hit the Max button instead of typing a number ; This is hard coded at 1280x1024 . This would likely be the only values you need to change if you try other resolutions MaxButtonX = 645 MaxButtonY = 555 ;The Begin, Ignite and Take button appear in the same place, so these apply to all three. BeginIgniteTakeX1 = 50 ;+170 BeginIgniteTakeX2 = 220 BeginIgniteTakeX3 = 390 BeginIgniteTakeX4 = 560 BeginIgniteTakeX5 = 730 BeginIgniteTakeX6 = 900 BeginIgniteTakeX7 = 1070 BeginIgniteTakeY = 240 ;+260 BeginIgniteTakeY2 = 500 BeginIgniteTakeY3 = 760 ;NOTE: PotashY, StokeMaxY and BeginIgniteTakeY is set to Y position in Private kettle setting. ;If this is a public kettle AND you are trying to change numbers for another resolution, then note: ;The coords are adjusted for public below, take that into consideration. ;If you dont have any of your own kettles and will change numbers for a different resolution, then ;Just plug in all the numbers above (center of buttons) and launch the script and choose "Private" kettle, even though it is "Public" if (Kettle == "Public or Guilded") { ;If the kettle is public then it lowers 15 coords at 1024x768 (will vary with other resolutions) PotashY := PotashY + 15 BeginIgniteTakeY := BeginIgniteTakeY + 15 StokeMaxY := StokeMaxY + 15 PotashY2 := PotashY2 + 30 BeginIgniteTakeY2 := BeginIgniteTakeY2 + 30 StokeMaxY2 := StokeMaxY2 + 30 PotashY3 := PotashY3 + 45 BeginIgniteTakeY3 := BeginIgniteTakeY3 + 45 StokeMaxY3 := StokeMaxY3 + 45 } ;Make sure the RefreshY line stays after the 'if (Kettle == "Public")' line ;This is the Y button of when it clicks the top of the menu to refresh the menu RefreshY := (StokeMaxY - 25) RefreshY2 := (StokeMaxY2 - 25) RefreshY3 := (StokeMaxY3 - 25) Gui, +AlwaysOnTop +ToolWindow Gui, Font, normal Gui, Add, Text, vMineCycleText, Preparing to start script, please stand by ...`n`n`n`n`n`n`n`n`n Gui, Show delay = 10 Loop, %delay% { GuiControl, Text, MineCycleText, %delay% seconds before the script will begin ...`n`nMove this out of way`n`nDont cover any pinups!`n`nDont leave anywhere near middle of screen (Load/Stoke Max wood popup) delay -- Sleep 1000 } SetDefaultMouseSpeed, 0 GuiControl, Text, MineCycleText, Focusing to eGenesis client ... WinActivate, eGenesis Client Sleep 500 Loop, %Runs% { counter ++ stoke = 0 waterlevel = - countdown = 0 seconds = 0 minutes = 0 seconds_eta = 25 minutes_eta = 15 cseconds = 0 cminutes = 0 sSeconds = 0 sMinutes = 0 ;Click Potash/Acid/Salt Button GuiControl, Text, MineCycleText, Current stoke: %stoke% of 5`nNext stoke's water level: %waterlevel%`nNext stoke: %cminutes%m %cseconds%s`nRemaining: %sMinutes%m %sSeconds%s`n`nStatus: Clicking "%make%" buttons...`n`nRuns: %counter% of %runs% - Kettles Running: %NumKettles%`nElapsed: %minutes%m %seconds%s`nETA this run: %minutes_eta%m %seconds_eta%s if (NumKettles >= 1) { Click, %PotashX1%, %PotashY% ;Pot 1 sleep 200 } if (NumKettles >= 2) { Click, %PotashX2%, %PotashY% ;Pot 2 sleep 200 } if (NumKettles >= 3) { Click, %PotashX3%, %PotashY% ;Pot 3 sleep 200 } if (NumKettles >= 4) { Click, %PotashX4%, %PotashY% ;Pot 4 sleep 200 } if (NumKettles >= 5) { Click, %PotashX5%, %PotashY% ;Pot 5 sleep 200 } if (NumKettles >= 6) { Click, %PotashX6%, %PotashY% ;Pot 6 sleep 200 } if (NumKettles >= 7) { Click, %PotashX7%, %PotashY% ;Pot 7 sleep 200 } if (NumKettles >= 8) { Click, %PotashX1%, %PotashY2% ;Pot 8 sleep 200 } if (NumKettles >= 9) { Click, %PotashX2%, %PotashY2% ;Pot 9 sleep 200 } if (NumKettles >= 10) { Click, %PotashX3%, %PotashY2% ;Pot 10 sleep 200 } if (NumKettles >= 11) { Click, %PotashX4%, %PotashY2% ;Pot 11 sleep 200 } if (NumKettles >= 12) { Click, %PotashX5%, %PotashY2% ;Pot 12 sleep 200 } if (NumKettles >= 13) { Click, %PotashX6%, %PotashY2% ;Pot 13 sleep 200 } if (NumKettles >= 14) { Click, %PotashX7%, %PotashY2% ;Pot 14 sleep 200 } if (NumKettles >= 15) { Click, %PotashX1%, %PotashY3% ;Pot 15 sleep 200 } if (NumKettles >= 16) { Click, %PotashX2%, %PotashY3% ;Pot 16 sleep 200 } if (NumKettles >= 17) { Click, %PotashX3%, %PotashY3% ;Pot 17 sleep 200 } if (NumKettles >= 18) { Click, %PotashX4%, %PotashY3% ;Pot 18 sleep 200 } if (NumKettles >= 19) { Click, %PotashX5%, %PotashY3% ;Pot 19 sleep 200 } if (NumKettles >= 20) { Click, %PotashX6%, %PotashY3% ;Pot 20 sleep 200 } if (NumKettles >= 21) { Click, %PotashX7%, %PotashY3% ;Pot 21 sleep 200 } ;Click Begin button GuiControl, Text, MineCycleText, Current stoke: %stoke% of 5`nNext stoke's water level: %waterlevel%`nNext stoke: %cminutes%m %cseconds%s`nRemaining: %sMinutes%m %sSeconds%s`n`nStatus: Clicking "Begin" buttons...`n`nRuns: %counter% of %runs% - Kettles Running: %NumKettles%`nElapsed: %minutes%m %seconds%s`nETA this run: %minutes_eta%m %seconds_eta%s if (NumKettles >= 1) { Click, %BeginIgniteTakeX1%, %BeginIgniteTakeY% ;Pot 1 sleep 200 } if (NumKettles >= 2) { Click, %BeginIgniteTakeX2%, %BeginIgniteTakeY% ;Pot 2 sleep 200 } if (NumKettles >= 3) { Click, %BeginIgniteTakeX3%, %BeginIgniteTakeY% ;Pot 3 sleep 200 } if (NumKettles >= 4) { Click, %BeginIgniteTakeX4%, %BeginIgniteTakeY% ;Pot 4 sleep 200 } if (NumKettles >= 5) { Click, %BeginIgniteTakeX5%, %BeginIgniteTakeY% ;Pot 5 sleep 200 } if (NumKettles >= 6) { Click, %BeginIgniteTakeX6%, %BeginIgniteTakeY% ;Pot 6 sleep 200 } if (NumKettles >= 7) { Click, %BeginIgniteTakeX7%, %BeginIgniteTakeY% ;Pot 7 sleep 200 } if (NumKettles >= 8) { Click, %BeginIgniteTakeX1%, %BeginIgniteTakeY2% ;Pot 8 sleep 200 } if (NumKettles >= 9) { Click, %BeginIgniteTakeX2%, %BeginIgniteTakeY2% ;Pot 9 sleep 200 } if (NumKettles >= 10) { Click, %BeginIgniteTakeX3%, %BeginIgniteTakeY2% ;Pot 10 sleep 200 } if (NumKettles >= 11) { Click, %BeginIgniteTakeX4%, %BeginIgniteTakeY2% ;Pot 11 sleep 200 } if (NumKettles >= 12) { Click, %BeginIgniteTakeX5%, %BeginIgniteTakeY2% ;Pot 12 sleep 200 } if (NumKettles >= 13) { Click, %BeginIgniteTakeX6%, %BeginIgniteTakeY2% ;Pot 13 sleep 200 } if (NumKettles >= 14) { Click, %BeginIgniteTakeX7%, %BeginIgniteTakeY2% ;Pot 14 sleep 200 } if (NumKettles >= 15) { Click, %BeginIgniteTakeX1%, %BeginIgniteTakeY3% ;Pot 15 sleep 200 } if (NumKettles >= 16) { Click, %BeginIgniteTakeX2%, %BeginIgniteTakeY3% ;Pot 16 sleep 200 } if (NumKettles >= 17) { Click, %BeginIgniteTakeX3%, %BeginIgniteTakeY3% ;Pot 17 sleep 200 } if (NumKettles >= 18) { Click, %BeginIgniteTakeX4%, %BeginIgniteTakeY3% ;Pot 18 sleep 200 } if (NumKettles >= 19) { Click, %BeginIgniteTakeX5%, %BeginIgniteTakeY3% ;Pot 19 sleep 200 } if (NumKettles >= 20) { Click, %BeginIgniteTakeX6%, %BeginIgniteTakeY3% ;Pot 20 sleep 200 } if (NumKettles >= 21) { Click, %BeginIgniteTakeX7%, %BeginIgniteTakeY3% ;Pot 21 sleep 200 } ;Click Ignite + Max button, then Refresh Menu (to show Stoke Max option) GuiControl, Text, MineCycleText, Current stoke: %stoke% of 5`nNext stoke's water level: %waterlevel%`nNext stoke: %cminutes%m %cseconds%s`nRemaining: %sMinutes%m %sSeconds%s`n`nStatus: Igniting + Adding Max Wood...`n`nRuns: %counter% of %runs% - Kettles Running: %NumKettles%`nElapsed: %minutes%m %seconds%s`nETA this run: %minutes_eta%m %seconds_eta%s if (NumKettles >= 1) { ;Pot 1 Click, %BeginIgniteTakeX1%, %BeginIgniteTakeY% ;Ignite sleep 200 Click, %MaxButtonX%, %MaxButtonY% ;Max button sleep 200 Click, %StokeMaxX1%, %RefreshY% ;Click Menu to refresh sleep 200 } if (NumKettles >= 2) { ;Pot 2 Click, %BeginIgniteTakeX2%, %BeginIgniteTakeY% ;Ignite sleep 200 Click, %MaxButtonX%, %MaxButtonY% ;Max button sleep 200 Click, %StokeMaxX2%, %RefreshY% ;Click Menu to refresh sleep 200 } if (NumKettles >= 3) { ;Pot 3 Click, %BeginIgniteTakeX3%, %BeginIgniteTakeY% ;Ignite sleep 200 Click, %MaxButtonX%, %MaxButtonY% ;Max button sleep 200 Click, %StokeMaxX3%, %RefreshY% ;Click Menu to refresh sleep 200 } if (NumKettles >= 4) { ;Pot 4 Click, %BeginIgniteTakeX4%, %BeginIgniteTakeY% ;Ignite sleep 200 Click, %MaxButtonX%, %MaxButtonY% ;Max button sleep 200 Click, %StokeMaxX4%, %RefreshY% ;Click Menu to refresh sleep 200 } if (NumKettles >= 5) { ;Pot 5 Click, %BeginIgniteTakeX5%, %BeginIgniteTakeY% ;Ignite sleep 200 Click, %MaxButtonX%, %MaxButtonY% ;Max button sleep 200 Click, %StokeMaxX5%, %RefreshY% ;Click Menu to refresh sleep 200 } if (NumKettles >= 6) { ;Pot 6 Click, %BeginIgniteTakeX6%, %BeginIgniteTakeY% ;Ignite sleep 200 Click, %MaxButtonX%, %MaxButtonY% ;Max button sleep 200 Click, %StokeMaxX6%, %RefreshY% ;Click Menu to refresh sleep 200 } if (NumKettles >= 7) { ;Pot 7 Click, %BeginIgniteTakeX7%, %BeginIgniteTakeY% ;Ignite sleep 200 Click, %MaxButtonX%, %MaxButtonY% ;Max button sleep 200 Click, %StokeMaxX7%, %RefreshY% ;Click Menu to refresh sleep 200 } if (NumKettles >= 8) { ;Pot 8 Click, %BeginIgniteTakeX1%, %BeginIgniteTakeY2% ;Ignite sleep 200 Click, %MaxButtonX%, %MaxButtonY% ;Max button sleep 200 Click, %StokeMaxX1%, %RefreshY2% ;Click Menu to refresh sleep 200 } if (NumKettles >= 9) { ;Pot 9 Click, %BeginIgniteTakeX2%, %BeginIgniteTakeY2% ;Ignite sleep 200 Click, %MaxButtonX%, %MaxButtonY% ;Max button sleep 200 Click, %StokeMaxX2%, %RefreshY2% ;Click Menu to refresh sleep 200 } if (NumKettles >= 10) { ;Pot 10 Click, %BeginIgniteTakeX3%, %BeginIgniteTakeY2% ;Ignite sleep 200 Click, %MaxButtonX%, %MaxButtonY% ;Max button sleep 200 Click, %StokeMaxX3%, %RefreshY2% ;Click Menu to refresh sleep 200 } if (NumKettles >= 11) { ;Pot 11 Click, %BeginIgniteTakeX4%, %BeginIgniteTakeY2% ;Ignite sleep 200 Click, %MaxButtonX%, %MaxButtonY% ;Max button sleep 200 Click, %StokeMaxX4%, %RefreshY2% ;Click Menu to refresh sleep 200 } if (NumKettles >= 12) { ;Pot 12 Click, %BeginIgniteTakeX5%, %BeginIgniteTakeY2% ;Ignite sleep 200 Click, %MaxButtonX%, %MaxButtonY% ;Max button sleep 200 Click, %StokeMaxX5%, %RefreshY2% ;Click Menu to refresh sleep 200 } if (NumKettles >= 13) { ;Pot 13 Click, %BeginIgniteTakeX6%, %BeginIgniteTakeY2% ;Ignite sleep 200 Click, %MaxButtonX%, %MaxButtonY% ;Max button sleep 200 Click, %StokeMaxX6%, %RefreshY2% ;Click Menu to refresh sleep 200 } if (NumKettles >= 14) { ;Pot 14 Click, %BeginIgniteTakeX7%, %BeginIgniteTakeY2% ;Ignite sleep 200 Click, %MaxButtonX%, %MaxButtonY% ;Max button sleep 200 Click, %StokeMaxX7%, %RefreshY2% ;Click Menu to refresh sleep 200 } if (NumKettles >= 15) { ;Pot 15 Click, %BeginIgniteTakeX1%, %BeginIgniteTakeY3% ;Ignite sleep 200 Click, %MaxButtonX%, %MaxButtonY% ;Max button sleep 200 Click, %StokeMaxX1%, %RefreshY3% ;Click Menu to refresh sleep 200 } if (NumKettles >= 16) { ;Pot 16 Click, %BeginIgniteTakeX2%, %BeginIgniteTakeY3% ;Ignite sleep 200 Click, %MaxButtonX%, %MaxButtonY% ;Max button sleep 200 Click, %StokeMaxX2%, %RefreshY3% ;Click Menu to refresh sleep 200 } if (NumKettles >= 17) { ;Pot 17 Click, %BeginIgniteTakeX3%, %BeginIgniteTakeY3% ;Ignite sleep 200 Click, %MaxButtonX%, %MaxButtonY% ;Max button sleep 200 Click, %StokeMaxX3%, %RefreshY3% ;Click Menu to refresh sleep 200 } if (NumKettles >= 18) { ;Pot 18 Click, %BeginIgniteTakeX4%, %BeginIgniteTakeY3% ;Ignite sleep 200 Click, %MaxButtonX%, %MaxButtonY% ;Max button sleep 200 Click, %StokeMaxX4%, %RefreshY3% ;Click Menu to refresh sleep 200 } if (NumKettles >= 19) { ;Pot 19 Click, %BeginIgniteTakeX5%, %BeginIgniteTakeY3% ;Ignite sleep 200 Click, %MaxButtonX%, %MaxButtonY% ;Max button sleep 200 Click, %StokeMaxX5%, %RefreshY3% ;Click Menu to refresh sleep 200 } if (NumKettles >= 20) { ;Pot 20 Click, %BeginIgniteTakeX6%, %BeginIgniteTakeY3% ;Ignite sleep 200 Click, %MaxButtonX%, %MaxButtonY% ;Max button sleep 200 Click, %StokeMaxX6%, %RefreshY3% ;Click Menu to refresh sleep 200 } if (NumKettles >= 21) { ;Pot 21 Click, %BeginIgniteTakeX7%, %BeginIgniteTakeY3% ;Ignite sleep 200 Click, %MaxButtonX%, %MaxButtonY% ;Max button sleep 200 Click, %StokeMaxX7%, %RefreshY3% ;Click Menu to refresh sleep 200 } ;This begins the Elapsed and ETA timers #Persistent SetTimer, Timer, 1000 ;Stoke 1 countdown (@ 24 water, first 3 waters dont get burned off after you first start a kettle waterlevel = 24 cminutes = 2 cseconds = 12 ;countdown = 132 GoSub, SetCountdown Loop, %countdown% { Gosub, StokeTimer GetKeyState, state, F2 if state = D break } waterlevel = 19 Gosub, StokeMax ;Stoke 2 (@ 19 water) countdown cminutes = 2 cseconds = 43 ;countdown = 163 GoSub, SetCountdown Loop, %countdown% { Gosub, StokeTimer GetKeyState, state, F2 if state = D { break } } waterlevel = 14 Gosub, StokeMax ;Stoke 3 (@ 14 water) countdown cminutes = 2 cseconds = 43 ;countdown = 163 GoSub, SetCountdown Loop, %countdown% { Gosub, StokeTimer GetKeyState, state, F2 if state = D { break } } waterlevel = 9 Gosub, StokeMax ;Stoke 4 (@ 9 water) countdown cminutes = 2 cseconds = 43 ;countdown = 163 GoSub, SetCountdown Loop, %countdown% { Gosub, StokeTimer GetKeyState, state, F2 if state = D { break } } waterlevel = 6 Gosub, StokeMax ;Stoke 5 (@ 6 water) countdown cminutes = 1 cseconds = 36 ;countdown = 96 GoSub, SetCountdown Loop, %countdown% { Gosub, StokeTimer GetKeyState, state, F2 if state = D { break } } waterlevel = N/A Gosub, StokeMax ;Countdown until complete cminutes = 3 cseconds = 12 ;countdown = 192 GoSub, SetCountdown Loop, %countdown% { Gosub, StokeTimer } cminutes = 0 cseconds = 0 } ; End Runs Loop ;Click Take button WinActivate, eGenesis Client GuiControl, Text, MineCycleText, Current stoke: %stoke% of 5`nNext stoke's water level: %waterlevel%`nFinish: %cminutes%m %cseconds%s`nRemaining: %sMinutes%m %sSeconds%s`n`nStatus: Taking items from kettle...`n`nRuns: %counter% of %runs% - Kettles Running: %NumKettles%`nElapsed: %minutes%m %seconds%s`nETA this run: %minutes_eta%m %seconds_eta%s if (NumKettles >= 1) { Click, %BeginIgniteTakeX1%, %BeginIgniteTakeY% ;Pot 1 Sleep 200 } if (NumKettles >= 2) { Click, %BeginIgniteTakeX2%, %BeginIgniteTakeY% ;Pot 2 Sleep 200 } if (NumKettles >= 3) { Click, %BeginIgniteTakeX3%, %BeginIgniteTakeY% ;Pot 3 Sleep 200 } if (NumKettles >= 4) { Click, %BeginIgniteTakeX4%, %BeginIgniteTakeY% ;Pot 4 Sleep 200 } if (NumKettles >= 5) { Click, %BeginIgniteTakeX5%, %BeginIgniteTakeY% ;Pot 5 Sleep 200 } if (NumKettles >= 6) { Click, %BeginIgniteTakeX6%, %BeginIgniteTakeY% ;Pot 6 Sleep 200 } if (NumKettles >= 7) { Click, %BeginIgniteTakeX7%, %BeginIgniteTakeY% ;Pot 7 Sleep 200 } if (NumKettles >= 8) { Click, %BeginIgniteTakeX1%, %BeginIgniteTakeY2% ;Pot 8 Sleep 200 } if (NumKettles >= 9) { Click, %BeginIgniteTakeX2%, %BeginIgniteTakeY2% ;Pot 9 Sleep 200 } if (NumKettles >= 10) { Click, %BeginIgniteTakeX3%, %BeginIgniteTakeY2% ;Pot 10 Sleep 200 } if (NumKettles >= 11) { Click, %BeginIgniteTakeX4%, %BeginIgniteTakeY2% ;Pot 11 Sleep 200 } if (NumKettles >= 12) { Click, %BeginIgniteTakeX5%, %BeginIgniteTakeY2% ;Pot 12 Sleep 200 } if (NumKettles >= 13) { Click, %BeginIgniteTakeX6%, %BeginIgniteTakeY2% ;Pot 13 Sleep 200 } if (NumKettles >= 14) { Click, %BeginIgniteTakeX7%, %BeginIgniteTakeY2% ;Pot 14 Sleep 200 } if (NumKettles >= 15) { Click, %BeginIgniteTakeX1%, %BeginIgniteTakeY3% ;Pot 15 Sleep 200 } if (NumKettles >= 16) { Click, %BeginIgniteTakeX2%, %BeginIgniteTakeY3% ;Pot 16 Sleep 200 } if (NumKettles >= 17) { Click, %BeginIgniteTakeX3%, %BeginIgniteTakeY3% ;Pot 17 Sleep 200 } if (NumKettles >= 18) { Click, %BeginIgniteTakeX4%, %BeginIgniteTakeY3% ;Pot 18 Sleep 200 } if (NumKettles >= 19) { Click, %BeginIgniteTakeX5%, %BeginIgniteTakeY3% ;Pot 19 Sleep 200 } if (NumKettles >= 20) { Click, %BeginIgniteTakeX6%, %BeginIgniteTakeY3% ;Pot 20 Sleep 200 } if (NumKettles >= 21) { Click, %BeginIgniteTakeX7%, %BeginIgniteTakeY3% ;Pot 21 Sleep 200 } ;ALL DONE! GuiControl, Text, MineCycleText, Current stoke: %stoke% of 5`nNext stoke's water level: %waterlevel%`nFinish: %cminutes%m %cseconds%s`nRemaining: %sMinutes%m %sSeconds%s`n`nStatus: All Done! Reload: Ctrl+R`n`nRuns: %counter% of %runs% - Kettles Running: %NumKettles%`nElapsed: %minutes%m %seconds%s`nETA this run: %minutes_eta%m %seconds_eta%s return StokeMax: WinActivate, eGenesis Client ;Click Stoke Max stoke ++ GuiControl, Text, MineCycleText, Current stoke: %stoke% of 5`nNext stoke's water level: %waterlevel%`nNext stoke: %cminutes%m %cseconds%s`nRemaining: %sMinutes%m %sSeconds%s`n`nStatus: STOKING!`n`nRuns: %counter% of %runs% - Kettles Running: %NumKettles%`nElapsed: %minutes%m %seconds%s`nETA this run: %minutes_eta%m %seconds_eta%s MouseGetPos, OldMX, OldMY if (NumKettles >= 1) { Click, %StokeMaxX1%, %StokeMaxY% ; Pot 1 sleep 200 } if (NumKettles >= 2) { Click, %StokeMaxX2%, %StokeMaxY% ; Pot 2 sleep 200 } if (NumKettles >= 3) { Click, %StokeMaxX3%, %StokeMaxY% ; Pot 3 sleep 200 } if (NumKettles >= 4) { Click, %StokeMaxX4%, %StokeMaxY% ; Pot 4 sleep 200 } if (NumKettles >= 5) { Click, %StokeMaxX5%, %StokeMaxY% ; Pot 5 sleep 200 } if (NumKettles >= 6) { Click, %StokeMaxX6%, %StokeMaxY% ; Pot 6 sleep 200 } if (NumKettles >= 7) { Click, %StokeMaxX7%, %StokeMaxY% ; Pot 7 sleep 200 } if (NumKettles >= 8) { Click, %StokeMaxX1%, %StokeMaxY2% ; Pot 8 sleep 200 } if (NumKettles >= 9) { Click, %StokeMaxX2%, %StokeMaxY2% ; Pot 9 sleep 200 } if (NumKettles >= 10) { Click, %StokeMaxX3%, %StokeMaxY2% ; Pot 10 sleep 200 } if (NumKettles >= 11) { Click, %StokeMaxX4%, %StokeMaxY2% ; Pot 11 sleep 200 } if (NumKettles >= 12) { Click, %StokeMaxX5%, %StokeMaxY2% ; Pot 12 sleep 200 } if (NumKettles >= 13) { Click, %StokeMaxX6%, %StokeMaxY2% ; Pot 13 sleep 200 } if (NumKettles >= 14) { Click, %StokeMaxX7%, %StokeMaxY2% ; Pot 14 sleep 200 } if (NumKettles >= 15) { Click, %StokeMaxX1%, %StokeMaxY3% ; Pot 15 sleep 200 } if (NumKettles >= 16) { Click, %StokeMaxX2%, %StokeMaxY3% ; Pot 16 sleep 200 } if (NumKettles >= 17) { Click, %StokeMaxX3%, %StokeMaxY3% ; Pot 17 sleep 200 } if (NumKettles >= 18) { Click, %StokeMaxX4%, %StokeMaxY3% ; Pot 18 sleep 200 } if (NumKettles >= 19) { Click, %StokeMaxX5%, %StokeMaxY3% ; Pot 19 sleep 200 } if (NumKettles >= 20) { Click, %StokeMaxX6%, %StokeMaxY3% ; Pot 20 sleep 200 } if (NumKettles >= 21) { Click, %StokeMaxX7%, %StokeMaxY3% ; Pot 21 sleep 200 } MouseMove, %OldMX%, %OldMY%, 0 return Timer: seconds ++ if (seconds = 60) { seconds := 0 minutes ++ } if (seconds_eta = 0) { seconds_eta := 60 minutes_eta -- } if (minutes_eta < 0) minutes_eta := 0 seconds_eta -- return SetCountdown: countdown := (cminutes * 60 + cseconds) sSeconds := cseconds sMinutes := cminutes return StokeTimer: if (stoke = 5) { GuiControl, Text, MineCycleText, Current stoke: %stoke% of 5`nNext stoke's water level: %waterlevel%`nFinish: %cminutes%m %cseconds%s`nRemaining: %sMinutes%m %sSeconds%s`n`nStatus: Waiting on kettle to finish...`n`nRuns: %counter% of %runs% - Kettles Running: %NumKettles%`nElapsed: %minutes%m %seconds%s`nETA this run: %minutes_eta%m %seconds_eta%s } else { GuiControl, Text, MineCycleText, Current stoke: %stoke% of 5`nNext stoke's water level: %waterlevel%`nNext stoke: %cminutes%m %cseconds%s`nRemaining: %sMinutes%m %sSeconds%s`n`nStatus: Waiting to stoke...`n`nRuns: %counter% of %runs% - Kettles Running: %NumKettles%`nElapsed: %minutes%m %seconds%s`nETA this run: %minutes_eta%m %seconds_eta%s } countdown -- if (sSeconds = 0) { sSeconds := 60 sMinutes -- } if (sMinutes < 0) sMinutes := 0 sSeconds -- Sleep 1000 return ^r::reload ^p::Pause