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

From A Tale in the Desert
< User:Cegaiel‎ | Macros
Revision as of 12:36, 23 December 2009 by Cegaiel (talk | contribs)
Jump to navigationJump to search
;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
}