Register for your free account! | Forgot your password?

Go Back   elitepvpers > Aion > Aion Hacks, Bots, Cheats & Exploits
You last visited: Today at 17:13

  • Please register to post and access all features, it's quick, easy and FREE!

 

Aion AutoIt Bot Beta [Open Source]

Reply
 
Old   #841
 
elite*gold: 0
Join Date: Jun 2009
Posts: 4
Received Thanks: 0
Angry bot =_=

verdamt mein bot rogi sagt alls way ponts 00.00.00.00 seit update das ist **** weis wer welcher jetzt nochgeht oder wann ein neuer kommt danke schon mall



wartze is offline  
Old   #842
 
elite*gold: 0
Join Date: Oct 2009
Posts: 4
Received Thanks: 2
Da ich bisher nur den 0.91 verwendet habe, kann ich dir auch nur den anbieten.

Thx to d3xyna for the PosAddr. :-D



Code:
#AutoIT3Wrapper_UseUpx=n
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_outfile=AutoAion_beta_09.exe
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiConstants.au3>
#Include <file.au3>
#include <NoMadMemory.au3>

GuiCreate("AutoAion v0.91 ", 270,600, 0, 0, -1, $WS_EX_TOPMOST) 
;GUICtrlCreatePic("pic.jpg", 0, 500, 270, 100)
GUISetState(@SW_SHOW)
GuiCtrlSetState(-1,$GUI_DISABLE)


HotKeySet("{F5}","stop")
HotKeySet("{NUMPADADD}","_keyboardToWpInterface")
Global $Run = False

Global $AddrPlayerAoP = "A1C8C8"		
Global $AddrPlayerYPos = "A1F158"		
Global $AddrPlayerXPos = "A1F15C"		
Global $AddrPlayerZPos = "A1F160"		


Global $AddrPlayerMaxEp = "A27700"		
Global $AddrPlayerCurEp = "A27710"		

Global $AddrPlayerMaxHp = "A2771C"		
Global $AddrPlayerCurHp = "A27720"		

Global $AddrPlayerMaxMana = "A27724"	
Global $AddrPlayerCurMana = "A27728"	

Global $AddrEnemy = "62EB7C"	


Global $enemyKillCount = 0
Global $enemyEpCount = 0
Global $playerEnergy
Global $playerEnergyMax
Global $playerHP
Global $playerHPMax
Global $playerEP
Global $playerEPMax
Global $targetHPpercent
Global $AionRun = False
Global $pid = 0
Global $openmem = 0
Global $baseADDR = 0
Global $finalADDR = 0
Global $wpField[1000]
Global $count =1
Global $countMax=0
global $pi = 3.14159265358979323846264338327950
global $file1 = "data.txt"
global $attack1 = "x"
global $attack2 = "x"
global $attack3 = "x"
global $attack4 = "x"
global $attack5 = "x"
global $attack6 = "x"
global $attack7 = "x"
global $attack8 = "x"
global $loot = "x"
global $reg = "x"
Global $i =0
global $attack1c = "0"
global $attack2c = "0"
global $attack3c = "0"
global $attack4c = "0"
global $attack5c = "0"
global $attack6c = "0"
global $attack7c = "0"
global $attack8c = "0"

global $attack1Cd = "0"
global $attack2Cd = "0"
global $attack3Cd = "0"
global $attack4Cd = "0"
global $attack5Cd = "0"
global $attack6Cd = "0"
global $attack7Cd = "0"
global $attack8Cd = "0"

global $attack1LastCast = "0"
global $attack2LastCast = "0"
global $attack3LastCast = "0"
global $attack4LastCast = "0"
global $attack5LastCast = "0"
global $attack6LastCast = "0"
global $attack7LastCast = "0"
global $attack8LastCast = "0"

global $killCount
global $status
global $TimeCount
global $jumper = 0

global $attack1_da
global $attack2_da
global $attack3_da
global $attack4_da
global $attack5_da
global $attack6_da

global $attack8hp = 20
global $reg_minLife = 40
global $reg_minMana = 10

global $timeDiff = 0;
global $lastTime = 0;
global $newTime = 0;
global $avgTime = 0;

global $rot_down = "a down"
global $rot_up = "a up"

Global $timeToShutdownOutput
Global $sdtimerInput
Global $timeToShutdown = 0
Global $timeCache = 0

$attack1_da = GUICtrlCreateCheckbox("D.A.", 200, 30, 50, 20)
$attack2_da = GUICtrlCreateCheckbox("D.A.", 200, 60, 50, 20)
$attack3_da = GUICtrlCreateCheckbox("D.A.", 200, 90, 50, 20)
$attack4_da = GUICtrlCreateCheckbox("D.A.", 200, 180, 50, 20)
$attack5_da = GUICtrlCreateCheckbox("D.A.", 200, 120, 50, 20)
$attack6_da = GUICtrlCreateCheckbox("D.A.", 200, 150, 50, 20)

readKeys()

$Label1 = GUICtrlCreateLabel("Key", 65, 10, 60, 17)
$Label1 = GUICtrlCreateLabel("Casttime", 100, 10, 60, 17)
$Label1 = GUICtrlCreateLabel("Cooldown", 150, 10, 60, 17)

$Label1 = GUICtrlCreateLabel("Kill Count:", 150, 270, 60, 17)
$killCount = GUICtrlCreateLabel($enemyKillCount, 200, 270, 100, 17)
$Label1 = GUICtrlCreateLabel("EP Count:", 150, 290, 60, 17)
$epCount = GUICtrlCreateLabel($enemyEpCount, 200, 290, 100, 17)
$Label1 = GUICtrlCreateLabel("Lvl-up in:", 150, 310, 60, 17)
$TimeCount = GUICtrlCreateLabel($avgTime, 200, 310, 100, 17)
$Label1 = GUICtrlCreateLabel("Shutdown:", 150, 330, 60, 17)
$timeToShutdownOutput = GUICtrlCreateLabel("-----", 210, 330, 100, 17)

$Label1 = GUICtrlCreateLabel("Attack 1:", 15, 32, 44, 17)
$attack1Key = GUICtrlCreateInput($attack1, 65, 30, 20, 21)
$attack1Cast = GUICtrlCreateInput($attack1c, 100, 30, 40, 21)
$attack1Cooldown = GUICtrlCreateInput($attack1Cd, 150, 30, 40, 21)

$Label2 = GUICtrlCreateLabel("Attack 2:", 15, 62, 44, 17)
$attack2Key = GUICtrlCreateInput($attack2, 65, 60, 20, 21)
$attack2Cast = GUICtrlCreateInput($attack2c, 100, 60, 40, 21)
$attack2Cooldown = GUICtrlCreateInput($attack2Cd, 150, 60, 40, 21)


