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/MaltingTray/Code
From A Tale in the Desert
< User:Cegaiel | Macros | MaltingTray
Jump to navigationJump to search;Ctrl+Alt+W to start script
;Ctrl+P to pause script and Ctrl+P again to resume
;The AHK icon in system tray will turn red while paused.
;Ctrl+R to reload script
;Date 4/30/2010
^r::reload
^p::Pause
^!w::
;Explanation of Seconds variable below:
;It takes about 67 seconds for the malting to complete. The more trays you have, the less time you may need.
;ie having many trays can decrease the seconds required because of the time it took to load the other trays...
;67s for 1 tray
;63s for 9 trays
Seconds = 63
IfWinExist eGenesis Client
{
WinActivate
Gui, +AlwaysOnTop +ToolWindow
Gui, Font, bold
Gui, Add, Text, vMineNumText, Set malting tray locations
Gui, Font, norm
Gui, Add, Text,,
( LTrim
Hover and middle-click (Click mouse-wheel) on each tray, one by one,
until you've clicked on all the tray you want to use. Then click the OK button.
(Drag this box out of the way if any trays are hidden)
Make sure you chat is minimized and that your screen is locked (Alt+L)
AFTER setting malting tray locations, Press OK...
)
Gui, Add, Button, default gMineSetLoops, OK
Gui, Show
MineNum = 0
NumPulls = 100
WinGet, GameWinHandle, ID, eGenesis Client
loop
{
WinActivate
CoordMode, Mouse, Relative
KeyWait, MButton, D
KeyWait, MButton
MouseGetPos, TestX, TestY, WinHandle
if (WinHandle = GameWinHandle)
{
Gosub, MineRecord
}
else
{
Gui, Destroy
break
}
}
return
MineRecord:
MineNum++
MouseGetPos, MineX%MineNum%, MineY%MineNum%
GuiControl, Text, MineNumText, %MineNum% malting trays captured
TotalTrays := MineNum
return
MineSetLoops:
Gui, Submit
Gui, Destroy
Gui, +AlwaysOnTop +ToolWindow
Gui, Font, bold
Gui, Add, Text, vMineCycleText, 5 seconds to drag window out of way
Gui, Font, norm
Gui, Show
GuiControl, Text, MineCycleText, 5 seconds to drag window out of way
Delay = 5
;You got 5 seconds to drag the status window out of the way
Loop, %Delay%
{
GuiControl, Text, MineCycleText, %Delay%s to drag window out of way
Delay --
Sleep 1000
}
SetDefaultMouseSpeed, 0
loop, %NumPulls%
{
MineNum = 1
MouseGetPos, OldMX, OldMY
;Malting Loop
loop, %TotalTrays% {
WinActivate, eGenesis Client
;BlockInput, MouseMove
GuiControl, Text, MineCycleText, Malting Barley - Tray: %MineNum%
MinePosX := MineX%MineNum%
MinePosY := MineY%MineNum%
MouseMove, %MinePosX%, %MinePosY%, 0
sleep 150
Send {M}
Sleep, 150
MineNum++
}
MouseMove, %OldMX%, %OldMY%, 0
SecondsCountDown := Seconds
loop, %Seconds% {
GuiControl, Text, MineCycleText, Waiting %SecondsCountdown%s for malting to complete
SecondsCountdown := SecondsCountdown - 1
sleep 1000
}
MineNum = 1
;Take Malt
loop, %TotalTrays% {
WinActivate, eGenesis Client
GuiControl, Text, MineCycleText, Taking Malt - Tray: %MineNum%
MinePosX := MineX%MineNum%
MinePosY := MineY%MineNum%
MouseMove, %MinePosX%, %MinePosY%, 0
Sleep, 150
Send {T}
Sleep, 150
MineNum++
}
GuiControl, Text, MineCycleText, 2s Pause, Hit Ctrl+P to STOP MALTING
Sleep 2000
}
Gui, Destroy
Gui, Add, Text,, Middle-click on this window to end the script.
Gui, Show
return
}