Simple collecting tool

05/01/2011 16:00 Bowbaq#1
Hello,

Here is a simple script I wrote yesterday to automate collecting stuff.

Features :
  • Collect for hours effortlessly
  • Works minimized
  • Customizable timings
Requirements :
  • 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
Usage :
  • 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)
Source :

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
Maybe someone can use that, enjoy :)
05/01/2011 16:03 Greeny95#2
someone try and scan for virusses please :)
05/01/2011 16:08 nantais1992#3
Nice work ;)
05/01/2011 16:15 <†>Minera<†>#4
·
AhnLab-V3 - 2011.05.01.00 - 2011.04.30 - -
AntiVir - 7.11.7.93 - 2011.05.01 - -
Antiy-AVL - 2.0.3.7 - 2011.05.01 - -
Avast - 4.8.1351.0 - 2011.05.01 - -
Avast5 - 5.0.677.0 - 2011.05.01 - -
AVG - 10.0.0.1190 - 2011.05.01 - -
BitDefender - 7.2 - 2011.05.01 - -
CAT-QuickHeal - 11.00 - 2011.04.30 - -
ClamAV - 0.97.0.0 - 2011.05.01 - -
Commtouch - 5.3.2.6 - 2011.05.01 - -
Comodo - 8542 - 2011.05.01 - -
DrWeb - 5.0.2.03300 - 2011.05.01 - -
Emsisoft - 5.1.0.5 - 2011.05.01 - -
eSafe - 7.0.17.0 - 2011.04.28 - -
eTrust-Vet - 36.1.8299 - 2011.04.29 - -
F-Prot - 4.6.2.117 - 2011.05.01 - -
F-Secure - 9.0.16440.0 - 2011.05.01 - -
Fortinet - 4.2.257.0 - 2011.05.01 - -
GData - 22 - 2011.05.01 - -
Ikarus - T3.1.1.103.0 - 2011.05.01 - -
Jiangmin - 13.0.900 - 2011.04.30 - -
K7AntiVirus - 9.98.4527 - 2011.04.30 - -
Kaspersky - 9.0.0.837 - 2011.05.01 - -
McAfee - 5.400.0.1158 - 2011.05.01 - -
McAfee-GW-Edition - 2010.1D - 2011.04.30 - -
Microsoft - 1.6802 - 2011.05.01 - -
NOD32 - 6085 - 2011.05.01 - -
Norman - 6.07.07 - 2011.05.01 - -
Panda - 10.0.3.5 - 2011.05.01 - -
PCTools - 7.0.3.5 - 2011.04.29 - -
Prevx - 3.0 - 2011.05.01 - -
Rising - 23.55.04.03 - 2011.04.29 - -
Sophos - 4.64.0 - 2011.05.01 - -
SUPERAntiSpyware - 4.40.0.1006 - 2011.05.01 - -
Symantec - 20101.3.2.89 - 2011.05.01 - -
TheHacker - 6.7.0.1.184 - 2011.04.30 - -
TrendMicro - 9.200.0.1012 - 2011.05.01 - -
TrendMicro-HouseCall - 9.200.0.1012 - 2011.05.01 - -
VBA32 - 3.12.16.0 - 2011.04.29 - -
VIPRE - 9168 - 2011.05.01 - -
ViRobot - 2011.4.30.4439 - 2011.05.01 - -
VirusBuster - 13.6.329.0 - 2011.04.30 - -
·
05/01/2011 16:19 Greeny95#5
thx minera

can you make a 32 bits too please?
05/01/2011 17:10 Bowbaq#6
Short answer : no, probably not

Long answer :
To make a 32bit version I would need a way to send keystrokes to the Archlord window that works on a x86 version of windows.
I know it is possible, but I don't have such a tool at my disposal, and I don't have the time to do it myself.
Maybe somebody who does have it will feel like modifying the code above to make it work.
05/01/2011 17:13 Greeny95#7
too bad :(
05/01/2011 20:16 balagecrf#8
Thx, but I need this for 32bit win too :(
05/03/2011 10:06 darkchaotik#9
very nice work i´ll test it right away :D
works perfectly :)
got collecting on lvl 12 :D
BIG THANKS:handsdown::handsdown::handsdown:
05/03/2011 18:09 darkchaotik#10
Quote:
Originally Posted by Bowbaq View Post
Hello,

Here is a simple script I wrote yesterday to automate collecting stuff.

Features :
  • Collect for hours effortlessly
  • Works minimized
  • Customizable timings
Requirements :
  • 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
Usage :
  • 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)
Source :

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
Maybe someone can use that, enjoy :)
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)


i dont how to change the script :D
when i opened it doesnt change anything
pls tell me how to do :)
05/03/2011 21:55 faulkude#11
Thanksxa lot.
Jen cherchais un qui fonctionnait correctement =)
05/06/2011 00:29 Bowbaq#12
Open the .au3 file in the archive with your text editor, then change the values like so :
Attack skill key
Dim $k_attack = "3" ; Change my value here ("3" for english keyboard)
; Collecting skill key
Dim $k_collect = "4" ; Change my value here ("4" for english keyboard)

Save & run.
05/06/2011 08:13 darkchaotik#13
which text editor should i use to do so ?
05/06/2011 11:31 ikusie#14
haven't used it yet but tnx for the WORK!
05/06/2011 18:33 faulkude#15
Works perfectly. Great work!