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

From A Tale in the Desert
Jump to navigationJump to search
 
(12 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
;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:  
+
;Date: 10/27/2010
 +
;Last Update: 10/28/2010
 +
;Author: Cegaiel
 +
 
 +
;Info from Wiki:
 +
;Alcyone - Topaz
 +
;Celeano - Emerald
 +
;Maia - Ruby
 +
;Merope - Sapphire
 +
;Sterope - Quartz
 +
;Taygete - Opal
 +
;Sinai - Diamond
  
  
Line 14: Line 25:
 
;This is the speed that it highlights your mine crystals
 
;This is the speed that it highlights your mine crystals
  
Delay = 200 ;Safe (lag) is 200+, Fast is 100 (fast computer, no lag)
+
Delay = 100 ;Safe (lag) is 200+, Fast is 100 (fast computer, no lag)
  
 
;If you have problems with it not closing the popup, then try adjusting this number higher.
 
;If you have problems with it not closing the popup, then try adjusting this number higher.
  
PopUpDelay = 300 ;Safe (lag) is 300+, Fast is 200 (fast computer, no lag)
+
PopUpDelay = 100 ;Safe (lag) is 200+, Fast is 100 (fast computer, no lag)
  
 
;This is the shade at which is searches the for the color of the popup box.
 
;This is the shade at which is searches the for the color of the popup box.
Line 24: Line 35:
 
;If you find it is not even seeing the popup box, then try raising 5 at a time and finetune 1 at a time (ie 30,35,etc)
 
;If you find it is not even seeing the popup box, then try raising 5 at a time and finetune 1 at a time (ie 30,35,etc)
  
Shade = 23 ;Original is 25
+
Shade = 24 ;Original is 25
  
 
; // END CONFIGURATION AREA
 
; // END CONFIGURATION AREA
Line 43: Line 54:
 
Gui, +AlwaysOnTop +ToolWindow
 
Gui, +AlwaysOnTop +ToolWindow
 
Gui, Add, Text,, Choose Pattern:
 
Gui, Add, Text,, Choose Pattern:
Gui, Add, DropDownList, vPattern Choose1, 7 Color|6 Color (1 Pair)|5 Color (2 Pairs)|5 Color (Triple)|4 Color (3 Pairs)|4 Color (Triple + Pair)|4 Color (Quadruple)|3 Color (Triple + 2 Pair)|3 Color (Quad + Pair)|3 Color (Quintuple)
+
Gui, Add, DropDownList, vPattern Choose1, 7 Color|6 Color (1 Pair)|5 Color (2 Pair)|5 Color (Triple)|4 Color (3 Pair)|4 Color (Triple + Pair)|4 Color (Quadruple)|3 Color (Triple + 2 Pair)|3 Color (Quad + Pair)|3 Color (Quintuple)
  
  
 
Gui, Add, Button, gRecord, NEXT
 
Gui, Add, Button, gRecord, NEXT
Gui, Add, Text,, `nPattern Explanations:
+
 +
if (Pattern == "")
 +
{
 +
Gui, Add, Text,,Last: N/A`nSets: N/A
 +
} else {
 +
Gui, Add, Text,,Last: %Pattern%`nSets: %Sets%
 +
}
 +
 
 
Gui, Add, Button, gHelp, HELP
 
Gui, Add, Button, gHelp, HELP
Gui, Add, Text,,
 
 
Gui, Show
 
Gui, Show
 
return
 
return
Line 68: Line 85:
  
 
Make sure you click all quad colors FIRST!
 
Make sure you click all quad colors FIRST!
 
 
Make sure you click all triple colors SECOND!
 
Make sure you click all triple colors SECOND!
 
 
Make sure you click all pair colors THIRD!
 
Make sure you click all pair colors THIRD!
 
 
Then all the single colors, LAST!
 
Then all the single colors, LAST!
 
If there are no triples or pairs, then just randomly set all the stones.
 
 
  
 
)
 
)
Line 149: Line 160:
 
;D:4
 
;D:4
 
;E:5
 
;E:5
 +
;F:6
 +
;G:7
  
  
 +
Sets := 8
 
;Set1: A, B, C, D, E, F  
 
;Set1: A, B, C, D, E, F  
 
Stone1 := 1
 
Stone1 := 1
Line 157: Line 171:
 
Stone4 := 4
 
Stone4 := 4
 
Stone5 := 5
 
Stone5 := 5
 +
Stone6 := 6
 
GoSub, PatternSet
 
GoSub, PatternSet
  
Line 164: Line 179:
 
Stone3 := 3
 
Stone3 := 3
 
Stone4 := 4
 
Stone4 := 4
Stone5 :=  
+
Stone5 := 5
 +
Stone6 := 7
 
GoSub, PatternSet
 
GoSub, PatternSet
  
 
;Set3: A, B, C, D, F, G
 
;Set3: A, B, C, D, F, G
Stone1 :=  
+
Stone1 := 1
Stone2 :=  
+
Stone2 := 2
Stone3 :=  
+
Stone3 := 3
Stone4 :=  
+
Stone4 := 4
Stone5 :=  
+
Stone5 := 6
 +
Stone6 := 7
 
GoSub, PatternSet
 
GoSub, PatternSet
  
 
;Set4: A, B, C, E, F, G
 
;Set4: A, B, C, E, F, G
Stone1 :=  
+
Stone1 := 1
Stone2 :=  
+
Stone2 := 2
Stone3 :=  
+
Stone3 := 3
Stone4 :=  
+
Stone4 := 5
Stone5 :=  
+
Stone5 := 6
 +
Stone6 := 7
 
GoSub, PatternSet
 
GoSub, PatternSet
  
 
;Set5: A, B, D, E, F, G
 
;Set5: A, B, D, E, F, G
Stone1 :=  
+
Stone1 := 1
Stone2 :=  
+
Stone2 := 2
Stone3 :=  
+
Stone3 := 4
Stone4 :=  
+
Stone4 := 5
Stone5 :=  
+
Stone5 := 6
 +
Stone6 := 7
 
GoSub, PatternSet
 
GoSub, PatternSet
  
 
;Set6: A, C, D, E, F, G
 
;Set6: A, C, D, E, F, G
Stone1 :=  
+
Stone1 := 1
Stone2 :=  
+
Stone2 := 3
Stone3 :=  
+
Stone3 := 4
Stone4 :=  
+
Stone4 := 5
Stone5 :=  
+
Stone5 := 6
 +
Stone6 := 7
 
GoSub, PatternSet
 
GoSub, PatternSet
  
 
;Set7: B, C, D, E, F, G  
 
;Set7: B, C, D, E, F, G  
Stone1 :=  
+
Stone1 := 2
Stone2 :=  
+
Stone2 := 3
Stone3 :=  
+
Stone3 := 4
Stone4 :=  
+
Stone4 := 5
Stone5 :=  
+
Stone5 := 6
 +
Stone6 := 7
 
GoSub, PatternSet
 
GoSub, PatternSet
  
 
;Set8: A, B, C, D, E, F, G Breaks all 7 stones
 
;Set8: A, B, C, D, E, F, G Breaks all 7 stones
Stone1 :=  
+
Stone1 := 1
Stone2 :=  
+
Stone2 := 2
Stone3 :=  
+
Stone3 := 3
Stone4 :=  
+
Stone4 := 4
Stone5 :=  
+
Stone5 := 5
 +
Stone6 := 6
 
GoSub, PatternSet
 
GoSub, PatternSet
 
}
 
}
Line 228: Line 250:
 
;E = 6
 
;E = 6
 
;F = 7
 
;F = 7
 +
 +
Sets := 14
  
 
;Set1: A-1, B, C, F  
 
;Set1: A-1, B, C, F  
Line 330: Line 354:
  
  
else if (pattern == "5 Color (2 Pairs)")
+
else if (pattern == "5 Color (2 Pair)")
 
{
 
{
 
;KEY: Hit 100%
 
;KEY: Hit 100%
Line 340: Line 364:
 
;D: 6
 
;D: 6
 
;E: 7
 
;E: 7
 +
 +
Sets := 15
  
 
;Set1: C, D, E  
 
;Set1: C, D, E  
Line 460: Line 486:
 
;D: 6
 
;D: 6
 
;E: 7
 
;E: 7
 +
 +
Sets := 13
  
 
;Set1: A-1, B, C  
 
;Set1: A-1, B, C  
Line 513: Line 541:
 
Stone1 := 2
 
Stone1 := 2
 
Stone2 := 4
 
Stone2 := 4
 
 
 
 
 
Stone3 := 6
 
Stone3 := 6
 
Stone4 := 0
 
Stone4 := 0
Line 561: Line 585:
  
  
else if (pattern == "4 Color (3 Pairs)")
+
else if (pattern == "4 Color (3 Pair)")
 
{
 
{
 
;KEY:
 
;KEY:
Line 571: Line 595:
 
;C-2 = 6
 
;C-2 = 6
 
;D = 7
 
;D = 7
 +
 +
Sets := 14
  
 
;Set1: A-1, B-1, C-1
 
;Set1: A-1, B-1, C-1
Line 684: Line 710:
 
;D: 7
 
;D: 7
  
 +
 +
Sets := 12
  
 
;Set1: A-1, A-2, A-3
 
;Set1: A-1, A-2, A-3
Line 782: Line 810:
 
;D: 7
 
;D: 7
  
 +
 +
Sets := 15
  
 
;Set1: A-1, B, C
 
;Set1: A-1, B, C
Line 892: Line 922:
 
else if (pattern == "3 Color (Triple + 2 Pair)")
 
else if (pattern == "3 Color (Triple + 2 Pair)")
 
{
 
{
Msgbox, No stone can be worked time on this pattern.`n`nConcede and get a new workload...
+
Sets := 0
 +
Msgbox, No single stone can be worked 7 times on this pattern.`n`nConcede and just get a new workload...
 
}
 
}
  
Line 912: Line 943:
  
  
 +
Sets := 7
  
 
;Set1: A-1, B-1, C  
 
;Set1: A-1, B-1, C  
Line 977: Line 1,009:
 
;B: 6
 
;B: 6
 
;C: 7
 
;C: 7
 +
 +
Sets := 11
  
 
;Set1: A-1, A-2, A-3  
 
;Set1: A-1, A-2, A-3  
Line 1,057: Line 1,091:
 
GoSub, PatternSet
 
GoSub, PatternSet
 
}
 
}
 
 
 
 
 
 
 
  
  
 
else
 
else
 
{
 
{
Msgbox, This pattern is not recorded yet...
+
Msgbox, This pattern is not recorded yet... Please /chat Cegaiel and inform him of the error.`n`nPlease report that you were working on the %Pattern% pattern.
 
}
 
}
  
Line 1,074: Line 1,101:
  
  
 
+
;Not necessary, just waiting a moment before bringing up the menu again, so I can read the last of the floating black text :)
 +
Sleep 2000
  
  
 
;Bring up the Menu again (Force Restart)
 
;Bring up the Menu again (Force Restart)
Msgbox, Debug Mode - This will be removed later`n`nPattern Completed: %Pattern%`n`n`nWork the Mine again.
+
;Msgbox, Debug Mode - This will be removed later`n`nPattern Completed: %Pattern%`n`n`nWork the Mine again.
  
 
Gosub, Start
 
Gosub, Start
 
 
return
 
return
 
}
 
}
Line 1,150: Line 1,177:
  
  
Sleep %Delay%
 
 
PixelSearch, Px, Py, %CenterX%, %CenterY%, %CenterX%, %CenterY%, 0xEBDDBB, %shade%, Fast|RGB
 
PixelSearch, Px, Py, %CenterX%, %CenterY%, %CenterX%, %CenterY%, 0xEBDDBB, %shade%, Fast|RGB
  
Line 1,168: Line 1,194:
 
Gui, Destroy
 
Gui, Destroy
  
Msgbox, Help Screen... Stay tuned for updates!.`n`n`nAll possible patterns has been added, this script is 100 percent complete`n`nJust need to keep testing it with live runs...`n`n`nConsistently has all 7 stones crumbled:`n`n6 Color (1 Pair)`n5 Color (2 Pairs)
+
Msgbox, Ctrl + R = Reload`nCtrl + P to Pause, Ctrl + P again to Resume.`n`n`nConsistently has all 7 stones crumble (These are most desireable):`n`n6 Color (1 Pair)`n5 Color (2 Pairs)`n`n`nNote the "3 Color (Triple + 2 Pair)" has no single stone that can be worked 7 times.`nDo not even bother with this pattern. It will tell you that anyways, if you choose it.
  
  
 
Reload
 
Reload
 
return
 
return
 
 
Template:
 
 
 
;This is not a valid Sub, Just an easy way for me to copy/paste a new pattern...
 
 
;Set1:
 
Stone1 :=
 
Stone2 :=
 
Stone3 :=
 
Stone4 :=
 
GoSub, PatternSet
 
 
;Set2:
 
Stone1 :=
 
Stone2 :=
 
Stone3 :=
 
Stone4 :=
 
GoSub, PatternSet
 
 
;Set3:
 
Stone1 :=
 
Stone2 :=
 
Stone3 :=
 
Stone4 :=
 
GoSub, PatternSet
 
 
;Set4:
 
Stone1 :=
 
Stone2 :=
 
Stone3 :=
 
Stone4 :=
 
GoSub, PatternSet
 
 
;Set5:
 
Stone1 :=
 
Stone2 :=
 
Stone3 :=
 
Stone4 :=
 
GoSub, PatternSet
 
 
;Set6:
 
Stone1 :=
 
Stone2 :=
 
Stone3 :=
 
Stone4 :=
 
GoSub, PatternSet
 
 
;Set7:
 
Stone1 :=
 
Stone2 :=
 
Stone3 :=
 
Stone4 :=
 
GoSub, PatternSet
 
 
;Set8:
 
Stone1 :=
 
Stone2 :=
 
Stone3 :=
 
Stone4 :=
 
GoSub, PatternSet
 
 
;Set9:
 
Stone1 :=
 
Stone2 :=
 
Stone3 :=
 
Stone4 :=
 
GoSub, PatternSet
 
 
;Set10:
 
Stone1 :=
 
Stone2 :=
 
Stone3 :=
 
Stone4 :=
 
GoSub, PatternSet
 
 
;Set11:
 
Stone1 :=
 
Stone2 :=
 
Stone3 :=
 
Stone4 :=
 
GoSub, PatternSet
 
 
;Set12:
 
Stone1 :=
 
Stone2 :=
 
Stone3 :=
 
Stone4 :=
 
GoSub, PatternSet
 
 
;Set13:
 
Stone1 :=
 
Stone2 :=
 
Stone3 :=
 
Stone4 :=
 
GoSub, PatternSet
 
 
;Set14:
 
Stone1 :=
 
Stone2 :=
 
Stone3 :=
 
Stone4 :=
 
GoSub, PatternSet
 
 
;Set15:
 
Stone1 :=
 
Stone2 :=
 
Stone3 :=
 
Stone4 :=
 
GoSub, PatternSet
 
 
return
 
 
 
  
  

Latest revision as of 06:24, 28 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: 10/27/2010
;Last Update: 10/28/2010
;Author: Cegaiel

;Info from Wiki:
;Alcyone - Topaz
;Celeano - Emerald
;Maia - Ruby
;Merope - Sapphire
;Sterope - Quartz
;Taygete - Opal
;Sinai - Diamond




;	// START CONFIGURATION AREA

	;Set the speed in microseconds (100 = 1/10th second, 1000 = 1 second, etc)
	;If you got a slower computer or lag, then try raising it 50 or 100 at a time, ie 200, 250, 300
	;This is the speed that it highlights your mine crystals

		Delay = 100  ;Safe (lag) is 200+, Fast is 100 (fast computer, no lag)

	;If you have problems with it not closing the popup, then try adjusting this number higher.

		PopUpDelay = 100  ;Safe (lag) is 200+, Fast is 100 (fast computer, no lag)

	;This is the shade at which is searches the for the color of the popup box.
	;If you find yourself running all the time, ie its confusing sand with the popup, then try lowering 5 at a time (ie 20,15,etc).
	;If you find it is not even seeing the popup box, then try raising 5 at a time and finetune 1 at a time (ie 30,35,etc)

		Shade = 24  ;Original is 25

;	// END CONFIGURATION AREA






IfWinExist eGenesis Client
{


	Start:
	MineNum := 0 
	WinActivate

	Gui, +AlwaysOnTop +ToolWindow
	Gui, Add, Text,, Choose Pattern:
	Gui, Add, DropDownList, vPattern Choose1, 7 Color|6 Color (1 Pair)|5 Color (2 Pair)|5 Color (Triple)|4 Color (3 Pair)|4 Color (Triple + Pair)|4 Color (Quadruple)|3 Color (Triple + 2 Pair)|3 Color (Quad + Pair)|3 Color (Quintuple)


	Gui, Add, Button, gRecord, NEXT
	
	if (Pattern == "")
	{
	Gui, Add, Text,,Last: N/A`nSets: N/A
	} else {
	Gui, Add, Text,,Last: %Pattern%`nSets: %Sets%
	}

	Gui, Add, Button, gHelp, HELP
	Gui, Show
	return




	Record:
	Gui, Submit
	Gui, Destroy
	Gui, +AlwaysOnTop +ToolWindow
	Gui, Font, bold
	Gui, Add, Text, vMineNumText, Set ore stone locations`n`nSelected Pattern: %pattern%
	Gui, Font, norm
	Gui, Add, Text,,
	( LTrim
	Hover and middle-click (Click mouse-wheel) all your ore stones.

	Make sure you click all quad colors FIRST!
	Make sure you click all triple colors SECOND!
	Make sure you click all pair colors THIRD!
	Then all the single colors, LAST!

	)

	Gui, Add, Button, default gMineSetLoops, OK
	Gui, Show



	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% ore stones captured`n`nSelected Pattern: %Pattern%
	TotalRacks := MineNum
	return


	MineSetLoops:
	Gui, Submit
	Gui, Destroy



			SetDefaultMouseSpeed, 0


			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 that will occur later.
			CenterX := Floor(Xmax/2)
			CenterY := Floor(Ymax/2)+103



Sleep 1000

Stone4 = 0
Stone5 = 0
Stone6 = 0

;All of the if / else if statements of the 10 possible color combos...


if (pattern == "7 Color")
{
;KEY:
;A:1
;B:2
;C:3
;D:4
;E:5
;F:6
;G:7


Sets := 8
;Set1: A, B, C, D, E, F 
Stone1 := 1
Stone2 := 2
Stone3 := 3
Stone4 := 4
Stone5 := 5
Stone6 := 6
GoSub, PatternSet

;Set2: A, B, C, D, E, G 
Stone1 := 1
Stone2 := 2
Stone3 := 3
Stone4 := 4
Stone5 := 5
Stone6 := 7
GoSub, PatternSet

;Set3: A, B, C, D, F, G
Stone1 := 1
Stone2 := 2
Stone3 := 3
Stone4 := 4
Stone5 := 6
Stone6 := 7
GoSub, PatternSet

;Set4: A, B, C, E, F, G
Stone1 := 1
Stone2 := 2
Stone3 := 3
Stone4 := 5
Stone5 := 6
Stone6 := 7
GoSub, PatternSet

;Set5: A, B, D, E, F, G
Stone1 := 1
Stone2 := 2
Stone3 := 4
Stone4 := 5
Stone5 := 6
Stone6 := 7
GoSub, PatternSet

;Set6: A, C, D, E, F, G
Stone1 := 1
Stone2 := 3
Stone3 := 4
Stone4 := 5
Stone5 := 6
Stone6 := 7
GoSub, PatternSet

;Set7: B, C, D, E, F, G 
Stone1 := 2
Stone2 := 3
Stone3 := 4
Stone4 := 5
Stone5 := 6
Stone6 := 7
GoSub, PatternSet

;Set8: A, B, C, D, E, F, G Breaks all 7 stones
Stone1 := 1
Stone2 := 2
Stone3 := 3
Stone4 := 4
Stone5 := 5
Stone6 := 6
GoSub, PatternSet
}



else if (pattern == "6 Color (1 Pair)")
{
;KEY: Got 100%
;A-1 = 1
;A-2 = 2
;B = 3
;C = 4
;D = 5
;E = 6
;F = 7

Sets := 14

;Set1: A-1, B, C, F 
Stone1 := 1
Stone2 := 3
Stone3 := 4
Stone4 := 7
GoSub, PatternSet

;Set2: A-1, D, E 
Stone1 := 1
Stone2 := 5
Stone3 := 6
Stone4 := 0
GoSub, PatternSet

;Set3: A-1, C, D, E 
Stone1 := 1
Stone2 := 4
Stone3 := 5
Stone4 := 6
GoSub, PatternSet

;Set4: A-1, B, F 
Stone1 := 1
Stone2 := 3
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set5: A-1, D, E, F 
Stone1 := 1
Stone2 := 5
Stone3 := 6
Stone4 := 7
GoSub, PatternSet

;Set6: A-1, B, C 
Stone1 := 1
Stone2 := 3
Stone3 := 4
Stone4 := 0
GoSub, PatternSet

;Set7: A-1, B, E, F This workload will crumble stone A-1 
Stone1 := 1
Stone2 := 3
Stone3 := 6
Stone4 := 7
GoSub, PatternSet

;Set8: A-2, C, D
Stone1 := 2
Stone2 := 4
Stone3 := 5
Stone4 := 0
GoSub, PatternSet

;Set9: A-2, D, E 
Stone1 := 2
Stone2 := 5
Stone3 := 6
Stone4 := 0
GoSub, PatternSet

;Set10: A-2, B, C, F 
Stone1 := 2
Stone2 := 3
Stone3 := 4
Stone4 := 7
GoSub, PatternSet

;Set11: A-2, C, F 
Stone1 := 2
Stone2 := 4
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set12: A-2, B, E, D 
Stone1 := 2
Stone2 := 3
Stone3 := 6
Stone4 := 5
GoSub, PatternSet

;Set13: A-2, B, E This workload will crumble stone B & E
Stone1 := 2
Stone2 := 3
Stone3 := 6
Stone4 := 0
GoSub, PatternSet

;Set14: A-2, C, D, F This workload will crumble the remaining stones
Stone1 := 2
Stone2 := 4
Stone3 := 5
Stone4 := 7
GoSub, PatternSet
}



else if (pattern == "5 Color (2 Pair)")
{
;KEY: Hit 100%
;A-1: 1
;A-2: 2
;B-1: 3
;B-2: 4
;C: 5
;D: 6
;E: 7

Sets := 15

;Set1: C, D, E 
Stone1 := 5
Stone2 := 6
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set2: C, A-1, B-1
Stone1 := 5
Stone2 := 1
Stone3 := 3
Stone4 := 0
GoSub, PatternSet

;Set3: C, A-1, B-2 
Stone1 := 5
Stone2 := 1
Stone3 := 4
Stone4 := 0
GoSub, PatternSet

;Set4: C, A-2, B-1 
Stone1 := 5
Stone2 := 2
Stone3 := 3
Stone4 := 0
GoSub, PatternSet

;Set5: C, A-2, B-2 
Stone1 := 5
Stone2 := 2
Stone3 := 4
Stone4 := 0
GoSub, PatternSet

;Set6: D, A-1, B-1 
Stone1 := 6
Stone2 := 1
Stone3 := 3
Stone4 := 0
GoSub, PatternSet

;Set7: D, A-1, B-2 
Stone1 := 6
Stone2 := 1
Stone3 := 4
Stone4 := 0
GoSub, PatternSet

;Set8: D, A-2, B-1 
Stone1 := 6
Stone2 := 2
Stone3 := 3
Stone4 := 0
GoSub, PatternSet

;Set9: D, A-2, B-2 
Stone1 := 6
Stone2 := 2
Stone3 := 4
Stone4 := 0
GoSub, PatternSet

;Set10: E, A-1, B-1
Stone1 := 7
Stone2 := 1
Stone3 := 3
Stone4 := 0
GoSub, PatternSet

;Set11: E, A-1, B-2 
Stone1 := 7
Stone2 := 1
Stone3 := 4
Stone4 := 0
GoSub, PatternSet

;Set12: E, A-2, B-1 
Stone1 := 7
Stone2 := 2
Stone3 := 3
Stone4 := 0
GoSub, PatternSet

;Set13: E, A-2, B-2 
Stone1 := 7
Stone2 := 2
Stone3 := 4
Stone4 := 0
GoSub, PatternSet

;Set14: A-1, B-1, C, D, E Breaks A-1 & B-1 
Stone1 := 1
Stone2 := 3
Stone3 := 5
Stone4 := 6
Stone5 := 7
GoSub, PatternSet

;Set15: A-2, B-2, C, D, E Breaks the remaining 5 stones
Stone1 := 2
Stone2 := 4
Stone3 := 5
Stone4 := 6
Stone5 := 7
GoSub, PatternSet
}


else if (pattern == "5 Color (Triple)")
{
;KEY:
;A-1: 1
;A-2: 2
;A-3: 3
;B: 4
;C: 5
;D: 6
;E: 7

Sets := 13

;Set1: A-1, B, C 
Stone1 := 1
Stone2 := 4
Stone3 := 5
Stone4 := 0
GoSub, PatternSet

;Set2: A-1, B, D 
Stone1 := 1
Stone2 := 4
Stone3 := 6
Stone4 := 0
GoSub, PatternSet

;Set3: A-1, B, E
Stone1 := 1
Stone2 := 4
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set4: A-1, C, D
Stone1 := 1
Stone2 := 5
Stone3 := 6
Stone4 := 0
GoSub, PatternSet

;Set5: A-1, C, E 
Stone1 := 1
Stone2 := 5
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set6: A-1, D, E 
Stone1 := 1
Stone2 := 6
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set7: A-2, B, C 
Stone1 := 2
Stone2 := 4
Stone3 := 5
Stone4 := 0
GoSub, PatternSet

;Set8: A-2, B, D
Stone1 := 2
Stone2 := 4
Stone3 := 6
Stone4 := 0
GoSub, PatternSet

;Set9: A-2, B, E 
Stone1 := 2
Stone2 := 4
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set10: A-2, C, D
Stone1 := 2
Stone2 := 5
Stone3 := 6
Stone4 := 0
GoSub, PatternSet

;Set11: A-2, C, E 
Stone1 := 2
Stone2 := 5
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set12: A-2, D, E
Stone1 := 2
Stone2 := 6
Stone3 := 7
Stone4 := 0
GoSub, PatternSet


;Set13: A-1, B, C, D, E Breaks all these 5 stones 
Stone1 := 1
Stone2 := 4
Stone3 := 5
Stone4 := 6
Stone5 := 7
GoSub, PatternSet
}



else if (pattern == "4 Color (3 Pair)")
{
;KEY:
;A-1 = 1
;A-2 = 2
;B-1 = 3
;B-2 = 4
;C-1 = 5
;C-2 = 6
;D = 7

Sets := 14

;Set1: A-1, B-1, C-1
Stone1 := 1
Stone2 := 3
Stone3 := 5
Stone4 := 0
GoSub, PatternSet

;Set2: A-2, B-2, C-2, D 
Stone1 := 2
Stone2 := 4
Stone3 := 6
Stone4 := 7
GoSub, PatternSet

;Set3: A-1, B-1, C-2 
Stone1 := 1
Stone2 := 3
Stone3 := 6
Stone4 := 0
GoSub, PatternSet

;Set4: A-2, B-2, C-1, D 
Stone1 := 2
Stone2 := 4
Stone3 := 5
Stone4 := 7
GoSub, PatternSet

;Set5: A-1, B-2, C-1 
Stone1 := 1
Stone2 := 4
Stone3 := 5
Stone4 := 0
GoSub, PatternSet

;Set6: A-2, B-1, C-2, D 
Stone1 := 2
Stone2 := 3
Stone3 := 6
Stone4 := 7
GoSub, PatternSet

;Set7: A-1, B-2, C-2 
Stone1 := 1
Stone2 := 4
Stone3 := 6
Stone4 := 0

;Set8: A-2, B-1, C-1, D 
Stone1 := 2
Stone2 := 3
Stone3 := 5
Stone4 := 7
GoSub, PatternSet

;Set9: A-2, B-1, C-1 
Stone1 := 2
Stone2 := 3
Stone3 := 5
Stone4 := 0
GoSub, PatternSet

;Set10: A-1, B-2, C-2, D 
Stone1 := 1
Stone2 := 4
Stone3 := 6
Stone4 := 7
GoSub, PatternSet

;Set11: A-2, B-1, C-2 
Stone1 := 2
Stone2 := 3
Stone3 := 6
Stone4 := 0
GoSub, PatternSet

;Set12: A-1, B-2, C-1, D 
Stone1 := 1
Stone2 := 4
Stone3 := 5
Stone4 := 7
GoSub, PatternSet

;Set13: A-2, B-2, C-1 This will break all 3 stones 
Stone1 := 2
Stone2 := 4
Stone3 := 5
Stone4 := 0
GoSub, PatternSet

;Set14: A-1, B-1, C-2, D This will break all 4 stones
Stone1 := 1
Stone2 := 3
Stone3 := 6
Stone4 := 7
GoSub, PatternSet
}




else if (pattern == "4 Color (Triple + Pair)")
{
;KEY:
;A-1: 1
;A-2: 2
;A-3: 3
;B-1: 4
;B-2: 5
;C: 6
;D: 7


Sets := 12

;Set1: A-1, A-2, A-3
Stone1 := 1
Stone2 := 2
Stone3 := 3
Stone4 := 0
GoSub, PatternSet

;Set2: A-1, B-1, C 
Stone1 := 1
Stone2 := 4
Stone3 := 6
Stone4 := 0
GoSub, PatternSet

;Set3: A-1, B-1, D
Stone1 := 1
Stone2 := 4
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set4: A-1, B-2, C 
Stone1 := 1
Stone2 := 5
Stone3 := 6
Stone4 := 0
GoSub, PatternSet

;Set5: A-1, B-2, D 
Stone1 := 1
Stone2 := 5
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set6: A-1, C, D 
Stone1 := 1
Stone2 := 6
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set7: A-2, B-1, C 
Stone1 := 2
Stone2 := 4
Stone3 := 6
Stone4 := 0
GoSub, PatternSet

;Set8: A-2, B-1, D 
Stone1 := 2
Stone2 := 4
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set9: A-3, B-1, C 
Stone1 := 3
Stone2 := 4
Stone3 := 6
Stone4 := 0
GoSub, PatternSet

;Set10: A-3, B-1, D 
Stone1 := 3
Stone2 := 4
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set11: A-2, C, D 
Stone1 := 2
Stone2 := 6
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set12: A-1, B-1, C, D Breaks these 4 stones
Stone1 := 1
Stone2 := 4
Stone3 := 6
Stone4 := 7
GoSub, PatternSet
}


else if (pattern == "4 Color (Quadruple)")
{
;KEY:
;A-1: 1
;A-2: 2
;A-3: 3
;A-4: 4
;B: 5
;C: 6
;D: 7


Sets := 15

;Set1: A-1, B, C
Stone1 := 1
Stone2 := 5
Stone3 := 6
Stone4 := 0
GoSub, PatternSet

;Set2: A-1, B, D 
Stone1 := 1
Stone2 := 5
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set3: A-1, C, D 
Stone1 := 1
Stone2 := 6
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set4: A-2, B, C 
Stone1 := 2
Stone2 := 5
Stone3 := 6
Stone4 := 0
GoSub, PatternSet

;Set5: A-2, B, D 
Stone1 := 2
Stone2 := 5
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set6: A-2, C, D
Stone1 := 2
Stone2 := 6
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set7: A-3, B, C 
Stone1 := 3
Stone2 := 5
Stone3 := 6
Stone4 := 0
GoSub, PatternSet

;Set8: A-3, B, D 
Stone1 := 3
Stone2 := 5
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set9: A-3, C, D
Stone1 := 3
Stone2 := 6
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set10: A-4, B, C, D Breaks B, C, D
Stone1 := 4
Stone2 := 5
Stone3 := 6
Stone4 := 7
GoSub, PatternSet

;Set11: A-1, A-2, A-3
Stone1 := 1
Stone2 := 2
Stone3 := 3
Stone4 := 0
GoSub, PatternSet

;Set12: A-1, A-2, A-4
Stone1 := 1
Stone2 := 2
Stone3 := 4
Stone4 := 0
GoSub, PatternSet

;Set13: A-1, A-3, A-4
Stone1 := 1
Stone2 := 3
Stone3 := 4
Stone4 := 0
GoSub, PatternSet

;Set14: A-2, A-3, A-4 
Stone1 := 2
Stone2 := 3
Stone3 := 4
Stone4 := 0
GoSub, PatternSet

;Set15: A-1, A-2, A-3, A-4 Breaks A-1, A-2, A-3
Stone1 := 1
Stone2 := 2
Stone3 := 3
Stone4 := 4
GoSub, PatternSet
}


else if (pattern == "3 Color (Triple + 2 Pair)")
{
Sets := 0
Msgbox, No single stone can be worked 7 times on this pattern.`n`nConcede and just get a new workload...
}





else if (pattern == "3 Color (Quad + Pair)")
{
;KEY
;A-1: 1
;A-2: 2
;A-3: 3
;A-4: 4
;B-1: 5
;B-2: 6
;C: 7
;D: 8


Sets := 7

;Set1: A-1, B-1, C 
Stone1 := 1
Stone2 := 5
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set2: A-1, B-2, C 
Stone1 := 1
Stone2 := 6
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set3: A-2, B-1, C 
Stone1 := 2
Stone2 := 5
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set4: A-2, B-2, C 
Stone1 := 2
Stone2 := 6
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set5: A-3, B-1, C
Stone1 := 3
Stone2 := 5
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set6: A-3, B-2, C 
Stone1 := 3
Stone2 := 6
Stone3 := 7
Stone4 := 0
GoSub, PatternSet

;Set7: A-4, B-1, C
Stone1 := 4
Stone2 := 5
Stone3 := 7
Stone4 := 0
GoSub, PatternSet
}



else if (pattern == "3 Color (Quintuple)")
{
;5 of same color

;KEY:
;A-1: 1
;A-2: 2
;A-3: 3
;A-4: 4
;A-5: 5
;B: 6
;C: 7

Sets := 11

;Set1: A-1, A-2, A-3 
Stone1 := 1
Stone2 := 2
Stone3 := 3
Stone4 := 0
GoSub, PatternSet

;Set2: A-1, A-2, A-4 
Stone1 := 1
Stone2 := 2
Stone3 := 4
Stone4 := 0
GoSub, PatternSet

;Set3: A-1, A-2, A-5
Stone1 := 1
Stone2 := 2
Stone3 := 5
Stone4 := 0
GoSub, PatternSet

;Set4: A-1, A-3, A-4 
Stone1 := 1
Stone2 := 3
Stone3 := 4
Stone4 := 0
GoSub, PatternSet

;Set5: A-1, A-3, A-5
Stone1 := 1
Stone2 := 3
Stone3 := 5
Stone4 := 0
GoSub, PatternSet

;Set6: A-1, A-4, A-5 
Stone1 := 1
Stone2 := 4
Stone3 := 5
Stone4 := 0
GoSub, PatternSet

;Set7: A-2, A-3, A-4 
Stone1 := 2
Stone2 := 3
Stone3 := 4
Stone4 := 0
GoSub, PatternSet

;Set8: A-2, A-3, A-5 
Stone1 := 2
Stone2 := 3
Stone3 := 5
Stone4 := 0
GoSub, PatternSet

;Set9: A-2, A-4, A-5
Stone1 := 2
Stone2 := 4
Stone3 := 5
Stone4 := 0
GoSub, PatternSet

;Set10: A-3, A-4, A-5 
Stone1 := 3
Stone2 := 4
Stone3 := 5
Stone4 := 0
GoSub, PatternSet

;Set11: A-1, A-2, A-3, A-4, A-5 Breaks A-1, A-2, A-3, A-4, A-5
Stone1 := 1
Stone2 := 2
Stone3 := 3
Stone4 := 4
Stone5 := 5

GoSub, PatternSet
}


else
{
Msgbox, This pattern is not recorded yet... Please /chat Cegaiel and inform him of the error.`n`nPlease report that you were working on the %Pattern% pattern.
}




;Not necessary, just waiting a moment before bringing up the menu again, so I can read the last of the floating black text :)
Sleep 2000


;Bring up the Menu again (Force Restart)
;Msgbox, Debug Mode - This will be removed later`n`nPattern Completed: %Pattern%`n`n`nWork the Mine again.

Gosub, Start
return
}





