Aion AutoIt Bot Beta [Open Source]

10/24/2009 23:03 bluebone#331
Hallo Leute,
mal kurz was neues kleines feines ^^
Charname auslesen. Musste mit StringStripWS arbeiten. Das schnipselt die White Spaces raus.
Der Name liegt bei Offset "00925F68", im Format Unicode 32. Deswegen "CHRW".
Habe es nur mit der For ... Next hinbekommen. Vielleicht hat ein anderer einere saubererere
Lösung.

Func char_Read($offset)
Local $name, $ReadValue, $i

$StaticOffset = Dec($offset)
$baseADDR = _MemoryModuleGetBaseAddress($pid, "Game.dll")
For $i = 1 To 32 Step 2
$finalADDR = "0x" & Hex($baseADDR + $StaticOffset + $i - 1)
$MemTest = ChrW(_MemoryRead($finalADDR, $openmem, "byte"))
$name = $name & $MemTest
Next
$name = StringStripWS($name, 8)
GUICtrlSetData($Value_cID, $name)
Return $name
EndFunc ;==>char_Read


Aufruf mit:

$playername = char_Read("00925F68")

Was feines ist auch gleich danach

WinSetTitle("AION Client", "", "AION Client - " & $playername)

Viele Grüsse von BlueBone

Jetzt kann man auch ini-Files für jeden char einlesen. ^^

Soweit ist das hier bei mir

[Autopot]
BuffEmergencyHP=20
MinHP=40
MinMP=10
Regging=0
[Autopick]
Key=1
[Skill]
Skill1=2
Skill1CastTime=2000
Skill1Cooldown=18
Skill1Multi=0
Skill2=3
Skill2CastTime=2000
Skill2Cooldown=12
Skill2Multi=0
Skill3=4
Skill3CastTime=2000
Skill3Cooldown=10
Skill3Multi=3
Skill4=5
Skill4CastTime=2000
Skill4Cooldown=30
Skill4Multi=0
Skill5=6
Skill5CastTime=2000
Skill5Cooldown=10
Skill5Multi=3
[Buff]
BuffPreFight=9
BuffPreFightCastTime=2000
BuffPreFightCooldown=180
BuffPostFight=x
BuffPostFightCastTime=
BuffPostFightCooldown=
BuffEmergency=x
BuffEmergencyCastTime=
BuffEmergencyCooldown=
[Script]
Waypoints=3.lst
10/24/2009 23:16 bluebone#332
Habe die Variablen ein wenig umgeändert.

Func ReadKeys()

If FileExists($CharIni) Then

$ReadWPFile = IniRead($CharIni, "Script", "Waypoints", $WPFile)

$ReadBuffEmergencyHP = IniRead($CharIni, "Autopot", "BuffEmergencyHP", $BuffEmergencyhp)
$ReadRegMinHP = IniRead($CharIni, "Autopot", "MinHP", $RegMinHP)
$ReadRegMinMP = IniRead($CharIni, "Autopot", "MinMP", $RegMinMP)
$ReadReg = IniRead($CharIni, "Autopot", "Regging", $reg)

$ReadLoot = IniRead($CharIni, "Autopick", "Key", $loot)

$ReadSkill1 = IniRead($CharIni, "Skill", "Skill1", $Skill1)
$ReadSkill1CastTime = IniRead($CharIni, "Skill", "Skill1CastTime", $Skill1CastTime)
$ReadSkill1Cooldown = IniRead($CharIni, "Skill", "Skill1Cooldown", $Skill1Cooldown)
$ReadMultiSkill1 = IniRead($CharIni, "Skill", "Skill1Multi", $MultiSkill1)

$ReadSkill2 = IniRead($CharIni, "Skill", "Skill2", $Skill2)
$ReadSkill2CastTime = IniRead($CharIni, "Skill", "Skill2CastTime", $Skill2CastTime)
$ReadSkill2Cooldown = IniRead($CharIni, "Skill", "Skill2Cooldown", $Skill2Cooldown)
$ReadMultiSkill2 = IniRead($CharIni, "Skill", "Skill2Multi", $MultiSkill2)

