Locked Home » Forums » Legacy & Archived » Archived Content » Darkfall Online » DFO - Bots / Macros / Hacks

DFO Bots - Two Accounts, One Computer Melee & Magic / Parry : DFO - Bots / Macros / Hacks

Posted: June 9th, 2009
Total Posts:9 Joined:2009
AS Requested, New Melee Script:

Has Special Attacks now. Make sure you read up on the instructions as I have changed it to use 7 Weapons, and 2 Shields.

DFAttack

Code: Register to unlock hidden link

#cs ----------------------------------------------------------------------------
	Script by: Eiles

	Script requires two Accounts running on same computer in window mode.
	7 Individual Weapons should be placed in Hotbar 1 - 7 on the Attacking Account. These will be cycled through to provide a greater amount of durability and keep you skilling up longer.
	2 Individual Shields should be placed in Hotbar 1 - 2 on the Parrying Account. These will be cycled through to provide a greater amount of durability and keep you skilling up longer.
	Rest Should be placed on Hotbar 0.
	---NOTE----
	You will need to have your power attack and whirlwind on the hotbar. (It is user prefered, macro will ask where they are.)
	Make sure you read all the questions and answer them correctly. If you input wrong data it could mess up the macro.

	Begin the script with Attacking account unequiped and Focused in FPS mode.
	Make sure the Parrying account has only the sword equiped and Unsheathed. The shields should be unequiped and in your inventory.
	Parrying Account should be in FPS mode and in the background upon Scrip activation.

	Script begins 10 seconds after you answer the questions, so you should have enough time to ensure Accounts are setup properly and alt-tabing between each other fluidly.

	Pause Key Pauses the Script
	Esc Key Ends the Script

	FUNCTIONS:
	1 = Power Attack / Attack and Parry Loop, 2 = Power Attack / Whirlwind Attack / Attack and Parry Loop, 3 = Regualar Attack and Parry Loop

#ce-------------------------------------------------------


Dim $a, $b, $c, $d, $e, $f, $g
HotKeySet("{PAUSE}", "TogglePause")
HotKeySet("{ESC}", "Terminate")
$Weapon = 1
$Shield = 1
$a = 0
$g = 0
Global $Paused
$b = InputBox( "Question", "What Function would you like to perform? (1 = Power Attack / Attack and Parry Loop, 2 = Power Attack / Whirlwind Attack / Attack and Parry Loop, 3 = Regualar Attack and Parry Loop) ", "" )

	If $b = 1 Then
	$c = Inputbox ( "Question", "How many times would you like to cycle Power Attack / Attack? ( 1 cycles is 1 Power Attack and 5 Swings )", "" )
	$d = InputBox( "Question", "What Hotkey is your Power Attack Action on?", "" )
	$e = InputBox( "Question", "How long to rest? (1000 = 1 sec)", "" )
		sleep (10000)
		While 1
			Sleep ( 1000 )
			Call ("EquipAttack")
			Sleep (500)
			Call ( "CombatMode")
			Sleep (500)
			Call ("EquipDefense")
			Sleep (500)
				Do
					Call ( "PowerATK" )
					Call ( "Attack1" )
					$g = $g + 1
				Until $g = $c
				$g = 0
				sleep (100)
			Call ( "Rest" )
		WEnd

	ElseIf $b = 2 Then
	$c = Inputbox ( "Question", "How many times would you like to cycle Power Attack / Whirlwind Attack / Attack? ( 1 cycles is 1 Power Attack, 1 Whirlwind Attack and 7 Swings )", "" )
	$d = InputBox( "Question", "What Hotkey is your Power Attack on?", "" )
	$f = InputBox( "Question", "What Hotkey is your Whirlwind Attack on?", "" )
	$e = InputBox( "Question", "How long to rest? (1000 = 1 sec)", "" )
		While 1
			Sleep ( 10000 )
			Call ("EquipAttack")
			Sleep (500)
			Call ( "CombatMode")
			Sleep (500)
			Call ("EquipDefense")
			Sleep (500)
				Do
					Call ( "PowerATK" )
					Call ( "WWAttack")
					Call ( "Attack1" )
				$g = $g + 1
				Until $g = $c
				$g = 0
				sleep (100)
			Call ( "Rest" )
		WEnd

	ElseIf $b = 3 Then
	$c = InputBox( "Question", "How many times would you like to swing? (1 sec = 1000)", "" )
	$e = InputBox( "Question", "How long would you like to rest? (1 sec = 1000)", "" )
	Sleep ( 10000 )

		while 1
				sleep ( 100 )
				Call ("EquipAttack")
				sleep ( 500 )
				Call ("CombatMode")
				sleep ( 500 )
				Call ("EquipDefense")
				sleep ( 500 )
				Call("Attack")
				sleep ( 500 )
				Call ("Rest")
		WEnd
