guild support for DoF and KoS clients
This commit is contained in:
parent
9b9777257f
commit
d1cee32a3e
@ -11322,7 +11322,7 @@ to zero and treated like placeholders." />
|
||||
<Struct Name="WS_GuildMembershipResponse" ClientVersion="1" OpcodeName="OP_GuildMembershipResponseMsg">
|
||||
<Data ElementName="guild_id" Type="int32" Size="1" />
|
||||
<Data ElementName="character_id_to" Type="int32" Size="1" />
|
||||
<Data ElementName="num_membersx" Type="int32" Size="1" />
|
||||
<Data ElementName="num_members" Type="int32" Size="1" />
|
||||
<Data ElementName="member_array" Type="Array" ArraySizeVariable="num_members" >
|
||||
<Data ElementName="character_id" Type="int32" Size="1" />
|
||||
<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
|
||||
@ -11330,14 +11330,17 @@ to zero and treated like placeholders." />
|
||||
<Data ElementName="adventure_level" Type="int32" Size="1" />
|
||||
<Data ElementName="tradeskill_class" Type="int32" Size="1" />
|
||||
<Data ElementName="tradeskill_level" Type="int32" Size="1" />
|
||||
<Data ElementName="rank" Type="int8" Size="1" />
|
||||
<Data ElementName="member_flags" Type="int8" Size="1" />
|
||||
<Data ElementName="rank" Type="int32" Size="1" />
|
||||
<Data ElementName="guild_status" Type="int32" Size="1" />
|
||||
<Data ElementName="recruiter_id" Type="int32" Size="1" />
|
||||
<Data ElementName="last_login" Type="int32" Size="1" />
|
||||
<Data ElementName="member_flags" Type="int32" Size="1" />
|
||||
<Data ElementName="unknown3" Type="int8" Size="1" />
|
||||
<Data ElementName="unknown2" Type="int8" Size="1" />
|
||||
<Data ElementName="zone" Type="EQ2_16Bit_String" Size="1" />
|
||||
<Data ElementName="unknown4" Type="int8" Size="10" />
|
||||
<Data ElementName="note" Type="EQ2_16Bit_String" Size="1" />
|
||||
<Data ElementName="officer_note" Type="EQ2_16Bit_String" Size="1" />
|
||||
<Data ElementName="account_id" Type="int32" Size="1" />
|
||||
<Data ElementName="unknown5_accountid" Type="int8" Size="4" />
|
||||
</Data>
|
||||
<Data ElementName="unknown7" Type="int16" Size="1" />
|
||||
</Struct>
|
||||
@ -11430,35 +11433,39 @@ to zero and treated like placeholders." />
|
||||
<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
|
||||
<Data ElementName="adventure_class" Type="int32" Size="1" />
|
||||
<Data ElementName="adventure_level" Type="int32" Size="1" />
|
||||
<Data ElementName="rank" Type="int8" Size="1"/>
|
||||
<Data ElementName="member_flags" Type="int8" Size="1" />
|
||||
<Data ElementName="unknown2" Type="int8" Size="2" />
|
||||
<Data ElementName="points" Type="float" Size="1" />
|
||||
<Data ElementName="last_login" Type="int32" Size="1" />
|
||||
<Data ElementName="tradeskill_class" Type="int32" Size="1" />
|
||||
<Data ElementName="tradeskill_level" Type="int32" Size="1" />
|
||||
<Data ElementName="rank" Type="int32" Size="1" />
|
||||
<Data ElementName="guild_status" Type="int32" Size="1" />
|
||||
<Data ElementName="last_login" Type="int32" Size="1" />
|
||||
<Data ElementName="member_flagsx" Type="int32" Size="1" />
|
||||
<Data ElementName="unknown3" Type="int8" Size="1" />
|
||||
<Data ElementName="unknown2" Type="int8" Size="1" />
|
||||
<Data ElementName="zone" Type="EQ2_16Bit_String" Size="1" />
|
||||
<Data ElementName="unknown4" Type="int8" Size="10" />
|
||||
<Data ElementName="note" Type="EQ2_16Bit_String" Size="1" />
|
||||
<Data ElementName="officer_note" Type="EQ2_16Bit_String" Size="1" />
|
||||
<Data ElementName="unknown5_accountid" Type="int8" Size="4" />
|
||||
</Struct>
|
||||
<Struct Name="WS_JoinGuildNotify" ClientVersion="546" OpcodeName="OP_JoinGuildNotifyMsg">
|
||||
<Data ElementName="guild_id" Type="int32" Size="1" />
|
||||
<Data ElementName="character_id" Type="int32" Size="1" />
|
||||
<Data ElementName="account_id" Type="int32" Size="1" />
|
||||
<Data ElementName="name" Type="EQ2_16Bit_String" Size="1" />
|
||||
<Data ElementName="unknown2" Type="int8" Size="1" />
|
||||
<Data ElementName="unknown3" Type="int8" Size="1" />
|
||||
<Data ElementName="adventure_class" Type="int8" Size="1" />
|
||||
<Data ElementName="adventure_level" Type="int8" Size="1" />
|
||||
<Data ElementName="tradeskill_class" Type="int8" Size="1" />
|
||||
<Data ElementName="tradeskill_level" Type="int8" Size="1" />
|
||||
<Data ElementName="rank" Type="int8" Size="1"/>
|
||||
<Data ElementName="member_flags" Type="int8" Size="1" />
|
||||
<Data ElementName="join_date" Type="int32" Size="1" />
|
||||
<Data ElementName="adventure_class" Type="int32" Size="1" />
|
||||
<Data ElementName="adventure_level" Type="int32" Size="1" />
|
||||
<Data ElementName="tradeskill_class" Type="int32" Size="1" />
|
||||
<Data ElementName="tradeskill_level" Type="int32" Size="1" />
|
||||
<Data ElementName="rank" Type="int32" Size="1" />
|
||||
<Data ElementName="guild_status" Type="int32" Size="1" />
|
||||
<Data ElementName="last_login" Type="int32" Size="1" />
|
||||
<Data ElementName="recruiter_id" Type="int32" Size="1" />
|
||||
<Data ElementName="points" Type="float" Size="1" />
|
||||
<Data ElementName="member_flagsx" Type="int32" Size="1" />
|
||||
<Data ElementName="unknown3" Type="int8" Size="1" />
|
||||
<Data ElementName="unknown2" Type="int8" Size="1" />
|
||||
<Data ElementName="zone" Type="EQ2_16Bit_String" Size="1" />
|
||||
<Data ElementName="unknown4" Type="int8" Size="10" />
|
||||
<Data ElementName="note" Type="EQ2_16Bit_String" Size="1" />
|
||||
<Data ElementName="officer_note" Type="EQ2_16Bit_String" Size="1" />
|
||||
<Data ElementName="unknown5_accountid" Type="int8" Size="4" />
|
||||
</Struct>
|
||||
<Struct Name="WS_JoinGuildNotify" ClientVersion="910" OpcodeName="OP_JoinGuildNotifyMsg">
|
||||
<Data ElementName="guild_id" Type="int32" Size="1" />
|
||||
@ -11515,11 +11522,51 @@ to zero and treated like placeholders." />
|
||||
<Data ElementName="guild_name" Type="EQ2_16Bit_String" Size="1" />
|
||||
<Data ElementName="guild_motd" Type="EQ2_16Bit_String" Size="1" />
|
||||
<Data ElementName="guild_id" Type="int32" Size="1" />
|
||||
<Data ElementName="guild_type" Type="int8" Size="1" />
|
||||
<Data ElementName="unknownx" Type="int8" Size="2" />
|
||||
<Data ElementName="guild_level" Type="int32" Size="1" />
|
||||
<Data ElementName="unknown" Type="int32" Size="1" />
|
||||
<Data ElementName="formed_date" Type="int32" Size="1" />
|
||||
<Data ElementName="unique_accounts" Type="int32" Size="1" />
|
||||
<Data ElementName="exp_current" Type="int64" Size="1" />
|
||||
<Data ElementName="exp_to_next_level" Type="int64" Size="1" />
|
||||
<Data ElementName="event_filter_retain1" Type="int32" Size="1" />
|
||||
<Data ElementName="event_filter_retain2" Type="int32" Size="1" />
|
||||
<Data ElementName="event_filter_broadcast1" Type="int32" Size="1" />
|
||||
<Data ElementName="event_filter_broadcast2" Type="int32" Size="1" />
|
||||
<Data ElementName="event_filter_broadcast3" Type="int32" Size="1" />
|
||||
<Data ElementName="recuiting_short_description" Type="EQ2_16Bit_String" />
|
||||
<Data ElementName="recruiting_full_description" Type="EQ2_16Bit_String" />
|
||||
<Data ElementName="rank0_name" Type="EQ2_16Bit_String" Size="1" />
|
||||
<Data ElementName="rank0_permissions1" Type="int32" Size="1" />
|
||||
<Data ElementName="rank0_permissions2" Type="int32" Size="1" />
|
||||
<Data ElementName="rank0_permissions_unused" Type="int8" Size="48" />
|
||||
<Data ElementName="rank1_name" Type="EQ2_16Bit_String" Size="1" />
|
||||
<Data ElementName="rank1_permissions1" Type="int32" Size="1" />
|
||||
<Data ElementName="rank1_permissions2" Type="int32" Size="1" />
|
||||
<Data ElementName="rank1_permissions_unused" Type="int8" Size="48" />
|
||||
<Data ElementName="rank2_name" Type="EQ2_16Bit_String" Size="1" />
|
||||
<Data ElementName="rank2_permissions1" Type="int32" Size="1" />
|
||||
<Data ElementName="rank2_permissions2" Type="int32" Size="1" />
|
||||
<Data ElementName="rank2_permissions_unused" Type="int8" Size="48" />
|
||||
<Data ElementName="rank3_name" Type="EQ2_16Bit_String" Size="1" />
|
||||
<Data ElementName="rank3_permissions1" Type="int32" Size="1" />
|
||||
<Data ElementName="rank3_permissions2" Type="int32" Size="1" />
|
||||
<Data ElementName="rank3_permissions_unused" Type="int8" Size="48" />
|
||||
<Data ElementName="rank4_name" Type="EQ2_16Bit_String" Size="1" />
|
||||
<Data ElementName="rank4_permissions1" Type="int32" Size="1" />
|
||||
<Data ElementName="rank4_permissions2" Type="int32" Size="1" />
|
||||
<Data ElementName="rank4_permissions_unused" Type="int8" Size="48" />
|
||||
<Data ElementName="rank5_name" Type="EQ2_16Bit_String" Size="1" />
|
||||
<Data ElementName="rank5_permissions1" Type="int32" Size="1" />
|
||||
<Data ElementName="rank5_permissions2" Type="int32" Size="1" />
|
||||
<Data ElementName="rank5_permissions_unused" Type="int8" Size="48" />
|
||||
<Data ElementName="rank6_name" Type="EQ2_16Bit_String" Size="1" />
|
||||
<Data ElementName="rank6_permissions1" Type="int32" Size="1" />
|
||||
<Data ElementName="rank6_permissions2" Type="int32" Size="1" />
|
||||
<Data ElementName="rank6_permissions_unused" Type="int8" Size="48" />
|
||||
<Data ElementName="rank7_name" Type="EQ2_16Bit_String" Size="1" />
|
||||
<Data ElementName="rank7_permissions1" Type="int32" Size="1" />
|
||||
<Data ElementName="rank7_permissions2" Type="int32" Size="1" />
|
||||
<Data ElementName="rank7_permissions_unused" Type="int8" Size="48" />
|
||||
</Struct>
|
||||
<Struct Name="WS_GuildUpdate" ClientVersion="562" OpcodeName="OP_GuildUpdateMsg">
|
||||
<Data ElementName="guild_name" Type="EQ2_16Bit_String" Size="1" />
|
||||
|
@ -1826,8 +1826,9 @@ void Guild::SendGuildUpdate(Client* client) {
|
||||
packet->setMediumStringByName("bank2_name", banks[1].name.c_str());
|
||||
packet->setMediumStringByName("bank3_name", banks[2].name.c_str());
|
||||
packet->setMediumStringByName("bank4_name", banks[3].name.c_str());
|
||||
//DumpPacket(packet->serialize());
|
||||
client->QueuePacket(packet->serialize());
|
||||
EQ2Packet* pack = packet->serialize();
|
||||
//DumpPacket(pack);
|
||||
client->QueuePacket(pack);
|
||||
safe_delete(packet);
|
||||
}
|
||||
}
|
||||
@ -2011,17 +2012,21 @@ void Guild::GuildMemberLogin(Client *client, bool first_login) {
|
||||
|
||||
assert(client);
|
||||
|
||||
|
||||
UpdateGuildMemberInfo(client->GetPlayer());
|
||||
if (first_login)
|
||||
SendGuildMOTD(client);
|
||||
SendGuildUpdate(client);
|
||||
if (first_login)
|
||||
SendGuildMember(client->GetPlayer(), false);
|
||||
if(client->GetVersion() > 561) {
|
||||
if (first_login)
|
||||
SendGuildMember(client->GetPlayer(), false);
|
||||
}
|
||||
SendGuildRecruiterInfo(client, client->GetPlayer());
|
||||
SendGuildEventList(client);
|
||||
SendGuildBankEventList(client);
|
||||
SendGuildMember(client->GetPlayer());
|
||||
SendGuildEventDetails(client);
|
||||
SendGuildUpdate(client);
|
||||
|
||||
uchar blah5[] = {/*0xFF,0x09,0x01,*/0x01,0x00,0x00,0x00,0x00,0x00,0x00};
|
||||
uchar blah6[] = {/*0xFF,0x09,0x01,*/0x01,0x00,0x00,0x00,0x01,0x00,0x00};
|
||||
uchar blah7[] = {/*0xFF,0x09,0x01,*/0x01,0x00,0x00,0x00,0x02,0x00,0x00};
|
||||
@ -2032,13 +2037,19 @@ void Guild::GuildMemberLogin(Client *client, bool first_login) {
|
||||
//DumpPacket(blah7, sizeof(blah7));
|
||||
//DumpPacket(blah8, sizeof(blah8));
|
||||
|
||||
client->QueuePacket(new EQ2Packet(OP_RequestGuildBankEventDetailsMs, blah5, sizeof(blah5)));
|
||||
client->QueuePacket(new EQ2Packet(OP_RequestGuildBankEventDetailsMs, blah6, sizeof(blah6)));
|
||||
client->QueuePacket(new EQ2Packet(OP_RequestGuildBankEventDetailsMs, blah7, sizeof(blah7)));
|
||||
client->QueuePacket(new EQ2Packet(OP_RequestGuildBankEventDetailsMs, blah8, sizeof(blah8)));
|
||||
if(client->GetVersion() > 561) {
|
||||
client->QueuePacket(new EQ2Packet(OP_RequestGuildBankEventDetailsMs, blah5, sizeof(blah5)));
|
||||
client->QueuePacket(new EQ2Packet(OP_RequestGuildBankEventDetailsMs, blah6, sizeof(blah6)));
|
||||
client->QueuePacket(new EQ2Packet(OP_RequestGuildBankEventDetailsMs, blah7, sizeof(blah7)));
|
||||
client->QueuePacket(new EQ2Packet(OP_RequestGuildBankEventDetailsMs, blah8, sizeof(blah8)));
|
||||
}
|
||||
|
||||
if (first_login)
|
||||
SendAllGuildEvents(client);
|
||||
SendGuildMemberList(client);
|
||||
if(client->GetVersion() > 561) {
|
||||
SendGuildMemberList(client);
|
||||
}
|
||||
|
||||
if (first_login) {
|
||||
snprintf(buf, sizeof(buf), "Guildmate: %s has logged in", client->GetPlayer()->GetName());
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user