$ReadSkill3 = IniRead($CharIni, "Skill", "Skill3", $Skill3)
$ReadSkill3CastTime = IniRead($CharIni, "Skill", "Skill3CastTime", $Skill3CastTime)
$ReadSkill3Cooldown = IniRead($CharIni, "Skill", "Skill3Cooldown", $Skill3Cooldown)
$ReadMultiSkill3 = IniRead($CharIni, "Skill", "Skill3Multi", $MultiSkill3)

$ReadSkill4 = IniRead($CharIni, "Skill", "Skill4", $Skill4)
$ReadSkill4CastTime = IniRead($CharIni, "Skill", "Skill4CastTime", $Skill4CastTime)
$ReadSkill4Cooldown = IniRead($CharIni, "Skill", "Skill4Cooldown", $Skill4Cooldown)
$ReadMultiSkill4 = IniRead($CharIni, "Skill", "Skill4Multi", $MultiSkill4)

$ReadSkill5 = IniRead($CharIni, "Skill", "Skill5", $Skill5)
$ReadSkill5CastTime = IniRead($CharIni, "Skill", "Skill5CastTime", $Skill5CastTime)
$ReadSkill5Cooldown = IniRead($CharIni, "Skill", "Skill5Cooldown", $Skill5Cooldown)
$ReadMultiSkill5 = IniRead($CharIni, "Skill", "Skill5Multi", $MultiSkill5)


$ReadBuffPreFight = IniRead($CharIni, "Buff", "BuffPreFight", $BuffPreFight)
$ReadBuffPreFightCastTime = IniRead($CharIni, "Buff", "BuffPreFightCastTime", $BuffPreFightCastTime)
$ReadBuffPreFightCooldown = IniRead($CharIni, "Buff", "BuffPreFightCooldown", $BuffPreFightCooldown)

$ReadBuffPostFight = IniRead($CharIni, "Buff", "BuffPostFight", $BuffPostFight)
$ReadBuffPostFightCastTime = IniRead($CharIni, "Buff", "BuffPostFightCastTime", $BuffPostFightCastTime)
$ReadBuffPostFightCooldown = IniRead($CharIni, "Buff", "BuffPostFightCooldown", $BuffPostFightCooldown)

$ReadBuffEmergency = IniRead($CharIni, "Buff", "BuffEmergency", $BuffEmergency)
$ReadBuffEmergencyCastTime = IniRead($CharIni, "Buff", "BuffEmergencyCastTime", $BuffEmergencyCastTime)
$ReadBuffEmergencyCooldown = IniRead($CharIni, "Buff", "BuffEmergencyCooldown", $BuffEmergencyCooldown)

GUICtrlSetData($Skill1_cID, $ReadSkill1)
GUICtrlSetData($Skill2_cID, $ReadSkill2)
GUICtrlSetData($Skill3_cID, $ReadSkill3)
GUICtrlSetData($Skill4_cID, $ReadSkill4)
GUICtrlSetData($Skill5_cID, $ReadSkill5)
GUICtrlSetData($BuffPreFight_cID, $ReadBuffPreFight)
GUICtrlSetData($BuffPostFight_cID, $ReadBuffPostFight)
GUICtrlSetData($BuffEmergency_cID, $ReadBuffEmergency)

GUICtrlSetData($Skill1CastTime_cID, $ReadSkill1CastTime)
GUICtrlSetData($Skill2CastTime_cID, $ReadSkill2CastTime)
GUICtrlSetData($Skill3CastTime_cID, $ReadSkill3CastTime)
GUICtrlSetData($Skill4CastTime_cID, $ReadSkill4CastTime)
GUICtrlSetData($Skill5CastTime_cID, $ReadSkill5CastTime)
GUICtrlSetData($BuffPreFightCastTime_cID, $ReadBuffPreFightCastTime)
GUICtrlSetData($BuffPostFightCastTime_cID, $ReadBuffPostFightCastTime)
GUICtrlSetData($BuffEmergencyCastTime_cID, $ReadBuffEmergencyCastTime)