$Label3 = GUICtrlCreateLabel("Attack 3:", 15, 92, 44, 17)
$attack3Key = GUICtrlCreateInput($attack3, 65, 90, 20, 21)
$attack3Cast = GUICtrlCreateInput($attack3c, 100, 90, 40, 21)
$attack3Cooldown = GUICtrlCreateInput($attack3Cd, 150, 90, 40, 21)

$Label5 = GUICtrlCreateLabel("Attack 4:", 15, 122, 44, 17)
$attack5Key = GUICtrlCreateInput($attack5, 65, 120, 20, 21)
$attack5Cast = GUICtrlCreateInput($attack5c, 100, 120, 40, 21)
$attack5Cooldown = GUICtrlCreateInput($attack5Cd, 150, 120, 40, 21)

$Label6 = GUICtrlCreateLabel("Attack 5:", 15, 152, 44, 17)
$attack6Key = GUICtrlCreateInput($attack6, 65, 150, 20, 21)
$attack6Cast = GUICtrlCreateInput($attack6c, 100, 150, 40, 21)
$attack6Cooldown = GUICtrlCreateInput($attack6Cd, 150, 150, 40, 21)

$Label4 = GUICtrlCreateLabel("PreCast:", 17, 182, 50, 17)
$attack4Key = GUICtrlCreateInput($attack4, 65, 180, 20, 21)
$attack4Cast = GUICtrlCreateInput($attack4c, 100, 180, 40, 21)
$attack4Cooldown = GUICtrlCreateInput($attack4Cd, 150, 180, 40, 21)

$Label7 = GUICtrlCreateLabel("PostCast:", 14, 212, 50, 17)
$attack7Key = GUICtrlCreateInput($attack7, 65, 210, 20, 21)
$attack7Cast = GUICtrlCreateInput($attack7c, 100, 210, 40, 21)
$attack7Cooldown = GUICtrlCreateInput($attack7Cd, 150, 210, 40, 21)

$Label8 = GUICtrlCreateLabel("Em Cast:", 14, 242, 50, 17)
$attack8Key = GUICtrlCreateInput($attack8, 65, 240, 20, 21)
$attack8Cast = GUICtrlCreateInput($attack8c, 100, 240, 40, 21)
$attack8Cooldown = GUICtrlCreateInput($attack8Cd, 150, 240, 40, 21)
$Label8 = GUICtrlCreateLabel("HP:", 191, 242, 18, 17)
$attack8hitPoint = GUICtrlCreateInput($attack8hp, 210, 240, 20, 21)
$Label8 = GUICtrlCreateLabel("%", 232, 242, 10, 17)


$Label3 = GUICtrlCreateLabel("Loot:", 35, 272, 25, 17)
$lootKey = GUICtrlCreateInput($loot, 65, 270, 20, 21)


$Label3 = GUICtrlCreateLabel("Reg:", 36, 302, 22, 17)
$regKey = GUICtrlCreateInput($reg, 65, 300, 20, 21)
$Label3 = GUICtrlCreateLabel("HP:", 90, 302, 19, 15)
$Label3 = GUICtrlCreateLabel("MA:", 90, 330, 19, 15)
$regMin = GUICtrlCreateInput($reg_minLife, 110, 300, 20, 21)
$regMinMana = GUICtrlCreateInput($reg_minMana, 110, 327, 20, 21)
$Label3 = GUICtrlCreateLabel("%", 130, 302, 10, 17)
$Label3 = GUICtrlCreateLabel("%", 130, 330, 10, 17)



$Label6 = GUICtrlCreateLabel("Filename:", 40,360, 70, 17)
$wpFileInput = GUICtrlCreateInput("", 140, 377, 70, 20)
$Label6 = GUICtrlCreateLabel("Filename:", 150,360, 70, 17)


;x,y,breite,höhe
$LabelTot = GUICtrlCreateLabel("---", 15, 535, 200, 17)

$wpSaveInput = GUICtrlCreateInput("", 30, 377, 70, 20)
; status field
$status = GUICtrlCreateLabel("Start Bot-Engine... done!"&getCredits(), 5,460, 230, 40)
;buttons
$buttonSave = GuiCtrlCreateButton("Save", 30,430,70,20)
$buttonRun = GuiCtrlCreateButton("Run Bot", 140,430,70,20)
$buttonAddWayPoint = GuiCtrlCreateButton("Add WP", 30,400,70,20)
$buttonOpenWayPoint = GuiCtrlCreateButton("Open WP", 140,400,70,20)


$Label2 = GUICtrlCreateLabel("Timer:", 15, 510, 44, 17)
$sdtimerInput = GUICtrlCreateInput("0", 65, 508, 60, 21)


Func stop()
		Send("{w up}")
		$Run = False
		GUICtrlSetData ($buttonRun,"Start Bot")
	EndFunc


;#################################################
;interface functions
;#################################################
func readKeys()
	if FileExists($file1) Then

	$attack1 = FileReadLine($file1,"1")
	$attack2 = FileReadLine($file1,"2")
	$attack3 = FileReadLine($file1,"3")
	$attack4 = FileReadLine($file1,"14")

	$loot = FileReadLine($file1,"4")
	$reg = FileReadLine($file1,"5")
	$reg_minLife = FileReadLine($file1,"12")
	$reg_minMana = FileReadLine($file1,"13")

	$attack1c = FileReadLine($file1,"6")
	$attack2c = FileReadLine($file1,"7")
	$attack3c = FileReadLine($file1,"8")
	$attack4c = FileReadLine($file1,"15")

	$attack1Cd = FileReadLine($file1,"9")
	$attack2Cd = FileReadLine($file1,"10")
	$attack3Cd = FileReadLine($file1,"11")
	$attack4Cd = FileReadLine($file1,"16")

	if (FileReadLine($file1,"17") == 1) Then
		GUICtrlSetState($attack1_da,$GUI_CHECKED)
	EndIf
	if (FileReadLine($file1,"18") == 1) Then
		GUICtrlSetState($attack2_da,$GUI_CHECKED)
	EndIf
	if (FileReadLine($file1,"19") == 1) Then
		GUICtrlSetState($attack3_da,$GUI_CHECKED)
	EndIf
	if (FileReadLine($file1,"20") == 1) Then
		GUICtrlSetState($attack4_da,$GUI_CHECKED)
	EndIf
	if (FileReadLine($file1,"21") == 1) Then
		GUICtrlSetState($attack5_da,$GUI_CHECKED)
	EndIf
	if (FileReadLine($file1,"22") == 1) Then
		GUICtrlSetState($attack6_da,$GUI_CHECKED)
	EndIf

	$attack5 = FileReadLine($file1,"23")
	$attack5c = FileReadLine($file1,"24")
	$attack5Cd = FileReadLine($file1,"25")
	$attack6 = FileReadLine($file1,"26")
	$attack6c = FileReadLine($file1,"27")
	$attack6Cd = FileReadLine($file1,"28")
	$attack7 = FileReadLine($file1,"29")
	$attack7c = FileReadLine($file1,"30")
	$attack7Cd = FileReadLine($file1,"31")

	$attack8 = FileReadLine($file1,"32")
	$attack8c = FileReadLine($file1,"33")
	$attack8Cd = FileReadLine($file1,"34")
	$attack8hp = FileReadLine($file1,"35")

	GUICtrlSetData($status,"Save and Load new Values")
	EndIf
