[AutoIt] Customizable Magic

08/14/2009 12:11 Penakle#1
This script is a customizable magic script that allows you to cast 5 different spells. They are repeatable as many or as few times as you'd like. You need to play with the delays before you get them right, I suggest saving the delay you find that works in a text file for ease of future use.

~ Toggles pause and DEL exits the script.

Note that this script is untested by me as of yet because I'm still just macroing Lesser Magic and have no need for it at the moment. If you use it and find that it works good, please post here and let us know.

Edit- I added an option to loop the entire spell list before resting. Updated to fix a couple of bugs.

Code:
Dim $a, $b, $c, $d, $e, $f, $g, $h, $i, $j, $k, $l, $m, $n, $o, $p, $q, $r, $s, $t, $u, $v, $w, $x, $y
Global $Paused
HotKeySet("`", "TogglePause")
HotKeySet("{DEL}", "Terminate")
$a = InputBox( "Question", "How many different spells to cast?", "1" )

If $a = 1 Then
	$b = InputBox( "Question", "Hotbar for first spell?", "1" )
	$c = InputBox( "Question", "Cast delay for first spell?", "1100" )
	$d = InputBox( "Question", "How many times to repeat first spell?", "1" )
	$e = InputBox( "Question", "Hotbar for Rest?", "0" )
	$s = InputBox( "Question", "How long to Rest?", "155000" )
	WinWaitActive( "Darkfall Online" )
	Sleep( 2000 )
	While 1
		$r = 0
		Sleep( 1000 )
		Send( "R" )
		Sleep( 500 )
		Do
			Call( "SpellOne" )
			$r = $r + 1
		Until $r = $d
		Call( "Rest" )
		WEnd
	
ElseIf $a = 2 Then
	$b = InputBox( "Question", "Hotbar for first spell?", "1" )
	$c = InputBox( "Question", "Cast delay for first spell?", "1100" )
	$d = InputBox( "Question", "How many times to repeat first spell?", "1" )
	$f = InputBox( "Question", "Hotbar for second spell?", "2" )
	$g = InputBox( "Question", "Cast delay for second spell?", "1100" )
	$h = InputBox( "Question", "How many times to repeat second spell?", "1" )
	$y = InputBox( "Question", "How many times to repeat entire loop before resting?", "1" )
	$e = InputBox( "Question", "Hotbar for Rest?", "0" )
	$s = InputBox( "Question", "How long to Rest?", "155000" )
	WinWaitActive( "Darkfall Online" )
	Sleep( 2000 )
	While 1
		$r = 0
		$t = 0
		$x = 0
		Sleep( 1000 )
		Send( "R" )
		Sleep( 1000 )
		Do
			Do
				Call( "SpellOne" )
				$r = $r + 1
			Until $r = $d
			$r = 0
			Do
				Call( "SpellTwo" )
				$t = $t + 1
			Until $t = $h
			$t = 0
			$x = $x +1
		Until $x = $y
		Call( "Rest" )
	WEnd
	
ElseIf $a = 3 Then
	$b = InputBox( "Question", "Hotbar for first spell?", "1" )
	$c = InputBox( "Question", "Cast delay for first spell?", "1100" )
	$d = InputBox( "Question", "How many times to repeat first spell?", "1" )
	$f = InputBox( "Question", "Hotbar for second spell?", "2" )
	$g = InputBox( "Question", "Cast delay for second spell?", "1100" )
	$h = InputBox( "Question", "How many times to repeat second spell?", "1" )
	$i = InputBox( "Question", "Hotbar for third spell?", "3" )
	$j = InputBox( "Question", "Cast delay for third spell?", "1100" )
	$k = InputBox( "Question", "How many times to repeat third spell?", "1" )
	$y = InputBox( "Question", "How many times to repeat entire loop before resting?", "1" )
	$e = InputBox( "Question", "Hotbar for Rest?", "0" )
	$s = InputBox( "Question", "How long to Rest?", "155000" )
	WinWaitActive( "Darkfall Online" )
	Sleep( 2000 )
	While 1
		$r = 0
		$t = 0
		$t = 0
		$x = 0
		Sleep( 1000 )
		Send( "R" )
		Sleep( 1000 )
		Do
			Do
				Call( "SpellOne" )
				$r = $r + 1
			Until $r = $d
			$r = 0
			Do
				Call( "SpellTwo" )
				$t = $t + 1
			Until $t = $h
			$t = 0
			Do
				Call( "SpellThree" )
				$u = $u + 1
			Until $u = $k
			$u = 0
			$x = $x + 1
		Until $x = $y
		Call( "Rest" )
	WEnd
	
