package info // Point 表示坐标结构 type Point struct { X uint32 Y uint32 } // TeamInfo 战队信息 type TeamInfo struct { // 此处应包含TeamInfo的具体字段,原Java代码中未给出详细定义 // 请根据实际需求补充 } // TeamPKInfo 战队PK信息 type TeamPKInfo struct { // 此处应包含TeamPKInfo的具体字段,原Java代码中未给出详细定义 // 请根据实际需求补充 } // PeopleItemInfo 人物物品信息 type PeopleItemInfo struct { // 此处应包含PeopleItemInfo的具体字段,原Java代码中未给出详细定义 // 请根据实际需求补充 } // PetInfo 精灵信息 type PetInfo struct { // 此处应包含PetInfo的具体字段,原Java代码中未给出详细定义 // 请根据实际需求补充 } // LoginUserInfo 登录用户信息结构体 type LoginUserInfo struct { // 米米号 通过sid拿到 UserId uint64 // 注册时间(按秒的时间戳) RegisterTime uint64 // 16字节昵称 Nick [16]byte `array_serialize:"fixed_length,16"` // 暂时不明建议先给固定值0 Vip uint16 `ushort:"true"` // 暂时不明建议先给固定值15 Viped uint16 `ushort:"true"` // 暂时不明建议先给固定值0 DsFlag uint64 // 机器人人物颜色 00 rgb Color uint64 // 暂时不明建议先给固定值0 Texture uint64 // 暂时不明建议先给固定值3000 Energy uint64 `default:"3000"` // 赛尔豆 Coins uint64 // 暂时不明建议先给固定值0 FightBadge uint64 // 上线的地图id MapID uint64 // 上线的坐标 2个uint Pos Point `array_serialize:"fixed_length,8"` // 已经消耗掉的时间(秒为单位) TimeToday uint64 // 总电池限制(秒为单位) TimeLimit uint64 // 暂时不明感觉是某种活动建议先给固定值0(只能0或1) IsClothHalfDay byte // 暂时不明感觉是某种活动建议先给固定值0(只能0或1) IsRoomHalfDay byte // 暂时不明感觉是某种活动建议先给固定值0(只能0或1) IFortressHalfDay byte // 暂时不明感觉是某种活动建议先给固定值0(只能0或1) IsHQHalfDay byte // 暂时不明建议先给固定值0 LoginCount uint64 // 邀请活动建议先给固定值0 Inviter uint64 // 邀请活动建议先给固定值0 NewInviteeCount uint64 // 超no等级建议固定8 VipLevel uint64 `default:"8"` // 超no的vip值建议固定80000 VipValue uint64 `default:"80000"` // 超no的外形等级建议固定1(暂定) VipStage uint64 `default:"1"` // nono是否自动充电 建议固定1 AutoCharge uint64 `default:"1"` // 超no的结束时间建议尽可能大 VipEndTime uint64 `default:"4294967295"` // 邀请活动建议先给固定值0 FreshManBonus uint64 // 超no芯片列表*(80字节) NonoChipList [80]byte `array_serialize:"fixed_length,80"` // 50字节,默认值为3 DailyResArr [50]byte `array_serialize:"fixed_length,50"` // 教官id TeacherID uint64 // 学员id StudentID uint64 // 毕业人数 GraduationCount uint64 // 默认值为0 MaxPuniLv uint64 `default:"0"` // 精灵的最高等级 PetMaxLevel uint64 // 所有的精灵的数量 AllPetNumber uint64 // 精灵王之战胜场 MonKingWin uint64 // 勇者之塔当前到达的层数 CurrentStage uint64 // 试炼之塔最大胜利的层数 MaxStage uint64 // 试炼之塔当前到达的层数 CurrentFreshStage uint64 // 试炼之塔最大胜利的层数 MaxFreshStage uint64 // 星际擂台连胜 MaxArenaWins uint64 // 未知默认0 TwoTimes uint64 `default:"0"` // 未知默认0 ThreeTimes uint64 `default:"0"` // 是否自动战斗(未知默认值0) AutoFight uint64 `default:"0"` // 自动战斗剩余的场次(未知默认值0) AutoFightTime uint64 `default:"0"` // 能量吸收仪剩余次数(未知待定默认值0) EnergyTime uint64 `default:"0"` // 学习力吸收仪剩余次数(未知待定默认值0) LearnTimes uint64 `default:"0"` // 未知默认0 MonBattleMedal uint64 `default:"0"` // 未知默认0 RecordCount uint64 `default:"0"` // 未知默认0 ObtainTm uint64 `default:"0"` // 当前在孵化的元神珠id SoulBeadItemID uint64 // 未知默认0 ExpireTm uint64 `default:"0"` // 未知默认0 FuseTimes uint64 `default:"0"` // 玩家有没有nono HasNono uint64 `default:"1"` // 玩家有没有超能nono SuperNono uint64 `default:"1"` // 默认值-1 NonoState uint64 `default:"4294967295"` // nono的颜色 NonoColor uint64 // nono的名字 必须要补齐到16位 NonoNick [16]byte `array_serialize:"fixed_length,16"` // 猜测为战队信息24字节 TeamInfo TeamInfo `array_serialize:"fixed_length,24"` // 8字节 TeamPkInfo TeamPKInfo `array_serialize:"fixed_length,8"` // 1字节 无内容 Reserved byte // 默认值为0 Badge uint64 `default:"0"` // 未知(27字节,默认值为3) Reserved1 [27]byte `array_serialize:"fixed_length,27"` // 任务状态数组(500字节,3为已经完成,建议默认值为3) TaskList [500]byte `array_serialize:"fixed_length,500"` // 精灵背包内的信息由于特性精灵的存在精灵背包不定长 如果有特性占199字节 如果没特性 一个精灵占175字节 PetList []PetInfo // 穿戴装备 8字节 Clothes []PeopleItemInfo } // NewLoginUserInfo 创建新的登录用户信息实例,设置默认值 func NewLoginUserInfo() *LoginUserInfo { info := &LoginUserInfo{ Vip: 0, Viped: 15, Energy: 3000, VipLevel: 8, VipValue: 80000, VipStage: 1, AutoCharge: 1, VipEndTime: uint64(^uint32(0)), TwoTimes: 0, ThreeTimes: 0, AutoFight: 0, AutoFightTime: 0, EnergyTime: 0, LearnTimes: 0, MonBattleMedal: 0, RecordCount: 0, ObtainTm: 0, ExpireTm: 0, FuseTimes: 0, HasNono: 1, SuperNono: 1, NonoState: uint64(^uint32(0)), Badge: 0, } // 初始化固定长度数组 for i := range info.NonoChipList { info.NonoChipList[i] = 0 } for i := range info.DailyResArr { info.DailyResArr[i] = 3 } for i := range info.Reserved1 { info.Reserved1[i] = 3 } for i := range info.TaskList { info.TaskList[i] = 3 } // 初始化nono昵称 copy(info.NonoNick[:], "nono") return info }