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/FlaxHammock/Code"
From A Tale in the Desert
< User:Cegaiel | Macros | FlaxHammock
Jump to navigationJump to searchLine 4: | Line 4: | ||
;Ctrl+R to reload script | ;Ctrl+R to reload script | ||
;Date 3/17/2010 | ;Date 3/17/2010 | ||
+ | ;Last Update: 10/11/2010 (Now asks how much you have in inventory and stops when all has been processed, automatically) | ||
Line 31: | Line 32: | ||
Gui, Add, Text,, What are you drying? | Gui, Add, Text,, What are you drying? | ||
Gui, Add, DropDownList, vWord Choose3, Grass|Papyrus|Rotten Flax | Gui, Add, DropDownList, vWord Choose3, Grass|Papyrus|Rotten Flax | ||
− | Gui, Add, Text,, | + | Gui, Add, Text,, Qty you have in inventory: |
− | Gui, Add, Edit, | + | Gui, Add, Edit, vQty wp number, |
− | |||
− | |||
− | |||
− | |||
− | |||
Gui, Font, bold | Gui, Font, bold | ||
− | Gui, Add, Text,, | + | Gui, Add, Text,, `nHammock Max capacity: |
Gui, Font, norm | Gui, Font, norm | ||
− | Gui, Add, Text,, Grass: 200 (2 Teppy Min max)`nPapyrus: 20 (4 Teppy Min max)`nRotten Flax: 10 (2 Teppy Min | + | Gui, Add, Text,, Grass: 200 (2 Teppy Min max)`nPapyrus: 20 (4 Teppy Min max)`nRotten Flax: 10 (2 Teppy Min max)`n |
− | |||
− | max)`n | ||
Gui, Add, Button, gRecord, Next | Gui, Add, Button, gRecord, Next | ||
Gui, Show | Gui, Show | ||
Line 75: | Line 69: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
SetDefaultMouseSpeed, 0 | SetDefaultMouseSpeed, 0 | ||
Line 124: | Line 106: | ||
Gui, +AlwaysOnTop +ToolWindow | Gui, +AlwaysOnTop +ToolWindow | ||
Gui, Font, bold | Gui, Font, bold | ||
− | Gui, Add, Text, vMineCycleText, 5 seconds to drag window out of way | + | Gui, Add, Text, vMineCycleText, 5 seconds countdown to drag this window out of way`n`n`n |
Gui, Font, norm | Gui, Font, norm | ||
Gui, Show | Gui, Show | ||
− | GuiControl, Text, MineCycleText, 5 seconds to drag window out of way | + | GuiControl, Text, MineCycleText, 5 seconds countdown to drag this window out of way`n`n`n |
Line 134: | Line 116: | ||
Loop, %Delay% | Loop, %Delay% | ||
{ | { | ||
− | GuiControl, Text, MineCycleText, %Delay%s countdown | + | GuiControl, Text, MineCycleText, %Delay%s countdown to drag this window out of way`n`n`n |
Delay -- | Delay -- | ||
Sleep 1000 | Sleep 1000 | ||
Line 141: | Line 123: | ||
SetDefaultMouseSpeed, 0 | SetDefaultMouseSpeed, 0 | ||
+ | |||
+ | if (Word == "Rotten Flax") { | ||
+ | Hammock := "F" | ||
+ | Seconds := sFlax | ||
+ | Cycles := Ceil(Qty / (10 * TotalHammocks)) | ||
+ | |||
+ | } else if (Word == "Grass") { | ||
+ | Hammock := "S" | ||
+ | Seconds := sGrass | ||
+ | Cycles := Ceil(Qty / (200 * TotalHammocks)) | ||
+ | |||
+ | } else if (Word == "Papyrus") { | ||
+ | Hammock := "P" | ||
+ | Seconds := sPapy | ||
+ | Cycles := Ceil(Qty / (20 * TotalHammocks)) | ||
+ | |||
+ | } | ||
+ | |||
+ | Remaining := Cycles | ||
loop, %Cycles% | loop, %Cycles% | ||
Line 146: | Line 147: | ||
+ | WinActivate, eGenesis Client | ||
MineNum = 1 | MineNum = 1 | ||
MouseGetPos, OldMX, OldMY | MouseGetPos, OldMX, OldMY | ||
Line 172: | Line 174: | ||
loop, %Seconds% { | loop, %Seconds% { | ||
− | GuiControl, Text, MineCycleText, | + | GuiControl, Text, MineCycleText, %SecondsCountdown%s drying time remaining`n`n%Remaining% cycles remaining to process %Qty% %Word% |
+ | |||
SecondsCountdown := SecondsCountdown - 1 | SecondsCountdown := SecondsCountdown - 1 | ||
sleep 1000 | sleep 1000 | ||
Line 199: | Line 202: | ||
} | } | ||
− | + | Remaining -- | |
Revision as of 03:22, 12 October 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 ;Date 3/17/2010 ;Last Update: 10/11/2010 (Now asks how much you have in inventory and stops when all has been processed, automatically) ;Wheat is not supported due to the way it brings up a menu and makes you manually select which wheat you are drying ;This is the times based on using 1 hammock. However, the more hammocks you have, the less seconds you will need ;The reason is because the timer doesn't start until the last hammock is loaded. ;If you have 20 hammocks, then it might take 10 seconds to load them all. In that case it would be 10 seconds less ;Rotten flax = 2 Teppy Mins (2:13 real time / 133 seconds) ;Grass = 10 Teppy Mins (11:06 real time / 666 seconds) ;Papy = 4 Teppy Mins (4:26 real time / 266 seconds) ;Time in seconds, sFlax = 133 sGrass = 666 sPapy = 266 IfWinExist eGenesis Client { WinActivate Gui, Add, Text,, What are you drying? Gui, Add, DropDownList, vWord Choose3, Grass|Papyrus|Rotten Flax Gui, Add, Text,, Qty you have in inventory: Gui, Add, Edit, vQty wp number, Gui, Font, bold Gui, Add, Text,, `nHammock Max capacity: Gui, Font, norm Gui, Add, Text,, Grass: 200 (2 Teppy Min max)`nPapyrus: 20 (4 Teppy Min max)`nRotten Flax: 10 (2 Teppy Min max)`n Gui, Add, Button, gRecord, Next Gui, Show return Record: Gui, Submit Gui, Destroy Gui, +AlwaysOnTop +ToolWindow Gui, Font, bold Gui, Add, Text, vMineNumText, Record hammock locations Gui, Font, norm Gui, Add, Text,, ( LTrim Hover and middle-click (Click mouse-wheel) on each hammock, one by one, until you've clicked on all the hammocks you want to use. Then click the OK button. (Drag this box out of the way if any hammocks are hidden) Make sure you chat is minimized and that your screen is locked (Alt+L) AFTER setting hammock locations, Press OK... ) Gui, Add, Button, default gMineSetLoops, OK Gui, Show MineNum = 0 SetDefaultMouseSpeed, 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% hammocks captured TotalHammocks := MineNum return MineSetLoops: Gui, Submit Gui, Destroy Gui, +AlwaysOnTop +ToolWindow Gui, Font, bold Gui, Add, Text, vMineCycleText, 5 seconds countdown to drag this window out of way`n`n`n Gui, Font, norm Gui, Show GuiControl, Text, MineCycleText, 5 seconds countdown to drag this window out of way`n`n`n Delay = 5 ;You got 5 seconds to drag the status window out of the way Loop, %Delay% { GuiControl, Text, MineCycleText, %Delay%s countdown to drag this window out of way`n`n`n Delay -- Sleep 1000 } SetDefaultMouseSpeed, 0 if (Word == "Rotten Flax") { Hammock := "F" Seconds := sFlax Cycles := Ceil(Qty / (10 * TotalHammocks)) } else if (Word == "Grass") { Hammock := "S" Seconds := sGrass Cycles := Ceil(Qty / (200 * TotalHammocks)) } else if (Word == "Papyrus") { Hammock := "P" Seconds := sPapy Cycles := Ceil(Qty / (20 * TotalHammocks)) } Remaining := Cycles loop, %Cycles% { WinActivate, eGenesis Client MineNum = 1 MouseGetPos, OldMX, OldMY ;Dry Hammock Loop loop, %TotalHammocks% { WinActivate, eGenesis Client ;BlockInput, MouseMove GuiControl, Text, MineCycleText, Drying %Word% - Hammock: %MineNum% MinePosX := MineX%MineNum% MinePosY := MineY%MineNum% MouseMove, %MinePosX%, %MinePosY%, 0 sleep 250 Send {%Hammock%} Sleep, 250 MineNum++ } MouseMove, %OldMX%, %OldMY%, 0 SecondsCountDown := Seconds loop, %Seconds% { GuiControl, Text, MineCycleText, %SecondsCountdown%s drying time remaining`n`n%Remaining% cycles remaining to process %Qty% %Word% SecondsCountdown := SecondsCountdown - 1 sleep 1000 } MineNum = 1 ;Take Dried Items loop, %TotalHammocks% { WinActivate, eGenesis Client GuiControl, Text, MineCycleText, Taking %Word% - Hammock: %MineNum% MinePosX := MineX%MineNum% MinePosY := MineY%MineNum% MouseMove, %MinePosX%, %MinePosY%, 0 Sleep, 250 Send {T} Sleep, 250 MineNum++ } Remaining -- GuiControl, Text, MineCycleText, 2s Pause, Hit Ctrl+P to STOP HAMMOCKS Sleep 2000 } Gui, Destroy Gui, Add, Text,, Middle-click on this window to end the script. Gui, Show return } ^r::reload ^p::Pause