Chat Log menu

User Tag List

Thread: Chat Log

Results 1 to 7 of 7
  1. #1
    HapaHaoleVA's Avatar Member
    Reputation
    4
    Join Date
    Apr 2009
    Posts
    10
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Chat Log

    Quick and dirty class for reading the chat log:

    Code:
    public static class ChatLog
        {
            private const int MessageSize = 512;
    
            public static IEnumerable<string> ReadMessages(MemoryManager mem)
            {
                uint ptrNextChatMessageOffset = OffsetManager.GetAddress("Global", "ChatLogNextMessageOffset");
    
                uint ptrCurrentMessage = OffsetManager.GetAddress("Global", "ChatLog");
                uint ptrNextMessage = 0;
                string message = ".";
    
                while (!String.IsNullOrEmpty(message.Trim()))
                {
                    message = mem.ReadString(ptrCurrentMessage, true, MessageSize);
                    yield return message;
    
                    ptrNextMessage = ptrCurrentMessage + ptrNextChatMessageOffset; // Sets ptrNextMessage to the next message in the log
    
                    if (ptrNextMessage == ptrCurrentMessage)
                        break;
                    else
                        ptrCurrentMessage = ptrNextMessage;
                }
            }
    With a regular expression and a 'Message' structure you can have a sweet little logger.

    Chat Log
  2. #2
    testout's Avatar Member
    Reputation
    7
    Join Date
    May 2008
    Posts
    44
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Posting the offsets would be helpful...

  3. #3
    garkeinplan's Avatar Member
    Reputation
    7
    Join Date
    Aug 2007
    Posts
    13
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Code:
    chatOffset  0x0117938C
    chatNxtMsg  0x17C0

  4. #4
    Robske's Avatar Contributor
    Reputation
    305
    Join Date
    May 2007
    Posts
    1,062
    Thanks G/R
    3/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by testout View Post
    Posting the offsets would be helpful...
    0x0117938C + x * 0x17C0, Vx€[0,60[

    Edit: Beaten
    Edit2: Why isn't the universal quantifier in the ascii table ffs
    Last edited by Robske; 05-28-2009 at 06:29 AM.
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." - Martin Golding
    "I cried a little earlier when I had to poop" - Sku

  5. #5
    testout's Avatar Member
    Reputation
    7
    Join Date
    May 2008
    Posts
    44
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Anyone know if GM messages appear here? Now that they popup in their own window n all...

    EDIT: and thanks for the offsets
    Last edited by testout; 05-28-2009 at 07:47 AM.

  6. #6
    HapaHaoleVA's Avatar Member
    Reputation
    4
    Join Date
    Apr 2009
    Posts
    10
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    'cause I'm just as lazy:

    Code:
    public static Regex MessageRegex = new Regex(
              "Type:\\s\\[(?<Type>\\d+)\\],\\sChannel:\\s\\[(?<Channel>.*?)" +
              "\\],\\sPlayer\\sName:\\s\\[(?<PlayerName>.*?)\\],\\sText:\\s" +
              "\\[(?<Message>.*)\\]",
            RegexOptions.CultureInvariant
            | RegexOptions.Compiled
            );

  7. #7
    luthien23's Avatar Member
    Reputation
    29
    Join Date
    Apr 2009
    Posts
    30
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by HapaHaoleVA View Post
    Code:
                   ptrNextMessage = ptrCurrentMessage + ptrNextChatMessageOffset; // Sets ptrNextMessage to the next message in the log
    
                    if (ptrNextMessage == ptrCurrentMessage)
                        break;
                    else
                        ptrCurrentMessage = ptrNextMessage;
    That condition will never be true because ptrNextChatMessageOffset is not zero.
    So it makes little sense to put it there.
    It would be better to remove that block and leave it as :

    ptrCurrentMessage += ptrNextChatMessageOffset; // Sets ptrCurrentMessage to the next message in the log

Similar Threads

  1. Chat/Guild/Whisper/Party Chat Logs?
    By Karyuudo in forum WoW EMU Questions & Requests
    Replies: 8
    Last Post: 11-28-2008, 04:04 AM
  2. How to Read Combat log or Chat log? with program?
    By riki in forum World of Warcraft General
    Replies: 0
    Last Post: 08-06-2008, 02:41 PM
  3. Anyone know how long Blizzard stores chat logs of your character?
    By skater93 in forum World of Warcraft General
    Replies: 6
    Last Post: 04-20-2008, 12:41 PM
All times are GMT -5. The time now is 12:19 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search