EndFunc



Func saveKeys()
	$readAttack1 = GuiCtrlRead($attack1Key)
	$readAttack2 = GuiCtrlRead($attack2Key)
	$readAttack3 = GuiCtrlRead($attack3Key)
	$readAttack4 = GuiCtrlRead($attack4Key)
	$readAttack5 = GuiCtrlRead($attack5Key)
	$readAttack6 = GuiCtrlRead($attack6Key)
	$readAttack7 = GuiCtrlRead($attack7Key)
	$readAttack8 = GuiCtrlRead($attack8Key)

	$readAttack1cast = GuiCtrlRead($attack1Cast)
	$readAttack2cast = GuiCtrlRead($attack2Cast)
	$readAttack3cast = GuiCtrlRead($attack3Cast)
	$readAttack4cast = GuiCtrlRead($attack4Cast)
	$readAttack5cast = GuiCtrlRead($attack5Cast)
	$readAttack6cast = GuiCtrlRead($attack6Cast)
	$readAttack7cast = GuiCtrlRead($attack7Cast)
	$readAttack8cast = GuiCtrlRead($attack8Cast)

	$readAttack1cd = GuiCtrlRead($attack1Cooldown)
	$readAttack2cd = GuiCtrlRead($attack2Cooldown)
	$readAttack3cd = GuiCtrlRead($attack3Cooldown)
	$readAttack4cd = GuiCtrlRead($attack4Cooldown)
	$readAttack5cd = GuiCtrlRead($attack5Cooldown)
	$readAttack6cd = GuiCtrlRead($attack6Cooldown)
	$readAttack7cd = GuiCtrlRead($attack7Cooldown)
	$readAttack8cd = GuiCtrlRead($attack8Cooldown)

	$readAttack1da = GuiCtrlRead($attack1_da)
	$readAttack2da = GuiCtrlRead($attack2_da)
	$readAttack3da = GuiCtrlRead($attack3_da)
	$readAttack4da = GuiCtrlRead($attack4_da)
	$readAttack5da = GuiCtrlRead($attack5_da)
	$readAttack6da = GuiCtrlRead($attack6_da)

	$readAttack8hp = GuiCtrlRead($attack8hitPoint)
	$reg_minLife = GuiCtrlRead($regMin)
	$reg_minMana = GuiCtrlRead($regMinMana)

	$readLoot = GuiCtrlRead($lootKey)
	$readReg = GuiCtrlRead($regKey)
	FileDelete("data.txt")
	FileWriteLine($file1,$readAttack1)		;1
	FileWriteLine($file1,$readAttack2)		;2
	FileWriteLine($file1,$readAttack3)		;3
	FileWriteLine($file1,$readLoot)			;4
	FileWriteLine($file1,$readReg)			;5
	FileWriteLine($file1,$readAttack1cast)	;6
	FileWriteLine($file1,$readAttack2cast)	;7
	FileWriteLine($file1,$readAttack3cast)	;8
	FileWriteLine($file1,$readAttack1cd)	;9
	FileWriteLine($file1,$readAttack2cd)	;10
	FileWriteLine($file1,$readAttack3cd)	;11
	FileWriteLine($file1,$reg_minLife)		;12
	FileWriteLine($file1,$reg_minMana)		;13
	FileWriteLine($file1,$readAttack4)		;14
	FileWriteLine($file1,$readAttack4cast)	;15
	FileWriteLine($file1,$readAttack4cd)	;16

	FileWriteLine($file1,$readAttack1da)	;17
	FileWriteLine($file1,$readAttack2da)	;18
	FileWriteLine($file1,$readAttack3da)	;19
	FileWriteLine($file1,$readAttack4da)	;20

	FileWriteLine($file1,$readAttack5da)	;21
	FileWriteLine($file1,$readAttack6da)	;22
	FileWriteLine($file1,$readAttack5)		;23
	FileWriteLine($file1,$readAttack5cast)	;24
	FileWriteLine($file1,$readAttack5cd)	;25
	FileWriteLine($file1,$readAttack6)		;26
	FileWriteLine($file1,$readAttack6cast)	;27
	FileWriteLine($file1,$readAttack6cd)	;28
	FileWriteLine($file1,$readAttack7)		;29
	FileWriteLine($file1,$readAttack7cast)	;30
	FileWriteLine($file1,$readAttack7cd)	;31
	FileWriteLine($file1,$readAttack8)		;32
	FileWriteLine($file1,$readAttack8cast)	;33
	FileWriteLine($file1,$readAttack8cd)	;34
	FileWriteLine($file1,$readAttack8hp)	;35
	readKeys()
EndFunc


Func _toolTip($msg)
	GUICtrlSetData($status,$msg)
EndFunc

;#################################################
;Memory Read/write functions
;#################################################


Func OpenAionMemory()
	$pid = ProcessExists("AION.bin")
	If $pid == -1 Then
		Return
	EndIf
	$openmem = _MemoryOpen($pid)
	If @error Then
		Return
	EndIf
	$AionRun = True
EndFunc


Func MemReadDLLEnemyHP($offset)
    $StaticOffset = Dec($offset)
    Global $pid
    Global $CUROffset[1]
    $CUROffset[0] = 0
    $baseADDR = _MemoryModuleGetBaseAddress($pid, "Game.dll")
    $finalADDR = "0x" & Hex($baseADDR + $StaticOffset)
    $MemTest = _MemoryRead($finaladdr,$openmem)
	$MemTest = _memoryread(   $MemTest+ 0x1C4,$openmem)
    $MemTest = _memoryread(   $MemTest + 0x0034, $openmem,"byte" )
    Return $MemTest
EndFunc

Func MemReadDLLEnemyLevel($offset)
    $StaticOffset = Dec($offset)
    Global $pid
    Global $CUROffset[1]
    $CUROffset[0] = 0
    $baseADDR = _MemoryModuleGetBaseAddress($pid, "Game.dll")
    $finalADDR = "0x" & Hex($baseADDR + $StaticOffset)
    $MemTest = _MemoryRead($finaladdr,$openmem)
	$MemTest = _memoryread(   $MemTest+ 0x1C4,$openmem)
    $MemTest = _memoryread(   $MemTest + 0x0032, $openmem,"byte" )
    Return $MemTest
