[AutoIt] Cast / Rest multi weapon

08/14/2009 12:05 Penakle#1
With this script u don't have to worry about ur staff durability just put 3 staffs on ur hotbar and u r done :P

Code:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>



Opt('MustDeclareVars', 1)
HotKeySet("{ESC}", "Terminate")


Example()

Func Example()
Local $Button_1,$Button_2, $msg,$weapon,$count,$what,$rand,$weapon1,$weapon2, $weapon3,$missilekey,$rest,$missiletimes,$counter, $resttime,$firetime
GUICreate("O Baremenos Ver1.0",300,250,650,400) ; will create a dialog box that when displayed is centered

Opt("GUICoordMode", 6)
$Button_1 = GUICtrlCreateButton("Run", 10, 00, 100)
GUICtrlCreateLabel("YOUR WEAPON MUST BE ATTACHABLE",50, 30,80, 20) ; next line

$weapon1 = GUICtrlCreateInput("7", 90, 30,50, 20)
$weapon2 = GUICtrlCreateInput("8", 90, 50,50, 20)
$weapon3 = GUICtrlCreateInput("9", 90, 70,50, 20)
$missilekey = GUICtrlCreateInput("4", 90, 90,50, 20)
$missiletimes = GUICtrlCreateInput("10", 90, 110,50, 20)
$rest = GUICtrlCreateInput("1", 90, 130,50, 20)
$counter=GUICtrlCreateInput("3", 90, 150,50, 20)
$resttime=GUICtrlCreateInput("120", 110, 170,50, 20)
$firetime=GUICtrlCreateInput("18", 110, 190,50, 20)
GUICtrlCreateLabel("Weapon1:",10, 30,80, 20) ; next line
GUICtrlCreateLabel("Weapon2:",10, 50,80, 20) ; next line
GUICtrlCreateLabel("Weapon3:",10, 70,80, 20) ; next line
GUICtrlCreateLabel("Missile Key:",10, 90,80, 20) ; next line
GUICtrlCreateLabel("Missile Times:",10, 110,80, 20) ; next line
GUICtrlCreateLabel("Rest key:",10, 130,80, 20) ; next line
GUICtrlCreateLabel("Counter:",10, 150,80, 20) ; next line
GUICtrlCreateLabel("Rest Time in secs",10, 170,100, 20) ; next line
GUICtrlCreateLabel("Fire Time in secs",10, 190,100, 20) ; next line
GUICtrlCreateLabel("YOUR WEAPON MUST BE ATTACHABLE",50, 210,280, 20) ; next line
GUISetState() ; will display an dialog box with 2 button

; Run the GUI until the dialog is closed
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop

Case $msg = $Button_1
Sleep1(1000) ;1 sec
WinSetState("O Baremenos Ver1.0", "", @SW_HIDE)
Sleep1(1000) ;1 sec
ControlGetFocus("Darkfall Online")
sleep1(1000)
MouseClick("right")
Sleep1(1000) ;1 sec

$weapon = Guictrlread($weapon1)
while 1 = 1
for $count = 1 to Guictrlread($counter)
if $weapon = Guictrlread($weapon1) then
Send1(Guictrlread($weapon1))
elseif $weapon = Guictrlread($weapon2) then
Send1(Guictrlread($weapon2))
elseif $weapon = Guictrlread($weapon3) then
Send1(Guictrlread($weapon3))
endif

Sleep1(2000) ;1 sec
Send1("r")
Sleep1(2000) ;1 sec
send1(Guictrlread($missilekey))
Sleep1(1000) ;1 sec
for $count = 1 to Guictrlread($missiletimes)
MouseClick1("left")
Sleep1(Guictrlread($firetime)*1000) ;1 sec
next
Send1("r")
Sleep1(2000) ;1 sec
Send1(Guictrlread($rest))
Sleep1(2000) ;1 sec
MouseClick1("left")
Sleep1(Guictrlread($resttime)*1000) ;1 sec
Send1($weapon)
Sleep1(2000) ; 2 sec
Send1("w")
Sleep1(2000) ;1 sec
next
$weapon = $weapon + 1
if $weapon > Guictrlread($weapon3) then
$weapon = Guictrlread($weapon1)
endif
wend
EndFunc ;==>Example

EndSelect
WEnd



Func Send1($what)
; MsgBox(0, "", "Key = " & $what)
Send($what)
EndFunc

Func MouseClick1($what)
; MsgBox(0, "", "MouseClick = " & $what)
MouseClick($what)
EndFunc

Func Sleep1($what)
local $rand
SRandom ( @SEC )
$rand = Random(500, 1000, 1)
$what = $what + $rand
; MsgBox(0, "", "Sleep = " & ($what / 1000) & " seconds")
Sleep($what)
EndFunc
Func Terminate()
Exit 0
EndFunc
just put the weapons on the numbers that you want
-DON'T ATTACH ANY WEAPON-

THEN JUST PRESS RUN
IF YOU WANT TO STOP IT PRESS ESC
02/15/2010 05:36 Daboom357#2
hey does "counter" meen the loops? The amount of times the macro repeats itself/ or does this script run indefinately?