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






