Before I start credits go out to RiseAndShine and bolototo for the script and basic instructions.
This is my first contribution aside from my Autologin.
http://www.mmowned.com/forums/wow-me...3-2-4-3-a.html
The new 3.2.0 offset is
0x010CCB94
Simple auto it script for reading what is said, again credit to bolototo for providing this I just updated it and translated.
Code:
#include <string.au3>
#include <NomadMemory.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START GUI section ### Form=
$Form1 = GUICreate("Wowchatreader", 625, 445, 274, 278)
$Edit1 = GUICtrlCreateEdit("", 32, 24, 577, 273)
$affiche = GUICtrlCreateButton("READ!",32,400,50,25)
GuiSetState(@SW_SHOW)
#EndRegion ### END GUI section ###
SetPrivilege("SeDebugPrivilege", 1) ;p
testwow()
Global $process = _MEMORYOPEN($wowpid)
Global $offchat=0x010CCB94 ; 3.2.0
Global $nxtchat=0x17C0
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $affiche
GUICtrlSetData($Edit1,"")
testwow()
lischat()
EndSwitch
WEnd
Func lischat()
Local $debmess=$offchat
Local $Canal
for $x=0 to 59
$next=$nxtchat*$x
$mess = _MemoryRead($debmess + $next, $process, "char[1000]")
if Not stringMid($mess, 1, 4) ="Type" then ExitLoop
$Canal = _StringBetween($mess, "Type: [", "],")
$Pseudo = _StringBetween($mess, "Name: [", "],")
$Messag = _StringBetween($mess, "Text: [", "]")
$chan=""
Switch $Canal[0] ;if $Canal=17 then MsgBox(0,"","canal17")
Case 4
$chan="Guild : "
Case 5
$chan="Guild-Officer : "
Case 7
$chan="Whisper : "
Case 9
$chan="To "
EndSwitch
If $chan="" then $chan="Chat : "
$lig=$x
GUICtrlSetData($Edit1,$x & " :" & $chan & "[" & $Pseudo[0] & "] : " & $Messag[0] & @CRLF ,$lig+1)
Next
EndFunc
Func testwow()
Global $wowpid=ProcessExists("wow.exe")
If $wowpid=0 Then
MsgBox(0, "Infos", "World of warcraft is not running...")
exit
EndIf
EndFunc
If you wish to add more channels then just look at the link and read that.
*note after further testing i found out after 60 messages have been read it startes over at line 1 this is because the game only stores 60 messages at a time in the region it reads messages from*