<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.atitd.org/wiki/t6w/index.php?action=history&amp;feed=atom&amp;title=User%3ACegaiel%2FMacros%2FFlaxHammock%2FCode</id>
	<title>User:Cegaiel/Macros/FlaxHammock/Code - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://www.atitd.org/wiki/t6w/index.php?action=history&amp;feed=atom&amp;title=User%3ACegaiel%2FMacros%2FFlaxHammock%2FCode"/>
	<link rel="alternate" type="text/html" href="http://www.atitd.org/wiki/t6w/index.php?title=User:Cegaiel/Macros/FlaxHammock/Code&amp;action=history"/>
	<updated>2026-06-05T07:01:09Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.2</generator>
	<entry>
		<id>http://www.atitd.org/wiki/t6w/index.php?title=User:Cegaiel/Macros/FlaxHammock/Code&amp;diff=148998&amp;oldid=prev</id>
		<title>Cegaiel: Created page with &quot;&lt;pre&gt; ;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 3/17/2010 ;Last Update: 12/17/201...&quot;</title>
		<link rel="alternate" type="text/html" href="http://www.atitd.org/wiki/t6w/index.php?title=User:Cegaiel/Macros/FlaxHammock/Code&amp;diff=148998&amp;oldid=prev"/>
		<updated>2012-02-03T05:15:23Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;pre&amp;gt; ;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 3/17/2010 ;Last Update: 12/17/201...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
;Ctrl+P to pause script and Ctrl+P again to resume&lt;br /&gt;
;The AHK icon in system tray will turn red while paused.&lt;br /&gt;
;Ctrl+R to reload script&lt;br /&gt;
;Date 3/17/2010&lt;br /&gt;
;Last Update: 12/17/2010&lt;br /&gt;
;Author: Cegaiel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Wheat is not supported due to the way it brings up a menu and makes you manually select which wheat you are drying&lt;br /&gt;
&lt;br /&gt;
;This is the times based on using 1 hammock. However, the more hammocks you have, the less seconds you will need&lt;br /&gt;
;The reason is because the timer doesn't start until the last hammock is loaded.&lt;br /&gt;
;If you have 20 hammocks, then it might take 10 seconds to load them all. In that case it would be 10 seconds less&lt;br /&gt;
&lt;br /&gt;
;Rotten flax = 2 Teppy Mins (2:13 real time / 133 seconds)&lt;br /&gt;
;Grass = 10 Teppy Mins (11:06 real time / 666 seconds)&lt;br /&gt;
;Papy = 4 Teppy Mins (4:26 real time / 266 seconds)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Time in seconds, &lt;br /&gt;
sFlax = 133&lt;br /&gt;
sGrass = 666&lt;br /&gt;
sPapy = 266&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			; // CONFIGURATION&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			;Set Delay to 100-150 for fast computer/not much lag. 250 for slower computer.&lt;br /&gt;
&lt;br /&gt;
			Delay = 125&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			;Set PopupDelay to 150-200 for fast computer, about 250+ for slower computers (or lots of lag)&lt;br /&gt;
