Page 1 of 1

Packet Parsing & Handling

Posted: Wed Jan 21, 2015 11:17 pm
by akanieski
Ello!

Max had noted that the party leader flag is not being sent to the client. I assume this is why the leader of a party cannot click the "Make Leader" button.

I think either the F_CHARACTER_INFO or the F_GROUP_STATUS packets update this flag.. I tried tweaking the F_CHARACTER_INFO packet in any unknown byte spots. But couldn't find anything that seemed to mark the party leader.

I think that this flag is being sent over in the F_GROUP_STATUS packet. I also see WarEmu has nothing to handle/send this packet to the client..

Does anyone have any info about F_GROUP_STATUS?

Re: Packet Parsing & Handling

Posted: Thu Jan 22, 2015 3:17 am
by akanieski
Does this mean anything to anyone who understands the packet structures? I'm looking for more info on F_GROUP_STATUS :|

Code: Select all

public List<Player> Members = new List<Player>();
 
        public void Update()
        {
            Log.Debug("Group", "Updating Group");
 
            if(Leader == null)
                SetLeader(Members.First());
 
            PacketOut Out = new PacketOut((byte)Opcodes.F_CHARACTER_INFO); // 03 68 BE
            Out.WritePacketString(@"|06 02 87 22 04 9C E4 6C 0F 19 0F 28 00 |.........l...(.|
|0E 02 00 00 01 07 00 00 00 44 61 73 63 6F 75 62 |.........Dascoub|
|08 00 00 00 56 6F 78 20 49 72 61 65 B0 60 B5 81 |....Vox Irae.`..|
|01 DC 57 88 55 13 40 01 02 D8 01 03 64 64 0F CC |[email protected]..|
|CF 82 01 0F 1B 0F 28 00 0F 02 01 00 01 06 00 00 |......(.........|
|00 48 61 73 61 72 64 08 00 00 00 56 6F 78 20 49 |.Hasard....Vox I|
|72 61 65 B9 5F DE 81 01 DC 57 9B A9 00 00 01 02 |rae._....W...?..|
|D8 01 03 64 56 06 C6 A1 96 01 0F 18 06 13 00 0D |...dV...........|
|02 00 00 01 06 00 00 00 48 75 7A 61 72 72 00 00 |........Huzarr..|
|00 00 CD DF 02 E5 F5 01 E7 87 01 0E A5 65 40 01 |.............e@.|
|02 C2 02 03 64 64 00 B7 D6 5A 0F 18 04 28 00 0D |....dd...Z...(..|
|02 00 00 01 07 00 00 00 52 68 65 6E 64 61 72 08 |........Rhendar.|
|00 00 00 56 6F 78 20 49 72 61 65 D2 7C EA 82 01 |...Vox Irae.[...|
|DC 57 38 0D B9 3F 01 02 D8 01 03 64 54 00       |..............  |");
 
 
            SendToGroup(Out);
 
            Out = new PacketOut((byte)Opcodes.F_CHARACTER_INFO);
            Out.WritePacketString(@"|06 04 87 22 9C E4 6C CA 5A 00 CC CF 82 |........l.Z....|
|01 E0 21 00 00 B7 D6 5A 82 18 00 00 00          |.............   |");
 
            SendToGroup(Out);
           
            /*     Loot Rules */
            Out = new PacketOut((byte)Opcodes.F_GROUP_STATUS);
            Out.WritePacketString(@"|11 07 01 FF 00 02 00 00 00 00 01 01 00 |................|
|1B 32 1C 00 1B 32 00                            |.......         |");
 
            SendToGroup(Out);
           
               
             Out = new PacketOut((byte)Opcodes.F_GROUP_STATUS);
            Out.WritePacketString(@"|11 07 02 FF 00 00 00 00                |...........     |");
 
            SendToGroup(Out);
 
             Out = new PacketOut(0x33);
            Out.WritePacketString(@"|07 C6 90 25 92 A6 1D 96 F3 10 F4 09 01 |..3...%.........|
|00 00 00 01 00 00 00 65 00 00 00 01 59 64 00 00 |.......e....Yd..|   ");
 
            SendToGroup(Out);
 
 
             Out = new PacketOut(0x33);
            Out.WritePacketString(@"|01 01 00 00 00 04 02 00 00 02 00 03 00 |.)t.............|
|00 00 00 00 00 00 01 00 01 00 00 01 F4 00 00 00 |................|
|19 02 00 01 00 00 01 F4 00 00 00 00             |............    |");
 
            SendToGroup(Out);
 
}

Re: Packet Parsing & Handling

Posted: Sun Jan 25, 2015 3:07 am
by chaoscode
Look at the function called SendWhosLeader. It most likely is missing some kind of opcode that is sent to the client to set the group leader visually.

Re: Packet Parsing & Handling

Posted: Sun Jan 25, 2015 4:03 am
by MazeR1337
Ooo

Re: Packet Parsing & Handling

Posted: Sun Jan 25, 2015 7:30 am
by Londo
You can also try working from client side. Group UI code is in interface\ea_groupwindow\source\groupwindow.lua. Group leader is set by calling BroadcastEvent( SystemData.Events.GROUP_SET_LEADER ). I would simply try calling that manually with custom addon and see what packet is sent to the server. Then search all the packet logs for similar packet.

Re: Packet Parsing & Handling

Posted: Sun Jan 25, 2015 1:50 pm
by akanieski
Londo wrote:You can also try working from client side. Group UI code is in interface\ea_groupwindow\source\groupwindow.lua. Group leader is set by calling BroadcastEvent( SystemData.Events.GROUP_SET_LEADER ). I would simply try calling that manually with custom addon and see what packet is sent to the server. Then search all the packet logs for similar packet.
My /Interface/ folder only has /AddOns/ in it?

Re: Packet Parsing & Handling

Posted: Sun Jan 25, 2015 1:53 pm
by akanieski

Re: Packet Parsing & Handling

Posted: Sun Jan 25, 2015 3:13 pm
by Luth
You need to unpack the interface.myp in the WAR folder.