GUICtrlSetData($Skill1Cooldown_cID, $ReadSkill1Cooldown)
GUICtrlSetData($Skill2Cooldown_cID, $ReadSkill2Cooldown)
GUICtrlSetData($Skill3Cooldown_cID, $ReadSkill3Cooldown)
GUICtrlSetData($Skill4Cooldown_cID, $ReadSkill4Cooldown)
GUICtrlSetData($Skill5Cooldown_cID, $ReadSkill5Cooldown)
GUICtrlSetData($BuffPreFightCooldown_cID, $ReadBuffPreFightCooldown)
GUICtrlSetData($BuffPostFightCooldown_cID, $ReadBuffPostFightCooldown)
GUICtrlSetData($BuffEmergencyCooldown_cID, $ReadBuffEmergencyCooldown)

GUICtrlSetData($MultiSkill1_cID, $ReadMultiSkill1)
GUICtrlSetData($MultiSkill2_cID, $ReadMultiSkill2)
GUICtrlSetData($MultiSkill3_cID, $ReadMultiSkill3)
GUICtrlSetData($MultiSkill4_cID, $ReadMultiSkill4)
GUICtrlSetData($MultiSkill5_cID, $ReadMultiSkill5)

GUICtrlSetData($BuffEmergencyHP_cID, $ReadBuffEmergencyHP)
GUICtrlSetData($RegMinHP_cID, $ReadRegMinHP)
GUICtrlSetData($RegMinMP_cID, $ReadRegMinMP)

GUICtrlSetData($loot_cID, $ReadLoot)
GUICtrlSetData($reg_cID, $ReadReg)

GUICtrlSetData($WPFile_cID, $ReadWPFile)

GUICtrlSetData($status_cID, "Save and Load new Values")
EndIf
EndFunc ;==>ReadKeys

Func saveKeys()

$ReadSkill1 = GUICtrlRead($Skill1_cID)
$ReadSkill2 = GUICtrlRead($Skill2_cID)
$ReadSkill3 = GUICtrlRead($Skill3_cID)
$ReadSkill4 = GUICtrlRead($Skill4_cID)
$ReadSkill5 = GUICtrlRead($Skill5_cID)

$ReadBuffPreFight = GUICtrlRead($BuffPreFight_cID)
$ReadBuffPostFight = GUICtrlRead($BuffPostFight_cID)
$ReadBuffEmergency = GUICtrlRead($BuffEmergency_cID)

$ReadSkill1CastTime = GUICtrlRead($Skill1CastTime_cID)
$ReadSkill2CastTime = GUICtrlRead($Skill2CastTime_cID)
$ReadSkill3CastTime = GUICtrlRead($Skill3CastTime_cID)
$ReadSkill4CastTime = GUICtrlRead($Skill4CastTime_cID)
$ReadSkill5CastTime = GUICtrlRead($Skill5CastTime_cID)

$ReadBuffPreFightCastTime = GUICtrlRead($BuffPreFightCastTime_cID)
$ReadBuffPostFightCastTime = GUICtrlRead($BuffPostFightCastTime_cID)
$ReadBuffEmergencyCastTime = GUICtrlRead($BuffEmergencyCastTime_cID)

$ReadSkill1Cooldown = GUICtrlRead($Skill1Cooldown_cID)
$ReadSkill2Cooldown = GUICtrlRead($Skill2Cooldown_cID)
$ReadSkill3Cooldown = GUICtrlRead($Skill3Cooldown_cID)
$ReadSkill4Cooldown = GUICtrlRead($Skill4Cooldown_cID)
$ReadSkill5Cooldown = GUICtrlRead($Skill5Cooldown_cID)

$ReadBuffPreFightCooldown = GUICtrlRead($BuffPreFightCooldown_cID)
$ReadBuffPostFightCooldown = GUICtrlRead($BuffPostFightCooldown_cID)
$ReadBuffEmergencyCooldown = GUICtrlRead($BuffEmergencyCooldown_cID)

$ReadMultiSkill1 = GUICtrlRead($MultiSkill1_cID)
$ReadMultiSkill2 = GUICtrlRead($MultiSkill2_cID)
$ReadMultiSkill3 = GUICtrlRead($MultiSkill3_cID)
$ReadMultiSkill4 = GUICtrlRead($MultiSkill4_cID)
$ReadMultiSkill5 = GUICtrlRead($MultiSkill5_cID)