EndIf

Func Attack()
	Do
		sleep ( 100 )
		Mouseclick ( "Left" )
		sleep ( 100 )
		Send ( "{Alt Down}" )
		Sleep ( 100 )
		Send ( "{TAB Down}" )
		Sleep ( 100 )
		Send ( "{TAB UP}" )
		Sleep ( 100 )
		Send ( "{Alt Up}" )
		sleep ( 100 )
		Send ( "{V DOWN}" )
		sleep ( 1000 )
		Send ( "{V UP}" )
		sleep ( 500 )
		Send ( "{Alt Down}" )
		Sleep ( 100 )
		Send ( "{TAB Down}" )
		Sleep ( 100 )
		Send ( "{TAB UP}" )
		Sleep ( 100 )
		Send ( "{Alt Up}" )
		sleep ( 1000 )
		$a = $a + 1
	Until $a = $e
	$a = 0
EndFunc

Func Attack1()
	Do
		sleep ( 100 )
		Mouseclick ( "Left" )
		sleep ( 100 )
		Send ( "{Alt Down}" )
		Sleep ( 100 )
		Send ( "{TAB Down}" )
		Sleep ( 100 )
		Send ( "{TAB UP}" )
		Sleep ( 100 )
		Send ( "{Alt Up}" )
		sleep ( 100 )
		Send ( "{V DOWN}" )
		sleep ( 1000 )
		Send ( "{V UP}" )
		sleep ( 300 )
		Send ( "{Alt Down}" )
		Sleep ( 100 )
		Send ( "{TAB Down}" )
		Sleep ( 100 )
		Send ( "{TAB UP}" )
		Sleep ( 100 )
		Send ( "{Alt Up}" )
		sleep ( 800 )
		$a = $a + 1
	Until $a = 5
	$a = 0
EndFunc

Func PowerATK()
		sleep ( 500 )
		Send ( $d )
		Sleep (500)
		Mouseclick ( "Left" )
		sleep ( 100 )
		Send ( "{Alt Down}" )
		Sleep ( 100 )
		Send ( "{TAB Down}" )
		Sleep ( 100 )
		Send ( "{TAB UP}" )
		Sleep ( 100 )
		Send ( "{Alt Up}" )
		sleep ( 100 )
		Send ( "{V DOWN}" )
		sleep ( 1000 )
		Send ( "{V UP}" )
		sleep ( 300 )
		Send ( "{Alt Down}" )
		Sleep ( 100 )
		Send ( "{TAB Down}" )
		Sleep ( 100 )
		Send ( "{TAB UP}" )
		Sleep ( 100 )
		Send ( "{Alt Up}" )
		sleep (500)
		Mouseclick ( "Left" )
		sleep ( 800 )
	EndFunc

Func WWAttack()
		Send ( $f )
		Sleep (500)
		Mouseclick ( "Left" )
		sleep ( 100 )
		Send ( "{Alt Down}" )
		Sleep ( 100 )
		Send ( "{TAB Down}" )
		Sleep ( 100 )
		Send ( "{TAB UP}" )
		Sleep ( 100 )
		Send ( "{Alt Up}" )
		sleep ( 100 )
		Send ( "{V DOWN}" )
		sleep ( 1000 )
		Send ( "{V UP}" )
		sleep ( 300 )
		Send ( "{Alt Down}" )
		Sleep ( 100 )
		Send ( "{TAB Down}" )
		Sleep ( 100 )
		Send ( "{TAB UP}" )
		Sleep ( 100 )
		Send ( "{Alt Up}" )
		sleep (500)
		Mouseclick ( "Left" )
		sleep ( 800 )
	EndFunc

	Func EquipAttack()
	Sleep(500)
	;send ("{1} - {7}") ; Weapon
	Send("{" & $Weapon & "}")
	$Weapon = $Weapon + 1
	If $Weapon = 8 Then
		$Weapon = 1
	EndIf
	Sleep(500)
EndFunc   ;==>Equip

Func CombatMode()
	Sleep (100 )
	Send ( "r" )
	Sleep ( 500 )
EndFunc

Func EquipDefense()
	Send ( "{Alt Down}" )
	Sleep ( 100 )
	Send ( "{TAB Down}" )
	Sleep ( 100 )
	Send ( "{TAB UP}" )
	Sleep ( 100 )
	Send ( "{Alt Up}" )
	sleep ( 500 )
	;send ("{1} - {2}") ; Shield
	Send("{" & $Shield & "}")
	$Shield = $Shield + 1
	If $Shield = 3 Then
		$Shield = 1
	EndIf
	Sleep(500)
	Send ( "{Alt Down}" )
	Sleep ( 100 )
	Send ( "{TAB Down}" )
	Sleep ( 100 )
	Send ( "{TAB UP}" )
	Sleep ( 100 )
	Send ( "{Alt Up}" )
	sleep ( 500 )
