2 things are you doing wrong.
-First: Your address -0x008BF1E0- is not the correct address. The correct address is -0x89ACC0- (in the dump file it is called "PlayerNameCachePointer")
The address you are using is the one to simply get the local players name and is used as such:
Code:
$rawr = _MemoryRead($WowBase + 0x8BF1E0, $wow,"char[20]")
-The second thing you are doing wrong: You are forgetting to add the base address of wow to your address, like this:
Code:
$mask=_MemoryRead($WowBase +0x89ACC0 + 0x8+0x024, $hwow)
$base=_MemoryRead($WowBase +0x89ACC0 + 0x8+0x01c, $hwow)
Here is a nice little copy paste for you, because i know thats all you want. If you actually searched in the dump thread you would have figured this out in a matter of seconds ( all this name stuff is neatly tucked together):
*NOTE* I changed $hwow to $wow
Code:
Func _GetUnitName($fGUID)
$mask=_MemoryRead($WowBase + 0x89ACC0 + 0x8 +0x024, $wow)
$base=_MemoryRead($WowBase + 0x89ACC0 + 0x8 +0x01c, $wow)
$shortGUID = BitAnd($fGUID, 0xffffffff)
if ($mask=0xffffffff) Then
return ""
EndIf
$offset = 12 * BitAnd($mask, $shortGUID)
$current = _MemoryRead($base+$offset+8, $wow)
$offset = _MemoryRead($base+$offset, $wow) ;<--- this what i don't understand, why is the offset modified again?
if (BitAND($current, 0x1) = 0x1) Then
return ""
EndIf
$testGUID= _MemoryRead($current, $wow)
while ($testGUID <> $shortGUID)
$current=_MemoryRead($current+$offset+4, $wow)
if (BitAND($current, 0x1) = 0x1) Then
return ""
EndIf
$testGUID=_MemoryRead($current, $wow)
WEnd
return _MemoryRead($current + 0x020, $wow, "char[20]")
EndFunc