$ReadBuffEmergencyHP = GUICtrlRead($BuffEmergencyHP_cID)
$ReadRegMinHP = GUICtrlRead($RegMinHP_cID)
$ReadRegMinMP = GUICtrlRead($RegMinMP_cID)

$ReadLoot = GUICtrlRead($loot_cID)
$ReadReg = GUICtrlRead($reg_cID)
$ReadWPFile = GUICtrlRead($WPFile_cID)

IniWrite($CharIni, "Script", "Waypoints", $ReadWPFile)

IniWrite($CharIni, "Autopot", "BuffEmergencyHP", $ReadBuffEmergencyHP)
IniWrite($CharIni, "Autopot", "MinHP", $ReadRegMinHP)
IniWrite($CharIni, "Autopot", "MinMP", $ReadRegMinMP)
IniWrite($CharIni, "Autopot", "Regging", $ReadReg)

IniWrite($CharIni, "Autopick", "Key", $ReadLoot)

IniWrite($CharIni, "Skill", "Skill1", $ReadSkill1)
IniWrite($CharIni, "Skill", "Skill1CastTime", $ReadSkill1CastTime)
IniWrite($CharIni, "Skill", "Skill1Cooldown", $ReadSkill1Cooldown)
IniWrite($CharIni, "Skill", "Skill1Multi", $ReadMultiSkill1)

IniWrite($CharIni, "Skill", "Skill2", $ReadSkill2)
IniWrite($CharIni, "Skill", "Skill2CastTime", $ReadSkill2CastTime)
IniWrite($CharIni, "Skill", "Skill2Cooldown", $ReadSkill2Cooldown)
IniWrite($CharIni, "Skill", "Skill2Multi", $ReadMultiSkill2)

IniWrite($CharIni, "Skill", "Skill3", $ReadSkill3)
IniWrite($CharIni, "Skill", "Skill3CastTime", $ReadSkill3CastTime)
IniWrite($CharIni, "Skill", "Skill3Cooldown", $ReadSkill3Cooldown)
IniWrite($CharIni, "Skill", "Skill3Multi", $ReadMultiSkill3)

IniWrite($CharIni, "Skill", "Skill4", $ReadSkill4)
IniWrite($CharIni, "Skill", "Skill4CastTime", $ReadSkill4CastTime)
IniWrite($CharIni, "Skill", "Skill4Cooldown", $ReadSkill4Cooldown)
IniWrite($CharIni, "Skill", "Skill4Multi", $ReadMultiSkill4)

IniWrite($CharIni, "Skill", "Skill5", $ReadSkill5)
IniWrite($CharIni, "Skill", "Skill5CastTime", $ReadSkill5CastTime)
IniWrite($CharIni, "Skill", "Skill5Cooldown", $ReadSkill5Cooldown)
IniWrite($CharIni, "Skill", "Skill5Multi", $ReadMultiSkill5)


IniWrite($CharIni, "Buff", "BuffPreFight", $ReadBuffPreFight)
IniWrite($CharIni, "Buff", "BuffPreFightCastTime", $ReadBuffPreFightCastTime)
IniWrite($CharIni, "Buff", "BuffPreFightCooldown", $ReadBuffPreFightCooldown)

IniWrite($CharIni, "Buff", "BuffPostFight", $ReadBuffPostFight)
IniWrite($CharIni, "Buff", "BuffPostFightCastTime", $ReadBuffPostFightCastTime)
IniWrite($CharIni, "Buff", "BuffPostFightCooldown", $ReadBuffPostFightCooldown)

IniWrite($CharIni, "Buff", "BuffEmergency", $ReadBuffEmergency)
IniWrite($CharIni, "Buff", "BuffEmergencyCastTime", $ReadBuffEmergencyCastTime)
IniWrite($CharIni, "Buff", "BuffEmergencyCooldown", $ReadBuffEmergencyCooldown)

ReadKeys()

