Register for your free account! | Forgot your password?

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

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

 

Aion AutoIt Bot Beta [Open Source]

Reply
 
Old   #541
 
elite*gold: 0
Join Date: Oct 2009
Posts: 295
Received Thanks: 103
this build includes the agro while resting fix ...

Code:
#AutoIT3Wrapper_UseUpx=n
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_outfile=AutoAion_beta_010.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.10.2 ", 270,600, -1, -1, -1, $WS_EX_TOPMOST)                          	;;;: Quickfix Nr. 3  - Added by Chefes78 - 28.10.2009 (Makes the Gui top most window (without focus ... ) ... like this you can see what the bot is doing (Tooltips... )
GUICtrlCreatePic("logo.jpg", 0, 536, 270, 74)
GUISetBkColor(0xffffff)
GUISetState(@SW_SHOW)
GuiCtrlSetState(-1,$GUI_DISABLE)


HotKeySet("{F5}","stop")
HotKeySet("{NUMPADADD}","_keyboardToWpInterface")
Global $configFile = "AA.conf"
Global $Run = False
Global $enemyKillCount = 07
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

Global $combatStartTimer = 0
Global $combatAnimaLibera = 0
Global $goodCombat = 0
Global $combatFlag = 0
Global $lastBlackListEnemy = 0


; THE FUTURE!
Global $confVar1
Global $confVar2
Global $confVar3
Global $confVar4
Global $confVar5
Global $confVar6
Global $confVar7
Global $confVar8
Global $confVar9
Global $confVar10
Global $confVar11
Global $confVar12
Global $confVar13
Global $confVar14
Global $confVar15
Global $confVar16
Global $confVar17
Global $confVar18
Global $confVar19
Global $confVar20
Global $confVar21
Global $confVar22
Global $confVar23
Global $confVar24
Global $confVar25
Global $confVar26
Global $confVar27
Global $confVar28
Global $confVar29
Global $confVar30
Global $confVar31
Global $confVar32
Global $confVar33
Global $confVar34
Global $confVar35
Global $confVar36
Global $confVar37
Global $confVar38
Global $confVar39
Global $confVar40
Global $confVar41

$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)
$wpSaveInput = GUICtrlCreateInput("", 30, 377, 70, 20)
; status field
$status = GUICtrlCreateLabel("Start Bot-Engine... done!"&getCredits(), 5,460, 230, 60)
;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:", 200, 495, 44, 17)
$sdtimerInput = GUICtrlCreateInput("0", 200, 510, 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

; THE FUTURE!
Func loadConfig()
	$confVar1 = FileReadLine($configFile,"1")
	$confVar2 = FileReadLine($configFile,"2")
	$confVar3 = FileReadLine($configFile,"3")
	$confVar4 = FileReadLine($configFile,"4")
	$confVar5 = FileReadLine($configFile,"5")
	$confVar6 = FileReadLine($configFile,"6")
	$confVar7 = FileReadLine($configFile,"7")
	$confVar8 = FileReadLine($configFile,"8")
	$confVar9 = FileReadLine($configFile,"9")
	$confVar10 = FileReadLine($configFile,"10")
	$confVar11 = FileReadLine($configFile,"11")
	$confVar12 = FileReadLine($configFile,"12")
	$confVar13 = FileReadLine($configFile,"13")
	$confVar14 = FileReadLine($configFile,"14")
	$confVar15 = FileReadLine($configFile,"15")
	$confVar16 = FileReadLine($configFile,"16")
	$confVar17 = FileReadLine($configFile,"17")
	$confVar18 = FileReadLine($configFile,"18")
	$confVar19 = FileReadLine($configFile,"19")
	$confVar20 = FileReadLine($configFile,"20")
	$confVar21 = FileReadLine($configFile,"21")
	$confVar22 = FileReadLine($configFile,"22")
	$confVar23 = FileReadLine($configFile,"23")
	$confVar24 = FileReadLine($configFile,"24")
	$confVar25 = FileReadLine($configFile,"25")
	$confVar26 = FileReadLine($configFile,"26")
	$confVar27 = FileReadLine($configFile,"27")
	$confVar28 = FileReadLine($configFile,"28")
	$confVar29 = FileReadLine($configFile,"29")
	$confVar30 = FileReadLine($configFile,"30")
	$confVar31 = FileReadLine($configFile,"31")
	$confVar32 = FileReadLine($configFile,"32")
	$confVar33 = FileReadLine($configFile,"33")
	$confVar34 = FileReadLine($configFile,"34")
	$confVar35 = FileReadLine($configFile,"35")
	$confVar36 = FileReadLine($configFile,"36")
	$confVar37 = FileReadLine($configFile,"37")
	$confVar38 = FileReadLine($configFile,"38")
	$confVar39 = FileReadLine($configFile,"39")
	$confVar40 = FileReadLine($configFile,"40")
	$confVar41 = FileReadLine($configFile,"41")
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 = "4F68FC")
    $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 CheckEnemyDead()
	return MemReadDLLEnemyHP("4F68FC")
	;Return 0
