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.
Difference between revisions of "User:Cegaiel/Macros/Plane"
From A Tale in the Desert
< User:Cegaiel | Macros
Jump to navigationJump to search| Line 5: | Line 5: | ||
^p::Pause | ^p::Pause | ||
| − | ^! | + | ^!p:: |
Revision as of 12:36, 23 December 2009
;Ctrl+Alt+P to start macro.
;Ctrl+P to pause script (ie to click Water icon) and Ctrl+P again to resume
;The AHK icon in system tray will turn red while paused.
^p::Pause
^!p::
IfWinExist eGenesis Client
{
WinActivate
WinGetPos,,, winWidth, winHeight
widthOffset := winWidth - 40
Gui, +AlwaysOnTop +ToolWindow
Gui, Font, bold
Gui, Add, Text, vMineNumText, Recording mouse position
Gui, Font, norm
Gui, Add, Text,,
( LTrim
Hover and middle-click (Click mouse-wheel) on each wheat bed, one by one,
until you've clicked on all the beds you want to use. Then click the OK button.
(Drag this box out of the way if any beds are hidden)
)
Gui, Add, Button, default gMineSetLoops, OK
Gui, Show
MineNum = 0
MineCycle = 0
NumPulls = 1000
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% benches captured
TotalBeds := MineNum
return
MineSetLoops:
Gui, Submit
Gui, Destroy
Gui, +AlwaysOnTop +ToolWindow
Gui, Font, bold
Gui, Add, Text, vMineCycleText, Cycle %NumPulls% of %NumPulls%
Gui, Font, norm
Gui, Show
GuiControl, Text, MineCycleText, Cycle %MineCycle% of %NumPulls%
;You got 7 seconds to drag the status bar out of the way
Sleep 7000
loop, %NumPulls%
{
;Sleep, 500
MineNum = 1
MineCycle++
MouseGetPos, OldMX, OldMY
loop, %TotalBeds% {
WinActivate, eGenesis Client
;BlockInput, MouseMove
GuiControl, Text, MineCycleText, Cycle %MineCycle% Bench %MineNum%
MinePosX := MineX%MineNum%
MinePosY := MineY%MineNum%
MouseMove, %MinePosX%, %MinePosY%, 0
Sleep, 300
Send {P}
;Sleep, 250
MineNum++
}
;GuiControl, Text, MineCycleText, Cycle %MineCycle% Pausing
MouseMove, %OldMX%, %OldMY%, 0
;BlockInput, MouseMoveOff
}
Gui, Destroy
Gui, Add, Text,, Middle-click on this window to end the script.
Gui, Show
return
}