EndFunc ;==>saveKeys
10/24/2009 23:49 Therawarp#333
da hatte wohl jemand zeit ^^ nice echt
10/25/2009 00:50 Posthardcore#334
Quote:
Originally Posted by gibbou View Post
erhöhe die zeit doch mal um das doppelte. beobachte was er macht und sollte alles funzen und er macht es nur in langen abständen kannst du die zeit nach und nach runtersetzen. wenn er es aber trotzdem nich macht, dann haste vllt iwas in deinen makros falsch eingestellt.
Das sagst du so,
Ich probiere hier seit etwa 1 stunde herum und es wird immer schlechter...

Habe jetzt jeden Skill extra in ein Makro gesetzt
[Only registered and activated users can see links. Click Here To Register...]
Der erste Skill wird gezündet und dann wird der dritte gezündet ( Das ist normales angreifen, der zweite "Heckenschuss" wird Immer ausgelassen ob in einem Makro oder ohne...

Hatte vorhin ein so geiles Makro und das funktionierte auch, aber kaum ist es im Bot wurde der Heckenschuss ausgelassen
10/25/2009 09:16 Susi1337#335
Der bot ist toll.
Endlich kann ich arbeiten und spielen zur gleichen zeit.
Dankööööö
10/25/2009 11:02 Therawarp#336
meine meinung zu dem bot ist es ist das beste open source autoit projekt was ich je gesehen habe mann kann lernen und tüfteln sachen die man nicht kannte kann man nun anwenden und optimieren danke an euch erlich
10/25/2009 13:37 challe#337
Wie unordentlich ist dein Arbeitszimmer denn plany123, das du so lange brauchst :D

Warum zeigst du uns das Video, da wird man ja echt ungeduldig xD

lg
Challe
10/25/2009 14:27 plany123#338
hier die neuste version ICH HABE das Waypoint system nochmal komplett neu geschrieben es hat nun ein vollkommen anderes gamePlay bitte passt eure waypoints an das neue system an :)

AutoAion Version 0.9
[Only registered and activated users can see links. Click Here To Register...]

Neuerungen: Komplett neues Waypoint System und Attack verhalten

um an der anti bot detection zu arbeiten habe ich mich entschieden das der bot keine Pausen mehr macht er rennt konstant die waypoints ab und ändert seine laufrichtung im laufen (bzw korregiert sie nach!)

Er sucht nun durchgängig nach mobs und nicht mehr nur an den waypoints

Er ignoriert nun andere spieler die euch buffen etc

Er erkennt nun Adds

Es gibt nun ein Shutdown Timer ( in minuten ). Der NUR den bot abschaltet so bleibt ihr steht (natürlich nicht während des kampfes)

------------
bei problemen mit den bot bitte ich um feedback

Enjoy it!
10/25/2009 14:51 challe#339
geil geil man gute arbeit^^
was steht als nächstes an?
10/25/2009 14:57 Markusschulter#340
Quote:
Originally Posted by plany123 View Post
hier die neuste version ICH HABE das Waypoint system nochmal komplett neu geschrieben es hat nun ein vollkommen anderes gamePlay bitte passt eure waypoints an das neue system an :)

AutoAion Version 0.9
[Only registered and activated users can see links. Click Here To Register...]

Neuerungen: Komplett neues Waypoint System und Attack verhalten

um an der anti bot detection zu arbeiten habe ich mich entschieden das der bot keine Pausen mehr macht er rennt konstant die waypoints ab und ändert seine laufrichtung im laufen (bzw korregiert sie nach!)

Er sucht nun durchgängig nach mobs und mehr nur an den waypoints

Er ignoriert nun andere spieler die euch buffen etc

Er erkennt nun Adds

Es gibt nun ein Shutdown Timer ( in minuten ). Der NUR den bot abschaltet so bleibt ihr steht (natürlich nicht während des kampfes)

------------
bei problemen mit den bot bitte ich um feedback

Enjoy it!

Ich hab den Bot grad geladen ( noch die 0.7 Version ) und bin hell auf begeistert! :handsdown:

Wenn jetzt die Pausen Zeiten ( bei den Wegpunkten ), die einen doch als Botter "outen" (!!) beseitigt wurden, dann ist der Bot wirklich der absolute Hammer schlechthin!
Mit Laufrichtung ändern ist es dann absolut perfekt! Sofort mal die neue Version testen.... :)


