syron Posted March 13, 2008 Share Posted March 13, 2008 (edited) Hello guys, I've got a problem... Im pretty new to read memory. I learned how to get the datas from a game called "Perfect World". Everything is working except the character name. My ingame nick is "Gpunkt", it's just a testchar for my "getcharinformation" script. Let me show you my script: expandcollapse popup#include <Memory.au3> Global $Pointer = 0x00903804 Global $oPointer = 0x00903238 Global $charNameOffset = 0x00000000 Global $CurHpOffset = 0x450 Global $MaxHpOffset = 0x478 Global $CurMpOffset = 0x454 Global $MaxMpOffset = 0x47C Global $CurEpOffset = 0x458 Global $CurSpOffset = 0x45C Global $CurLvlOffset = 0x448 Global $CurCultiOffset = 0x44C Global $CurVigOffset = 0x464 Global $MaxVigOffset = 0x4F8 Global $Process = WinGetProcess("Element Client") Global $DllInfo1 = _MemoryOpen($Process) data() Func _FindNewAddress($Pointer, $Oset) Return '0x' & Hex(_MemoryRead($Pointer,$DllInfo1) + $Oset, 8) EndFunc Func data() $readpointer = '0x' & Hex(_MemoryRead($Pointer, $DllInfo1) + 0x20, 8) ; HEALTH POINTS $readCurHp = _FindNewAddress($readpointer, $CurHpOffset) $CurHp = _MemoryRead($readCurHp, $DllInfo1) $readMaxHp = _FindNewAddress($readpointer, $MaxHpOffset) $MaxHp = _MemoryRead($readMaxHp, $DllInfo1) ; MANA POINTS $readCurMp = _FindNewAddress($readpointer, $CurMpOffset) $CurMp = _MemoryRead($readCurMp, $DllInfo1) $readMaxMp = _FindNewAddress($readpointer, $MaxMpOffset) $MaxMp = _MemoryRead($readMaxMp, $DllInfo1) ; VIGOUR POINTS $readCurVig = _FindNewAddress($readpointer, $CurVigOffset) $CurVig = _MemoryRead($readCurVig, $DllInfo1) $readMaxVig = _FindNewAddress($readpointer, $MaxVigOffset) $MaxVig = _MemoryRead($readMaxVig, $DllInfo1) ; CHARACTER $readCurEP = _FindNewAddress($readpointer, $CurEpOffset) $CurEp = _MemoryRead($readCurEP, $DllInfo1) $readCurSp = _FindNewAddress($readpointer, $CurSpOffset) $CurSp = _MemoryRead($readCurSp, $DllInfo1) $readCurLvl = _FindNewAddress($readpointer, $CurLvlOffset) $CurLvl = _MemoryRead($readCurLvl, $DllInfo1) $readCurCulti = _FindNewAddress($readpointer, $CurCultiOffset) $CurCulti = _MemoryRead($readCurCulti, $DllInfo1) $getCharName = _FindNewAddress($oPointer, $charNameOffset) $CharName = _MemoryRead($getCharName, $DllInfo1, 'char[16]') MsgBox(0, "Character information", $CharName) EndFunc $oPointer is the pointer for the charactername and $charNameOffset is the offset for it. As u can see in data() function I wrote: $getCharName = _FindNewAddress($oPointer, $charNameOffset) $CharName = _MemoryRead($getCharName, $DllInfo1, 'char[16]') to get the charactername. Well... my name is Gpunkt ingame and the message I get is only a "G". In CheatEngine I got the correct result. What could be the problem? Edited March 13, 2008 by syron Link to comment Share on other sites More sharing options...
syron Posted March 13, 2008 Author Share Posted March 13, 2008 does nobody have an idea? Im trying to fix that problem since 4 hours or something Link to comment Share on other sites More sharing options...
Siao Posted March 13, 2008 Share Posted March 13, 2008 (edited) Show more patience, kid. 4 hours is nothing, and the purpose of this forum isn't to serve you, there are no experts lined up and waiting online 24/7 to answer any question, especially when the question concerns multiplayer game cheating.Anyway...my name is Gpunkt ingame and the message I get is only a "G". In CheatEngine I got the correct result.Then it would be logical to assume that the name is kept as unicode string, not ansi. Therefore use "wchar" instead of "char" for the read buffer. Edited March 13, 2008 by Siao "be smart, drink your wine" Link to comment Share on other sites More sharing options...
syron Posted March 13, 2008 Author Share Posted March 13, 2008 naw, its not cheating imo, its just reading out data from memory. I dont want want to make something which helps me! Datas do not help me. Well... I could create a bot or something, but that's not the thing I want to do. I want to make a small database test and I heared with Multiplayer games it's easy to learn AutoIt. Learning by doing... But, thx. You're right. It works with wchar. now I can read out my ingame name. and ya, I know the forum is not only for ME! but u know I was kinda fukked up by this script :/ Im sorry Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now