&lt;br /&gt;
			PoupDelay = 200&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			; // END CONFIGURATION&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			;Get coordinates, for your resolutions'  X,Y location of the popups (OK button) that will occur later.&lt;br /&gt;
			CenterX := Floor(Xmax/2)&lt;br /&gt;
			CenterY := Floor(Ymax/2)+105&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IfWinExist eGenesis Client&lt;br /&gt;
{&lt;br /&gt;
	WinActivate&lt;br /&gt;
	Gui, +AlwaysOnTop +ToolWindow&lt;br /&gt;
	Gui, Add, Text,, What are you drying?&lt;br /&gt;
	Gui, Add, DropDownList, vWord Choose1, Grass|Rotten Flax|Fertile Papyrus|Sterile Papyrus&lt;br /&gt;
	Gui, Add, Text,, Qty you have in inventory:&lt;br /&gt;
	Gui, Add, Edit, vQty wp number, &lt;br /&gt;
	Gui, Add, Text,, `nHammock Max capacity:&lt;br /&gt;
	Gui, Add, Text,, Grass: 200   (2 Teppy Min max)`nPapyrus: 20   (4 Teppy Min max)`nRotten Flax: 10   (2 Teppy Min max)`n&lt;br /&gt;
	Gui, Add, Button, gRecord, Next&lt;br /&gt;
	Gui, Show, x0 y25&lt;br /&gt;
	return&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	Record:&lt;br /&gt;
	Gui, Submit&lt;br /&gt;
	Gui, Destroy&lt;br /&gt;
	Gui, +AlwaysOnTop +ToolWindow&lt;br /&gt;
	Gui, Font, bold&lt;br /&gt;
	Gui, Add, Text, vMineNumText, Record hammock locations&lt;br /&gt;
	Gui, Font, norm&lt;br /&gt;
	Gui, Add, Text,,&lt;br /&gt;
	( LTrim&lt;br /&gt;
	Hover and middle-click (Click mouse-wheel) on each hammock, one by one,&lt;br /&gt;
	until you've clicked on all the hammocks you want to use. Then click the OK button.&lt;br /&gt;
&lt;br /&gt;
	(Drag this box out of the way if any hammocks are hidden)&lt;br /&gt;
&lt;br /&gt;
	Make sure you chat is minimized and that your screen is locked (Alt+L)&lt;br /&gt;
&lt;br /&gt;
	AFTER setting hammock locations, Press OK...&lt;br /&gt;
&lt;br /&gt;
	)&lt;br /&gt;
&lt;br /&gt;
	Gui, Add, Button, default gMineSetLoops, OK&lt;br /&gt;
	Gui, Show, x0 y25&lt;br /&gt;
&lt;br /&gt;
	MineNum = 0&lt;br /&gt;
	PerCycle = 0&lt;br /&gt;
	Dried = 0&lt;br /&gt;
&lt;br /&gt;
SetDefaultMouseSpeed, 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	WinGet, GameWinHandle, ID, eGenesis Client&lt;br /&gt;
	loop&lt;br /&gt;
	{&lt;br /&gt;
		WinActivate&lt;br /&gt;
		CoordMode, Mouse, Relative&lt;br /&gt;
		KeyWait, MButton, D&lt;br /&gt;
		KeyWait, MButton&lt;br /&gt;
		MouseGetPos, TestX, TestY, WinHandle&lt;br /&gt;
		if (WinHandle = GameWinHandle)&lt;br /&gt;
		{&lt;br /&gt;
			Gosub, MineRecord&lt;br /&gt;
		}&lt;br /&gt;
		else&lt;br /&gt;
		{&lt;br /&gt;
			Gui, Destroy&lt;br /&gt;
			break&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	return&lt;br /&gt;
&lt;br /&gt;
	MineRecord:&lt;br /&gt;
	MineNum++&lt;br /&gt;
	MouseGetPos, MineX%MineNum%, MineY%MineNum%&lt;br /&gt;
	GuiControl, Text, MineNumText, %MineNum% hammocks captured&lt;br /&gt;
	TotalHammocks := MineNum&lt;br /&gt;
	return&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	MineSetLoops:&lt;br /&gt;
	Gui, Submit&lt;br /&gt;
	Gui, Destroy&lt;br /&gt;
&lt;br /&gt;
	Msgbox, Make sure your chat is MINIMIZED!`n`nAfter verifying chat is minimized, Click OK to proceed...&lt;br /&gt;
&lt;br /&gt;
	Gui, +AlwaysOnTop +ToolWindow&lt;br /&gt;
	Gui, Font, bold&lt;br /&gt;
&lt;br /&gt;
	Gui, Add, Text, vMineCycleText, 5 seconds countdown to drag this window out of way`n`n`n`n&lt;br /&gt;
	Gui, Show, x0 y25&lt;br /&gt;
	GuiControl, Text, MineCycleText, 5 seconds countdown to drag this window out of way`n`n`n`n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	StartDelay = 5&lt;br /&gt;
	;You got 5 seconds to drag the status window out of the way&lt;br /&gt;
	Loop, %StartDelay%&lt;br /&gt;
	{&lt;br /&gt;
	GuiControl, Text, MineCycleText, %StartDelay%s countdown to drag this window out of way`n`n`n`n&lt;br /&gt;
	StartDelay --&lt;br /&gt;
	Sleep 1000&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
SetDefaultMouseSpeed, 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	if (Word == &amp;quot;Rotten Flax&amp;quot;) {&lt;br /&gt;
	Hammock := &amp;quot;F&amp;quot;&lt;br /&gt;
	Seconds := sFlax&lt;br /&gt;
	Cycles := Ceil(Qty / (10 * TotalHammocks))&lt;br /&gt;
	PerHammock := 10&lt;br /&gt;
	minutes_eta = 2&lt;br /&gt;
	seconds_eta = 13&lt;br /&gt;
&lt;br /&gt;
	} else if (Word == &amp;quot;Grass&amp;quot;) {&lt;br /&gt;
	Hammock := &amp;quot;S&amp;quot;&lt;br /&gt;
	Seconds := sGrass&lt;br /&gt;
	Cycles := Ceil(Qty / (200 * TotalHammocks))&lt;br /&gt;
	PerHammock := 200&lt;br /&gt;
	minutes_eta = 11&lt;br /&gt;
	seconds_eta = 6&lt;br /&gt;
&lt;br /&gt;
	} else if (Word == &amp;quot;Fertile Papyrus&amp;quot;) {&lt;br /&gt;
	Hammock := &amp;quot;P&amp;quot;&lt;br /&gt;
	Seconds := sPapy&lt;br /&gt;
	Cycles := Ceil(Qty / (20 * TotalHammocks))&lt;br /&gt;
	PerHammock := 20&lt;br /&gt;
	minutes_eta = 4&lt;br /&gt;
	seconds_eta = 26&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	} else if (Word == &amp;quot;Sterile Papyrus&amp;quot;) {&lt;br /&gt;
	Hammock := &amp;quot;N&amp;quot;&lt;br /&gt;
	Seconds := sPapy&lt;br /&gt;
	Cycles := Ceil(Qty / (20 * TotalHammocks))&lt;br /&gt;
	PerHammock := 20&lt;br /&gt;
	minutes_eta = 4&lt;br /&gt;
	seconds_eta = 26&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PerCycle := PerHammock * MineNum&lt;br /&gt;
Remaining := Cycles&lt;br /&gt;
&lt;br /&gt;
	loop, %Cycles%&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			WinActivate, eGenesis Client&lt;br /&gt;
			MineNum = 1&lt;br /&gt;
			MouseGetPos, OldMX, OldMY&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	;Dry Hammock Loop&lt;br /&gt;
	loop, %TotalHammocks% {&lt;br /&gt;
&lt;br /&gt;
			WinActivate, eGenesis Client&lt;br /&gt;
&lt;br /&gt;
			;BlockInput, MouseMove&lt;br /&gt;
			GuiControl, Text, MineCycleText, Drying %Word% -  Hammock: %MineNum% &lt;br /&gt;
			MinePosX := MineX%MineNum%&lt;br /&gt;
			MinePosY := MineY%MineNum%&lt;br /&gt;
			MouseMove, %MinePosX%, %MinePosY%, 0&lt;br /&gt;
			sleep %Delay%&lt;br /&gt;
			Send {%Hammock%}&lt;br /&gt;
			Sleep, %Delay%	&lt;br /&gt;
			MineNum++&lt;br /&gt;
			GoSub, Popup&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			MouseMove, %OldMX%, %OldMY%, 0		&lt;br /&gt;
&lt;br /&gt;
			SecondsCountDown := Seconds&lt;br /&gt;
&lt;br /&gt;
			loop, %Seconds% {&lt;br /&gt;
			Gui, Font, bold&lt;br /&gt;
			GuiControl, Text, MineCycleText, %minutes_eta%m %seconds_eta%s drying time remaining (%Word%)`n`n%Remaining% of %cycles% cycles remaining to process `n`nDried: %Dried% of %Qty%&lt;br /&gt;
			Gui, Font, norm&lt;br /&gt;
			Gui, Add, Text,,&lt;br /&gt;
			( LTrim&lt;br /&gt;
	&lt;br /&gt;
			%Remaining% cycles remaining to process: %Word%`nDried: %Dried%&lt;br /&gt;
			)&lt;br /&gt;
&lt;br /&gt;
			;SecondsCountdown := SecondsCountdown - 1&lt;br /&gt;
			sleep 1000&lt;br /&gt;
  			Gosub, Timer&lt;br /&gt;
			}&lt;br /&gt;
	&lt;br /&gt;
			MineNum = 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			;Take Dried Items&lt;br /&gt;
&lt;br /&gt;
			loop, %TotalHammocks% {&lt;br /&gt;
&lt;br /&gt;
			WinActivate, eGenesis Client&lt;br /&gt;
&lt;br /&gt;
			GuiControl, Text, MineCycleText, Taking %Word% -  Hammock: %MineNum% &lt;br /&gt;
			MinePosX := MineX%MineNum%&lt;br /&gt;
			MinePosY := MineY%MineNum%&lt;br /&gt;
			MouseMove, %MinePosX%, %MinePosY%, 0&lt;br /&gt;
			Sleep, %Delay%	&lt;br /&gt;
			Send {T}&lt;br /&gt;
			Sleep, %Delay%	&lt;br /&gt;
			GoSub, Popup&lt;br /&gt;
			MineNum++&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			Remaining --&lt;br /&gt;
			Dried := Dried + PerCycle&lt;br /&gt;
&lt;br /&gt;
			;Set the minutes/seconds countdown again, for next cycle&lt;br /&gt;
			if (Word == &amp;quot;Rotten Flax&amp;quot;) {&lt;br /&gt;
			minutes_eta = 2&lt;br /&gt;
			seconds_eta = 13&lt;br /&gt;
			} else if (Word == &amp;quot;Grass&amp;quot;) {&lt;br /&gt;
			minutes_eta = 11&lt;br /&gt;
			seconds_eta = 6&lt;br /&gt;
			} else if (Word == &amp;quot;Fertile Papyrus&amp;quot;) {&lt;br /&gt;
			minutes_eta = 4&lt;br /&gt;
			seconds_eta = 26&lt;br /&gt;
			} else if (Word == &amp;quot;Sterile Papyrus&amp;quot;) {&lt;br /&gt;
			minutes_eta = 4&lt;br /&gt;
			seconds_eta = 26&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			GuiControl, Text, MineCycleText, 2s Pause, Hit Ctrl+P to STOP HAMMOCKS &lt;br /&gt;
			Sleep 2000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	} &lt;br /&gt;
&lt;br /&gt;
	Gui, Destroy&lt;br /&gt;
	Gui, Add, Text,, Middle-click on this window to end the script.&lt;br /&gt;
	Gui, Show&lt;br /&gt;
	return&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			Popup:&lt;br /&gt;
&lt;br /&gt;
			;Search for the RBG color of 0xECDFBD (Same as HTML code: #ECDFBD)&lt;br /&gt;
&lt;br /&gt;
			PixelSearch, Px, Py, %CenterX%, %CenterY%, %CenterX%, %CenterY%, 0xEBDDBB, %shade%, Fast|RGB&lt;br /&gt;
&lt;br /&gt;
			if ErrorLevel = 0&lt;br /&gt;
			{&lt;br /&gt;
			MouseMove, %CenterX%, %CenterY%&lt;br /&gt;
			Sleep %PopupDelay%&lt;br /&gt;
			Click&lt;br /&gt;
			Sleep %PopupDelay%&lt;br /&gt;
			}&lt;br /&gt;
			return&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		Timer:&lt;br /&gt;
		&lt;br /&gt;
		if (seconds_eta = 0) and !(minutes_eta = 0)&lt;br /&gt;
		{&lt;br /&gt;
		seconds_eta := 60&lt;br /&gt;
		minutes_eta --&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		if (minutes_eta &amp;lt; 0)&lt;br /&gt;
		minutes_eta := 0&lt;br /&gt;
&lt;br /&gt;
		seconds_eta --&lt;br /&gt;
		return&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
^r::reload&lt;br /&gt;
^p::Pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cegaiel</name></author>
	</entry>
</feed>