Jump to content

explain how to get sub packet from game


Recommended Posts

hello

in client src in 

PythonNetworkStreamPhaseGame.cpp

in this function

bool CPythonNetworkStream::RecvGuild()

 i see 

    switch (GuildPacket.subheader)
    {

case GUILD_SUBHEADER_GC_LIST:
        {

how to get TPacketGCGuildSubMember

i edited to in packet.h in client src

typedef struct packet_guild_sub_member
{
    DWORD pid;
    BYTE byGrade;
    BYTE byIsGeneral;
    BYTE byJob;
    BYTE byLevel;
    DWORD dwOffer;
    BYTE byNameFlag;
    DWORD king;
} TPacketGCGuildSubMember;

from game this packet in game src  packet.h not found and 

when edit TGuildMemberPacketData in guild.h 

in guild.h

TGuildMemberPacketData

typedef struct SGuildMemberPacketData
{
    DWORD pid;
    BYTE grade;
    BYTE is_general;
    BYTE job;
    BYTE level;
    DWORD offer;
    BYTE name_flag;
    char name[CHARACTER_NAME_MAX_LEN + 1];

   DWORD king;

} TGuildMemberPacketData;

but same problem

i have SYSERR: Unknown packet header: 102, last: 75 75 in client syserr 

this code in guild.cpp

void CGuild::SendListOneToAll(DWORD pid)
{

	TPacketGCGuild pack;
	pack.header = HEADER_GC_GUILD;
	pack.size = sizeof(TPacketGCGuild);
	pack.subheader = GUILD_SUBHEADER_GC_LIST;

	pack.size += sizeof(TGuildMemberPacketData);

	char c[CHARACTER_NAME_MAX_LEN + 1];
	memset(c, 0, sizeof(c));

	auto cit = m_member.find(pid);
	if(cit == m_member.end())
	{
		return;
	}

	for(auto it = m_memberOnline.begin(); it != m_memberOnline.end(); ++it)
	{
		LPDESC d =(*it)->GetDesc();
		if(!d)
		{
			continue;
		}

		TEMP_BUFFER buf;

		buf.write(&pack, sizeof(pack));

		cit->second._dummy = 1;

		buf.write(&(cit->second), sizeof(DWORD) * 3 + 1);
		buf.write(cit->second.name.c_str(), cit->second.name.length());
		buf.write(c, CHARACTER_NAME_MAX_LEN + 1 - cit->second.name.length());
		d->Packet(buf.read_peek(), buf.size());
	}
}

i get GUILD_SUBHEADER_GC_LIST

in this but i can't understand how to change this ? to send another 

 

i edited this table.h

typedef struct SPacketDGGuildMember
{
    DWORD dwPID;
    DWORD dwGuild;
    BYTE bGrade;
    BYTE isGeneral;
    BYTE bJob;
    BYTE bLevel;
    DWORD dwOffer;
    char szName[CHARACTER_NAME_MAX_LEN + 1];
    DWORD king;
} TPacketDGGuildMember;

but same problem

Link to comment
Share on other sites

  • Replies 0
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.