PatternSet:

MouseMove, MineX%Stone1%, MineY%Stone1%
Sleep %Delay%
Send {A}
Sleep %Delay%

MouseMove, MineX%Stone2%, MineY%Stone2%
Sleep %Delay%
Send {A}
Sleep %Delay%

MouseMove, MineX%Stone3%, MineY%Stone3%
Sleep %Delay%
Send {A}
Sleep %Delay%


if Stone4 > 0
{
MouseMove, MineX%Stone4%, MineY%Stone4%
Sleep %Delay%
Send {A}
Sleep %Delay%
}

if Stone5 > 0
{
MouseMove, MineX%Stone5%, MineY%Stone5%
Sleep %Delay%
Send {A}
Sleep %Delay%
}

if Stone6 > 0
{
MouseMove, MineX%Stone6%, MineY%Stone6%
Sleep %Delay%
Send {A}
Sleep %Delay%
}


Send {S}
Sleep %Delay%



GoSub, Popup


return




			Popup:

			;Search for the RBG color of 0xECDFBD (Same as HTML code: #ECDFBD)


			PixelSearch, Px, Py, %CenterX%, %CenterY%, %CenterX%, %CenterY%, 0xEBDDBB, %shade%, Fast|RGB

			if ErrorLevel = 0
			{
			Sleep %PopupDelay%
			MouseMove, %CenterX%, %CenterY%
			Sleep %PopupDelay%
			Click
			Sleep %PopupDelay%
			}
			return



	Help:
	Gui, Destroy

	Msgbox, Ctrl + R = Reload`nCtrl + P to Pause, Ctrl + P again to Resume.`n`n`nConsistently has all 7 stones crumble (These are most desireable):`n`n6 Color (1 Pair)`n5 Color (2 Pairs)`n`n`nNote the "3 Color (Triple + 2 Pair)" has no single stone that can be worked 7 times.`nDo not even bother with this pattern. It will tell you that anyways, if you choose it.


	Reload
	return


^r::reload
^p::Pause