EndFunc

Func MemReadTargetType($offset)
    $StaticOffset = Dec($offset)
    Global $pid
    Global $CUROffset[1]
    $CUROffset[0] = 0
    $baseADDR = _MemoryModuleGetBaseAddress($pid, "Game.dll")
    $finalADDR = "0x" & Hex($baseADDR + $StaticOffset)
    $MemTest = _MemoryRead($finaladdr,$openmem)
	$MemTest = _memoryread(   $MemTest+ 0x1C4,$openmem)
    $MemTest = _memoryread(   $MemTest + 0x0168, $openmem )
    Return $MemTest
EndFunc



Func MemReadDLL($offset)
    $StaticOffset = Dec($offset)
    Global $pid
    Global $CUROffset[1]
    $CUROffset[0] = 0
    $baseADDR = _MemoryModuleGetBaseAddress($pid, "Game.dll")
    $finalADDR = "0x" & Hex($baseADDR + $StaticOffset)
    $MemTest = _MemoryRead($finaladdr,$openmem)

    Return $MemTest
EndFunc

Func MemReadDLLFloat($offset)
	$StaticOffset = Dec($offset)
	Global $pid
	Global $CUROffset[1]
	$CUROffset[0] = 0
	$baseADDR = _MemoryModuleGetBaseAddress($pid, "Game.dll")
	$finalADDR = "0x" & Hex($baseADDR + $StaticOffset)
	$MemTest = _MemoryRead($finaladdr,$openmem,"float")
	Return $MemTest
EndFunc

Func MemWriteDLL($offset, $data)
	$StaticOffset = Dec($offset)
	Global $pid
	Global $CUROffset[1]
	$CUROffset[0] = 0
	$baseADDR = _MemoryModuleGetBaseAddress($pid, "Game.dll")
	$finalADDR = "0x" & Hex($baseADDR + $StaticOffset)

	_MemoryWrite($finalADDR,$openmem,$data,"float")
	Return
EndFunc

Func MemReadEntity($offset)
    $StaticOffset = Dec($offset)
    Global $pid
    Global $CUROffset[1]
    $CUROffset[0] = 0
    $baseADDR = _MemoryModuleGetBaseAddress($pid, "Game.dll")
    $finalADDR = "0x" & Hex($baseADDR + $StaticOffset)
    $MemTest = _memoryread($finaladdr,$openmem)
	$MemTest = _memoryread($MemTest+ 0x1C4,$openmem)
    Return $MemTest
EndFunc

Func MemReadTargetName($offset)
    $StaticOffset = Dec($offset)
    Global $pid
    Global $CUROffset[1]
    $CUROffset[0] = 0
    $baseADDR = _MemoryModuleGetBaseAddress($pid, "Game.dll")
    $finalADDR = "0x" & Hex($baseADDR + $StaticOffset)
    $MemTest = _memoryread($finaladdr,$openmem)
	$MemTest = _memoryread($MemTest+ 0x4 ,$openmem)
	;$MemTest = _memoryread(   $MemTest + 0x0036 , $openmem,"byte" )
    Return $MemTest
EndFunc





;********************************************************************************************************************
; the HP of the TargetEnemy


Func playerCurrectEP()
	return MemReadDLL($AddrPlayerCurEp)
EndFunc

Func PlayerMaxEP()
	return MemReadDLL($AddrPlayerMaxEp)
EndFunc

Func playerCurrectMana()
	return MemReadDLL($AddrPlayerCurMana)
EndFunc

Func PlayerMaxMana()
	return MemReadDLL($AddrPlayerMaxMana)
EndFunc

Func playerCurrectHp()
	return MemReadDLL($AddrPlayerCurHp)
EndFunc

Func playerCurrectHpPercent()
	$val = MemReadDLL($AddrPlayerCurHp)
	$Pval = ($val * 100) / PlayerMaxHp()
	return Round($Pval)
EndFunc

Func PlayerMaxHp()
	return MemReadDLL($AddrPlayerMaxHp)
EndFunc





Func PlayerXPos()
	return MemReadDLLFloat($AddrPlayerXPos)
EndFunc

Func PlayerYPos()
	return MemReadDLLFloat($AddrPlayerYPos)
EndFunc

Func PlayerZPos()
	return MemReadDLLFloat($AddrPlayerZPos)
EndFunc

; Angel of the Player 360° / 2 :)
Func GetPlayerPos()
	Return MemReadDLLFloat($AddrPlayerAoP)
EndFunc





Func CheckEnemyDead()
	return MemReadDLLEnemyHP($AddrEnemy)
	;Return 0
EndFunc

Func GetEnemyLvl()
	Return MemReadDLLEnemyLevel($AddrEnemy)
EndFunc

Func getEnityId()
	Return MemReadEntity($AddrEnemy)
EndFunc

Func getTargetOfTarget()
	Return MemReadTargetName($AddrEnemy)
EndFunc

Func getEnemyType()
	Return MemReadTargetType($AddrEnemy)
EndFunc



;*****************************************************************************************************


















Func ReadMemValues()
	$playerHP = playerCurrectHp()
	
	gUICtrlSetData( $LabelTot, $playerHP)
	
	$playerHPMax = PlayerMaxHp()

	$playerEP = playerCurrectEP()
	$playerEPMax = PlayerMaxEP()
	$playerEnergy = playerCurrectMana()
	$playerEnergyMax = PlayerMaxMana()
EndFunc

;#################################################
;fight functions
;#################################################

Func enemyInsgid()
	$enemyhp = CheckEnemyDead()
	if $enemyhp <> 0 And $enemyhp > 99 And getEnemyType() <> 0 then
		if GetEnemyLvl() < 5 Then
			return false
		EndIf
		return true
	EndIf
	return false
EndFunc