EndFunc

Func playerCurrectEP()
	return MemReadDLL("8EEEA8")
EndFunc

Func PlayerMaxEP()
	return MemReadDLL("8EEE98")
EndFunc

Func playerCurrectMana()
	return MemReadDLL("8EEEC0")
EndFunc

Func PlayerMaxMana()
	return MemReadDLL("8EEEBC")
EndFunc

Func playerCurrectHp()
	return MemReadDLL("8EEEB8")
EndFunc

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

Func PlayerMaxHp()
	return MemReadDLL("8EEEB4")
EndFunc

Func PlayerXPos()
	return MemReadDLLFloat("8E6944")
EndFunc

Func PlayerYPos()
	return MemReadDLLFloat("8E6940")
EndFunc

Func PlayerZPos()
	return MemReadDLLFloat("8E6948")
EndFunc

; Angel of the Player 360° / 2 :)
Func GetPlayerPos()
	Return MemReadDLLFloat("8E40C0")
EndFunc

Func GetEnemyLvl()
	Return MemReadDLLEnemyLevel("4F68FC")
EndFunc

Func getEnityId()
	Return MemReadEntity("4F68FC")
EndFunc

Func getTargetOfTarget()
	Return MemReadTargetName()
EndFunc

Func getEnemyType()
	Return MemReadTargetType("4F68FC")
EndFunc

Func ReadMemValues()
	$playerHP = playerCurrectHp()
	$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() = 1 Then
			return false
		EndIf
		return true
	EndIf
	return false
EndFunc

Func KillEnemy()

		$combatStartTimer = _TimeGetStamp() + 10
		$combatAnimaLibera = 0
		$goodCombat = 0
		$combatFlag = 0
		$timeDiff = _TimeGetStamp()
		_toolTip("start attacking")
		if $attack4 <> "x" then
			F_buff()
		EndIf
		Sleep(100);
		while CheckEnemyDead() <> 0
			if $attack1 <> "x" then
				if($combatFlag == 2) Then
					return false
				EndIf
				F_arttack1()
				validateAttack()
			EndIf
			if $attack2 <> "x" then
				if($combatFlag == 2) Then
					return false
				EndIf
				F_arttack2()
				validateAttack()
			EndIf
			if $attack3 <> "x" then
				if($combatFlag == 2) Then
					return false
				EndIf
				F_arttack3()
				validateAttack()
			EndIf
			if $attack5 <> "x" then
				if($combatFlag == 2) Then
					return false
				EndIf
				F_arttack5()
				validateAttack()
			EndIf
			if $attack6 <> "x" then
				if($combatFlag == 2) Then
					return false
				EndIf
				F_arttack6()
				validateAttack()
			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(400)
		Send($loot)
		calcTime($newEp)
		Sleep(4000)

		if(enemyInsgid() ) Then
			F_EmCast()																			;;;: Quickfix Nr. 3  - Added by Chefes78 28.10.2009
			KillEnemy()																			;;;: Quickfix Nr. 3  - Added by Chefes78 28.10.2009
																								;;;: Quickfix Nr. 3  - Added by Chefes78 28.10.2009
		Else

		if $attack7 <> "x" then
			F_PostAttack()
		EndIf
		EndIf																					;;;: Quickfix Nr. 3  - Added by Chefes78 28.10.2009

		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
				if(enemyInsgid() ) Then															;;;: Quickfix Nr. 3  - Added by Chefes78 28.10.2009
				KillEnemy()																		;;;: Quickfix Nr. 3  - Added by Chefes78 28.10.2009
				EndIf																			;;;: Quickfix Nr. 3  - Added by Chefes78 28.10.2009
				Sleep(1000)																		
				

			WEnd
			while PlayerMaxMana() <> playerCurrectMana()
				if(CheckEnemyDead() <> 0) Then
					ExitLoop
				EndIf
				if(enemyInsgid() ) Then															;;;: Quickfix Nr. 3  - Added by Chefes78 28.10.2009
				KillEnemy()																		;;;: Quickfix Nr. 3  - Added by Chefes78 28.10.2009
				EndIf																			;;;: Quickfix Nr. 3  - Added by Chefes78 28.10.2009
				Sleep(1000)
			WEnd
			Send("{w down}")
			Sleep(100)
			Send("{w up}")
		EndIf
		$jumper = _getRandomJumpTimer()
		return 1
