|
You last visited: Today at 06:07
Advertisement
WoW Bot AutoIT HP auslesen
Discussion on WoW Bot AutoIT HP auslesen within the AutoIt forum part of the Coders Den category.
07/18/2010, 11:59
|
#1
|
elite*gold: 0
Join Date: Apr 2006
Posts: 152
Received Thanks: 23
|
WoW Bot AutoIT HP auslesen
Hey,ich hab damit angefangen mit nen kleinen Bot fürn PrivatServer zu basteln,der auf der Version 3.3.3a läuft.
Gibt es für PrivatServer andere Offsets als für die Offiziellen Server?
Aber irgendwie bekomme ich immer als HP anzahl : 0 raus. Ich habe die richtigen Offsets genommen :
;/*Patch 3.3.3*/
;/*Player offsets*/
Local $Mem_Player_Base = 0x00B366D0, $Mem_Player_Base_P1 = 0x34, $Mem_Player_Base_P2 = 0x24
Quote:
#include <NomadMemory.au3>
Global $PlayerBaseStatic = 0x00B366D0
Global $PlayerBaseOffsA = 0x34
Global $PlayerBaseOffsB = 0x24
SetPrivilege("SetDebugPrivilege",1)
$pid = wingetprocess("World of Warcraft","")
$open = _Memoryopen($pid)
$pBasePointer01 = _Memoryread($PlayerBaseStatic, $open,'ptr')
$pBasePointer02 = _Memoryread($pBasePointer01 + 0x34,$open,"dword")
$pBasePointer = _Memoryread($pBasePointer02 + 0x24,$open,"dword")
$pBase = $pBasePointer
$pStorage = _Memoryread($pBasePointer + 0x8,$open,"dword")
$hp = _Memoryread($pStorage + 0x17*4,$open,"dword")
Msgbox("", "", "Du hast " & $hp & " Hp")
|
|
|
|
07/18/2010, 12:25
|
#2
|
elite*gold: 0
Join Date: Aug 2009
Posts: 62
Received Thanks: 120
|
Quote:
Originally Posted by nitro2k
Gibt es für PrivatServer andere Offsets als für die Offiziellen Server?
|
Ne sind die Gleichen Offsets. Ich glaub ich hab dein Fehler gefunden:
Quote:
|
SetPrivilege("SetDebugPrivilege",1)
|
Ich glaub so ist's richtig:
Quote:
|
SetPrivilege("SeDebugPrivilege",1)
|
Mfg ,
NeedABot
|
|
|
07/18/2010, 12:32
|
#3
|
elite*gold: 0
Join Date: Apr 2006
Posts: 152
Received Thanks: 23
|
nein daran lags net :/
|
|
|
07/18/2010, 12:42
|
#4
|
elite*gold: 0
Join Date: May 2009
Posts: 2,256
Received Thanks: 2,348
|
Also ich hab das so in vb.net (noch von 3.3.3)
Code:
Dim playerbase = wow.ReadUInt(wow.ReadUInt(wow.ReadUInt(&HB366D0) + &H34) + &H24)
Dim Health = wow.readUInt(playerbase + &H19B8)
Dim MaxHealth = wow.ReadUInt(playerbase + &H19D8)
versuchs damit.
|
|
|
07/18/2010, 12:45
|
#5
|
elite*gold: 0
Join Date: Apr 2006
Posts: 152
Received Thanks: 23
|
immernoch 0 hp
|
|
|
07/18/2010, 13:48
|
#6
|
elite*gold: 57
Join Date: Apr 2008
Posts: 2,509
Received Thanks: 951
|
#moved
|
|
|
07/18/2010, 22:31
|
#7
|
elite*gold: 0
Join Date: Apr 2006
Posts: 152
Received Thanks: 23
|
push
|
|
|
07/20/2010, 10:02
|
#8
|
elite*gold: 0
Join Date: Apr 2006
Posts: 152
Received Thanks: 23
|
push
|
|
|
10/16/2013, 23:23
|
#9
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
Es ist mir bewusst das die Leute hier nicht mehr aktiv sind, aber die Frage wird immer noch sehr oft gestellt und deswegen möchte ich das hier nicht unbeantwortet lassen für die Leute die die SuFu benutzen:
Code:
$dwHp = _MemoryRead($PlayerBaseStatic, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x34, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x24, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x8, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x17*4, $open, "dword")
MsgBox(0, "", "Du hast " & $dwHp & " Hp")
Wozu das *4? Habs da gelassen, da ich nicht weiß ob es stimmt.
Wenn du mit dem Base Pointer weiterarbeitest dann verwendest du kein 4 Byte DWORD, deshalb ist der Typ den du mit _MemoryRead ausliest ein Pointer, letzendlich die letzte Zeile ist ein 4 Byte DWORD, da du hier die engültige Adresse aussiehst.
Außerdem heißt es nicht SetDebugPrivilege, sondern SeDebugPrivilege, man könnte unter Umständen #RequireAdmin benötigen, aber das ist bei vielen Spielen nicht der Fall.
Desweiteren kannst du auch einfach _MemoryPointerRead nehmen, dort ist $aErgebnis[UBound($aErgebnis) - 1] dein gewünschter Eintrag.
Da es ja jetzt gelöst wurde kann es geclosed werden.
|
|
|
10/17/2013, 11:47
|
#10
|
elite*gold: 15
Join Date: Aug 2012
Posts: 3,041
Received Thanks: 6,397
|
Quote:
Originally Posted by alpines
Es ist mir bewusst das die Leute hier nicht mehr aktiv sind, aber die Frage wird immer noch sehr oft gestellt und deswegen möchte ich das hier nicht unbeantwortet lassen für die Leute die die SuFu benutzen:
Code:
$dwHp = _MemoryRead($PlayerBaseStatic, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x34, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x24, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x8, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x17*4, $open, "dword")
MsgBox(0, "", "Du hast " & $dwHp & " Hp")
Wozu das *4? Habs da gelassen, da ich nicht weiß ob es stimmt.
Wenn du mit dem Base Pointer weiterarbeitest dann verwendest du kein 4 Byte DWORD, deshalb ist der Typ den du mit _MemoryRead ausliest ein Pointer, letzendlich die letzte Zeile ist ein 4 Byte DWORD, da du hier die engültige Adresse aussiehst.
Außerdem heißt es nicht SetDebugPrivilege, sondern SeDebugPrivilege, man könnte unter Umständen #RequireAdmin benötigen, aber das ist bei vielen Spielen nicht der Fall.
Desweiteren kannst du auch einfach _MemoryPointerRead nehmen, dort ist $aErgebnis[UBound($aErgebnis) - 1] dein gewünschter Eintrag.
Da es ja jetzt gelöst wurde kann es geclosed werden.
|
Thread is from 2010 ._.
|
|
|
10/17/2013, 12:55
|
#11
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
I don't know if you understand german but I already mentioned it in my reply. Anyway, I think it can be closed now, the main reason I answered to this old topic is because it has more than thousand views so many people find this thread through the search on this site.
|
|
|
10/17/2013, 13:53
|
#12
|
elite*gold: 15
Join Date: Aug 2012
Posts: 3,041
Received Thanks: 6,397
|
I don't speak German, still bumping a 3y/o thread even when you posted a solution just doesn't seem right.
|
|
|
10/17/2013, 18:41
|
#13
|
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
|
Quote:
Originally Posted by berkay2578
Thread is from 2010 ._.
|
egal, solang das thema noch aktuell ist!
|
|
|
10/17/2013, 19:38
|
#14
|
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
|
Quote:
Originally Posted by alpines
Es ist mir bewusst das die Leute hier nicht mehr aktiv sind, aber die Frage wird immer noch sehr oft gestellt und deswegen möchte ich das hier nicht unbeantwortet lassen für die Leute die die SuFu benutzen:
Code:
$dwHp = _MemoryRead($PlayerBaseStatic, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x34, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x24, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x8, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x17*4, $open, "dword")
MsgBox(0, "", "Du hast " & $dwHp & " Hp")
Wozu das *4? Habs da gelassen, da ich nicht weiß ob es stimmt.
Wenn du mit dem Base Pointer weiterarbeitest dann verwendest du kein 4 Byte DWORD, deshalb ist der Typ den du mit _MemoryRead ausliest ein Pointer, letzendlich die letzte Zeile ist ein 4 Byte DWORD, da du hier die engültige Adresse aussiehst.
Außerdem heißt es nicht SetDebugPrivilege, sondern SeDebugPrivilege, man könnte unter Umständen #RequireAdmin benötigen, aber das ist bei vielen Spielen nicht der Fall.
Desweiteren kannst du auch einfach _MemoryPointerRead nehmen, dort ist $aErgebnis[UBound($aErgebnis) - 1] dein gewünschter Eintrag.
Da es ja jetzt gelöst wurde kann es geclosed werden.
|
Bei der NomadMemory.aue/Pointer.au3 macht es gar keinen Unterschied, ob man 'DWORD' oder 'ptr' verwendet. Einen Unterschied macht es nur bei 64 Bit Anwendungen, aber damit können beide genannten .au3's nicht umgehen.
'SeDebugPrivilege' gibt dem eigenen Prozess die Berechtigung zum debuggen von 'fremden' Anwendungen. Um welches Spiel es sich handelt ist IMMER egal.
Für den Zugriff auf dritte Programme (ReadProcessMemory/WriteProcessMemory) braucht man ohnehin Adminrechte.
Nicht _MemoryPointerRead() ist hier die bessere Wahl, sondern  .
|
|
|
 |