Func KillEnemy()

		$timeDiff = _TimeGetStamp()
		_toolTip("start attacking")
		
		if $attack4 <> "x" then
			F_buff()
		EndIf
		
		Sleep(100);
		
		while CheckEnemyDead() <> 0
			
			if ($Run = False) then 
				ExitLoop
			EndIf
			
			if playerCurrectHp() < 200 Then
				$Run = False
				GUICtrlSetData ($buttonRun,"Start Bot")
			endIf
					
			gUICtrlSetData($LabelTot, playerCurrectHp() & " / " & PlayerMaxHp())
			
			
			if $attack1 <> "x" then
				F_arttack1()
			EndIf
			if $attack2 <> "x" then
				F_arttack2()
			EndIf
			if $attack3 <> "x" then
				F_arttack3()
			EndIf
			if $attack5 <> "x" then
				F_arttack5()
			EndIf
			if $attack6 <> "x" then
				F_arttack6()
			EndIf
			
			
			
		WEnd
		_toolTip("Mob down")
		
		
		
		
		; add 1 to the kill counter :)
		$enemyKillCount = $enemyKillCount + 1
		GUICtrlSetData( $killCount, $enemyKillCount)
		Sleep(1800)
		; ep counter
		$newEp = playerCurrectEP() - $playerEP
		$playerEP = playerCurrectEP()
		$enemyEpCount = $enemyEpCount + $newEp
		GUICtrlSetData($epCount , $enemyEpCount)

		; loot

		_toolTip("start Looting")
		Send($loot)
		Sleep(600)
		Send($loot)
		calcTime($newEp)
		Sleep(3000)
		
		if $attack7 <> "x" then
			F_PostAttack()
		EndIf
		
		if ((playerCurrectHp()/$playerHPMax)*100) < $reg_minLife Or ((playerCurrectMana()/$playerEnergyMax)*100) < $reg_minMana Then
			_toolTip("start Reging")
			Send($reg)
			while PlayerMaxHp() <> playerCurrectHp()
				if(CheckEnemyDead() <> 0) Then
					ExitLoop
				EndIf
				Sleep(1000)
			WEnd
			while PlayerMaxMana() <> playerCurrectMana()
				if(CheckEnemyDead() <> 0) Then
					ExitLoop
				EndIf
				Sleep(1000)
			WEnd
			Send($reg)
		EndIf
		$jumper = _getRandomJumpTimer()
		return 1
EndFunc

Func checkShutDown()
	if($timeToShutdown > 0) Then
		$sddiff = $timeToShutdown - _TimeGetStamp()
		If $timeToShutdown < _TimeGetStamp() Then
			Send("{w up}")
			$Run = False
			GUICtrlSetData ($buttonRun,"Start Bot")
		Elseif($sddiff <> $timeCache) Then
			$timeCache = $sddiff
			GUICtrlSetData($timeToShutdownOutput ,SecToTime($sddiff))
		EndIf
	EndIf
EndFunc

Func setShutDownTimer()
	if GuiCtrlRead($sdtimerInput) > 0 And GuiCtrlRead($sdtimerInput) <> "" Then
		$timeToShutdown = _TimeGetStamp() + (GuiCtrlRead($sdtimerInput) * 60)
	Else
		$timeToShutdown = 0
		GUICtrlSetData($timeToShutdownOutput ,"-----")
		$Run = false
	EndIf
EndFunc


;################################################
; Action functions
;################################################

Func F_arttack1()
	F_EmCast()
	if(($attack1LastCast + $attack1Cd) < _TimeGetStamp() and CheckEnemyDead() <> 0) Then
		_toolTip("start attack Nr1")
		Send($attack1)
		Sleep($attack1c)
		$attack1LastCast = _TimeGetStamp()
		if(GuiCtrlRead($attack1_da) == 1 And CheckEnemyDead() <> 0) Then
			Send($attack1)
			Sleep(2000)
		EndIf
	EndIf
EndFunc

Func F_arttack2()
	F_EmCast()
	if(($attack2LastCast + $attack2Cd) < _TimeGetStamp() and CheckEnemyDead() <> 0) Then
		_toolTip("start attack Nr2")
		Send($attack2)
		Sleep($attack2c)
		$attack2LastCast = _TimeGetStamp()
		if(GuiCtrlRead($attack2_da) == 1 And CheckEnemyDead() <> 0) Then
			Send($attack2)
			Sleep(2000)
		EndIf
	EndIf
EndFunc

Func F_arttack3()
	F_EmCast()
	if(($attack3LastCast + $attack3Cd) < _TimeGetStamp() and CheckEnemyDead() <> 0) Then
		_toolTip("start attack Nr3")
		Send($attack3)
		Sleep($attack3c)
		$attack3LastCast = _TimeGetStamp()
		if(GuiCtrlRead($attack3_da) == 1 And CheckEnemyDead() <> 0) Then
			Send($attack3)
			Sleep(2000)
		EndIf
	EndIf
EndFunc

Func F_arttack5()
	F_EmCast()
	if(($attack5LastCast + $attack5Cd) < _TimeGetStamp() and CheckEnemyDead() <> 0) Then
		_toolTip("start attack Nr4")
		Send($attack5)
		Sleep($attack5c)
		$attack5LastCast = _TimeGetStamp()
		if(GuiCtrlRead($attack5_da) == 1 And CheckEnemyDead() <> 0) Then
			Send($attack5)
			Sleep(2000)
		EndIf
	EndIf
EndFunc

Func F_arttack6()
	F_EmCast()
	if(($attack6LastCast + $attack6Cd) < _TimeGetStamp() and CheckEnemyDead() <> 0) Then
		_toolTip("start attack Nr5")
		Send($attack6)
		Sleep($attack6c)
		$attack5LastCast = _TimeGetStamp()
		if(GuiCtrlRead($attack6_da) == 1 And CheckEnemyDead() <> 0) Then
			Send($attack6)
			Sleep(2000)
		EndIf
	EndIf
EndFunc

Func F_buff()
	if(($attack4LastCast + $attack4Cd) < _TimeGetStamp()) Then
		_toolTip("starting PreCast")
		Send($attack4)
		Sleep($attack4c)
		$attack4LastCast = _TimeGetStamp()
		if(GuiCtrlRead($attack4_da) == 1) Then
			Send($attack4)
			Sleep(2000)
		EndIf
	EndIf
EndFunc

Func F_PostAttack()
	if(($attack7LastCast + $attack7Cd) < _TimeGetStamp()) Then
		_toolTip("starting PostCast")
		Send($attack7)
		Sleep($attack7c)
		$attack7LastCast = _TimeGetStamp()
	EndIf
EndFunc

Func F_EmCast()
	if ($attack8 <> "x") then
		if(($attack8LastCast + $attack8Cd) < _TimeGetStamp() and playerCurrectHpPercent() <= $attack8hp) Then
			_toolTip("starting Emergency Cast")
			Send($attack8)
			Sleep($attack8c)
			$attack8LastCast = _TimeGetStamp()
		EndIf
	EndIf
EndFunc


;#################################################
;waypoint functions
;#################################################

Func _keyboardToWpInterface()
	OpenAionMemory()
	addWP()
EndFunc

Func addWP()

	$playerX = PlayerXPos()
	$playerY = PlayerYPos()
	$playerZ = PlayerZPos()

	$WPFile = "wp"

	$openFile = GuiCtrlRead($wpSaveInput)
	$wpSave = FileOpen($openFile, 1)

	FileWriteLine($wpSave ,Round($playerX,2))
	FileWriteLine($wpSave ,Round($playerY,2))
	FileWriteLine($wpSave ,Round($playerZ,2))
	FileClose($wpSave)
	_toolTip("WayPoint: "&Round($playerX,0)&" - "&Round($playerY,0)&" - "&Round($playerZ,0)&" added")