EndFunc


Func Rest()
	Sleep ( 500 )
	Send ( "R" )
	Sleep ( 1500 )
	Send ( "0" )
	Sleep ( 1500 )
	Mouseclick ( "Left" )
	Sleep ( $e )
	Send ( "w" )
	Sleep ( 1000 )
EndFunc

Func TogglePause()
	$Paused = Not $Paused
	While $Paused
		Sleep(100)
	WEnd
EndFunc   ;==>TogglePause

Func Terminate( )
    Exit 0
EndFunc
Posted: June 12th, 2009
imhotepecek
you are script guru, community thank you.
Posted: June 29th, 2009
Total Posts:32 Joined:2007
Hey Eiles,

I haven't used your script yet, but I've been running an autohotkey version. I think it may have been the original that everyone based theirs off of. Assuming it works the same, about 5% of the time, the shield doesn't equip and I end up killing my other character. I suppose I could reduce the amount of MM in my case, but I think that would decrease overall efficiency potential. Is there anyway to set up a pixel color to the parrying account's health bar and go to rest if hp decreases at a designated hp spot?
Posted: July 3rd, 2009
Total Posts:52 Joined:2009
This contradicts itself:

" Make sure the Parrying account has only the sword equiped and Unsheathed. The shields should be unequiped and in your inventory.
Parrying Account should be in FPS mode and in the background upon Scrip activation.
"

Can you clarify? I've been having problems with the timings on the script. The parryer will parry but still takes full damage because it isn't quick enough.
Posted: August 7th, 2009
crouse
Hey I am having a problem. I'm pretty sure I'm doing everything right but just to clarify. You have the attacking account minimized, and the parrying account visual in the background? because when I do that, The parrying character starts attacking and the attacker just stands there; However, If I have the attacking character screen in the background and the parrying minimized to start with, The Attacker attacks and the Defender Parry's, the only bad thing is that my attacker then rests but when they go to attack the second round he doesnt pull out the sword. I am currently only using 1 sword for all 7 slots. since I dont have 7 weaks swords atm all the others are rank 40 50
Posted: September 2nd, 2009
Total Posts:41 Joined:2009
if anyone is having problems with the timing of the defending/parrying account,try equiping a 2 hand sword instead of using the 1 hander and shield,seems to work alot better for me and it uses less stamina when blocked.just equip the 2 hand sword at beginning and dont bother putting in shields from 1-4
Posted: February 4th, 2010
User avatar
Total Posts:281 Joined:2004
Eiles, just a suggestion,

When posting up AutoIt files, attach them for people. I believe TU doesn't allow .au3 files to upload. I had this problem for an EVE script I wrote so I renamed to .txt and told people to just rename back to .au3

It saves a ton of time and then you don't have massive code blocks all over the place. Also, it's best practice to keep your most updated version of the script attached to your first message. Just edit it and add it there. That way people aren't scrolling through stuff and going to different pages to find it. :)

Just some tips.. Admin likes it too. It keeps things nice and clean.

Edit: Alternatively, you can just put the .au3 scripts in a .rar file and attach them. People are generally smart enough to know how to unrar something too. :D

Nice work.

Ophidian
Posted: August 9th, 2010
Total Posts:13 Joined:2009
i dont understand do i run both scripts at the same time because there is the parry one and the attacker one... or do i put them both in the same file or what?

edit: nvm i figured it out but the parry is too slow so i keep hitting him
Posted: August 9th, 2010
User avatar
administrator
Total Posts:29891 Joined:2002
o nice was just about to reply to this then i saw your edit hah.
Posted: August 9th, 2010
Total Posts:13 Joined:2009
hey guys could i get a better explanation on how to use it. because ive been trying to get it work all day and it has not been working. first the parry is too slow and most of the time is doesnt even parry. i tried the two handed trick didnt parry either im not sure if you have it so parry is holding v because im is right click. also after i exit out of it all my controlls where messed up everytime i type on the keyboard it would beep then i tried to unplug the keyboard & mouse and it was even worse" got worse because of me though shouldnt of unplugged XD " so. i just need a better explanation or somthing because i have got through it about 20 times today.
Posted: August 12th, 2010
User avatar
administrator
Total Posts:29891 Joined:2002
Well i havent used this script before but im sure i can help you.

First for the parry problem. Have you tried speeding it up in the script with the delays?
Ready to join the community? Click here and see all of the benefits!
blue large dotWho is online
Users browsing this forum: No registered users and 3 guests
Locked