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

From A Tale in the Desert
Jump to navigationJump to search
Line 17: Line 17:
  
 
;It takes about 33 seconds for the bricks to form, but the time it takes from when the first rack is loaded
 
;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 the below "Seconds =x" time varies
+
;until the time the last one is loaded is the reason that time varies
 +
 
 +
 
 +
;About 32s for 6 racks
 +
;About 25s for 25 racks
 +
;About 16s for 48 racks
 +
 
 +
Seconds = 16
  
  
;About 33s for 6 racks
 
;About 26s for 25 racks
 
;About 19-20s for 48 racks
 
  
  
Seconds = 26
 
  
  
Line 116: Line 119:
  
  
Sleep, 5000
+
seconds = 5
 +
;You got 5 seconds to drag the status window out of the way
 +
Loop, %seconds%
 +
{
 +
GuiControl, Text, MineCycleText, %seconds%s to drag window out of way
 +
seconds --
 +
Sleep 1000
 +
}
 +
 
 +
 
 +
 
 +
SetDefaultMouseSpeed, 0
 +
 
  
 
loop, %NumPulls%
 
loop, %NumPulls%
Line 136: Line 151:
 
MinePosY := MineY%MineNum%
 
MinePosY := MineY%MineNum%
 
MouseMove, %MinePosX%, %MinePosY%, 0
 
MouseMove, %MinePosX%, %MinePosY%, 0
Sleep 100
+
sleep 200
 
Send {%Bricks%}
 
Send {%Bricks%}
 
Sleep, 200
 
Sleep, 200
Line 143: Line 158:
  
  
MouseMove, %OldMX%, %OldMY%, 0
+
MouseMove, %OldMX%, %OldMY%, 0
  
 
SecondsCountDown := Seconds
 
SecondsCountDown := Seconds
Line 150: Line 165:
 
GuiControl, Text, MineCycleText, Waiting %SecondsCountdown%s for bricks to complete  
 
GuiControl, Text, MineCycleText, Waiting %SecondsCountdown%s for bricks to complete  
 
SecondsCountdown := SecondsCountdown - 1
 
SecondsCountdown := SecondsCountdown - 1
Sleep 1000
+
sleep 1000
 
}
 
}
 
 
Line 167: Line 182:
 
MinePosY := MineY%MineNum%
 
MinePosY := MineY%MineNum%
 
MouseMove, %MinePosX%, %MinePosY%, 0
 
MouseMove, %MinePosX%, %MinePosY%, 0
Sleep, 100
+
Sleep, 200
 
Send {T}
 
Send {T}
 
Sleep, 200
 
Sleep, 200

Revision as of 02:54, 6 March 2010

;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 32s for 6 racks
;About 25s for 25 racks
;About 16s for 48 racks

Seconds = 16






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


	seconds = 5
	;You got 5 seconds to drag the status window out of the way
	Loop, %seconds%
	{
	GuiControl, Text, MineCycleText, %seconds%s to drag window out of way
	seconds --
	Sleep 1000
	}



SetDefaultMouseSpeed, 0


	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 200
			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, 200	
			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
}