EndFunc

Func readWP()
	$countMax=0
	$count = 1
	$openFile = GuiCtrlRead($wpFileInput)
	$readWPfile = FileOpen($openFile, 0)

	While 1
		$x1 = FileReadLine($readWPfile,$count)

		if $x1 = "" Then
			$count = 1
			ExitLoop
		EndIf

		If @error = -1 Then	ExitLoop
		$count = $count +1
		$countMax = $countMax +1
		$x2 = FileReadLine($readWPfile,$count)
		$count = $count +1
		$countMax = $countMax +1
		$x3 = FileReadLine($readWPfile,$count)
		$count = $count +1
		$countMax = $countMax +1


	Wend
	FileClose($readWPfile)


	$openFile = GuiCtrlRead($wpFileInput)
	$readWPfile = FileOpen($openFile, 0)

	While 1

		$x1 = FileReadLine($readWPfile,$count)

		if $x1 = "" Then

			$count = 1
			ExitLoop
		EndIf

		If @error = -1 Then	ExitLoop

		$wpField[$count-1] = $x1

		$count = $count +1

		$x2 = FileReadLine($readWPfile,$count)
		$wpField[$count-1] = $x2

		$count = $count +1

		$x3 = FileReadLine($readWPfile,$count)
		$wpField[$count-1] = $x3

		$count = $count +1




	Wend
	_toolTip("Waypoints loaded ... "&$countMax/3&" found" )
	FileClose($readWPfile)

EndFunc

Func getCredits()
	return @LF&""&@LF &"developed by: Plany, Unknown"
EndFunc

Func calcTime($nep)
	$ntime = _TimeGetStamp() - $timeDiff
	$tmpMep = PlayerMaxEP()
	$tmpCep = playerCurrectEP()
	$timeToLevelUp =(($tmpMep - $tmpCep) / $nep ) * $ntime
	$newTime = Round(($timeToLevelUp/60)/60,2)
	if($lastTime <> 0) Then
		if($newTime > $lastTime) Then
			$difftime = $newTime - $lastTime
			$avgTime = $difftime + $lastTime
		Elseif($lastTime > $newTime) Then
			$difftime = $lastTime - $newTime
			$avgTime = $difftime + $newTime
		EndIf
		$lastTime = $newTime
	Else
		$lastTime = $newTime
		$avgTime = $newTime;
	EndIf
	GUICtrlSetData($TimeCount, timeToHuman($avgTime))
EndFunc

;#################################################
;navigate functions
;#################################################


Func calcDist($xa,$ya)
	$distCalc = sqrt( ($xa-PlayerXPos())^2 + ($ya-PlayerYPos())^2 )
	if($distCalc > 15) Then
		_jumpPlayer()
	EndIf
	return $distCalc
EndFunc

Func _getRandomJumpTimer()
	return _TimeGetStamp() + Random(0,6,1)
EndFunc

Func _jumpPlayer()
	if($jumper < _TimeGetStamp()) Then
		if( $jumper <> 0) Then
			Send("{SPACE down}")
			Sleep(80)
			Send("{SPACE up}")
		EndIf
		$jumper = _getRandomJumpTimer()
	EndIf
EndFunc

Func _switchRotate($target, $now)
	if($target < $now) Then
		If(($now - $target) > 180) Then
			$rot_down = "a down"
			$rot_up = "a up"
		Else
			$rot_down = "d down"
			$rot_up = "d up"
		EndIf
	Else
		If(($target - $now) > 180) Then
			$rot_down = "d down"
			$rot_up = "d up"
		Else
			$rot_down = "a down"
			$rot_up = "a up"
		EndIf
	EndIf
EndFunc

; rechnet 90 zu 360 hoch
Func getAngle($diffX, $diffY)
	$angle = ATan($diffY/$diffX)
	$angle = ($angle * 180.0 )/ $pi
	if $diffX > 0 and $diffY > 0 Then
		return getThreeSixty((180 -$angle),true)
	ElseIf $diffX > 0 and $diffY < 0 Then
		return getThreeSixty((-180 -$angle),true)
	ElseIf $diffX < 0 and $diffY < 0 Then
		return getThreeSixty((0 -$angle),true)
	ElseIf $diffX < 0 and $diffY > 0 Then
		return getThreeSixty((0 -$angle),true)
	EndIf
EndFunc

; Flag = true  - rechne 180 auf 360 hoch
;Flag = false - calc 360er rotate!
Func getThreeSixty($angle, $flag = false)
	If($flag) Then
		If($angle < 0) Then
			$angle = (360 - ($angle * -1))
		EndIf
	Else
		If($angle > 360)Then
			$angle = $angle - 360
		ElseIf($angle < 0)Then
			$angle = $angle + 360
		EndIf
	EndIf
	Return $angle
EndFunc

Func alignRotaion($x, $y, $move = false)
	$playerXcoord = PlayerXPos()
	$playerYcoord = PlayerYPos()
		;$playerZcoord = PlayerZPos()
	$diffY = Round($y - $playerYcoord,2)
	$diffX = Round($x - $playerXcoord,2)
	$angle = getAngle($diffX, $diffY)
	$nowAng = getThreeSixty(GetPlayerPos(), true)
	_switchRotate($angle, $nowAng)
	While ($angle + 5) < $nowAng OR ($angle - 5) > $nowAng
		if $move Then
			Send("{w down}")
		EndIf
		Send("{"&$rot_down&"}")
		$nowAng = getThreeSixty(GetPlayerPos(), true)
	WEnd
	if $move Then
		if(($angle + 5) < $nowAng AND ($angle - 5) > $nowAng) Then
			Send("{w up}")
		EndIf
	EndIf
	Send("{"&$rot_up&"}")
EndFunc

Func walkPoints()
	while $i < ($countMax-1)
		checkShutDown()
		WinActivate("AION Client")
		WinWaitActive("AION Client")
		_toolTip("Move to waypoint "&($i/3)+1)
		$xCoord=$wpField[$i]
		$yCoord=$wpField[$i+1]
		$zCoord=$wpField[$i+2]
		$i=$i+3

		$Distance = calcDist($xCoord,$yCoord)
		while ($Distance > 3)
			alignRotaion($xCoord, $yCoord, true)
			Send("{Tab}")
			if(enemyInsgid()) Then
				Send("{w up}")
				KillEnemy()
				_toolTip("Move to waypoint "&($i/3)+1)
			EndIf
			$Distance = calcDist($xCoord,$yCoord)
			Send("{w down}")
			If $Run = False Then
				Send("{w up}")
				ExitLoop
			EndIf
		WEnd
		If $Run = False Then
			Send("{w up}")
			ExitLoop
		EndIf
		$jumper = _getRandomJumpTimer()
	WEnd
	$i=0
