Note: I borrowed the .ini file and MouseCoord pieces from Jazkal.
These two scripts will allow you to target specific pieces of the Darkfall login process and jump in the queue at any time. I will be setting a scheduled task to fire off early in the morning to run this script.
First, I was going to create an instructional video but I dont want to edit out my Login and Character name. If you cant figure it out then I guess you are out of luck.
First, run the queue-setup.au3 file. It will ask you to mouse-hover over a few things. Just let the script run, it will end after a few seconds.
Just Click Enter when you are prompted with Message Boxes.
Second, run the queue.au3 file. You will have a 5 second delay before the mouse starts moving to the shortcut.
Queue-Setup.au3:
Queue.au3:
These two scripts will allow you to target specific pieces of the Darkfall login process and jump in the queue at any time. I will be setting a scheduled task to fire off early in the morning to run this script.
First, I was going to create an instructional video but I dont want to edit out my Login and Character name. If you cant figure it out then I guess you are out of luck.
First, run the queue-setup.au3 file. It will ask you to mouse-hover over a few things. Just let the script run, it will end after a few seconds.
Just Click Enter when you are prompted with Message Boxes.
Second, run the queue.au3 file. You will have a 5 second delay before the mouse starts moving to the shortcut.
Queue-Setup.au3:
Code:
Opt("MouseCoordMode", 0) ; Sets the way coords are used in the mouse functions, 0 = relative coords to the active window
If Not FileExists(@ScriptDir&"\_Queue.ini") Then
IniWrite(@ScriptDir&"\_Queue.ini", "DarkfallIcon", "X", "0")
IniWrite(@ScriptDir&"\_Queue.ini", "DarkfallIcon", "Y", "0")
IniWrite(@ScriptDir&"\_Queue.ini", "LoginButton", "X", "0")
IniWrite(@ScriptDir&"\_Queue.ini", "LoginButton", "Y", "0")
IniWrite(@ScriptDir&"\_Queue.ini", "ServerButton", "X", "0")
IniWrite(@ScriptDir&"\_Queue.ini", "ServerButton", "Y", "0")
IniWrite(@ScriptDir&"\_Queue.ini", "CharacterButton", "X", "0")
IniWrite(@ScriptDir&"\_Queue.ini", "CharacterButton", "Y", "0")
Sleep(500)
EndIf
Global $DFIconTargetX = IniRead(@ScriptDir&"\_Queue.ini", "DarkfallIcon", "X", "0")
Global $DFIconTargetY = IniRead(@ScriptDir&"\_Queue.ini", "DarkfallIcon", "Y", "0")
Global $DFLoginButtonX = IniRead(@ScriptDir&"\_Queue.ini", "LoginButton", "X", "0")
Global $DFLoginButtonY = IniRead(@ScriptDir&"\_Queue.ini", "LoginButton", "Y", "0")
Global $DFServerButtonX = IniRead(@ScriptDir&"\_Queue.ini", "ServerButton", "X", "0")
Global $DFServerButtonY = IniRead(@ScriptDir&"\_Queue.ini", "ServerButton", "Y", "0")
Global $DFCharacterButtonX = IniRead(@ScriptDir&"\_Queue.ini", "CharacterButton", "X", "0")
Global $DFCharacterButtonY = IniRead(@ScriptDir&"\_Queue.ini", "CharacterButton", "Y", "0")
HotKeySet("`", "_GetCoords") ; Press ` key to active coords
$i = 1
While $i = 1
MsgBox(0, "Get Desktop Shortcut Coords", "Highlight your Darkfall shortcut and press the ` key")
Sleep (60000)
$i = $i + 1
Wend
Func _GetCoords()
$MousePos = MouseGetPos()
IniWrite(@ScriptDir&"\_Queue.ini", "DarkfallIcon", "X", $MousePos[0])
IniWrite(@ScriptDir&"\_Queue.ini", "DarkfallIcon", "Y", $MousePos[1])
$DFIconTargetX = $MousePos[0]
$DFIconTargetY = $MousePos[1]
Sleep (3000)
MsgBox(0, "Login Screen", "Please bring up the Login Screen")
Sleep (5000)
MsgBox(0, "Get Login Button Coords", "You have 5 seconds to MouseOver the Login Button")
Sleep (5000)
$MousePos = MouseGetPos()
IniWrite(@ScriptDir&"\_Queue.ini", "LoginButton", "X", $MousePos[0])
IniWrite(@ScriptDir&"\_Queue.ini", "LoginButton", "Y", $MousePos[1])
$DFLoginButtonX = $MousePos[0]
$DFLoginButtonY = $MousePos[1]
Sleep (3000)
MsgBox(0, "Lobby Menu", "Please bring up the Lobby")
Sleep (5000)
MsgBox(0, "Get Lobby Server Button Coords", "You have 5 seconds to MouseOver the Servers Tab")
Sleep (5000)
$MousePos = MouseGetPos()
IniWrite(@ScriptDir&"\_Queue.ini", "ServerButton", "X", $MousePos[0])
IniWrite(@ScriptDir&"\_Queue.ini", "ServerButton", "Y", $MousePos[1])
$DFServerButtonX = $MousePos[0]
$DFServerButtonY = $MousePos[1]
Sleep (3000)
MsgBox(0, "Character Screen", "Please bring up the Servers Tab")
Sleep (5000)
MsgBox(0, "Get Character Coords", "You have 5 seconds to MouseOver your character")
Sleep (5000)
$MousePos = MouseGetPos()
IniWrite(@ScriptDir&"\_Queue.ini", "CharacterButton", "X", $MousePos[0])
IniWrite(@ScriptDir&"\_Queue.ini", "CharacterButton", "Y", $MousePos[1])
$DFCharacterButtonX = $MousePos[0]
$DFCharacterButtonY = $MousePos[1]
EndFunc
Code:
Opt("MouseCoordMode", 0) ; Sets the way coords are used in the mouse functions, 0 = relative coords to the active window
Global $DFIconTargetX = IniRead(@ScriptDir&"\_Queue.ini", "DarkfallIcon", "X", "0")
Global $DFIconTargetY = IniRead(@ScriptDir&"\_Queue.ini", "DarkfallIcon", "Y", "0")
Global $DFLoginButtonX = IniRead(@ScriptDir&"\_Queue.ini", "LoginButton", "X", "0")
Global $DFLoginButtonY = IniRead(@ScriptDir&"\_Queue.ini", "LoginButton", "Y", "0")
Global $DFServerButtonX = IniRead(@ScriptDir&"\_Queue.ini", "ServerButton", "X", "0")
Global $DFServerButtonY = IniRead(@ScriptDir&"\_Queue.ini", "ServerButton", "Y", "0")
Global $DFCharacterButtonX = IniRead(@ScriptDir&"\_Queue.ini", "CharacterButton", "X", "0")
Global $DFCharacterButtonY = IniRead(@ScriptDir&"\_Queue.ini", "CharacterButton", "Y", "0")
$i = 1
While $i = 1
Sleep (5000)
_Launch()
$i = $i + 1
WEnd
Func _Launch()
_DesktopIcon()
_Login()
_Lobby()
_Character()
EndFunc
Func _DesktopIcon()
MouseClick("left", $DFIconTargetX, $DFIconTargetY, 2)
Sleep (1000)
If WinExists("Darkfall End User License Agreement") Then
ControlClick("Darkfall", "", "Button1", "left", 2)
EndIf
EndFunc
Func _Login()
WinActivate("Darkfall")
Sleep (5000)
MouseClick("left", $DFLoginButtonX, $DFLoginButtonY, 1)
Sleep (5000)
EndFunc
Func _Lobby()
WinActivate("Darkfall")
Sleep (2000)
MouseClick("left", $DFServerButtonX, $DFServerButtonY, 1)
Sleep (5000)
EndFunc
Func _Character()
WinActivate("Darkfall")
Sleep (2000)
MouseClick("left", $DFCharacterButtonX, $DFCharacterButtonY, 1)
Sleep (5000)
EndFunc