ElseIf $a = 4 Then
	$b = InputBox( "Question", "Hotbar for first spell?", "1" )
	$c = InputBox( "Question", "Cast delay for first spell?", "1100" )
	$d = InputBox( "Question", "How many times to repeat first spell?", "1" )
	$f = InputBox( "Question", "Hotbar for second spell?", "2" )
	$g = InputBox( "Question", "Cast delay for second spell?", "1100" )
	$h = InputBox( "Question", "How many times to repeat second spell?", "1" )
	$i = InputBox( "Question", "Hotbar for third spell?", "3" )
	$j = InputBox( "Question", "Cast delay for third spell?", "1100" )
	$k = InputBox( "Question", "How many times to repeat third spell?", "1" )
	$l = InputBox( "Question", "Hotbar for forth spell?", "4" )
	$m = InputBox( "Question", "Cast delay for forth spell?", "1100" )
	$n = InputBox( "Question", "How many times to repeat forth spell?", "1" )
	$y = InputBox( "Question", "How many times to repeat entire loop before resting?", "1" )
	$e = InputBox( "Question", "Hotbar for Rest?", "0" )
	$s = InputBox( "Question", "How long to Rest?", "155000" )
	WinWaitActive( "Darkfall Online" )
	Sleep( 2000 )
	While 1
		$r = 0
		$t = 0
		$u = 0
		$v = 0
		$x = 0
		Sleep( 1000 )
		Send( "R" )
		Sleep( 1000 )
		Do
			Do
				Call( "SpellOne" )
				$r = $r + 1
			Until $r = $d
			$r = 0
			Do
				Call( "SpellTwo" )
				$t = $t + 1
			Until $t = $h
			$t = 0
			Do
				Call( "SpellThree" )
				$u = $u + 1
			Until $u = $k
			$u = 0
			Do
				Call( "SpellFour" )
				$v = $v + 1
			Until $v = $n
			$v = 0
			$x = $x + 1
		Until $x = $y
		Call( "Rest" )
	WEnd
ElseIf $a = 5 Then
	$b = InputBox( "Question", "Hotbar for first spell?", "1" )
	$c = InputBox( "Question", "Cast delay for first spell?", "1100" )
	$d = InputBox( "Question", "How many times to repeat first spell?", "1" )
	$f = InputBox( "Question", "Hotbar for second spell?", "2" )
	$g = InputBox( "Question", "Cast delay for second spell?", "1100" )
	$h = InputBox( "Question", "How many times to repeat second spell?", "1" )
	$i = InputBox( "Question", "Hotbar for third spell?", "3" )
	$j = InputBox( "Question", "Cast delay for third spell?", "1100" )
	$k = InputBox( "Question", "How many times to repeat third spell?", "1" )
	$l = InputBox( "Question", "Hotbar for forth spell?", "4" )
	$m = InputBox( "Question", "Cast delay for forth spell?", "1100" )
	$n = InputBox( "Question", "How many times to repeat forth spell?", "1" )
	$o = InputBox( "Question", "Hotbar for fifth spell?", "5" )
	$p = InputBox( "Question", "Cast delay for fifth spell?", "1100" )
	$q = InputBox( "Question", "How many times to repeat fifth spell?", "1" )
	$y = InputBox( "Question", "How many times to repeat entire loop before resting?", "1" )
	$e = InputBox( "Question", "Hotbar for Rest?", "0" )
	$s = InputBox( "Question", "How long to Rest?", "155000" )
	WinWaitActive( "Darkfall Online" )
	Sleep( 2000 )
		While 1
		$r = 0
		$t = 0
		$u = 0
		$v = 0
		$w = 0
		$x = 0
		Sleep( 1000 )
		Send( "R" )
		Sleep( 1000 )
		Do
			Do
				Call( "SpellOne" )
				$r = $r + 1
			Until $r = $d
			$r = 0
			Do
				Call( "SpellTwo" )
				$t = $t + 1
			Until $t = $h
			$t = 0
			Do
				Call( "SpellThree" )
				$u = $u + 1
			Until $u = $k
			$u = 0
			Do
				Call( "SpellFour" )
				$v = $v + 1
			Until $v = $n
			$v = 0
			Do
				Call( "SpellFive" )
				$w = $w + 1
			Until $w = $q
			$w = 0
			$x = $x + 1
		Until $x = $y
		Call( "Rest" )
	WEnd
	
Else
	MsgBox( 0, "Alert", "You need at least 1 spell or less than 6 spells to cast." )
	Exit
EndIf

Func SpellOne ( )
	Sleep( 500 )
	Send( $b )
	Sleep( 500 )
	MouseClick( "Left" )
	Sleep( $c )
EndFunc

Func SpellTwo ( )
	Sleep( 500 )
	Send( $f )
	Sleep( 500 )
	MouseClick( "Left" )
	Sleep( $g )
EndFunc

Func SpellThree ( )
	Sleep( 500 )
	Send( $i )
	Sleep( 500 )
	MouseClick( "Left" )
	Sleep( $j )
EndFunc

Func SpellFour ( )
	Sleep( 500 )
	Send( $l )
	Sleep( 500 )
	MouseClick( "Left" )
	Sleep( $m )
EndFunc

Func SpellFive ( )
	Sleep( 500 )
	Send( $o )
	Sleep( 500 )
	MouseClick( "Left" )
	Sleep( $p )
EndFunc
	
Func Rest( )
	Sleep( 2000 )
	Send( "R" )
	Sleep( 500 )
	Send( $e )
	Sleep( 500 )
	MouseClick( "Left" )
	Sleep( $s )
	Send( "{SPACE}" )
	Sleep( 1000 )
EndFunc


Func TogglePause( )
    $Paused = NOT $Paused
    While $Paused
        sleep(100)
        ToolTip('Script is "Paused"',0,0)
    WEnd
    ToolTip("")
EndFunc

Func Terminate( )
    Exit 0
EndFunc
02/26/2010 16:36 вʅɑɔʞ•ʀɑɲɡɛ™#2
Hey Penakle, this Section is full of useless Posts from you !

You get Reported with many Reasons ...

One of that Reasons is Spam and Double Post

Just try to Help the People, dont Spam in OffTopics !


#Pinned
#Reported
#Reported - Ban Report

~Closed~