Einen kleinen Verbesserungsvorschlag hätte ich vielleicht noch.
Man kann bei den Angriffen ja ein Häckchen machen bei D.A. um einen 2ten Agriff auszulösen.
Vielleicht wäre es ja möglich auch einen 3ten Angriff einzubauen. Als Templer hat man 3er Kombo nämlich.
10/25/2009 14:58 jolt#341
Sehr geil :)

endlich bleibt er nicht mehr stehen ^^
kann es auch sein das er jetzt nicht mehr so oft jumpt? wenn ja, nice :D

mir ist aufgefallen das, wenn ich die F5 Taste drücke er nur kurz stehen bleibt und dann wieder zum gegner laufen will. Ich habe den Bot dann gekillt und noch mal getestet, wieder das selbe....vielleicht war es auch nur zufall^^

Ist es möglich bei dem Bot eine art unstuck ein zu bauen? also z.B. wenn ich gegen eine Wand laufe, das der Bot automatisch versucht da vorbei zu laufen ( mit 3m nach links gehen oder 3m nach rechts gehen usw.).
Ich hoffe du weist was ich meine ^^

*edit* die funktion D.A. geht bei mir nicht. Ich muss immer den zweiten skill in die leiste einfügen
10/25/2009 15:02 Markusschulter#342
Quote:
Originally Posted by jolt View Post
Ist es möglich bei dem Bot eine art unstuck ein zu bauen? also z.B. wenn ich gegen eine Wand laufe, das der Bot automatisch versucht da vorbei zu laufen ( mit 3m nach links gehen oder 3m nach rechts gehen usw.).
Ich hoffe du weist was ich meine ^^

Sowas wäre zur anti bot detection wirklich sehr empfehlenswert!
Gibt nix auffälligeres wie nen Char der plötzlich immer gegen ne Mauer,Stein usw. läuft...

Prinzipiell sollte man zwar immer ne Gegend ohne Hindernisse wählen, aber manchmal bleibt man ja schon an den kleinsten Dingen/Kanten hängen.
10/25/2009 15:04 Calcifer#343
Quote:
Originally Posted by plany123 View Post
hier die neuste version ICH HABE das Waypoint system nochmal komplett neu geschrieben es hat nun ein vollkommen anderes gamePlay bitte passt eure waypoints an das neue system an :)

AutoAion Version 0.9

Neuerungen: Komplett neues Waypoint System und Attack verhalten

um an der anti bot detection zu arbeiten habe ich mich entschieden das der bot keine Pausen mehr macht er rennt konstant die waypoints ab und ändert seine laufrichtung im laufen (bzw korregiert sie nach!)

Er sucht nun durchgängig nach mobs und mehr nur an den waypoints

Er ignoriert nun andere spieler die euch buffen etc

Er erkennt nun Adds

Es gibt nun ein Shutdown Timer ( in minuten ). Der NUR den bot abschaltet so bleibt ihr steht (natürlich nicht während des kampfes)

------------
bei problemen mit den bot bitte ich um feedback

Enjoy it!
Sehr nice danke ;)
Was is eigentlich genau mit add gemeint ?
Addns ?
ich dachte die gibt es für aion nicht im sinne wie sie es für WoW gibt ...

läuft die Version 0.9 noch für 1.5.0.10 ?
10/25/2009 15:07 jolt#344
Quote:
Originally Posted by Markusschulter View Post
Sowas wäre zur anti bot detection wirklich sehr empfehlenswert!
Gibt nix auffälligeres wie nen Char der plötzlich immer gegen ne Mauer usw. läuft...

Prinzipiell sollte man zwar immer ne Gegend ohne Hindernisse wählen, aber manchmal bleibt man ja schon an den kleinsten Dingen/Kanten hängen.
ja....
da muss ja nur ein kleiner spitzer stein aus dem boden gucken und man bleibt schon hängen ^^
ist mir nicht nur ein mal passiert :rolleyes:
10/25/2009 15:08 Markusschulter#345
Quote:
Originally Posted by Calcifer View Post
Sehr nice danke ;)
Was is eigentlich genau mit add gemeint ?
Addns ?
Mit Adds sind Viecher gemeint die adden! :D

Also wenn du mit einem kämpfst, und dann versehentlich einer 2ter Aggro auf dich bekommt.