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

From A Tale in the Desert
Jump to navigationJump to search
 
(One intermediate revision by the same user not shown)
Line 31: Line 31:
 
Cycles := Floor(Flax/10)
 
Cycles := Floor(Flax/10)
  
Msgbox, This requires %Cycles% cycles, the macro will stop automatically after %Cycles% cycles.`n`nNow, hover mouse over a  
+
Msgbox, This requires %Cycles% cycles, the macro will stop automatically after %Cycles% cycles.`n`nNow, hover mouse over a black letter, in the word ENDURANCE, in skills tab`n`nThis is the letter/skill that turns red when you get tired`n`nWhen you are hovering a black letter it will tell you in the tooltip.`n`nPress F2, when it tells you in tooltip, to set position.`n`nClick OK to proceed...
 
 
black letter, in the word ENDURANCE, in skills tab`n`nThis is the letter/skill that turns red when you get tired`n`nWhen  
 
 
 
you are hovering a black letter it will tell you in the tooltip.`n`nPress F2, when it tells you in tooltip, to set  
 
 
 
position.`n`nClick OK to proceed...
 
  
  
Line 49: Line 43:
 
WinGetActiveStats, win_Title, Xmax, Ymax, win_Xpos, win_Ypos  
 
WinGetActiveStats, win_Title, Xmax, Ymax, win_Xpos, win_Ypos  
  
;Get coordinates, for your resolutions'  X,Y location of the popups (OK button) that will occur  
+
;Get coordinates, for your resolutions'  X,Y location of the popups (OK button) that will occur later.
 
 
later.
 
 
CenterX := Floor(Xmax/2)
 
CenterX := Floor(Xmax/2)
 
CenterY := Floor(Ymax/2)+109
 
CenterY := Floor(Ymax/2)+109
Line 95: Line 87:
 
if state = D
 
if state = D
 
