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/Plane/Code
From A Tale in the Desert
Jump to navigationJump to search;Ctrl+Alt+W to start macro.
;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: 10/02/2010
^r::reload
^p::Pause
^!w::
Resuming = 0
DefaultResumingCounter = 10
IfWinExist eGenesis Client
{
WinActivate
InputBox, NumPulls, Boards, How many boards do you want to plane?
Gui, +AlwaysOnTop +ToolWindow
Gui, Font, bold
Gui, Add, Text, vMineNumText, Recording bench positions
Gui, Font, norm
Gui, Add, Text,,
( LTrim
Hover and middle-click (Click mouse-wheel) on each carpentry bench, one by one,
until you've clicked on all the benches you want to use.
AFTER setting middle clicking all your benches, then click the OK button.
(Drag this box out of the way if any benches are hidden)
)
Gui, Add, Button, default gMineSetLoops, OK
Gui, Show
MineNum = 0
Boards = 0
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
TotalBenches := MineNum
return
MineSetLoops:
Gui, Submit
Gui, Destroy
Gui, +AlwaysOnTop +ToolWindow
Gui, Font, bold
Gui, Add, Text, vMineCycleText, 5s to drag out of way from the benches`n`n`n`n`n
Gui, Font, norm
Gui, Show
GuiControl, Text, MineCycleText, 5s to drag out of way from the benches`n`n`n`n`n
seconds = 5
;You got 5 seconds to drag the status window out of the way
Loop, %seconds%
{
GuiControl, Text, MineCycleText, %seconds%s countdown, drag window out of way`n`n`nMake sure chat is MINIMIZED!
seconds --
Sleep 1000
}
;SetDefaultMouseSpeed, 0
loop
{
MineNum = 1
loop, %TotalBenches% {
WinActivate, eGenesis Client
MinePosX := MineX%MineNum%
MinePosY := MineY%MineNum%
MouseMove, %MinePosX%, %MinePosY%, 0
Sleep, 150
Send {P}
Sleep, 150
MineNum++
Boards++
if Resuming = 1
{
GuiControl, Text, MineCycleText, Boards: %Boards% of %NumPulls%`n`n`n`n`nMaking %ResumingCounter% more boards...
ResumingCounter --
} else {
GuiControl, Text, MineCycleText, Boards: %Boards% of %NumPulls%
}
if Boards = %NumPulls%
{
GuiControl, Text, MineCycleText, Boards: %Boards% of %NumPulls%`n`nAll Done, pausing script...`nHit Ctrl+P to Resume (if quota not met)`n`nMakes %DefaultResumingCounter% more boards...
Resuming = 1
ResumingCounter := DefaultResumingCounter
PAUSE
}
if ResumingCounter = 0
{
ResumingCounter := DefaultResumingCounter
GuiControl, Text, MineCycleText, Boards: %Boards% of %NumPulls%`n`nAll Done, pausing script...`nHit Ctrl+P to Resume (if quota not met)`n`nMakes %DefaultResumingCounter% more boards...
PAUSE
}
}
}
Gui, Destroy
Gui, Add, Text,, Middle-click on this window to end the script.
Gui, Show
return
}