Hello,
Here is a simple script I wrote yesterday to automate collecting stuff.
Features :
The script is currently setup for french keyboard layout. If you would like to change that, you would just have to change the values of $k_attack and $k_collect accordingly :
Source :
Maybe someone can use that, enjoy :)
Here is a simple script I wrote yesterday to automate collecting stuff.
Features :
- Collect for hours effortlessly
- Works minimized
- Customizable timings
- Latest [Only registered and activated users can see links. Click Here To Register...] version (not if you use the executables included in the zip file)
- Windows x64
- Probably needs to run as Admin
- Launch archlord and go to your collecting site
- Launch the script, make sure the client you want to collect with is frontmost
- Eventually adjust the timing according to your connection/lag...
- Click the "Start" button
The script is currently setup for french keyboard layout. If you would like to change that, you would just have to change the values of $k_attack and $k_collect accordingly :
Code:
; Attack skill key
Dim $k_attack = '"' ; Change my value here ("3" for english keyboard)
; Collecting skill key
Dim $k_collect = "'" ; Change my value here ("4" for english keyboard)
Code:
#RequireAdmin
#include <GUIConstantsEx.au3>
; Exact windows title matching
Opt("WinTitleMatchMode", 3)
; Change to OnEvent mode
Opt("GUIOnEventMode", 1)
; GUI Variables
Dim $GUITitle = "Collector", $GUITitleRunning = "Collector - Running"
Dim $GUI, $GUIStart, $GUIStop, $GUITabInput, $GUIHitInput, $GUICollectInput
; Main script variables
; Times obtained from the GUI
Dim $t_tab, $t_hit, $t_collect
; Attack skill key
Dim $k_attack = '"'
; Collecting skill key
Dim $k_collect = "'"
; Is the script running?
Dim $paused = True
; Archlord window title
Dim $title = "AL - Collecting"
Func DrawGUI()
; Main window
$GUI = GUICreate($GUITitle, 300, 100)
; Time value input (in seconds)
; Wait time after "tabbing"
GUICtrlCreateLabel("Tab wait : ", 10, 10)
$GUITabInput = GUICtrlCreateInput(1, 110, 7)
; Wait time after pressing the "hit" key
GUICtrlCreateLabel("Hit wait : ", 10, 40)
$GUIHitInput = GUICtrlCreateInput(5, 110, 37)
; Wait time after pressing the "collect" key
GUICtrlCreateLabel("Collection wait : ", 10, 75)
$GUICollectInput = GUICtrlCreateInput(6, 110, 72)
; GUI Events
; Exit event
GUISetOnEvent($GUI_EVENT_CLOSE, "Close")
; Start event
$GUIStart = GUICtrlCreateButton("Start", 245, 5, 50, 40)
GUICtrlSetOnEvent($GUIStart, "Start")
; Stop event
$GUIStop = GUICtrlCreateButton("Stop", 245, 55, 50, 40)
GUICtrlSetOnEvent($GUIStop, "Stop")
; We can't stop if we haven't yet started
GUICtrlSetState($GUIStop, $GUI_DISABLE)
; Display the GUI
GUISetState(@SW_SHOW)
EndFunc
; Read the times from the GUI, and convert to milliseconds
Func GUIReadValues()
$t_tab = GUICtrlRead($GUITabInput) * 1000
$t_hit = GUICtrlRead($GUIHitInput) * 1000
$t_collect = GUICtrlRead($GUICollectInput) * 1000
EndFunc
; Start collecting
Func Start()
; Indicate that we are collecting, by changing the GUI's title
WinSetTitle($GUI, "" , $GUITitleRunning)
; Disable the Start button
GUICtrlSetState($GUIStart, $GUI_DISABLE)
; Enable the Stop button
GUICtrlSetState($GUIStop, $GUI_ENABLE)
; Update the wait time values
GUIReadValues()
; Change Archlord window title to be sure we are targetting the right one
WinSetTitle("Archlord", "", $title)
; Start collecting
$paused = False
EndFunc
; Abort collecting
Func Stop()
; Stop collecting
$paused = True
; Change Archlord window title back to normal
WinSetTitle($title, "", "Archlord")
; Disable the Stop button
GUICtrlSetState($GUIStop, $GUI_DISABLE)
; Enable the Start button
GUICtrlSetState($GUIStart, $GUI_ENABLE)
; Indicate that we have stopped collecting, by changing the GUI's title
WinSetTitle($GUI, "" , $GUITitle)
EndFunc
; Close the GUI
Func Close()
Exit
EndFunc
; Draw the GUI
DrawGUI()
; Main action loop
While 1
; Collect ...
If Not $paused Then
; Tab to the next mob
ControlSend($title, "", "", "{TAB}")
Sleep($t_tab)
; Kill it
ControlSend($title, "", "", $k_attack)
Sleep($t_hit)
; Collect it
ControlSend($title, "", "", $k_collect)
Sleep($t_collect)
Else ; Or wait
Sleep(1000)
EndIf
WEnd