Similar Threads
|
WoW Spellcooldown auslesen (AutoIT)
07/16/2010 - WoW Bots - 11 Replies
Hallo
Ich würde gern meine Spell Cooldowns auslesen, hab dazu hab ich schon einiges gefunden, aber nur mit den alten Offsets, daher meine Frage:
Hat hier jemand die aktuellen SpellCooldown Offsets oder weiß einer ob die stimmen die ich haben?
spellsOnCooldown = 0x00D3F5A4
thx
|
AutoIt Code auslesen
07/12/2010 - AutoIt - 3 Replies
Hey,
sagen wir ich lade mir im Internet einen Bot runter , der mit AutoIt geschrieben ist. Gibt es ein Pogramm oder sonstwas mti dem ich den Code lesen kann? Also falls ich die falschen Begirffe genommen habe (:D) , dass sehen kann was der Scripter geschrieben hat?
MFG
|
Exp in Autoit oder C++ auslesen???
06/26/2010 - Metin2 - 2 Replies
Wie ließt man die Ep in Autoit oder C++ aus? Bitte um hilfe
|
[Frage]AutoIt auslesen
06/03/2010 - AutoIt - 7 Replies
moin moin,
ich bin momentan dabei n AutoIt script zu erstellen.
In diesem Script muss etwas aus einer txt datei ausgelesen werden.
(kann auch varriereren)
Jetzt habe ich 2 Probleme:
1. Es sollen die Angaben immer Zeielweise ausgelsesen werden.
Also als erstes das was in der ersten Zeile steht, damit dann was machen,
dann die nächste Zeile.
Bei einer TXT Datei funktioniert die Formatierung bei mir nicht, d.h. sie spring immer zurück, und alles wird in die erste Zeile geschrieben
|
(Autoit) Wie Pointer auslesen ?
10/13/2009 - General Coding - 6 Replies
Hiho...
Ich progge gerade an einem bot und habe nur ein problem...
Ich hab mit CE nen pointer für die HP gefunden...
In diesem fall: game.dat+0037CC28 offset: 13C
Hab aber bis jetzt keine funktionierende möglichkeit gefunden das in Autoit auszulesen...
Kann mir pls einer verraten wie das geht ?
|
All times are GMT +1. The time now is 06:09.
|
|