mirror of
https://github.com/MikuLeaks/MikuSB.git
synced 2026-06-04 12:03:57 +00:00
Fixed an issue where adding too many support cards could prevent users from logging in.
This commit is contained in:
@@ -10,18 +10,41 @@ public class PacketRspLogin : BasePacket
|
||||
{
|
||||
private static readonly Logger Logger = new("RspLogin");
|
||||
|
||||
public PacketRspLogin(PlayerInstance player) : base(CmdIds.RspLogin)
|
||||
public PacketRspLogin(PlayerInstance player, bool includeSupportCards = true) : base(CmdIds.RspLogin)
|
||||
{
|
||||
var characterCount = player.CharacterManager.CharacterData.Characters.Count;
|
||||
var itemCount = player.InventoryManager.InventoryData.Items.Count;
|
||||
var skinCount = player.InventoryManager.InventoryData.Skins.Count;
|
||||
var weaponCount = player.InventoryManager.InventoryData.Weapons.Count;
|
||||
var supportCardCount = player.InventoryManager.InventoryData.SupportCards.Count;
|
||||
var attrCount = player.Data.Attrs.Count;
|
||||
var strAttrCount = player.Data.StrAttrs.Count;
|
||||
var showItemCount = player.Data.ShowItems.Count;
|
||||
|
||||
var proto = new RspLogin
|
||||
{
|
||||
Timestamp = (uint)Extensions.GetUnixSec(),
|
||||
WorldChannel = 1,
|
||||
AreaId = 1,
|
||||
Data = player.ToPlayerProto(),
|
||||
Data = player.ToPlayerProto(includeSupportCards),
|
||||
NeedRename = false
|
||||
};
|
||||
|
||||
var bytes = Google.Protobuf.MessageExtensions.ToByteArray(proto);
|
||||
Logger.Info(
|
||||
"RspLogin content: " +
|
||||
$"characters={characterCount}, " +
|
||||
$"items={itemCount}, " +
|
||||
$"skins={skinCount}, " +
|
||||
$"weapons={weaponCount}, " +
|
||||
$"supportCards={supportCardCount}, " +
|
||||
$"supportCardsInRspLogin={(includeSupportCards ? supportCardCount : 0)}, " +
|
||||
$"attrs={attrCount}, " +
|
||||
$"strAttrs={strAttrCount}, " +
|
||||
$"showItems={showItemCount}, " +
|
||||
$"protoItems={proto.Data.Items.Count}, " +
|
||||
$"protoAttrs={proto.Data.Attrs.Count}, " +
|
||||
$"protoStrAttrs={proto.Data.StrAttrs.Count}");
|
||||
Logger.Info($"RspLogin proto size: {bytes.Length} bytes");
|
||||
|
||||
SetData(bytes);
|
||||
|
||||
Reference in New Issue
Block a user