This uses an auto-Trove window resizer to fill the screen (above the taskbar) for each setting (1-12 accounts at a time). You will have to wait for all Trove windows to be resized before pressing any keys or errors may occur.

Warning: If you continue using wrong passwords and try to login your IP may be blocked, to fix this you can contact support. Make sure your emails and passwords are right! If the AHK script seems to type them wrong, increase the delays.
I advise you to use a password for these accounts that you use for NOTHING else as they are stored in an insecure text file, just make sure that the passwords don't contain a %.


V1.41

Code:
/*
Comment section:
- Made by BLURREDDOGE(https://www.mpgh.net/forum/member.php?u=2877154) at https://www.mpgh.net!

Copyright 2018, Luke Roper, All rights reserved.

- https://www.gov.uk/copyright
*/

; Global vars for user optimization
Global normal_sleep 
normal_sleep := 100

Global delay_time_in_ms
delay_time_in_ms := 10

Global wait_for_login
wait_for_login := 1700

Global wait_for_trove_to_open
wait_for_trove_to_open := 5000


if FileExist("database.txt")
{
	Array := []
	breakline = `n
	Loop, Read, database.txt
	{
		Array.Push(A_LoopReadLine)
	}
	for index, element in Array
	{
		oof := Mod(index, 2)
		if oof = 0
		{
			Passwords := element . breakline
			if index = 2
				{
					Global Password_One
					Password_One := element
				}
			if index = 4
				{
					Global Password_Two
					Password_Two := element
				}
			if index = 6
				{
					Global Password_Three
					Password_Three := element
				}
			if index = 8
				{
					Global Password_Four
					Password_Four := element
				}	
			if index = 10
				{
					Global Password_Five
					Password_Five := element
				}
			if index = 12
				{
					Global Password_Six
					Password_Six := element
				}
			if index = 14
				{
					Global Password_Seven
					Password_Seven := element
				}
			if index = 16
				{
					Global Password_Eight
					Password_Eight := element
				}
			if index = 18
				{
					Global Password_Nine
					Password_Nine := element
				}
			if index = 20
				{
					Global Password_Ten
					Password_Ten := element
				}
			if index = 22
				{
					Global Password_Eleven
					Password_Eleven := element
				}
			if index = 24
				{
					Global Password_Twelve
					Password_Twelve := element
				}
		}
		else
		{
			Emails := element . breakline
			if index = 1
				{
					Global Email_One
					Email_One := element
				}
			if index = 3
				{
					Global Email_Two
					Email_Two := element
				}
			 if index = 5
				{
					Global Email_Three
					Email_Three := element
				}	
			 if index = 7
				{
					Global Email_Four
					Email_Four := element
				}
			if index = 9
				{
					Global Email_Five
					Email_Five := element
				}
			if index = 11
				{
					Global Email_Six
					Email_Six := element
				}
			if index = 13
				{
					Global Email_Seven
					Email_Seven := element
				}
			if index = 15
				{
					Global Email_Eight
					Email_Eight := element
				}
			if index = 17
				{
					Global Email_Nine
					Email_Nine := element
				}
			if index = 19
				{
					Global Email_Ten
					Email_Ten := element
				}
			if index = 21
				{
					Global Email_Eleven
					Email_Eleven := element
				}
			if index = 23
				{
					Global Email_Twelve
					Email_Twelve := element
				}
	}
}
SetTitleMatchMode, 2
SetControlDelay -1
SetKeyDelay, %delay_time_in_ms%, 5 

	MsgBox,
	( 
	
	            Emails entered:
				
	 1: %Email_One%
	 2: %Email_Two%
	 3: %Email_Three%
	 4: %Email_Four%
	 5: %Email_Five%
	 6: %Email_Six%
	 7: %Email_Seven%
	 8: %Email_Eight%
	 9: %Email_Nine%
	10: %Email_Ten%
	11: %Email_Eleven%
	12: %Email_Twelve%
	)

	window_setup() ;the logging in part

ExitApp
}

IfNotExist, database.txt
{
	Gui, New,, GUI
	Gui, Color, A9A9A9 ;hex for dark grey

	;Gui Group 1
	Gui, Add, groupbox, x10 y5 w180 h105
	Gui, Add, Text, x15 y15, Email 1:
	Gui, Add, Edit, w170 vEmail_One
	Gui, Add, Text, x15 y65, Password 1:
	Gui, Add, Edit, w170 Password vPassword_One
	
		;Gui Group 7
		Gui, Add, groupbox, x200 y5 w180 h105
		Gui, Add, Text, x205 y15, Email 7:
		Gui, Add, Edit, w170 vEmail_Seven
		Gui, Add, Text, x205 y65, Password 7:
		Gui, Add, Edit, w170 Password vPassword_Seven

	;Gui Group 2
	Gui,add, groupbox, x10 y110 w180 h105
	Gui, Add, Text, x15 y120, Email 2:
	Gui, Add, Edit, w170 vEmail_Two
	Gui, Add, Text, x15 y170, Password 2:
	Gui, Add, Edit, w170 Password vPassword_Two

		;Gui Group 8
		Gui, Add, groupbox, x200 y110 w180 h105
		Gui, Add, Text, x205 y120, Email 8:
		Gui, Add, Edit, w170 vEmail_Eight
		Gui, Add, Text, x205 y170, Password 8:
		Gui, Add, Edit, w170 Password vPassword_Eight

	;Gui Group 3
	Gui,add, groupbox, x10 y215 w180 h105
	Gui, Add, Text, x15 y225, Email 3:
	Gui, Add, Edit, w170 vEmail_Three
	Gui, Add, Text, x15 y275, Password 3:
	Gui, Add, Edit, w170 Password vPassword_Three

		;Gui Group 9
		Gui, Add, groupbox, x200 y215 w180 h105
		Gui, Add, Text, x205 y225, Email 9:
		Gui, Add, Edit, w170 vEmail_Nine
		Gui, Add, Text, x205 y275, Password 9:
		Gui, Add, Edit, w170 Password vPassword_Nine

	;Gui Group 4
	Gui,add, groupbox, x10 y320 w180 h105
	Gui, Add, Text, x15 y330, Email 4:
	Gui, Add, Edit, w170 vEmail_Four
	Gui, Add, Text, x15 y380, Password 4:
	Gui, Add, Edit, w170 Password vPassword_Four

		;Gui Group 10
		Gui, Add, groupbox, x200 y320 w180 h105
		Gui, Add, Text, x205 y330, Email 10:
		Gui, Add, Edit, w170 vEmail_Ten
		Gui, Add, Text, x205 y380, Password 10:
		Gui, Add, Edit, w170 Password vPassword_Ten
		
	;Gui Group 5
	Gui,add, groupbox, x10 y425 w180 h105
	Gui, Add, Text, x15 y435, Email 5:
	Gui, Add, Edit, w170 vEmail_Five
	Gui, Add, Text, x15 y485, Password 5:
	Gui, Add, Edit, w170 Password vPassword_Five
	
		;Gui Group 11
		Gui, Add, groupbox, x200 y425 w180 h105
		Gui, Add, Text, x205 y435, Email 11:
		Gui, Add, Edit, w170 vEmail_Eleven
		Gui, Add, Text, x205 y485, Password 11:
		Gui, Add, Edit, w170 Password vPassword_Eleven
		
	;Gui Group 6
	Gui,add, groupbox, x10 y530 w180 h105
	Gui, Add, Text, x15 y540, Email 6:
	Gui, Add, Edit, w170 vEmail_Six
	Gui, Add, Text, x15 y590, Password 6:
	Gui, Add, Edit, w170 Password vPassword_Six
	
		;Gui Group 12
		Gui, Add, groupbox, x200 y530 w180 h135
		Gui, Add, Text, x205 y540, Email 12:
		Gui, Add, Edit, w170 vEmail_Twelve
		Gui, Add, Text, x205 y590, Password 12:
		Gui, Add, Edit, w170 Password vPassword_Twelve
		Gui, Add, Button, Default gOK, Save Emails/Passwords to use
		Gui, Show, w395 h675
	return

	OK:
	Gui, Submit
	Gui, Destroy
	MsgBox,
	( 
	First Email: %Email_One%
	First Password: %Password_One% 

	Second Email: %Email_Two%
	Second Password: %Password_Two%

	Third Email: %Email_Three%
	Third Password: %Password_Three%

	Fourth Email: %Email_Four%
	Fourth Password: %Password_Four%
	
	Fith Email: %Email_Five%
	Fith Password: %Password_Five%
	
	Sixth Email: %Email_Six%
	Sixth Password: %Password_Six%
	
	Seventh Email: %Email_Seven%
	Seventh Password: %Password_Seven%
	
	Eighth Email: %Email_Eight%
	Eigth Password: %Password_Eight%
	
	Ninth Email: %Email_Nine%
	Ninth Password: %Password_Nine%
	
	Tenth Email: %Email_Ten%
	Tenth Password: %Password_Ten%
	
	Eleventh Email: %Email_Eleven%
	Eleventh Password: %Password_Eleven%
	
	Twelth Email: %Email_Twelve%
	Twelth Password: %Password_Twelve%
	)
	;Writes emails+ps to file

	;#####################################################################
	;                    Writing variables to file
	;#####################################################################
	If (!Email_One)
		ExitApp
	FileAppend, %Email_One%`n, database.txt
	FileAppend, %Password_One%`n, database.txt
	If (!Email_Two)
		ExitApp
	FileAppend, %Email_Two%`n, database.txt
	FileAppend, %Password_Two%`n, database.txt
	If (!Email_Three)
		ExitApp
	FileAppend, %Email_Three%`n, database.txt
	FileAppend, %Password_Three%`n, database.txt
	If (!Email_Four)
		ExitApp
	FileAppend, %Email_Four%`n, database.txt
	FileAppend, %Password_Four%`n, database.txt
	If (!Email_Four)
		ExitApp
	FileAppend, %Email_Five%`n, database.txt
	FileAppend, %Password_Five%`n, database.txt
	If (!Email_Six)
		ExitApp
	FileAppend, %Email_Six%`n, database.txt
	FileAppend, %Password_Six%`n, database.txt
	If (!Email_Seven)
		ExitApp
	FileAppend, %Email_Seven%`n, database.txt
	FileAppend, %Password_Seven%`n, database.txt
	If (!Email_Eight)
		ExitApp
	FileAppend, %Email_Eight%`n, database.txt
	FileAppend, %Password_Eight%`n, database.txt
	If (!Email_Nine)
		ExitApp
	FileAppend, %Email_Nine%`n, database.txt
	FileAppend, %Password_Nine%`n, database.txt
	If (!Email_Ten)
		ExitApp
	FileAppend, %Email_Ten%`n, database.txt
	FileAppend, %Password_Ten%`n, database.txt
	If (!Email_Eleven)
		ExitApp
	FileAppend, %Email_Eleven%`n, database.txt
	FileAppend, %Password_Eleven%`n, database.txt
	If (!Email_Twelve)
		ExitApp
	FileAppend, %Email_Twelve%`n, database.txt
	FileAppend, %Password_Twelve%`n, database.txt

	ExitApp
}


window_setup()
{
	runnum = 1
	if Email_Twelve
	{
		if (runnum = 1)
		{
			open_login()
			login_account(1) 
			WinGetActiveTitle, windowTitle
			WinMove, %windowTitle%,, -7, 0, 495, 355 ;1ST LINE
			runnum += 1
			Sleep, %normal_sleep%
		}
		if (runnum = 2)
		{
			open_login()
			login_account(2) 
			WinGetActiveTitle, windowTitle
			WinMove, %windowTitle%,, 473, 0, 495, 355
			runnum += 1 
			Sleep, %normal_sleep%
		}
		
		if (runnum = 3)
		{
			open_login()
			login_account(3) 
			WinGetActiveTitle, windowTitle
			WinMove, %windowTitle%,, 953, 0, 495, 355
			runnum += 1 
			Sleep, %normal_sleep%
		}
				
		if (runnum = 4)
		{
			open_login()
			login_account(4) 
			WinGetActiveTitle, windowTitle
			WinMove, %windowTitle%,, 1433, 0, 495, 355
			runnum += 1 
			Sleep, %normal_sleep%
		}
		if (runnum = 5)
		{
			open_login()
			login_account(5) 
			WinGetActiveTitle, windowTitle
			WinMove, %windowTitle%,, -7, 345, 495, 355 ;2ND LINE
			runnum += 1 
			Sleep, %normal_sleep%
		}
		if (runnum = 6)
		{
			open_login()
			login_account(6) 
			WinGetActiveTitle, windowTitle
			WinMove, %windowTitle%,, 473, 345, 495, 355
			runnum += 1 
			Sleep, %normal_sleep%
		}
		if (runnum = 7)
		{
			open_login()
			login_account(7) 
			WinGetActiveTitle, windowTitle
			WinMove, %windowTitle%,, 953, 345, 495, 355
			runnum += 1 
			Sleep, %normal_sleep%
		}
		if (runnum = 8)
		{
			open_login()
			login_account(8) 
			WinGetActiveTitle, windowTitle
			WinMove, %windowTitle%,, 1433, 345, 495, 355
			runnum += 1 
			Sleep, %normal_sleep%
		}
		if (runnum = 9)
		{
			open_login()
			login_account(9) 
			WinGetActiveTitle, windowTitle
			WinMove, %windowTitle%,, -7, 690, 495, 355 ;3RD LINE
			runnum += 1 
			Sleep, %normal_sleep%
		}
		if (runnum = 10)
		{
			open_login()
			login_account(10) 
			WinGetActiveTitle, windowTitle
			WinMove, %windowTitle%,, 473, 690, 485, 355
			runnum += 1 
			Sleep, %normal_sleep%
		}
		if (runnum = 11)
		{
			open_login()
			login_account(11) 
			WinGetActiveTitle, windowTitle
			WinMove, %windowTitle%,, 953, 690, 485, 355
			runnum += 1 
			Sleep, %normal_sleep%
		}
		if (runnum = 12)
		{
			open_login()
			login_account(12) 
			WinGetActiveTitle, windowTitle
			WinMove, %windowTitle%,, 1443, 690, 485, 355
			runnum += 1 
			Sleep, %normal_sleep%
		}
		has_twelve_been_run = 1
	}
	if Email_Eleven
	{
		if (!has_twelve_been_run)
		{
			if (runnum = 1)
			{
				open_login()
				login_account(1) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 0, 495, 355 ;1ST LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 2)
			{
				open_login()
				login_account(2) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 473, 0, 495, 355
				runnum += 1 
				Sleep, %normal_sleep%
			}
			
			if (runnum = 3)
			{
				open_login()
				login_account(3) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 953, 0, 495, 355
				runnum += 1 
				Sleep, %normal_sleep%
			}
					
			if (runnum = 4)
			{
				open_login()
				login_account(4) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 1433, 0, 495, 355
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 5)
			{
				open_login()
				login_account(5) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 345, 495, 355 ;2ND LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 6)
			{
				open_login()
				login_account(6) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 473, 345, 495, 355
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 7)
			{
				open_login()
				login_account(7) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 953, 345, 495, 355
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 8)
			{
				open_login()
				login_account(8) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 1433, 345, 495, 355
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 9)
			{
				open_login()
				login_account(9) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 690, 495, 355 ;3RD LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 10)
			{
				open_login()
				login_account(10) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 473, 690, 485, 355
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 11)
			{
				open_login()
				login_account(11) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 944, 690, 983, 355 ;Longer than usual
				runnum += 1 
				Sleep, %normal_sleep%
			}
			has_eleven_been_run = 1
		}
	}
	if Email_Ten
	{
		if (!has_eleven_been_run)
		{
			if (runnum = 1)
			{
				open_login()
				login_account(1) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 0, 495, 355 ;1ST LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 2)
			{
				open_login()
				login_account(2) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 473, 0, 495, 355
				runnum += 1 
				Sleep, %normal_sleep%
			}
			
			if (runnum = 3)
			{
				open_login()
				login_account(3) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 953, 0, 495, 355
				runnum += 1 
				Sleep, %normal_sleep%
			}
					
			if (runnum = 4)
			{
				open_login()
				login_account(4) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 1433, 0, 495, 355
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 5)
			{
				open_login()
				login_account(5) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 345, 495, 355 ;2ND LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 6)
			{
				open_login()
				login_account(6) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 473, 345, 495, 355
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 7)
			{
				open_login()
				login_account(7) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 953, 345, 495, 355
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 8)
			{
				open_login()
				login_account(8) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 1433, 345, 495, 355
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 9)
			{
				open_login()
				login_account(9) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 690, 970, 355 ;3RD LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 10)
			{
				open_login()
				login_account(10) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 948, 690, 979, 355 ;Longer than usual
				runnum += 1 
				Sleep, %normal_sleep%
			}
			has_ten_been_run = 1
		}
	}
	if Email_Nine
	{
		if (!has_ten_been_run)
		{
			if (runnum = 1)
			{
				open_login()
				login_account(1) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 0, 655, 355 ;1ST LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 2)
			{
				open_login()
				login_account(2) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 633, 0, 655, 355
				runnum += 1 
				Sleep, %normal_sleep%
			}
			
			if (runnum = 3)
			{
				open_login()
				login_account(3) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 1273, 0, 655, 355
				runnum += 1 
				Sleep, %normal_sleep%
			}
					
			if (runnum = 4)
			{
				open_login()
				login_account(4) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 347, 655, 355 ;2ND LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 5)
			{
				open_login()
				login_account(5) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 633, 347, 655, 355
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 6)
			{
				open_login()
				login_account(6) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 1273, 347, 655, 355
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 7)
			{
				open_login()
				login_account(7) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 694, 655, 355 ;3RD LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 8)
			{
				open_login()
				login_account(8) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 633, 694, 655, 355
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 9)
			{
				open_login()
				login_account(9) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 1273, 694, 655, 355
				runnum += 1 
				Sleep, %normal_sleep%
			}
			has_nine_been_run = 1
		}
	}
	if Email_Eight
	{
		if (!has_nine_been_run)
		{
			if (runnum = 1)
			{
				open_login()
				login_account(1) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 0, 500, 540 ;1ST LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 2)
			{
				open_login()
				login_account(2) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 478, 0, 500, 540 ;+489
				runnum += 1 
				Sleep, %normal_sleep%
			}
			
			if (runnum = 3)
			{
				open_login()
				login_account(3) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 963, 0, 500, 540
				runnum += 1 
				Sleep, %normal_sleep%
			}
					
			if (runnum = 4)
			{
				open_login()
				login_account(4) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 1448, 0, 500, 540
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 5)
			{
				open_login()
				login_account(5) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 530, 500, 540 ;2ND LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 6)
			{
				open_login()
				login_account(6) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 478, 530, 500, 540 ;+489
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 7)
			{
				open_login()
				login_account(7) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 963, 530, 500, 540
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 8)
			{
				open_login()
				login_account(8) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 1448, 530, 500, 540
				runnum += 1 
				Sleep, %normal_sleep%
			}
			has_eight_been_run = 1
		}
	}
	if Email_Seven
	{
		if (!has_eight_been_run)
		{
			if (runnum = 1)
			{
				open_login()
				login_account(1) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 0, 970, 355 ;1ST LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 2)
			{
				open_login()
				login_account(2) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 948, 0, 979, 355 ;Longer than usual
				runnum += 1 
				Sleep, %normal_sleep%
			}
			
			if (runnum = 3)
			{
				open_login()
				login_account(3) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 345, 970, 355 ;2ND LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
					
			if (runnum = 4)
			{
				open_login()
				login_account(4) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 948, 345, 979, 355
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 5)
			{
				open_login()
				login_account(5) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 692, 655, 357 ;3RD LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 6)
			{
				open_login()
				login_account(6) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 633, 692, 655, 357
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 7)
			{
				open_login()
				login_account(7) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 1273, 692, 655, 357
				runnum += 1 
				Sleep, %normal_sleep%
			}
			has_seven_been_run = 1
		}
	}
	if Email_Six
	{
		if (!has_seven_been_run)
		{
			if (runnum = 1)
			{
				open_login()
				login_account(1) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 0, 970, 355 ;1ST LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 2)
			{
				open_login()
				login_account(2) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 948, 0, 979, 355 ;Longer than usual
				runnum += 1 
				Sleep, %normal_sleep%
			}
			
			if (runnum = 3)
			{
				open_login()
				login_account(3) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 345, 970, 355 ;2ND LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
					
			if (runnum = 4)
			{
				open_login()
				login_account(4) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 948, 345, 979, 355 ;Longer than usual
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 5)
			{
				open_login()
				login_account(5) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 690, 970, 355 ;3RD LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 6)
			{
				open_login()
				login_account(6) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 948, 690, 979, 355 ;Longer than usual
				runnum += 1 
				Sleep, %normal_sleep%
			}
			has_six_been_run = 1
		}
	}
	if Email_Five
	{
		if (!has_six_been_run)
		{
			if (runnum = 1)
			{
				open_login()
				login_account(1) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 0, 970, 355 ;1ST LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 2)
			{
				open_login()
				login_account(2) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 948, 0, 979, 355 ;Longer than usual
				runnum += 1 
				Sleep, %normal_sleep%
			}
			
			if (runnum = 3)
			{
				open_login()
				login_account(3) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 345, 970, 355 ;2ND LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
					
			if (runnum = 4)
			{
				open_login()
				login_account(4) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 948, 345, 979, 355 ;Longer than usual
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 5)
			{
				open_login()
				login_account(5) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 690, 970, 355 ;3RD LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
			has_five_been_run = 1
		}
	}
	if Email_Four
	{
		if (!has_five_been_run)
		{
			if (runnum = 1)
			{
				open_login()
				login_account(1) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 0, 975, 527 ;1ST LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 2)
			{
				open_login()
				login_account(2) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 953, 0, 975, 527
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 3)
			{
				open_login()
				login_account(3) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 517, 975, 527 ;2ND LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 4)
			{
				open_login()
				login_account(4) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 953, 517, 975, 527
				runnum += 1 
				Sleep, %normal_sleep%
			}
			has_four_been_run = 1
		}
	}
	if Email_Three
	{
		if (!has_four_been_run)
		{
			if (runnum = 1)
			{
				open_login()
				login_account(1) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 0, 975, 527 ;1ST LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 2)
			{
				open_login()
				login_account(2) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 953, 0, 975, 527
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 3)
			{
				open_login()
				login_account(3) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 517, 1935, 527 ;2ND LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
			has_three_been_run = 1
		}
	}
	if Email_Two
	{
		if (!has_three_been_run)
		{
			if (runnum = 1)
			{
				open_login()
				login_account(1) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, -7, 0, 975, 1054 ;1ST LINE
				runnum += 1 
				Sleep, %normal_sleep%
			}
			if (runnum = 2)
			{
				open_login()
				login_account(2) 
				WinGetActiveTitle, windowTitle
				WinMove, %windowTitle%,, 953, 0, 975, 1054
				runnum += 1 
				Sleep, %normal_sleep%
			}
			has_two_been_run = 1
		}
	}
	if Email_One
	{
		if (!has_two_been_run)
		{
			open_login()
			login_account(1) 
			WinGetActiveTitle, windowTitle
			WinMove, %windowTitle%,, -7, 0, 975, 1054 ;1ST LINE
		}
	}
	MsgBox, Finished, will now exit. Thanks for using!
}


;#####################################################################################
open_login()
{
ControlClick, x1065 y20, Glyph ; Login...
Sleep, %normal_sleep%
ControlSend,, {down down}{down up}, Glyph
Sleep, %normal_sleep%
ControlClick, x1065 y20, Glyph ; Login...
Sleep, %normal_sleep%
ControlSend,, {down down}{down up}, Glyph
Sleep, %normal_sleep%
}




login_account(num) 
{
	if num = 1
		{
		ControlSend,, %Email_One%, Glyph Login
		Sleep, %normal_sleep%
		ControlClick, x147 y322, Glyph Login
		Sleep, %normal_sleep%
		ControlSendRaw,, %Password_One%, Glyph Login
		Sleep, %normal_sleep%
		ControlSend,, {enter down}{enter up}, Glyph Login ; Returing to Glyph
		Sleep, 2500 ; Wait for menu to go away
		ControlClick, x430 y530, Glyph  ;Click Play to login
		Sleep, %wait_for_trove_to_open%
		}
	if num = 2
		{
		ControlSend,, %Email_Two%, Glyph Login
		Sleep, %normal_sleep%
		ControlClick, x147 y322, Glyph Login
		Sleep, %normal_sleep%
		ControlSendRaw,, %Password_Two%, Glyph Login
		Sleep, %normal_sleep%
		ControlSend,, {enter down}{enter up}, Glyph Login
		Sleep, %wait_for_login%
		ControlClick, x430 y530, Glyph  ;Click Play to login
		Sleep, %wait_for_trove_to_open%
		}
	if num = 3
		{
		ControlSend,, %Email_Three%, Glyph Login
		Sleep, %normal_sleep%
		ControlClick, x147 y322, Glyph Login
		Sleep, %normal_sleep%
		ControlSendRaw,, %Password_Three%, Glyph Login
		Sleep, %normal_sleep%
		ControlSend,, {enter down}{enter up}, Glyph Login
		Sleep, %wait_for_login%
		ControlClick, x430 y530, Glyph  ;Click Play to login
		Sleep, %wait_for_trove_to_open%
		}
	if num = 4
		{
		ControlSend,, %Email_Four%, Glyph Login
		Sleep, %normal_sleep%
		ControlClick, x147 y322, Glyph Login
		Sleep, %normal_sleep%
		ControlSendRaw,, %Password_Four%, Glyph Login
		Sleep, %normal_sleep%
		ControlSend,, {enter down}{enter up}, Glyph Login
		Sleep, %wait_for_login%
		ControlClick, x430 y530, Glyph  ;Click Play to login
		Sleep, %wait_for_trove_to_open%
		}
	if num = 5
		{
		ControlSend,, %Email_Five%, Glyph Login
		Sleep, %normal_sleep%
		ControlClick, x147 y322, Glyph Login
		Sleep, %normal_sleep%
		ControlSendRaw,, %Password_Five%, Glyph Login
		Sleep, %normal_sleep%
		ControlSend,, {enter down}{enter up}, Glyph Login
		Sleep, %wait_for_login%
		ControlClick, x430 y530, Glyph  ;Click Play to login
		Sleep, %wait_for_trove_to_open%
		}
	if num = 6
		{
		ControlSend,, %Email_Six%, Glyph Login
		Sleep, %normal_sleep%
		ControlClick, x147 y322, Glyph Login
		Sleep, %normal_sleep%
		ControlSendRaw,, %Password_Six%, Glyph Login
		Sleep, %normal_sleep%
		ControlSend,, {enter down}{enter up}, Glyph Login
		Sleep, %wait_for_login%
		ControlClick, x430 y530, Glyph  ;Click Play to login
		Sleep, %wait_for_trove_to_open%	
		}
	if num = 7
		{
		ControlSend,, %Email_Seven%, Glyph Login
		Sleep, %normal_sleep%
		ControlClick, x147 y322, Glyph Login
		Sleep, %normal_sleep%
		ControlSendRaw,, %Password_Seven%, Glyph Login
		Sleep, %normal_sleep%
		ControlSend,, {enter down}{enter up}, Glyph Login
		Sleep, %wait_for_login%
		ControlClick, x430 y530, Glyph  ;Click Play to login
		Sleep, %wait_for_trove_to_open%
		}
	if num = 8
		{
		ControlSend,, %Email_Eight%, Glyph Login
		Sleep, %normal_sleep%
		ControlClick, x147 y322, Glyph Login
		Sleep, %normal_sleep%
		ControlSendRaw,, %Password_Eight%, Glyph Login
		Sleep, %normal_sleep%
		ControlSend,, {enter down}{enter up}, Glyph Login
		Sleep, %wait_for_login%
		ControlClick, x430 y530, Glyph  ;Click Play to login
		Sleep, %wait_for_trove_to_open%
		}
	if num = 9
		{
		ControlSend,, %Email_Nine%, Glyph Login
		Sleep, %normal_sleep%
		ControlClick, x147 y322, Glyph Login
		Sleep, %normal_sleep%
		ControlSendRaw,, %Password_Nine%, Glyph Login
		Sleep, %normal_sleep%
		ControlSend,, {enter down}{enter up}, Glyph Login
		Sleep, %wait_for_login%
		ControlClick, x430 y530, Glyph  ;Click Play to login
		Sleep, %wait_for_trove_to_open%
		}
	if num = 10
		{
		ControlSend,, %Email_Ten%, Glyph Login
		Sleep, %normal_sleep%
		ControlClick, x147 y322, Glyph Login
		Sleep, %normal_sleep%
		ControlSendRaw,, %Password_Ten%, Glyph Login
		Sleep, %normal_sleep%
		ControlSend,, {enter down}{enter up}, Glyph Login
		Sleep, %wait_for_login%
		ControlClick, x430 y530, Glyph  ;Click Play to login
		Sleep, %wait_for_trove_to_open%	
		}
	if num = 11
		{
		ControlSend,, %Email_Eleven%, Glyph Login
		Sleep, %normal_sleep%
		ControlClick, x147 y322, Glyph Login
		Sleep, %normal_sleep%
		ControlSendRaw,, %Password_Eleven%, Glyph Login
		Sleep, %normal_sleep%
		ControlSend,, {enter down}{enter up}, Glyph Login
		Sleep, %wait_for_login%
		ControlClick, x430 y530, Glyph  ;Click Play to login
		Sleep, %wait_for_trove_to_open%	
		}
	if num = 12
		{
		ControlSend,, %Email_Twelve%, Glyph Login
		Sleep, %normal_sleep%
		ControlClick, x147 y322, Glyph Login
		Sleep, %normal_sleep%
		ControlSendRaw,, %Password_Twelve%, Glyph Login
		Sleep, %normal_sleep%
		ControlSend,, {enter down}{enter up}, Glyph Login
		Sleep, %wait_for_login%
		ControlClick, x430 y530, Glyph  ;Click Play to login
		Sleep, %wait_for_trove_to_open%
		}
		Sleep, 500
}
;#####################################################################################


Esc::ExitApp
To run this script you need AutoHotkey: https://autohotkey.com/
- Only Tested on Windows 10 with Steam Version of Trove



How-To-Use!
1. Create an AHK file and paste the code in.
2. Run the AHK file to save emails and passwords to a text file
3. Re-run the AHK file when the Glyph menu is active (may need to run as admin), any account logged into the launcher will be logged out
4. Wait, Trove will open as the last saved resolution.

Names of important variables:
 
Important vars
- Email_<number 1-12> = Email to save or taken from file on line 1,3,5,7,9,11,13,15,17,19,21 or 23
- Password_<number 1-12> = Password to save or taken from file on line 2,4,6,8,10,12,14,16,18,20,22 or 24
- delay_time_in_ms = Delay in ms between each keypress
- wait_for_login = Time in ms to delay, waiting for login menu to go away
- wait_for_trove_to_open = Time in ms to delay, waiting for trove client to open
- normal_sleep = Time in ms to delay common actions
- breakline = Variable that acts as, `n, used to make a newline.
- runnum = Variable that holds the number of the current account (1-12)
- has_<1-12>_been_run = variable to check if the highest number of email accounts has been detected and already attempted, allows for a "if not exist" on the variable to continue through the statement if returns false.

The Glyph menu is called "Glyph" while the login popup you get is called "Glyph Login"
(Window)Coords:
- To click "Login..." = x1065 y20
- To click the password entry box = x147 y322
- To click play = x430 y530



Current Issues:
 
Issues
- When user interacts with keys, they will also be input
Experimenting with SendInput to stop this if it's enough of an issue.
- Reply with a description of the issue you are having, I will try to get back to you and fix it.



ChangeLog:
 
Changes
- Changed message box to show active emails to look better
- Changed "passed login function" to "Finished, will now exit. Thanks for using!"
- Changed many individual sleep commands to use the global variable "normal_sleep"
- Changed the key wait time to use the global variable "delay_time_in_ms" which you can change if you encounter input errors
- Increased the login wait for the first login as on the first login it seemed to take longer sometimes.
- Fixed typo in if "Email_Three{}"
- Changed password ControlSend to ControlSendRaw to allow for #s in passwords

----------------------------------------------------------------------------------------------------------

OLD VERSIONS:
(For archiving and learning)

V1.0
 
1.0
Code:
/*
Comment section:
- Made by BLURREDDOGE(https://www.mpgh.net/forum/member.php?u=2877154) at https://www.mpgh.net!

Copyright 2018, Luke Roper, All rights reserved.

- https://www.gov.uk/copyright
*/

if FileExist("database.txt")
{
	Array := [] ; or Array := Array()
	breakline = `n
	Loop, Read, database.txt
	{
		Array.Push(A_LoopReadLine)
	}
	for index, element in Array
	{
		oof := Mod(index, 2)
		if oof = 0
		{
			Passwords := Passwords . element . breakline
			if index = 2
				{
					Global Password_One
					Password_One := Password_One . element
				}
			if index = 4
				{
					Global Password_Two
					Password_Two := Password_Two . element
				}
			if index = 6
				{
					Global Password_Three
					Password_Three := Password_Three . element
				}
			if index = 8
				{
					Global Password_Four
					Password_Four := Password_Four . element
				}	
		}
		else
		{
			Emails := Emails . element . breakline
			if index = 1
				{
					Global Email_One
					Email_One := element
				}
			if index = 3
				{
					Global Email_Two
					Email_Two := element
				}
			 if index = 5
				{
					Global Email_Three
					Email_Three := element
				}	
			 if index = 7
				{
					Global Email_Four
					Email_Four := element
				}
	} ; End of Email and Password fetch
}
SetTitleMatchMode, 2
SetControlDelay -1
wait_for_login := 3000
wait_for_trove_to_open := 5000


	;##############################################
	;                 Open login 1                #
	;##############################################
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	;##############################################
	;               Login account 1               #
	;##############################################
	ControlSend,, %Email_One%, Glyph Login
	Sleep, 250
	ControlClick, x147 y322, Glyph Login
	Sleep, 250
	ControlSend,, %Password_One%, Glyph Login
	Sleep, 250
	ControlSend,, {enter down}{enter up}, Glyph Login ; Returing to Glyph
	Sleep, %wait_for_login% ; Wait for menu to go away
	ControlClick, x430 y530, Glyph  ;Click Play to login
	Sleep, %wait_for_trove_to_open%



;##############################################
;                 Open login  2               #
;##############################################
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
;##############################################
;               Login account 2               #
;##############################################
ControlSend,, %Email_Two%, Glyph Login
Sleep, 250
ControlClick, x147 y322, Glyph Login
Sleep, 200
ControlSend,, %Password_Two%, Glyph Login
Sleep, 250
ControlSend,, {enter down}{enter up}, Glyph Login
Sleep, %wait_for_login%
ControlClick, x430 y530, Glyph  ;Click Play to login
Sleep, %wait_for_trove_to_open%



	;##############################################
	;                Open login 3                 #
	;##############################################
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	;##############################################
	;               Login account 3               #
	;##############################################
	ControlSend,, %Email_Three%, Glyph Login
	Sleep, 250
	ControlClick, x147 y322, Glyph Login
	Sleep, 200
	ControlSend,, %Password_Three%, Glyph Login
	Sleep, 250
	ControlSend,, {enter down}{enter up}, Glyph Login
	Sleep, %wait_for_login%
	ControlClick, x430 y530, Glyph  ;Click Play to login
	Sleep, %wait_for_trove_to_open%



;##############################################
;                 Open login 4                #
;##############################################
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
;##############################################
;               Login account 4               #
;##############################################
ControlSend,, %Email_Four%, Glyph Login
Sleep, 250
ControlClick, x147 y322, Glyph Login
Sleep, 200
ControlSend,, %Password_Four%, Glyph Login
Sleep, 250
ControlSend,, {enter down}{enter up}, Glyph Login
Sleep, %wait_for_login%
ControlClick, x430 y530, Glyph  ;Click Play to login
Sleep, %wait_for_trove_to_open%

ExitApp ;Accounts have been logged in, no need to keep script active
} ;If no file is detected this is skipped



	
IfNotExist, database.txt
{
	Gui, New,, GUI
	Gui, Color, red
	;Gui Group 1
	Gui, Add, groupbox, x10 y5 w180 h105
	Gui, Add, Text, x15 y15, Email 1:
	Gui, Add, Edit, w170 vEmail_One
	Gui, Add, Text, x15 y65, Password 1:
	Gui, Add, Edit, w170 Password vPassword_One

	;Gui Group 2
	Gui,add, groupbox, x10 y105 w180 h115
	Gui, Add, Text, x15 y125, Email 2:
	Gui, Add, Edit, w170 vEmail_Two
	Gui, Add, Text, x15 y175, Password 2:
	Gui, Add, Edit, w170 Password vPassword_Two

	;Gui Group 3
	Gui,add, groupbox, x10 y215 w180 h105
	Gui, Add, Text, x15 y225, Email 3:
	Gui, Add, Edit, w170 vEmail_Three
	Gui, Add, Text, x15 y275, Password 3:
	Gui, Add, Edit, w170 Password vPassword_Three

	;Gui Group 4
	Gui,add, groupbox, x10 y315 w180 h135
	Gui, Add, Text, x15 y325, Email 4:
	Gui, Add, Edit, w170 vEmail_Four
	Gui, Add, Text, x15 y375, Password 4:
	Gui, Add, Edit, w170 Password vPassword_Four
	Gui, Add, Button, Default gOK, Save Emails/Passwords to use
	Gui, Show, w205 h460
	return

	OK:
	Gui, Submit
	Gui, Destroy
	MsgBox,
	( 

	First Email: %Email_One%
	First Password: %Password_One% 

	Second Email: %Email_Two%
	Second Password: %Password_Two%

	Third Email: %Email_Three%
	Third Password: %Password_Three%

	Fourth Email: %Email_Four%
	Fourth Password: %Password_Four%
	)
	;Writes emails+ps to file

	;#####################################################################
	;                    Writing variables to file
	;#####################################################################
	FileAppend, %Email_One%`n, database.txt
	FileAppend, %Password_One%`n, database.txt
	FileAppend, %Email_Two%`n, database.txt
	FileAppend, %Password_Two%`n, database.txt
	FileAppend, %Email_Three%`n, database.txt
	FileAppend, %Password_Three%`n, database.txt
	FileAppend, %Email_Four%`n, database.txt
	FileAppend, %Password_Four%`n, database.txt
	;Run, database.txt
	;return
	ExitApp
}



v1.1
 
1.1
Code:
/*
Comment section:
- Made by BLURREDDOGE(https://www.mpgh.net/forum/member.php?u=2877154) at https://www.mpgh.net!

Copyright 2018, Luke Roper, All rights reserved.

- https://www.gov.uk/copyright
*/

if FileExist("database.txt")
{
	Array := [] ; or Array := Array()
	breakline = `n
	Loop, Read, database.txt
	{
		Array.Push(A_LoopReadLine)
	}
	for index, element in Array
	{
		oof := Mod(index, 2)
		if oof = 0
		{
			Passwords := Passwords . element . breakline
			if index = 2
				{
					Global Password_One
					Password_One := Password_One . element
				}
			if index = 4
				{
					Global Password_Two
					Password_Two := Password_Two . element
				}
			if index = 6
				{
					Global Password_Three
					Password_Three := Password_Three . element
				}
			if index = 8
				{
					Global Password_Four
					Password_Four := Password_Four . element
				}	
		}
		else
		{
			Emails := Emails . element . breakline
			if index = 1
				{
					Global Email_One
					Email_One := element
				}
			if index = 3
				{
					Global Email_Two
					Email_Two := element
				}
			 if index = 5
				{
					Global Email_Three
					Email_Three := element
				}	
			 if index = 7
				{
					Global Email_Four
					Email_Four := element
				}
	} ; End of Email and Password fetch
}
SetTitleMatchMode, 2
SetControlDelay -1
wait_for_login := 3000
wait_for_trove_to_open := 5000
SetKeyDelay, 10, 5 


	;##############################################
	;                 Open login 1                #
	;##############################################
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	;##############################################
	;               Login account 1               #
	;##############################################
	ControlSend,, %Email_One%, Glyph Login
	Sleep, 250
	ControlClick, x147 y322, Glyph Login
	Sleep, 250
	ControlSend,, %Password_One%, Glyph Login
	Sleep, 250
	ControlSend,, {enter down}{enter up}, Glyph Login ; Returing to Glyph
	Sleep, %wait_for_login% ; Wait for menu to go away
	ControlClick, x430 y530, Glyph  ;Click Play to login
	Sleep, %wait_for_trove_to_open%



;##############################################
;                 Open login  2               #
;##############################################
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
;##############################################
;               Login account 2               #
;##############################################
ControlSend,, %Email_Two%, Glyph Login
Sleep, 250
ControlClick, x147 y322, Glyph Login
Sleep, 200
ControlSend,, %Password_Two%, Glyph Login
Sleep, 250
ControlSend,, {enter down}{enter up}, Glyph Login
Sleep, %wait_for_login%
ControlClick, x430 y530, Glyph  ;Click Play to login
Sleep, %wait_for_trove_to_open%



	;##############################################
	;                Open login 3                 #
	;##############################################
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	;##############################################
	;               Login account 3               #
	;##############################################
	ControlSend,, %Email_Three%, Glyph Login
	Sleep, 250
	ControlClick, x147 y322, Glyph Login
	Sleep, 200
	ControlSend,, %Password_Three%, Glyph Login
	Sleep, 250
	ControlSend,, {enter down}{enter up}, Glyph Login
	Sleep, %wait_for_login%
	ControlClick, x430 y530, Glyph  ;Click Play to login
	Sleep, %wait_for_trove_to_open%



;##############################################
;                 Open login 4                #
;##############################################
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
;##############################################
;               Login account 4               #
;##############################################
ControlSend,, %Email_Four%, Glyph Login
Sleep, 250
ControlClick, x147 y322, Glyph Login
Sleep, 200
ControlSend,, %Password_Four%, Glyph Login
Sleep, 250
ControlSend,, {enter down}{enter up}, Glyph Login
Sleep, %wait_for_login%
ControlClick, x430 y530, Glyph  ;Click Play to login
Sleep, %wait_for_trove_to_open%

ExitApp ;Accounts have been logged in, no need to keep script active
} ;If no file is detected this is skipped



	
IfNotExist, database.txt
{
	Gui, New,, GUI
	Gui, Color, red
	;Gui Group 1
	Gui, Add, groupbox, x10 y5 w180 h105
	Gui, Add, Text, x15 y15, Email 1:
	Gui, Add, Edit, w170 vEmail_One
	Gui, Add, Text, x15 y65, Password 1:
	Gui, Add, Edit, w170 Password vPassword_One

	;Gui Group 2
	Gui,add, groupbox, x10 y105 w180 h115
	Gui, Add, Text, x15 y125, Email 2:
	Gui, Add, Edit, w170 vEmail_Two
	Gui, Add, Text, x15 y175, Password 2:
	Gui, Add, Edit, w170 Password vPassword_Two

	;Gui Group 3
	Gui,add, groupbox, x10 y215 w180 h105
	Gui, Add, Text, x15 y225, Email 3:
	Gui, Add, Edit, w170 vEmail_Three
	Gui, Add, Text, x15 y275, Password 3:
	Gui, Add, Edit, w170 Password vPassword_Three

	;Gui Group 4
	Gui,add, groupbox, x10 y315 w180 h135
	Gui, Add, Text, x15 y325, Email 4:
	Gui, Add, Edit, w170 vEmail_Four
	Gui, Add, Text, x15 y375, Password 4:
	Gui, Add, Edit, w170 Password vPassword_Four
	Gui, Add, Button, Default gOK, Save Emails/Passwords to use
	Gui, Show, w205 h460
	return

	OK:
	Gui, Submit
	Gui, Destroy
	MsgBox,
	( 

	First Email: %Email_One%
	First Password: %Password_One% 

	Second Email: %Email_Two%
	Second Password: %Password_Two%

	Third Email: %Email_Three%
	Third Password: %Password_Three%

	Fourth Email: %Email_Four%
	Fourth Password: %Password_Four%
	)
	;Writes emails+ps to file

	;#####################################################################
	;                    Writing variables to file
	;#####################################################################
	FileAppend, %Email_One%`n, database.txt
	FileAppend, %Password_One%`n, database.txt
	FileAppend, %Email_Two%`n, database.txt
	FileAppend, %Password_Two%`n, database.txt
	FileAppend, %Email_Three%`n, database.txt
	FileAppend, %Password_Three%`n, database.txt
	FileAppend, %Email_Four%`n, database.txt
	FileAppend, %Password_Four%`n, database.txt
	;Run, database.txt
	;return
	ExitApp
}



V1.2
 
1.2
Code:
/*
Comment section:
- Made by BLURREDDOGE(https://www.mpgh.net/forum/member.php?u=2877154) at https://www.mpgh.net!

Copyright 2018, Luke Roper, All rights reserved.

- https://www.gov.uk/copyright
*/

; Global vars for user optimization
Global wait_for_login
wait_for_login := 1700

Global wait_for_trove_to_open
wait_for_trove_to_open := 5000



if FileExist("database.txt")
{
	Array := [] ; or Array := Array()
	breakline = `n
	Loop, Read, database.txt
	{
		Array.Push(A_LoopReadLine)
	}
	for index, element in Array
	{
		oof := Mod(index, 2)
		if oof = 0
		{
			Passwords := element . breakline
			if index = 2
				{
					Global Password_One
					Password_One := element
				}
			if index = 4
				{
					Global Password_Two
					Password_Two := element
				}
			if index = 6
				{
					Global Password_Three
					Password_Three := element
				}
			if index = 8
				{
					Global Password_Four
					Password_Four := element
				}	
			if index = 10
				{
					Global Password_Five
					Password_Five := element
				}
			if index = 12
				{
					Global Password_Six
					Password_Six := element
				}
		}
		else
		{
			Emails := element . breakline
			if index = 1
				{
					Global Email_One
					Email_One := element
				}
			if index = 3
				{
					Global Email_Two
					Email_Two := element
				}
			 if index = 5
				{
					Global Email_Three
					Email_Three := element
				}	
			 if index = 7
				{
					Global Email_Four
					Email_Four := element
				}
			if index = 9
				{
					Global Email_Five
					Email_Five := element
				}
			if index = 11
				{
					Global Email_Six
					Email_Six := element
				}
	} ; End of Email and Password fetch
}
SetTitleMatchMode, 2
SetControlDelay -1

SetKeyDelay, 10, 5 

	MsgBox,
	( 

	1: %Email_One%
	2: %Email_Two%
	3: %Email_Three%
	4: %Email_Four%
	5: %Email_Five%
	6: %Email_Six%
	)

	If (!Email_One)
		return
	;##############################################
	;                 Open login 1                #
	;##############################################
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	;##############################################
	;               Login account 1               #
	;##############################################
	ControlSend,, %Email_One%, Glyph Login
	Sleep, 250
	ControlClick, x147 y322, Glyph Login
	Sleep, 250
	ControlSend,, %Password_One%, Glyph Login
	Sleep, 250
	ControlSend,, {enter down}{enter up}, Glyph Login ; Returing to Glyph
	Sleep, %wait_for_login% ; Wait for menu to go away
	ControlClick, x430 y530, Glyph  ;Click Play to login
	Sleep, %wait_for_trove_to_open%


If (!Email_Two)
	return
;##############################################
;                 Open login  2               #
;##############################################
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
;##############################################
;               Login account 2               #
;##############################################
ControlSend,, %Email_Two%, Glyph Login
Sleep, 250
ControlClick, x147 y322, Glyph Login
Sleep, 200
ControlSend,, %Password_Two%, Glyph Login
Sleep, 250
ControlSend,, {enter down}{enter up}, Glyph Login
Sleep, %wait_for_login%
ControlClick, x430 y530, Glyph  ;Click Play to login
Sleep, %wait_for_trove_to_open%


	If (!Email_Three)
		return
	;##############################################
	;                Open login 3                 #
	;##############################################
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	;##############################################
	;               Login account 3               #
	;##############################################
	ControlSend,, %Email_Three%, Glyph Login
	Sleep, 250
	ControlClick, x147 y322, Glyph Login
	Sleep, 200
	ControlSend,, %Password_Three%, Glyph Login
	Sleep, 250
	ControlSend,, {enter down}{enter up}, Glyph Login
	Sleep, %wait_for_login%
	ControlClick, x430 y530, Glyph  ;Click Play to login
	Sleep, %wait_for_trove_to_open%


If (!Email_Four)
	return
;##############################################
;                 Open login 4                #
;##############################################
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
;##############################################
;               Login account 4               #
;##############################################
ControlSend,, %Email_Four%, Glyph Login
Sleep, 250
ControlClick, x147 y322, Glyph Login
Sleep, 200
ControlSend,, %Password_Four%, Glyph Login
Sleep, 250
ControlSend,, {enter down}{enter up}, Glyph Login
Sleep, %wait_for_login%
ControlClick, x430 y530, Glyph  ;Click Play to login
Sleep, %wait_for_trove_to_open%



	If (!Email_Five)
		return
	;##############################################
	;                Open login 5                 #
	;##############################################
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	;##############################################
	;               Login account 5               #
	;##############################################
	ControlSend,, %Email_Five%, Glyph Login
	Sleep, 250
	ControlClick, x147 y322, Glyph Login
	Sleep, 200
	ControlSend,, %Password_Five%, Glyph Login
	Sleep, 250
	ControlSend,, {enter down}{enter up}, Glyph Login
	Sleep, %wait_for_login%
	ControlClick, x430 y530, Glyph  ;Click Play to login
	Sleep, %wait_for_trove_to_open%

	
If (!Email_Six)
    return
;##############################################
;                 Open login 6                #
;##############################################
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
;##############################################
;               Login account 6               #
;##############################################
ControlSend,, %Email_Six%, Glyph Login
Sleep, 250
ControlClick, x147 y322, Glyph Login
Sleep, 200
ControlSend,, %Password_Six%, Glyph Login
Sleep, 250
ControlSend,, {enter down}{enter up}, Glyph Login
Sleep, %wait_for_login%
ControlClick, x430 y530, Glyph  ;Click Play to login
Sleep, %wait_for_trove_to_open%

ExitApp ;Accounts have been logged in, no need to keep script active
} ;If no file is detected this is skipped



	
IfNotExist, database.txt
{
	Gui, New,, GUI
	Gui, Color, A9A9A9 ;hex for dark grey

	;Gui Group 1
	Gui, Add, groupbox, x10 y5 w180 h105
	Gui, Add, Text, x15 y15, Email 1:
	Gui, Add, Edit, w170 vEmail_One
	Gui, Add, Text, x15 y65, Password 1:
	Gui, Add, Edit, w170 Password vPassword_One

	;Gui Group 2
	Gui,add, groupbox, x10 y110 w180 h115
	Gui, Add, Text, x15 y125, Email 2:
	Gui, Add, Edit, w170 vEmail_Two
	Gui, Add, Text, x15 y175, Password 2:
	Gui, Add, Edit, w170 Password vPassword_Two

	;Gui Group 3
	Gui,add, groupbox, x10 y225 w180 h105
	Gui, Add, Text, x15 y235, Email 3:
	Gui, Add, Edit, w170 vEmail_Three
	Gui, Add, Text, x15 y285, Password 3:
	Gui, Add, Edit, w170 Password vPassword_Three

	;Gui Group 4
	Gui,add, groupbox, x10 y330 w180 h105
	Gui, Add, Text, x15 y340, Email 4:
	Gui, Add, Edit, w170 vEmail_Four
	Gui, Add, Text, x15 y390, Password 4:
	Gui, Add, Edit, w170 Password vPassword_Four

	;Gui Group 5
	Gui,add, groupbox, x10 y435 w180 h105
	Gui, Add, Text, x15 y445, Email 5:
	Gui, Add, Edit, w170 vEmail_Five
	Gui, Add, Text, x15 y495, Password 5:
	Gui, Add, Edit, w170 Password vPassword_Five

	;Gui Group 6
	Gui,add, groupbox, x10 y540 w180 h135
	Gui, Add, Text, x15 y550, Email 6:
	Gui, Add, Edit, w170 vEmail_Six
	Gui, Add, Text, x15 y600, Password 6:
	Gui, Add, Edit, w170 Password vPassword_Six
	Gui, Add, Button, Default gOK, Save Emails/Passwords to use
	Gui, Show, w205 h685

	return

	OK:
	Gui, Submit
	Gui, Destroy
	MsgBox,
	( 

	First Email: %Email_One%
	First Password: %Password_One% 

	Second Email: %Email_Two%
	Second Password: %Password_Two%

	Third Email: %Email_Three%
	Third Password: %Password_Three%

	Fourth Email: %Email_Four%
	Fourth Password: %Password_Four%
	
	Fith Email: %Email_Five%
	Fith Password: %Password_Five%
	
	Sixth Email: %Email_Six%
	Sixth Password: %Password_Six%
	)
	;Writes emails+ps to file

	;#####################################################################
	;                    Writing variables to file
	;#####################################################################
	FileAppend, %Email_One%`n, database.txt
	FileAppend, %Password_One%`n, database.txt
	FileAppend, %Email_Two%`n, database.txt
	FileAppend, %Password_Two%`n, database.txt
	FileAppend, %Email_Three%`n, database.txt
	FileAppend, %Password_Three%`n, database.txt
	FileAppend, %Email_Four%`n, database.txt
	FileAppend, %Password_Four%`n, database.txt
	FileAppend, %Email_Five%`n, database.txt
	FileAppend, %Password_Five%`n, database.txt
	FileAppend, %Email_Six%`n, database.txt
	FileAppend, %Password_Six%`n, database.txt
	;Run, database.txt
	;return
	ExitApp
}



V1.3
 
1.3
Code:
/*
Comment section:
- Made by BLURREDDOGE(https://www.mpgh.net/forum/member.php?u=2877154) at https://www.mpgh.net!

Copyright 2018, Luke Roper, All rights reserved.

- https://www.gov.uk/copyright
*/

; Global vars for user optimization
Global wait_for_login
wait_for_login := 1700

Global wait_for_trove_to_open
wait_for_trove_to_open := 5000



if FileExist("database.txt")
{
	Array := [] ; or Array := Array()
	breakline = `n
	Loop, Read, database.txt
	{
		Array.Push(A_LoopReadLine)
	}
	for index, element in Array
	{
		oof := Mod(index, 2)
		if oof = 0
		{
			Passwords := element . breakline
			if index = 2
				{
					Global Password_One
					Password_One := element
				}
			if index = 4
				{
					Global Password_Two
					Password_Two := element
				}
			if index = 6
				{
					Global Password_Three
					Password_Three := element
				}
			if index = 8
				{
					Global Password_Four
					Password_Four := element
				}	
			if index = 10
				{
					Global Password_Five
					Password_Five := element
				}
			if index = 12
				{
					Global Password_Six
					Password_Six := element
				}
			if index = 14
				{
					Global Password_Seven
					Password_Seven := element
				}
			if index = 16
				{
					Global Password_Eight
					Password_Eight := element
				}
			if index = 18
				{
					Global Password_Nine
					Password_Nine := element
				}
			if index = 20
				{
					Global Password_Ten
					Password_Ten := element
				}
			if index = 22
				{
					Global Password_Eleven
					Password_Eleven := element
				}
			if index = 24
				{
					Global Password_Twelve
					Password_Twelve := element
				}
		}
		else
		{
			Emails := element . breakline
			if index = 1
				{
					Global Email_One
					Email_One := element
				}
			if index = 3
				{
					Global Email_Two
					Email_Two := element
				}
			 if index = 5
				{
					Global Email_Three
					Email_Three := element
				}	
			 if index = 7
				{
					Global Email_Four
					Email_Four := element
				}
			if index = 9
				{
					Global Email_Five
					Email_Five := element
				}
			if index = 11
				{
					Global Email_Six
					Email_Six := element
				}
			if index = 13
				{
					Global Email_Seven
					Email_Seven := element
				}
			if index = 15
				{
					Global Email_Eight
					Email_Eight := element
				}
			if index = 17
				{
					Global Email_Nine
					Email_Nine := element
				}
			if index = 19
				{
					Global Email_Ten
					Email_Ten := element
				}
			if index = 21
				{
					Global Email_Eleven
					Email_Eleven := element
				}
			if index = 23
				{
					Global Email_Twelve
					Email_Twelve := element
				}
	} ; End of Email and Password fetch
}
SetTitleMatchMode, 2
SetControlDelay -1
SetKeyDelay, 10, 5 

	MsgBox,
	( 

	 1: %Email_One%
	 2: %Email_Two%
	 3: %Email_Three%
	 4: %Email_Four%
	 5: %Email_Five%
	 6: %Email_Six%
	 7: %Email_Seven%
	 8: %Email_Eight%
	 9: %Email_Nine%
	10: %Email_Ten%
	11: %Email_Eleven%
	12: %Email_Twelve%
	)

	If (!Email_One)
		return
	;##############################################
	;                 Open login 1                #
	;##############################################
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	;##############################################
	;               Login account 1               #
	;##############################################
	ControlSend,, %Email_One%, Glyph Login
	Sleep, 250
	ControlClick, x147 y322, Glyph Login
	Sleep, 250
	ControlSend,, %Password_One%, Glyph Login
	Sleep, 250
	ControlSend,, {enter down}{enter up}, Glyph Login ; Returing to Glyph
	Sleep, %wait_for_login% ; Wait for menu to go away
	ControlClick, x430 y530, Glyph  ;Click Play to login
	Sleep, %wait_for_trove_to_open%


If (!Email_Two)
	return
;##############################################
;                 Open login  2               #
;##############################################
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
;##############################################
;               Login account 2               #
;##############################################
ControlSend,, %Email_Two%, Glyph Login
Sleep, 250
ControlClick, x147 y322, Glyph Login
Sleep, 200
ControlSend,, %Password_Two%, Glyph Login
Sleep, 250
ControlSend,, {enter down}{enter up}, Glyph Login
Sleep, %wait_for_login%
ControlClick, x430 y530, Glyph  ;Click Play to login
Sleep, %wait_for_trove_to_open%


	If (!Email_Three)
		return
	;##############################################
	;                Open login 3                 #
	;##############################################
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	;##############################################
	;               Login account 3               #
	;##############################################
	ControlSend,, %Email_Three%, Glyph Login
	Sleep, 250
	ControlClick, x147 y322, Glyph Login
	Sleep, 200
	ControlSend,, %Password_Three%, Glyph Login
	Sleep, 250
	ControlSend,, {enter down}{enter up}, Glyph Login
	Sleep, %wait_for_login%
	ControlClick, x430 y530, Glyph  ;Click Play to login
	Sleep, %wait_for_trove_to_open%


If (!Email_Four)
	return
;##############################################
;                 Open login 4                #
;##############################################
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
;##############################################
;               Login account 4               #
;##############################################
ControlSend,, %Email_Four%, Glyph Login
Sleep, 250
ControlClick, x147 y322, Glyph Login
Sleep, 200
ControlSend,, %Password_Four%, Glyph Login
Sleep, 250
ControlSend,, {enter down}{enter up}, Glyph Login
Sleep, %wait_for_login%
ControlClick, x430 y530, Glyph  ;Click Play to login
Sleep, %wait_for_trove_to_open%


	If (!Email_Five)
		return
	;##############################################
	;                Open login 5                 #
	;##############################################
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	;##############################################
	;               Login account 5               #
	;##############################################
	ControlSend,, %Email_Five%, Glyph Login
	Sleep, 250
	ControlClick, x147 y322, Glyph Login
	Sleep, 200
	ControlSend,, %Password_Five%, Glyph Login
	Sleep, 250
	ControlSend,, {enter down}{enter up}, Glyph Login
	Sleep, %wait_for_login%
	ControlClick, x430 y530, Glyph  ;Click Play to login
	Sleep, %wait_for_trove_to_open%

	
If (!Email_Six)
	return
;##############################################
;                 Open login 6                #
;##############################################
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
;##############################################
;               Login account 6               #
;##############################################
ControlSend,, %Email_Six%, Glyph Login
Sleep, 250
ControlClick, x147 y322, Glyph Login
Sleep, 200
ControlSend,, %Password_Six%, Glyph Login
Sleep, 250
ControlSend,, {enter down}{enter up}, Glyph Login
Sleep, %wait_for_login%
ControlClick, x430 y530, Glyph  ;Click Play to login
Sleep, %wait_for_trove_to_open%


If (!Email_Seven)
	return
	;##############################################
	;                Open login 7                 #
	;##############################################
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	;##############################################
	;               Login account 7               #
	;##############################################
	ControlSend,, %Email_Seven%, Glyph Login
	Sleep, 250
	ControlClick, x147 y322, Glyph Login
	Sleep, 200
	ControlSend,, %Password_Seven%, Glyph Login
	Sleep, 250
	ControlSend,, {enter down}{enter up}, Glyph Login
	Sleep, %wait_for_login%
	ControlClick, x430 y530, Glyph  ;Click Play to login
	Sleep, %wait_for_trove_to_open%

	
If (!Email_Eight)
	return
;##############################################
;                 Open login 8                #
;##############################################
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
;##############################################
;               Login account 8               #
;##############################################
ControlSend,, %Email_Eight%, Glyph Login
Sleep, 250
ControlClick, x147 y322, Glyph Login
Sleep, 200
ControlSend,, %Password_Eight%, Glyph Login
Sleep, 250
ControlSend,, {enter down}{enter up}, Glyph Login
Sleep, %wait_for_login%
ControlClick, x430 y530, Glyph  ;Click Play to login
Sleep, %wait_for_trove_to_open%


If (!Email_Nine)
	return
	;##############################################
	;                Open login 9                 #
	;##############################################
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	;##############################################
	;               Login account 9               #
	;##############################################
	ControlSend,, %Email_Nine%, Glyph Login
	Sleep, 250
	ControlClick, x147 y322, Glyph Login
	Sleep, 200
	ControlSend,, %Password_Nine%, Glyph Login
	Sleep, 250
	ControlSend,, {enter down}{enter up}, Glyph Login
	Sleep, %wait_for_login%
	ControlClick, x430 y530, Glyph  ;Click Play to login
	Sleep, %wait_for_trove_to_open%


If (!Email_Ten)
	return
;##############################################
;                 Open login 10                #
;##############################################
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
;##############################################
;               Login account 10               #
;##############################################
ControlSend,, %Email_Ten%, Glyph Login
Sleep, 250
ControlClick, x147 y322, Glyph Login
Sleep, 200
ControlSend,, %Password_Ten%, Glyph Login
Sleep, 250
ControlSend,, {enter down}{enter up}, Glyph Login
Sleep, %wait_for_login%
ControlClick, x430 y530, Glyph  ;Click Play to login
Sleep, %wait_for_trove_to_open%


If (!Email_Eleven)
	return
	;##############################################
	;                Open login 11                 #
	;##############################################
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	ControlClick, x1065 y20, Glyph ; Login...
	Sleep, 250
	ControlSend,, {down down}{down up}, Glyph
	Sleep, 250
	;##############################################
	;               Login account 11               #
	;##############################################
	ControlSend,, %Email_Eleven%, Glyph Login
	Sleep, 250
	ControlClick, x147 y322, Glyph Login
	Sleep, 200
	ControlSend,, %Password_Eleven%, Glyph Login
	Sleep, 250
	ControlSend,, {enter down}{enter up}, Glyph Login
	Sleep, %wait_for_login%
	ControlClick, x430 y530, Glyph  ;Click Play to login
	Sleep, %wait_for_trove_to_open%


If (!Email_Twelve)
	return
;##############################################
;                 Open login 12                #
;##############################################
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
ControlClick, x1065 y20, Glyph ; Login...
Sleep, 250
ControlSend,, {down down}{down up}, Glyph
Sleep, 250
;##############################################
;               Login account 12               #
;##############################################
ControlSend,, %Email_Twelve%, Glyph Login
Sleep, 250
ControlClick, x147 y322, Glyph Login
Sleep, 200
ControlSend,, %Password_Twelve%, Glyph Login
Sleep, 250
ControlSend,, {enter down}{enter up}, Glyph Login
Sleep, %wait_for_login%
ControlClick, x430 y530, Glyph  ;Click Play to login
Sleep, %wait_for_trove_to_open%


ExitApp ;Accounts have been logged in, no need to keep script active
} ;If no file is detected this is skipped

IfNotExist, database.txt
{
	Gui, New,, GUI
	Gui, Color, A9A9A9 ;hex for dark grey

	;Gui Group 1
	Gui, Add, groupbox, x10 y5 w180 h105
	Gui, Add, Text, x15 y15, Email 1:
	Gui, Add, Edit, w170 vEmail_One
	Gui, Add, Text, x15 y65, Password 1:
	Gui, Add, Edit, w170 Password vPassword_One
	
		;Gui Group 7
		Gui, Add, groupbox, x200 y5 w180 h105
		Gui, Add, Text, x205 y15, Email 7:
		Gui, Add, Edit, w170 vEmail_Seven
		Gui, Add, Text, x205 y65, Password 7:
		Gui, Add, Edit, w170 Password vPassword_Seven

	;Gui Group 2
	Gui,add, groupbox, x10 y110 w180 h105
	Gui, Add, Text, x15 y120, Email 2:
	Gui, Add, Edit, w170 vEmail_Two
	Gui, Add, Text, x15 y170, Password 2:
	Gui, Add, Edit, w170 Password vPassword_Two

		;Gui Group 8
		Gui, Add, groupbox, x200 y110 w180 h105
		Gui, Add, Text, x205 y120, Email 8:
		Gui, Add, Edit, w170 vEmail_Eight
		Gui, Add, Text, x205 y170, Password 8:
		Gui, Add, Edit, w170 Password vPassword_Eight

	;Gui Group 3
	Gui,add, groupbox, x10 y215 w180 h105
	Gui, Add, Text, x15 y225, Email 3:
	Gui, Add, Edit, w170 vEmail_Three
	Gui, Add, Text, x15 y275, Password 3:
	Gui, Add, Edit, w170 Password vPassword_Three

		;Gui Group 9
		Gui, Add, groupbox, x200 y215 w180 h105
		Gui, Add, Text, x205 y225, Email 9:
		Gui, Add, Edit, w170 vEmail_Nine
		Gui, Add, Text, x205 y275, Password 9:
		Gui, Add, Edit, w170 Password vPassword_Nine

	;Gui Group 4
	Gui,add, groupbox, x10 y320 w180 h105
	Gui, Add, Text, x15 y330, Email 4:
	Gui, Add, Edit, w170 vEmail_Four
	Gui, Add, Text, x15 y380, Password 4:
	Gui, Add, Edit, w170 Password vPassword_Four

		;Gui Group 10
		Gui, Add, groupbox, x200 y320 w180 h105
		Gui, Add, Text, x205 y330, Email 10:
		Gui, Add, Edit, w170 vEmail_Ten
		Gui, Add, Text, x205 y380, Password 10:
		Gui, Add, Edit, w170 Password vPassword_Ten

	;Gui Group 5
	Gui,add, groupbox, x10 y425 w180 h105
	Gui, Add, Text, x15 y435, Email 5:
	Gui, Add, Edit, w170 vEmail_Five
	Gui, Add, Text, x15 y485, Password 5:
	Gui, Add, Edit, w170 Password vPassword_Five

		;Gui Group 11
		Gui, Add, groupbox, x200 y425 w180 h105
		Gui, Add, Text, x205 y435, Email 11:
		Gui, Add, Edit, w170 vEmail_Eleven
		Gui, Add, Text, x205 y485, Password 11:
		Gui, Add, Edit, w170 Password vPassword_Eleven

	;Gui Group 6
	Gui,add, groupbox, x10 y530 w180 h105
	Gui, Add, Text, x15 y540, Email 6:
	Gui, Add, Edit, w170 vEmail_Six
	Gui, Add, Text, x15 y590, Password 6:
	Gui, Add, Edit, w170 Password vPassword_Six

		;Gui Group 12
		Gui, Add, groupbox, x200 y530 w180 h135
		Gui, Add, Text, x205 y540, Email 12:
		Gui, Add, Edit, w170 vEmail_Twelve
		Gui, Add, Text, x205 y590, Password 12:
		Gui, Add, Edit, w170 Password vPassword_Twelve
		Gui, Add, Button, Default gOK, Save Emails/Passwords to use
		Gui, Show, w395 h675

	return

	OK:
	Gui, Submit
	Gui, Destroy
	MsgBox,
	( 
	First Email: %Email_One%
	First Password: %Password_One% 

	Second Email: %Email_Two%
	Second Password: %Password_Two%

	Third Email: %Email_Three%
	Third Password: %Password_Three%

	Fourth Email: %Email_Four%
	Fourth Password: %Password_Four%
	
	Fith Email: %Email_Five%
	Fith Password: %Password_Five%
	
	Sixth Email: %Email_Six%
	Sixth Password: %Password_Six%
	
	Seventh Email: %Email_Seven%
	Seventh Password: %Password_Seven%
	
	Eighth Email: %Email_Eight%
	Eigth Password: %Password_Eight%
	
	Ninth Email: %Email_Nine%
	Ninth Password: %Password_Nine%
	
	Tenth Email: %Email_Ten%
	Tenth Password: %Password_Ten%
	
	Eleventh Email: %Email_Eleven%
	Eleventh Password: %Password_Eleven%
	
	Twelth Email: %Email_Twelve%
	Twelth Password: %Password_Twelve%
	)
	;Writes emails+ps to file

	;#####################################################################
	;                    Writing variables to file
	;#####################################################################
	If (!Email_One)
		ExitApp
	FileAppend, %Email_One%`n, database.txt
	FileAppend, %Password_One%`n, database.txt
	If (!Email_Two)
		ExitApp
	FileAppend, %Email_Two%`n, database.txt
	FileAppend, %Password_Two%`n, database.txt
	If (!Email_Three)
		ExitApp
	FileAppend, %Email_Three%`n, database.txt
	FileAppend, %Password_Three%`n, database.txt
	If (!Email_Four)
		ExitApp
	FileAppend, %Email_Four%`n, database.txt
	FileAppend, %Password_Four%`n, database.txt
	If (!Email_Four)
		ExitApp
	FileAppend, %Email_Five%`n, database.txt
	FileAppend, %Password_Five%`n, database.txt
	If (!Email_Six)
		ExitApp
	FileAppend, %Email_Six%`n, database.txt
	FileAppend, %Password_Six%`n, database.txt
	If (!Email_Seven)
		ExitApp
	FileAppend, %Email_Seven%`n, database.txt
	FileAppend, %Password_Seven%`n, database.txt
	If (!Email_Eight)
		ExitApp
	FileAppend, %Email_Eight%`n, database.txt
	FileAppend, %Password_Eight%`n, database.txt
	If (!Email_Nine)
		ExitApp
	FileAppend, %Email_Nine%`n, database.txt
	FileAppend, %Password_Nine%`n, database.txt
	If (!Email_Ten)
		ExitApp
	FileAppend, %Email_Ten%`n, database.txt
	FileAppend, %Password_Ten%`n, database.txt
	If (!Email_Eleven)
		ExitApp
	FileAppend, %Email_Eleven%`n, database.txt
	FileAppend, %Password_Eleven%`n, database.txt
	If (!Email_Twelve)
		ExitApp
	FileAppend, %Email_Twelve%`n, database.txt
	FileAppend, %Password_Twelve%`n, database.txt

	ExitApp
}


----------------------------------------------------------------------------------------------------------
TEST FILES:
(For archiving and learning)

Get current active window and place it at coords x,y and width, height.
 
WinMoveTests
Code:
F1::
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 0, 975, 1054 ;1ST LINE
return

F2::
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 953, 0, 975, 1054
return

F3::
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 345, 970, 355 ;2ND LINE
return

F4::
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 948, 345, 979, 355 
return



Taking strings from file in an ordered layout to append into variable:
 
FileRW
Code:
Array := [] ; or Array := Array()
breakline = `n

Loop, Read, database.txt
{
    Array.Push(A_LoopReadLine)
}

for index, element in Array
{
	oof := Mod(index, 2)
	if oof = 0
	{
		Passwords := Passwords . element . breakline
		if index = 2
			{
				Password_One := Password_One . element
			}
		if index = 4
			{
				Password_Two := Password_Two . element
			}
		if index = 6
			{
				Password_Three := Password_Three . element
			}
		if index = 8
			{
				Password_Four := Password_Four . element
			}	
	}
	else
	{
		Emails := Emails . element . breakline
		if index = 1
			{
				Email_One := element
			}
		if index = 3
			{
				Email_Two := element
			}
		 if index = 5
			{
				Email_Three := element
			}	
		 if index = 7
			{
				Email_Four := element
			}
	}
}

MsgBox %Passwords%
MsgBox %Emails%
;MsgBox %Email_Three%



Co-ordinates for 12-1 windows of trove to fill the screen:
 
WinMove
Code:
12 clients:
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 0, 495, 355 ;1ST LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 473, 0, 495, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 953, 0, 495, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 1433, 0, 495, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 345, 495, 355 ;2ND LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 473, 345, 495, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 953, 345, 495, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 1433, 345, 495, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 690, 495, 355 ;3RD LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 473, 690, 485, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 953, 690, 485, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 1443, 690, 485, 355
; all checked


11 clients:
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 0, 495, 355 ;1ST LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 473, 0, 495, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 953, 0, 495, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 1433, 0, 495, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 345, 495, 355 ;2ND LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 473, 345, 495, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 953, 345, 495, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 1433, 345, 495, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 690, 495, 355 ;3RD LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 473, 690, 485, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 944, 690, 983, 355 ;Longer than usual
; all checked


10 clients:
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 0, 495, 355 ;1ST LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 473, 0, 495, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 953, 0, 495, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 1433, 0, 495, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 345, 495, 355 ;2ND LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 473, 345, 495, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 953, 345, 495, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 1433, 345, 495, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 690, 970, 355 ;3RD LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 948, 690, 979, 355 ;Longer than usual
; all checked


9 clients:
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 0, 655, 355 ;1ST LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 633, 0, 655, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 1273, 0, 655, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 347, 655, 355 ;2ND LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 633, 347, 655, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 1273, 347, 655, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 694, 655, 355 ;3RD LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 633, 694, 655, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 1273, 694, 655, 355
; all checked


8 clients:
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 0, 500, 540 ;1ST LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 478, 0, 500, 540 ;+489
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 963, 0, 500, 540
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 1448, 0, 500, 540
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 530, 500, 540 ;2ND LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 478, 530, 500, 540 ;+489
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 963, 530, 500, 540
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 1448, 530, 500, 540
; all checked


7 clients:
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 0, 970, 355 ;1ST LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 948, 0, 979, 355 ;Longer than usual
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 345, 970, 355 ;2ND LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 948, 345, 979, 355
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 692, 655, 357 ;3RD LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 633, 692, 655, 357
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 1273, 692, 655, 357
;all checked

6 clients:
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 0, 970, 355 ;1ST LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 948, 0, 979, 355 ;Longer than usual
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 345, 970, 355 ;2ND LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 948, 345, 979, 355 ;Longer than usual
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 690, 970, 355 ;3RD LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 948, 690, 979, 355 ;Longer than usual
; all checked


5 clients:
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 0, 970, 355 ;1ST LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 948, 0, 979, 355 ;Longer than usual
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 345, 970, 355 ;2ND LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 948, 345, 979, 355 ;Longer than usual
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 690, 970, 355 ;3RD LINE
; all checked

4 clients:
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 0, 975, 527 ;1ST LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 953, 0, 975, 527
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 517, 975, 527 ;2ND LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 953, 517, 975, 527
; all checked

3 clients:
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 0, 975, 527 ;1ST LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 953, 0, 975, 527
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 517, 1935, 527 ;2ND LINE
; all checked

2 clients:
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 0, 975, 1054 ;1ST LINE
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, 953, 0, 975, 1054
; all checked

1 client:
WinGetActiveTitle, windowTitle
WinMove, %windowTitle%,, -7, 0, 975, 1054 ;1ST LINE
; all checked