EndFunc

Func validateAttack()
	if($goodCombat < 1) Then
		if($combatStartTimer < _TimeGetStamp() ) Then
			if(CheckEnemyDead() < 100) Then
				$goodCombat = 1
				$combatFlag = 1
			Elseif($combatAnimaLibera < 2) Then
				if(CheckEnemyDead() < 100) Then
					$goodCombat = 1
					$combatFlag = 1
					return True
				EndIf
				combatFreeMind()
				$combatAnimaLibera = $combatAnimaLibera + 1
			Else
				$combatFlag = 2
				$lastBlackListEnemy = getEnityId()
			EndIf
		EndIf
	EndIf
EndFunc

Func combatFreeMind()
	Send("{s down}")
	Sleep(1000)
	Send("{s up}")
	if($combatAnimaLibera > 0) Then
		Send("{e down}")
		Sleep(1500)
		Send("{e up}")
	Else
		Send("{q down}")
		Sleep(1500)
		Send("{q up}")
	EndIf
	$combatStartTimer = _TimeGetStamp() + 10
EndFunc

Func checkBlackList()
	If getEnityId() == $lastBlackListEnemy And $lastBlackListEnemy <> 0 Then
		Return False
	Else
		Return True
	EndIf
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()
;~ 	sleep(250)																				;;;: Failed Quickfix Nr. 2  - Added by Chefes78 - 28.10.2009 (not triggered if postattack is "x" out ... moving it to end of loot function )
;~ 	if(enemyInsgid() ) Then																	;;;: Failed Quickfix Nr. 2  - Added by Chefes78 - 28.10.2009 (not triggered if postattack is "x" out ... moving it to end of loot function )
;~ 		KillEnemy()																			;;;: Failed Quickfix Nr. 2  - Added by Chefes78 - 28.10.2009 (not triggered if postattack is "x" out ... moving it to end of loot function
;~ 	Else																					;;;: Failed Quickfix Nr. 2  - Added by Chefes78 - 28.10.2009 (not triggered if postattack is "x" out ... moving it to end of loot function
	if(($attack7LastCast + $attack7Cd) < _TimeGetStamp()) Then
		_toolTip("starting PostCast")
		Send($attack7)
		Sleep($attack7c)
;~ 		send("{ESC}")                                                                  		;;;: Failed Quickfix Nr. 1  - Added by Chefes78 - 28.10.2009 (not reliable enough )
		$attack7LastCast = _TimeGetStamp()
	EndIf
;~ 	EndIf																					;;;: Failed Quickfix Nr. 2  - Added by Chefes78 - 28.10.2009 (not triggered if postattack is "x" out ... moving it to end of loot function
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&"developed by: Plany, Unknown "&@LF &"Logo by: Blun0r" &@LF & "Edited by Chefes78"
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() and checkBlackList()) Then
				Send("{w up}")
				KillEnemy()
				_toolTip("Move to waypoint "&($i/3)+1)
;~
			EndIf
;~ 			Send("{Tab}")
			$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

;0 4 8 C hex 4bit jumps
	;For $i = 9361000 To 9369000
	;	GUICtrlSetData($status,"SCAN VAR "&$i)
	;	$var = MemReadDLL(_DecimalToHex($i))
	;	if( Round($var,2) > 1000 And Round($var,2) < 6900000) Then
	;		FileWriteLine("mem.txt",_DecimalToHex($i)&" = "&Round($var,2))
	;	EndIf
	;Next

#cs

THE FUTURE!

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$gui = GUICreate("tabs for page options", 500, 400)
$tab = GUICtrlCreateTab(-10, -22, 520, 430)
$tabpage1 = GUICtrlCreateTabItem("page1")
$tab1Btn1 = GUICtrlCreateButton("go to page 2", 60, 60, 100, 30)
$tab1Btn2 = GUICtrlCreateButton("go to page 3", 60, 120, 100, 30)
GUICtrlCreateLabel("This is page 1", 100, 200)
$tabpage2 = GUICtrlCreateTabItem("page2")
$tab2Btn1 = GUICtrlCreateButton("go to page 1", 60, 60, 100, 30)
$tab2Btn2 = GUICtrlCreateButton("go to page 4", 60, 120, 100, 30)
GUICtrlCreateLabel("This is page 2", 100, 220)
$tabpage3 = GUICtrlCreateTabItem("page3")
$tab3Btn1 = GUICtrlCreateButton("go to page 2", 60, 60, 100, 30)
$tab3Btn2 = GUICtrlCreateButton("go to page 4", 60, 120, 100, 30)
GUICtrlCreateLabel("This is page 3", 100, 240)
$tabpage4 = GUICtrlCreateTabItem("page4")
$tab4Btn1 = GUICtrlCreateButton("go to page 1", 60, 60, 100, 30)
$tab4Btn2 = GUICtrlCreateButton("go to page 3", 60, 120, 100, 30)
GUICtrlCreateLabel("This is page 4", 100, 260)
GUICtrlCreateTabItem("")
GUICtrlSetState($tabpage1, $GUI_SHOW)
GUISetState()

While 1
    $Msg = GUIGetMsg()
    Switch $Msg
        Case - 3
            Exit
        Case $tab1Btn1
            GUICtrlSetState($tabpage2, $GUI_SHOW)
        Case $tab1Btn2
            GUICtrlSetState($tabpage3, $GUI_SHOW)
        Case $tab2Btn1
            GUICtrlSetState($tabpage1, $GUI_SHOW)
        Case $tab2Btn2
            GUICtrlSetState($tabpage4, $GUI_SHOW)
        Case $tab3Btn1
            GUICtrlSetState($tabpage2, $GUI_SHOW)
        Case $tab3Btn2
            GUICtrlSetState($tabpage4, $GUI_SHOW)
        Case $tab4Btn1
            GUICtrlSetState($tabpage1, $GUI_SHOW)
        Case $tab4Btn2
            GUICtrlSetState($tabpage3, $GUI_SHOW)

    EndSwitch

WEnd


#ce



chefes78 is offline  
Old   #542
 
elite*gold: 0
Join Date: Oct 2009
Posts: 295
Received Thanks: 103
Quote:
Originally Posted by Tonyblizza View Post
Meine beobachtungen :
Für Nahkämpfer lootzeit zu hoch-
Manchmal hockt er sich zum reggen nicht hin dan braucht es natürlich 10 min bis sich das im stehn regeneriert.
Nach dem looten wird ein anderer mob geaddet obwohl man eh schon aggro hatt.

Der obeknaller wäre :
Aion exe in bot ordner rein , im bot selber n fenster für acc name und pw .
so wen das game abstürzt er die exe startet und acc+pw eingibbt - char aussucht und anfängt botten
Mein aion stürzt fast jede stunde 1 mal ab ...
Ansonsten thx @all 4all
das steht zu 90 % ... mein AION Game Launcher loggt dich ins game rein..
sollte leicht sein den bot zu starten sobald das game loaded ist..

- check for proc. Aion.bin.. -> startet den Game Launcher

- im script am Ende anstelle von KeepAlive einfach den bot scipt starten...

- im bot script setze die Global variable auf $autorun = true

- jetzt musst du nur noch die waypoints autom. laden

Check mal mein Post hier...


chefes78 is offline  
Old   #543
 
elite*gold: 0
Join Date: Jul 2006
Posts: 122
Received Thanks: 4
boah das wär echt nice one wen das gingen würde !!
Tonyblizza is offline  
Old   #544
 
elite*gold: 0
Join Date: Aug 2009
Posts: 5
Received Thanks: 0
Erstmal danke für die Arbeit.

aaaaaber....

version 0.7 ging ohne probleme, mit 0.91 geht gar nichts mehr. Der Charakter reagiert überhaupt nicht

habe nur ich dieses Problem?


Opawan is offline  
Old   #545
 
elite*gold: 0
Join Date: Jul 2006
Posts: 122
Received Thanks: 4
Quote:
Originally Posted by Opawan View Post
Erstmal danke für die Arbeit.

aaaaaber....

version 0.7 ging ohne probleme, mit 0.91 geht gar nichts mehr. Der Charakter reagiert überhaupt nicht

habe nur ich dieses Problem?
versuch mal "run as administrator" , könnnte vllt helfen?
Tonyblizza is offline  
Old   #546
 
elite*gold: 0
Join Date: Aug 2009
Posts: 6
Received Thanks: 0
lol Benny der Bot stirbt immer XD . Das könnte auch meiner sein. Ein Stoffi eignet sich einfach nicht zum botten. Scheinbar sind die Gladiatoren dafür am besten geeignet. Bei mir aufm Server laufen viele 24/7 durch, allerdings benutzen die auch einen anderen Bot.

Gibt es eine Möglichkeit den Bot im Falle des Todes zu stoppen ?
Seelengleiter is offline  
Old   #547
 
elite*gold: 0
Join Date: Oct 2009
Posts: 295
Received Thanks: 103
version 0.10.2 - Quickfix

fixed:

- agro while fighting
- agro while resting
- Bot Gui is most top window (visible even AION is on Focus)

Attached Files
File Type: rar AutoAion_beta_0.10.2.rar (302.9 KB, 192 views)
chefes78 is offline  
Old   #548
 
elite*gold: 0
Join Date: Jan 2009
Posts: 249
Received Thanks: 501
patch dauert noch rechne mit WE

hab mich bissel mit gameplay beschäftigt ... macros etc und eins 2 sachen abgerundet ... also atm schafft mein char mobs die 2 level übermir sind und aggro manchmal ganz knapp aber er packt es! konstant

btw mein char is auchn stoffy ^^ und mage nix mit pet usw 0o ^^

nochnicht kommt aber noch das er wenn er tot is automatisch sich ausloggt / das game beendet
plany123 is offline  
Old   #549
 
elite*gold: 0
Join Date: Aug 2009
Posts: 5
Received Thanks: 0
Quote:
Originally Posted by Tonyblizza View Post
versuch mal "run as administrator" , könnnte vllt helfen?
Geht leider auch nicht. 0.10.2 geht ebenfalls nicht. Absolut keine reaktion des Chars.

Hab dann natürlich 0.7 nochmal getestet und das läuft einwandfrei.

Funktionieren die neueren Versionen evtl. nur noch mit dem deutschen client?
Opawan is offline  
Old   #550
 
elite*gold: 0
Join Date: Oct 2009
Posts: 3
Received Thanks: 0
ist die version von chefes vertrauensvoll??
IllnessXG is offline  
Old   #551
 
elite*gold: 0
Join Date: Oct 2009
Posts: 295
Received Thanks: 103
Quote:
Originally Posted by IllnessXG View Post
ist die version von chefes vertrauensvoll??
Download and install AutoIt3 ...

open both 0.10.au3 and 0.10.2 and compare the code

i marked all stuff i added (green text... )

...

If you dont trust my .exe then open my code .au3 file with Autoit and press F5 to launch that code...

works too..

You must register and activate your account in order to view images.
chefes78 is offline  
Old   #552
 
elite*gold: 0
Join Date: Aug 2009
Posts: 5
Received Thanks: 0
Um mein Problem noch etwas zu konkretisieren.

Autoit zeigt nach dem Start Moving to Waypoint 1,2,3,4,5,6 usw nacheinander an, nur läuft der Char die Waypoints nicht ab.

Frag mich an was das liegen kann

Edit: Nach nem Neustart des Rechners läuft es einwandfrei. Verstehe zwar nicht wo das Problem war, aber das ist mir jetzt auch erstmal egal :P

Vielen dank nochmal für die klasse Arbeit
Opawan is offline  
Old   #553
 
elite*gold: 0
Join Date: Oct 2009
Posts: 35
Received Thanks: 7
der bot ist an sich richtig gut ich habe glaube ich nur nen kleinen fehler bemerkt
er läuft bei mir nicht zu den vorgegeben wegpunkten. stattdessen rennt er immer gerade aus erst wenn ein mob bisschen hinter im steht greift er diesen an macht seine prozedur und rennt wieder irgendwo hin bin deswegenfast in ne klippe gestürtzt weil er irgendwie nicht richtig läuft liegt es daran das ich zu wenig wegpunkte drinne habe oder zuviel? oder hat es damit garnichts zu tun? bitte um antwort mfg


€dit sagt: kann es sein das ich taste A + D nicht verändern darf so das er damit im kreis laufen kann? weil ich habe die knöpfe wie quake cs wow und so auf sidesteps gelegt um besser im pvp agieren zu können O.o

€dit2 sagt: also man darf kein sidestep bei A+D drinne haben sonst verkaggt der bott das laufen ^^ andere frage an euch tollen programmierer

ich als hunter habe bei 10% auslösungsrate einen CS3 den mein toller bot aber nicht benutzt gäbe es dafür eine möglichkeit das irgendwie einzufügen hinter dem D.A. vllt noch nen T.A (triple attack) einzufügen? das wäre ne geile idee und für den priest sein burst dmg skill auch net zu verachten gladi genauso

mfg muhkuh
123Muhkuh is offline  
Old   #554
 
elite*gold: 0
Join Date: Oct 2009
Posts: 77
Received Thanks: 18
Hallöchen,
ich habe bisher NoFap benutzt und bin beim googln mal hierauf gestoßen.
Insgesammt gefällt mir der Bot recht gut, aber ein paar kleine Dinge würde ich mir zZ noch wünschen.

- eine Ignore Liste um bestimmte mobs nicht anzugreifen (zB die Kiste im Idun lake)
- mehr Post casts (für Buffs oder Buff Food, die selbstgemachten halten teilweise 45 minuten, da kann man sich leicht für 8 Stuunden botten eindecken)
- ggf. Unterstützung für heil/manatränke
- ggf. ein Corpserun Waypoint set, wenn tod des Chars erkannt wird, rennt der Bot einmal diese 2. WP route ab und startet dann wieder den Grind Bot.
- Auch in dem offizellen release die allways on top funktion ^^

Vielen dank schon mal bis hier her
Grearson is offline  
Old   #555
 
elite*gold: 0
Join Date: Nov 2007
Posts: 126
Received Thanks: 15
Quote:
Originally Posted by chefes78 View Post
fixed:

- agro while fighting
- agro while resting
- Bot Gui is most top window (visible even AION is on Focus)


Funktioniert doch auch nicht richtig. Wenn er Aggro bekommt während dem kämpfen zieht er zwar nicht noch einen 3ten Mob, aber den 2 Mob der geaddet hat, den bekämpft er dann trotzdem nicht, sondern rennt zum nächsten WP.

Außerdem. Was hast du da für eine komische .exe Datei mitgepackt?!?!
Eine übliche kompilierte .exe des Bots hat 314kb!


Markusschulter is offline  
Reply



« Previous Thread | Next Thread »



All times are GMT +2. The time now is 00:20.


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.