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/Bricks/Code
From A Tale in the Desert
< User:Cegaiel | Macros | Bricks
Jump to navigationJump to search;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
^r::reload
^p::Pause
^!w::
;Explanation of Seconds variable below:
;If you find the bricks are getting done slightly late:
;(ie it begins making more bricks before they are done), then add 1 second at a time, below
;If you find the bricks are forming before the timer is done,
;(ie there is 1 or more seconds remaining on timer when bricks get done) then decrease 1 second at a time
;It takes about 33 seconds for the bricks to form, but the time it takes from when the first rack is loaded
;until the time the last one is loaded is the reason that time varies
;About 33s for 6 racks
;About 26s for 25 racks
Seconds = 26
IfWinExist eGenesis Client
{
WinActivate
Gui, Add, Text,, Brick Type:
Gui, Add, DropDownList, vBrick Choose1, Bricks|Firebricks|Clay Bricks
Gui, Add, Button, gRecord, GO
Gui, Show
return
Record:
Gui, Submit
Gui, Destroy
Gui, +AlwaysOnTop +ToolWindow
Gui, Font, bold
Gui, Add, Text, vMineNumText, Set brick rack locations
Gui, Font, norm
Gui, Add, Text,,
( LTrim
Hover and middle-click (Click mouse-wheel) on each rack, one by one,
until you've clicked on all the racks you want to use. Then click the OK button.
(Drag this box out of the way if any racks are hidden)
Make sure you chat is minimized and that your screen is locked (Alt+L)
AFTER setting brick rack locations, Press OK...
)
Gui, Add, Button, default gMineSetLoops, OK
Gui, Show
MineNum = 0
NumPulls = 100
if (Brick == "Bricks") {
Bricks := "B"
} else if (Brick == "Firebricks") {
Bricks := "F"
} else if (Brick == "Clay Bricks") {
Bricks := "C"
}
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% brick racks captured
TotalRacks := 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
Sleep, 5000
loop, %NumPulls%
{
MineNum = 1
MouseGetPos, OldMX, OldMY
;Make Bricks Loop
loop, %TotalRacks% {
WinActivate, eGenesis Client
;BlockInput, MouseMove
GuiControl, Text, MineCycleText, Making Bricks - Rack: %MineNum%
MinePosX := MineX%MineNum%
MinePosY := MineY%MineNum%
MouseMove, %MinePosX%, %MinePosY%, 0
Sleep 100
Send {%Bricks%}
Sleep, 200
MineNum++
}
MouseMove, %OldMX%, %OldMY%, 0
SecondsCountDown := Seconds
loop, %Seconds% {
GuiControl, Text, MineCycleText, Waiting %SecondsCountdown%s for bricks to complete
SecondsCountdown := SecondsCountdown - 1
Sleep 1000
}
MineNum = 1
;Take Bricks
loop, %TotalRacks% {
WinActivate, eGenesis Client
GuiControl, Text, MineCycleText, Taking Bricks - Rack: %MineNum%
MinePosX := MineX%MineNum%
MinePosY := MineY%MineNum%
MouseMove, %MinePosX%, %MinePosY%, 0
Sleep, 100
Send {T}
Sleep, 200
MineNum++
}
GuiControl, Text, MineCycleText, 2s Pause, Hit Ctrl+P to STOP BRICKS
Sleep 2000
}
Gui, Destroy
Gui, Add, Text,, Middle-click on this window to end the script.
Gui, Show
return
}