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/Code"

From A Tale in the Desert
Jump to navigationJump to search
Line 4: Line 4:
 
;The AHK icon in system tray will turn red while paused.
 
;The AHK icon in system tray will turn red while paused.
 
;Ctrl+R to reload script
 
;Ctrl+R to reload script
;Date: 4/17/2010
+
;Date: 10/02/2010
  
  
Line 12: Line 12:
  
  
;Note this was designed using 20 carpentry benches as a base line. If you are using a small handful (like 1-10) then
+
Resuming = 0
;you will need to adjust the sleep seconds to slow it down.  Look for these lines below:
+
DefaultResumingCounter = 10
;Send {P}
 
;Sleep, 250
 
 
 
;1000 = 1 second, so 250 is 1/4 of 1 seconds.  Try setting the 2nd instance of Sleep 150 to like 1000-2000 (1-2 second) range.
 
;This should slow it down enough so that it doesn't keep trying to plane boards on a bench that is still in the middle of last board.
 
;the reason its set to 250, is at 20 benches, by the time it gets back to the first bench it had time to complete.
 
;But it takes about 1-3 seconds, not sure, to plane a board. So if you have a small amount, then its going to
 
;return to a plane in progress and try to plane a board before the last one completes (the cycle will return to 1st bench to quickly).
 
  
  
Line 86: Line 78:
 
Gui, +AlwaysOnTop +ToolWindow
 
Gui, +AlwaysOnTop +ToolWindow
 
Gui, Font, bold
 
Gui, Font, bold
Gui, Add, Text, vMineCycleText, 5s to drag out of way from the benches`n`n
+
Gui, Add, Text, vMineCycleText, 5s to drag out of way from the benches`n`n`n`n`n
 
Gui, Font, norm
 
Gui, Font, norm
 
Gui, Show
 
Gui, Show
GuiControl, Text, MineCycleText, 5s to drag out of way from the benches`n`n
+
GuiControl, Text, MineCycleText, 5s to drag out of way from the benches`n`n`n`n`n
  
 
seconds = 5
 
seconds = 5
Line 95: Line 87:
 
Loop, %seconds%
 
Loop, %seconds%
 
{
 
{
GuiControl, Text, MineCycleText, %seconds%s countdown, drag window out of way
+
GuiControl, Text, MineCycleText, %seconds%s countdown, drag window out of way`n`n`nMake sure chat is MINIMIZED!
 
seconds --
 
seconds --
 
Sleep 1000
 
Sleep 1000
Line 125: Line 117:
 
MineNum++
 
MineNum++
 
Boards++
 
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%
 
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 Boards = %NumPulls%
+
 
 +
 
 +
if ResumingCounter = 0
 
{
 
{
GuiControl, Text, MineCycleText, Boards: %Boards% of %NumPulls%`nAll Done, pausing script...`nHit Ctrl+P to Resume (if quota not met)
+
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
 
PAUSE
 
}
 
}
 +
 +
 +
 +
  
 
}
 
}

Revision as of 03:16, 3 October 2010

;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
}