EndFunc

;#################################################
; unix Timestamp / useable Function
;#################################################

Func timeToHuman($time)
	$st = Round($time,0)
	$mi = (Round($time,2) - $st)* 100
	if($mi < 0) Then
		$mi = $mi * -1
	EndIf
	return $st&"H "&Round($mi)&"M"
EndFunc

Func SecToTime($sec)
	$min = $sec / 60
	$hour = $min / 60
	if(Round($min) >= 60)Then
		return Round($hour)&" H"
	ElseIf($sec >= 60) Then
		return Round($min)&" M"
	Else
		return Round($sec)&" S"
	EndIf
EndFunc

Func _TimeGetStamp()
	Local $av_Time
	$av_Time = DllCall('CrtDll.dll', 'long:cdecl', 'time', 'ptr', 0)
	If @error Then
		SetError(99)
		Return False
	EndIf
	Return $av_Time[0]
EndFunc


Func _DecimalToHex($hx_dec, $hx_length = 6)

    If IsInt($hx_dec) = 0 Then
        SetError(1)
        MsgBox(0,"Error","Wrong input, try again ...")
        Return ""
    EndIf
    Local $ret = "", $Ii, $hx_tmp, $hx_max
    If $hx_dec < 4294967296 Then
        If $hx_length < 9 Then Return Hex($hx_dec, $hx_length)
        If $hx_length = 21 Then
            $ret = Hex($hx_dec)
            While StringLeft($ret, 1) = "0"
                $ret = StringMid($ret, 2)
            WEnd
            Return $ret
        EndIf
    EndIf
    For $Ii = $hx_length - 1 To 0 Step -1
        $hx_max = 16 ^ $Ii - 1
        If $ret = "" And $hx_length = 21 And $hx_max > $hx_dec Then ContinueLoop
        $hx_tmp = Int($hx_dec/($hx_max+1))
        If $ret = "" And $hx_length = 21 And $Ii > 0 And $hx_tmp = 0 Then ContinueLoop
        ;$ret &= StringMid($HX_REF, $hx_tmp+1, 1)
        $hx_dec -= $hx_tmp * ($hx_max + 1)
    Next
    $ret=String($ret)
    If $hx_length < 21 And StringLen($ret) < $hx_length Then SetError(1)
    Return $ret
EndFunc  ;==>_DecToHex()



;#################################################
;gui loop
;#################################################


While 1
	$msg = GUIGetMsg()
	Switch $msg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $buttonSave
			saveKeys()
		Case $buttonAddWayPoint
			OpenAionMemory()
			addWP()
		Case $buttonOpenWayPoint
			readWP()
		Case $buttonRun
			GUICtrlSetData ($buttonRun,"Bot running")
			setShutDownTimer()
			OpenAionMemory()
			ReadMemValues()
			$Run = True
			while $Run = True
				checkShutDown()
				walkPoints()
			WEnd
	EndSwitch
WEnd


Fritz205 is offline  
Thanks
1 User
Old   #843
 
elite*gold: 0
Join Date: Jun 2009
Posts: 4
Received Thanks: 0
mhhh

den hab ich glaub auch ürgentwo rum flaggen aber die haben seit update die kordinaten weg gelöshd dadurch allso kein bot

und jetzt meine frage wie mach ich das das er trotzdem rum rent oder wan es ein neuen gibt thx
wartze is offline  
Old   #844
 
elite*gold: 0
Join Date: Oct 2009
Posts: 4
Received Thanks: 2
Quote:
Originally Posted by wartze View Post
den hab ich glaub auch ürgentwo rum flaggen aber die haben seit update die kordinaten weg gelöshd dadurch allso kein bot

und jetzt meine frage wie mach ich das das er trotzdem rum rent oder wan es ein neuen gibt thx


Hab doch oben den Quellcode gepostet, lade runter und compilier den Code, dann hast die neue Exe.


Fritz205 is offline  
Old   #845
 
elite*gold: 0
Join Date: Oct 2009
Posts: 295
Received Thanks: 103
MiniMax3

Updated: Works with the new Patch...

F7 to kill the bot and get back control
F5 to kill mob first

New: Blacklist Button for 1 mob

Tell me if you dont like the break and check for mobs
at each waypoint...

You must register and activate your account in order to view images.
Attached Files
File Type: rar MiniMax3.0.rar (311.4 KB, 89 views)
chefes78 is offline  
Old   #846
 
elite*gold: 0
Join Date: Oct 2009
Posts: 295
Received Thanks: 103
MiniMax4

Someone please test if the MouseClicks hit the OK button
to release your corps once dead... works fine on my resolution


New:

- Added Ghost Waypoint feature...

if you start with the GPs first fill out the input fields for WP FileNames...
this way you will get a GP Backupfiles with the name of the camp

The GP file is the active Ghost Waypoints you last used...

if you switch Camp go to the bot folder and delete the current
GP file first ... then make a copy of your GP Backupfile and name
it GP

If you die and dont have a File called GP in the bot folder the
programm will exit after releasing corps... else you will walk
back to camp and start hunting again (with agro detection
on the way etc... )

Clicking Add GP Button adds the new GP to the File and
creats the Backupfile

Delete GP Button only wipes the GP file... not your Backupfiles

- Walk back to Camp feature
If you have a GP file in your bot folder and hit the Walk to Camp
button the bot will bring you save to camp and once there
you will begin hunting on your last used WP route


- While running from WP to WP

You will only attack stuff that is in Max Range (Best is you set your
max range to your pulling range... meles should work with a pull spell as
precast )

- Most Bugs removed (tell me if you find one !! )
Tested with Sorc. on Max range settings


-To Do:
Code cleanup ...


Pic:
You must register and activate your account in order to view images.
Attached Files
File Type: rar MiniMax4.rar (314.6 KB, 78 views)
chefes78 is offline  
Old   #847
 
elite*gold: 0
Join Date: Oct 2009
Posts: 295
Received Thanks: 103
as its a pain to record the the GP Waypoints we can share them...


just create a new .txt file with the Numbers and save it as GP
(without the .txt at the end... )

Here im sharing the path to the Pond with the Sanga Ribbits in
Gribade Canyon... lvl 15-20 camp ..