{
 
{
MsgBox Endurance text location recorded!`n`nNow pinup your Hackling Rake menu. Make sure it says "Seperate Rotten Flax  
+
MsgBox Endurance text location recorded!`n`nNow pinup your Hackling Rake menu. Make sure it says "Seperate Rotten Flax (Step 1, Remove Straw)"`n`nHover mouse over that option and press F2 to record the click position.`n`nClick OK to proceed...
 
 
(Step 1, Remove Straw)"`n`nHover mouse over that option and press F2 to record the click position.`n`nClick OK to  
 
 
 
proceed...
 
 
Tooltip
 
Tooltip
 
break
 
break
Line 110: Line 98:
 
{
 
{
 
MouseGetPos, ClickX, ClickY
 
MouseGetPos, ClickX, ClickY
Msgbox, Hackling Rake menu (Step 1) location recorded!`n`nNote: you can hit Ctrl+P to PAUSE script anytime and Ctrl+P again  
+
Msgbox, Hackling Rake menu (Step 1) location recorded!`n`nNote: you can hit Ctrl+P to PAUSE script anytime and Ctrl+P again to RESUME`n`nClick OK to Start...
 
 
to RESUME`n`nClick OK to Start...
 
 
}
 
}
  
Line 120: Line 106:
 
{
 
{
  
Msgbox, One more step! You have selected that you will be eating grilled foods!`n`nPinup the Esc, Skills, Consume menu and  
+
Msgbox, One more step! You have selected that you will be eating grilled foods!`n`nPinup the Esc, Skills, Consume menu and set the click position of the "Eat Grilled food" menu by hovering and hitting F2.`n`nNote: When this macro begins, it will first eat (so don't manually eat first).`n`nThen every 10 Teppy Mins (11:00 real time), it will automatically click/eat the grilled food.`n`nClick OK, then hit F2 over the grilled food consume menu to set...
 
 
set the click position of the "Eat Grilled food" menu by hovering and hitting F2.`n`nNote: When this macro begins, it will  
 
 
 
first eat (so don't manually eat first).`n`nThen every 10 Teppy Mins (11:00 real time), it will automatically click/eat the  
 
 
 
grilled food.`n`nClick OK, then hit F2 over the grilled food consume menu to set...
 
  
 
WinActivate, eGenesis Client
 
WinActivate, eGenesis Client
Line 217: Line 197:
 
{
 
{
 
SoundPlay *16,1
 
SoundPlay *16,1
Msgbox, Pop Up box detected! Pausing macro...`n`nFind the problem, correct and hit Ctrl+P.`n`nYou  
+
Msgbox, Pop Up box detected! Pausing macro...`n`nFind the problem, correct and hit Ctrl+P.`n`nYou will resume from where you left off at...`n`nIf your flax comb just broke, then Ctrl+R to reload.
 
 
will resume from where you left off at...`n`nIf your flax comb just broke, then Ctrl+R to reload.
 
 
PAUSE
 
PAUSE
 
}
 
}
Line 236: Line 214:
 
if (Eat == "Yes")
 
if (Eat == "Yes")
 
{
 
{
GuiControl, Text, ClickText, %counter% of %Cycles% cycles`n`nStep: %step% of 5 until next cycle`n`nEat  
+
GuiControl, Text, ClickText, %counter% of %Cycles% cycles`n`nStep: %step% of 5 until next cycle`n`nEat Grilled: %EatTimer%s of 660s
 
 
Grilled: %EatTimer%s of 660s
 
  
 
} else {
 
} else {
Line 262: Line 238:
 
EatTimer --
 
EatTimer --
  
GuiControl, Text, ClickText, %counter% of %Cycles% cycles`n`nStep: %step% of 5 until next cycle`n`nEat Grilled:  
+
GuiControl, Text, ClickText, %counter% of %Cycles% cycles`n`nStep: %step% of 5 until next cycle`n`nEat Grilled: %EatTimer%s of 660s
 
 
%EatTimer%s of 660s
 
  
 
 

Latest revision as of 04:18, 24 January 2012

;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/26/2010
;Last Update: 12/13/2011



step = 1
cycles = 0
counter = 0

	Gui, +AlwaysOnTop +ToolWindow
	Gui, Add, Text,, How many Rotten Flax`nare in your inventory?
	Gui, Add, Edit, vFlax wp number

	Gui, Add, Text,, Eating Grilled Food?`n(Automatically eat every 10 Teppy Min)
	Gui, Add, DropDownList, vEat Choose1, No|Yes


	Gui, Add, Button, gStart, Continue
	Gui, Show
	return



Start:
Gui, Submit
Gui, Destroy
Cycles := Floor(Flax/10)

Msgbox, This requires %Cycles% cycles, the macro will stop automatically after %Cycles% cycles.`n`nNow, hover mouse over a black letter, in the word ENDURANCE, in skills tab`n`nThis is the letter/skill that turns red when you get tired`n`nWhen you are hovering a black letter it will tell you in the tooltip.`n`nPress F2, when it tells you in tooltip, to set position.`n`nClick OK to proceed...




			IfWinExist eGenesis Client
			{

			WinActivate, eGenesis Client
			WinWait, eGenesis Client
			WinGetActiveStats, win_Title, Xmax, Ymax, win_Xpos, win_Ypos 

			;Get coordinates, for your resolutions'  X,Y location of the popups (OK button) that will occur later.
			CenterX := Floor(Xmax/2)
			CenterY := Floor(Ymax/2)+109


			;Offsets the search coordinates for OK popup for the imagesearch in Popup sub.
			;ImageSearch method (Popup sub)
			ClickPopX1 := CenterX - 40
			ClickPopY1 := CenterY - 30

			ClickPopX2 := CenterX + 30
			ClickPopY2 := CenterY + 30


			} else {
			MsgBox, eGenesis Client not running, aborting...
			Exit
			}




SetDefaultMouseSpeed, 0





loop
{
MouseGetPos, skillX, skillY
PixelGetColor, color, skillX, skillY, RGB

if color = 0x000000
{
ToolTip, Coordinates: %skillX%`, %skillY%`nColor: %color%`n`n* HOVERING BLACK *`n* Press F2 to set location *
} else {
ToolTip, Coordinates: %skillX%`, %skillY%`nColor: %color%
}


GetKeyState, state, F2
if state = D
{
MsgBox Endurance text location recorded!`n`nNow pinup your Hackling Rake menu. Make sure it says "Seperate Rotten Flax (Step 1, Remove Straw)"`n`nHover mouse over that option and press F2 to record the click position.`n`nClick OK to proceed...
Tooltip
break
}
}


KeyWait, F2, D
if ErrorLevel = 0
{
MouseGetPos, ClickX, ClickY
Msgbox, Hackling Rake menu (Step 1) location recorded!`n`nNote: you can hit Ctrl+P to PAUSE script anytime and Ctrl+P again to RESUME`n`nClick OK to Start...
}



		if (Eat == "Yes")
		{

Msgbox, One more step! You have selected that you will be eating grilled foods!`n`nPinup the Esc, Skills, Consume menu and set the click position of the "Eat Grilled food" menu by hovering and hitting F2.`n`nNote: When this macro begins, it will first eat (so don't manually eat first).`n`nThen every 10 Teppy Mins (11:00 real time), it will automatically click/eat the grilled food.`n`nClick OK, then hit F2 over the grilled food consume menu to set...

	WinActivate, eGenesis Client

	KeyWait, F2, D
	if ErrorLevel = 0
	{
	MouseGetPos, EatX, EatY
	Msgbox, Eat location recorded!`n`nClick OK to eat food and start the macro...

	EatTimer = 1
	#Persistent 
	SetTimer, Eat, 1000

	}
		}






SetDefaultMouseSpeed, 0

	Gui, +AlwaysOnTop +ToolWindow
	Gui, Add, Text, vClickText, Preparing to start... Standby!`n`n`n`n
	Gui, Show
	GuiControl, Text, ClickText, Preparing to start... Standby!`n`n`n`n













		loop
		{

WinActivate, eGenesis Client
PixelGetColor, color, skillX, skillY, RGB

	if color = 0x000000
	{
	MouseGetPos, OldX, OldY





if (step = 1) {
;Step 1 (Remove Straw) - Top/1st menu choice
Click %ClickX%, %ClickY%
} else if (step = 2) {
;Step 2 (Seperate) - 2nd menu choice
NewY := ClickY + 15
Click %ClickX%, %NewY%
} else if (step = 3) {
;Step 3 (Refine) - 2nd menu choice
NewY := ClickY + 15
Click %ClickX%, %NewY%
} else if (step = 4) {
;Clean Hackling Rake - Top/1st menu choice
Click %ClickX%, %ClickY%
step = 0
counter++
}

step++
MouseMove, %OldX%, %OldY%
Sleep 500


GuiControl, Text, ClickText, %counter% of %Cycles% cycles`n`nStep: %step% of 5 until next cycle




;This searches for a popup box, which would suggest something likely went wrong

;			PixelSearch, Px, Py, %CenterX%, %CenterY%, %CenterX%, %CenterY%, 0xECDFBD, 15, Fast|RGB
			ImageSearch, PopX, PopY, ClickPopX1, ClickPopY1, ClickPopX2, ClickPopY2, *50 OK.PNG

			if ErrorLevel = 0
			{
			SoundPlay *16,1
			Msgbox, Pop Up box detected! Pausing macro...`n`nFind the problem, correct and hit Ctrl+P.`n`nYou will resume from where you left off at...`n`nIf your flax comb just broke, then Ctrl+R to reload.
			PAUSE
			}

;End searching for popupbox










		if (Eat == "Yes")
		{
		GuiControl, Text, ClickText, %counter% of %Cycles% cycles`n`nStep: %step% of 5 until next cycle`n`nEat Grilled: %EatTimer%s of 660s

		} else {
		GuiControl, Text, ClickText, %counter% of %Cycles% cycles`n`nStep: %step% of 5 until next cycle
		}



if (Counter = Cycles)
break

	}
		}
SoundPlay *16,1
GuiControl, Text, ClickText, Processed %Flax% rotten flax, Exiting...
PAUSE




	Eat: 

	EatTimer --

	GuiControl, Text, ClickText, %counter% of %Cycles% cycles`n`nStep: %step% of 5 until next cycle`n`nEat Grilled: %EatTimer%s of 660s

	
	if EatTimer = 0
	{
	SoundPlay *64,1
	GuiControl, Text, ClickText, Eating grilled food...
	MouseGetPos, OldMX, OldMY
	;Click the Eat Grilled food menu
	Click, %EatX%, %EatY%			
	Sleep, 500
	MouseMove, %OldMX%, %OldMY%, 0			
	EatTimer = 660
	Sleep 1000
	}
	return




^r::reload
^p::Pause