Silkroad Chat Packet

  • Hallo stagetwo,


    ich bins wieder :D
    Zwar geht es diesmal um die Chat Packete.
    Global,-Pm -chat habe ich schon.


    Beim [Public]-Chat gibt er mir die SpielerID aus und ein komisches Symbol.


    Der Public chat ist so aufgebaut

    Code
    1. 01 chatmode
    2. 5E62F471 id of chatter
    3. 09 00 length
    4. 746573746368617431 message


    Der Global chat ist so aufgebaut

    Code
    1. 02 / 06 chatmode 02 PM// 06 Global
    2. 08 00 name length
    3. 62657461626F6F6E name
    4. 09 00 msg length
    5. 746573746368617432 msg


    Code
    1. [S -> C][3026]
    2. 01 ................
    3. 9D 82 6E 00 ..n.............
    4. 04 00 ................
    5. 74 65 73 74 test............


    So lese ich Sie vergebens aus:

  • Die ID, von dem die Nachricht kommt, ist 4 Bytes lang, also musst du


    Code
    1. ushort allchatter = packet.ReadUInt16();


    einfach nur durch


    Code
    1. uint allchatter = packet.ReadUInt32();


    ersetzen.


    Edit: Falls du den Namen von der ID auch haben willst, musst du vorher die 3015/3019er Packets parsen und dir die ID's und die zugehörigen Namen speichern. Dann kannst du einfach der ID vom Chat Packet den Namen zuweisen.