Code:
715.72
1810.1
262.85
721.61
1823.77
261.74
725.77
1839.21
260.55
722.94
1852.7
259.43
709.23
1880.68
260.26
696.52
1883.53
259.63
664.57
1863.2
251.25
629.85
1886.22
250.88
612.22
1912.36
252.92
615.43
1938.37
260.1
626.81
1968.26
266.39
633.15
1984.21
267.28
615.22
2004.09
269.5
591.69
2007.22
267.68
534.78
1990.27
265.63
514.82
2013.6
271.07
504.26
2044.27
280.83
504.46
2067.5
286.85
523.7
2088.27
296.73
539.21
2091.7
296.41
565.31
2099.23
298.68
588.59
2116.68
302.44
609.54
2140.13
305.19
597.88
2160.69
305.25
570.85
2190.69
305.69
546.62
2216.28
306.58
523.83
2247.1
311.88
500.99
2253.48
315.46
444.96
2261.15
314.5

Stuff im doing atm:
- Pimping the Blacklist function... make it persistent for several mobs

- Tuning the recover at GP function (needs to wait longer till weaknes wears off)

- soon you dont need to open GP/WPs anymore... it will pick the closest GP/WP point
and continue from there (no need to be at starting point anymore )

Peace Chefes78
chefes78 is offline  
Old   #848
 
elite*gold: 0
Join Date: Apr 2009
Posts: 3
Received Thanks: 0
bot funktioniert gut. als assa richtige einstellungen zu machen is schwierig könnte mir jemand da mal helfen thx schonmal

greetz
wayne5345 is offline  
Old   #849
 
elite*gold: 0
Join Date: Oct 2009
Posts: 295
Received Thanks: 103
Quote:
Originally Posted by wayne5345 View Post
bot funktioniert gut. als assa richtige einstellungen zu machen is schwierig könnte mir jemand da mal helfen thx schonmal

greetz
kannst mir ein bild posten vom bot mit deinen einstellungen?

dazu muss ich wissen wie die timer von deinen Abilities sind
und ob du ranged hast?

sorry ich hab nie als assa gespielt :S

Sneak a peak at the new version comming soon...

You must register and activate your account in order to view images.
chefes78 is offline  
Old   #850
 
elite*gold: 0
Join Date: Apr 2009
Posts: 3
Received Thanks: 0
joa hier haste mal meine einstellungen

wayne5345 is offline  
Old   #851
 
elite*gold: 0
Join Date: Oct 2009
Posts: 295
Received Thanks: 103
Quote:
Originally Posted by wayne5345 View Post
joa hier haste mal meine einstellungen

erstmals sorry das ich erst heute antworte... war recht busy (siehe pic ;D )

ok Big Mistak !! daher in English und Deutsch:

-Do not use casttime 0 ...
input like 800ms for Instant cast abilities

-Verwende niemals casttime 0 ...
Für Zauber/Fähigkeiten mit sofortiger wirkung nehmt 800ms als Casttime




beta preview:

- wp list is working... today i finish Keyset save list ;D

- no need to open wp before start anymore

- Todo > Multimob Blacklist & better antistuck

- As its really hard to set timers i will make a function to convert real ingame timers (casttime and cooldown ) to the optimal values for the bot... big work here -.- prolly not in next version yet...

... then i will bring the next release ;D ...

You must register and activate your account in order to view images.
chefes78 is offline  
Old   #852
 
elite*gold: 0
Join Date: Oct 2009
Posts: 295
Received Thanks: 103
Quote:
Originally Posted by wayne5345 View Post
joa hier haste mal meine einstellungen

dein Precast ist auf 1 gemappt...

ist es ein buff oder ranged pull ?

falls es ranged pull ist gib bei casttime
die zeit ein die der mob ca braucht
bis er bei dir ist... so 2-3 sec...
je nach mob halt ;D ...

Casttime ist die Zeit die der bot wartet bis er
die nächste Attacke ausführt..

der spell ist dan schon lange fertig aber er wartet
noch bis er die erste ability macht...

Min distance is dein Reichweite für den Dagger/Schwert etc... Min Dist. ev. auch
auf 3 Meter runter schrauben..

Max distance ist deine Reichweite.. der bot
greift nur Sachen an die in Reichweite sind
(auf dem direkten weg von WP zu WP)

Falls du Precast als Pulling Fähigkeit einsetzt
dann Setze Max Dist. auf die Reichweite dieser
Fähigkeit...

DA tick = Tripple Attack...
Hier werde ich noch ein bischen rumschrauben... falls DA ticked ist
castet er den Angriff und wartet die Casttime ab .. dann spammt
er alle ( Casttime / 4 ) ms den Angriff ( ca 8 mal... für die Combo ) .. .
mit dem timer spielen bis es optimal passt...


Man ich brauch Google Translate: Autoit Code >> Deutsch ;D
chefes78 is offline  
Old   #853
 
elite*gold: 0
Join Date: Jan 2008
Posts: 154
Received Thanks: 7
arbeitet der botcoder noch an diesem bot?

ich nehme mal an ja?

wär es vieleicht möglich ihn mal zu fragen, ob er sone art unstuck mechanismus einbauen kann? wie in dem anderen autoaion bot da... wo der bot dann nachdem er das mob nicht erreichen kann stück zureckt geht und dann nen guten bogen macht um das problematische objekt?

das wäre echt ne coole sache für diesen bot, da mein char ständig an sonem baum hängt wohinter ein mob spawnt... und der bot stuckt da solange bis er ein aggromob zieht, welches ihn dann von hinten erschlägt und er wehrt sich nicht...

is halt schade weil man so nie afk gehen kann... und das würde ich gern.
so läuft der bot vieleicht für ne gute stunde ganz gut und dann kommt der baum und stuck ^^ - und wenns nicht der baum wäre, wärs ein anderer baum ^^

also wär cool wenn man sone automatische unstuck funktion hier hätte, da ich diesen bot hier favoriesiere - weil er ordentlich die skills durchhaut und auch sonst recht gut laufen könnte, wenn er nicht ab und zu stucken würde.

ansonsten wär cool wenn er die agros zuerst killt oderso - aber naja man kann ja nich alles haben ^^

also mit unstuck fähigkeit wärs echt super der botto
theroller is offline  
Old   #854
 
elite*gold: 0
Join Date: Oct 2009
Posts: 295
Received Thanks: 103
MiniMax4

You must register and activate your account in order to view images.
Attached Files
File Type: zip MiniMax4 RC.zip (477.6 KB, 44 views)
chefes78 is offline  
Old   #855
 
elite*gold: 0
Join Date: Oct 2009
Posts: 295
Received Thanks: 103
> was running 24hours till i got kicked from server... i was not banned ;D

> 1600 kills in a row without flaws ...

> New combolist box needs to be tested... should work


chefes78 is offline  
Reply



« Previous Thread | Next Thread »



All times are GMT +2. The time now is 17:13.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy
Copyright ©2017 elitepvpers All Rights Reserved.