少年修仙传客户端代码仓库
client_Hale
2018-11-15 486f73244f7c305c5ddc2cd608daf6edadade2a2
Fixed 0102, 0309, 0434 封包修改, 增加扩充字段
4个文件已修改
294 ■■■■■ 已修改文件
Core/GameEngine/Model/Player/Character/PlayerBaseData.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/H01_System/H0102_tagCDBPlayer.cs 188 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/H03_MainCharacter/H0309_tagPlayerLoginInfo.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/H04_Scene/H0434_tagAreaPlayerAppearEx.cs 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Player/Character/PlayerBaseData.cs
@@ -11,7 +11,7 @@
    public ushort LV;    //等级
    public ushort LVEx;    //玩家等级副本,用于转生
    public ushort LV2;    //大师等级
    public ushort ExpPoint;    //扩充经验点数
    public uint ExpPoint;    //扩充经验点数
    public uint TotalExp;    //总经验
    public uint Family;    //家族
    public string FamilyName;    //家族名称
@@ -62,8 +62,10 @@
    public int BasicsDefense;//基础防御
    public int BasicsScoreAHit;//基础命中
    public int BasicsDodge;//基础闪避
    public long treasurePotentialSp {
        get {
    public long treasurePotentialSp
    {
        get
        {
            return ExAttr8 * (long)100000000 + ExAttr7;
        }
    }
Core/NetworkPackage/ServerPack/H01_System/H0102_tagCDBPlayer.cs
@@ -1,106 +1,106 @@
using UnityEngine;
using System.Collections;
//01 02 玩家初始化#tagCDBPlayer
//01 02 玩家初始化#tagCDBPlayer
public class H0102_tagCDBPlayer : GameNetPackBasic
{
    public string AccID;    //_KEY_i_帐号名, 该角色所在的帐号的用户名
    public string AccID;    //_KEY_i_帐号名, 该角色所在的帐号的用户名
    public uint PlayerID;    //_IDT_
    public string PlayerName;    //size = 14
    public byte AccState;    //0: 未创建, 1: 创建OK,正常登录 2:封号 3:已删除
    public byte GMLevel;    //GM等级, 0:不是GM  >=1 : GM的等级
    public byte Sex;    //性别
    public byte Job;    //职业, 0.新手 1.游侠 2.战士 3.弓箭手 4.术士 5.道士
    public ushort ReincarnationLv;    // 转生等级
    public ushort LV;    //等级
    public ushort LVEx;    //玩家等级副本,用于转生
    public ushort LV2;    //大师等级
    public ushort ExpPoint;    //扩充经验点数
    public uint TotalExp;    //总经验
    public uint Family;    //家族
    public string FamilyName;    //家族名称
    public int TeamHornor;    //组队荣誉
    public int FamilyHornor;    //家族荣耀
    public int FamilyActiveValue;    //家族活跃度
    public int LastWeekFamilyActiveValue;    //上周家族活跃度
    public int CountryHornor;    //本周国家功勋值
    public int CountryLastWeekHornor;    //上周国家功勋值
    public byte AccState;    //0: 未创建, 1: 创建OK,正常登录 2:封号 3:已删除
    public byte GMLevel;    //GM等级, 0:不是GM  >=1 : GM的等级
    public byte Sex;    //性别
    public byte Job;    //职业, 0.新手 1.游侠 2.战士 3.弓箭手 4.术士 5.道士
    public ushort ReincarnationLv;    // 转生等级
    public ushort LV;    //等级
    public ushort LVEx;    //玩家等级副本,用于转生
    public ushort LV2;    //大师等级
    public uint ExpPoint;    //扩充经验点数
    public uint TotalExp;    //总经验
    public uint Family;    //家族
    public string FamilyName;    //家族名称
    public int TeamHornor;    //组队荣誉
    public int FamilyHornor;    //家族荣耀
    public int FamilyActiveValue;    //家族活跃度
    public int LastWeekFamilyActiveValue;    //上周家族活跃度
    public int CountryHornor;    //本周国家功勋值
    public int CountryLastWeekHornor;    //上周国家功勋值
    public uint Mate;
    public uint Gold;    //金子
    public uint GoldPaper;    //金票
    public uint Silver;    //银子
    public uint SilverPaper;    //银票
    public uint FightPoint;    //战斗值
    public uint HappyPoint;    //娱乐值
    public byte LineID;    //角色所在线路
    public ushort MapID;    //角色所在地图
    public ushort PosX;    //角色坐标
    public uint Gold;    //金子
    public uint GoldPaper;    //金票
    public uint Silver;    //银子
    public uint SilverPaper;    //银票
    public uint FightPoint;    //战斗值
    public uint HappyPoint;    //脱机挂时长(秒)
    public byte LineID;    //角色所在线路
    public ushort MapID;    //角色所在地图
    public ushort PosX;    //角色坐标
    public ushort PosY;
    public ushort RebornMapID;    //重生点地图ID
    public ushort RebornMapID;    //重生点地图ID
    public ushort RebornPosX;
    public ushort RebornPosY;
    public byte State;    //角色状态   1.封存 2.死亡 3.正常  以后还有陆续添加
    public uint HP;    //当前HP
    public uint XP;    //当前XP
    public ushort HPRestoreSetting;    //少于这个值%自动喝血
    public ushort MPRestoreSetting;    //少于这个值%自动喝魔
    public uint FreePoint;    //未分配点数
    public uint FreeSkillPoint;    //未分配的技能点
    public int BaseSTR;    //裸体力量
    public int BasePNE;    //裸体真元
    public int BasePHY;    //裸体筋骨
    public int BaseCON;    //裸体体魄
    public int STR;    //力量
    public int PNE;    //真元
    public int PHY;    //筋骨
    public int CON;    //体魄
    public string Setting;    //设定
    public ushort PKValue;    //衡量PK能力的一项属性,由攻防计算而得
    public ushort ActiveValue;    //击杀敌国阵营玩家和NPC的统计值
    public byte BackpackLV;    //背包等级
    public byte WarehouseLV;    //仓库等级
    public uint TeamID;    //队伍ID
    public byte UseGoldType;    //默认用金子/金票        类型为MoneyType
    public byte UseSilverType;    //默认用的银子/银票
    public byte AttackMode;    //攻击模式
    public uint LastWeekOnlineTime;    //上周在线时间
    public byte State;    //角色状态   0.正常在线1.脱机挂在线 2脱机挂死亡
    public uint HP;    //当前HP
    public uint XP;    //当前XP
    public ushort HPRestoreSetting;    //少于这个值%自动喝血
    public ushort MPRestoreSetting;    //少于这个值%自动喝魔
    public uint FreePoint;    //未分配点数
    public uint FreeSkillPoint;    //未分配的技能点
    public int BaseSTR;    //裸体力量
    public int BasePNE;    //裸体真元
    public int BasePHY;    //裸体筋骨
    public int BaseCON;    //裸体体魄
    public int STR;    //力量
    public int PNE;    //真元
    public int PHY;    //筋骨
    public int CON;    //体魄
    public string Setting;    //设定
    public ushort PKValue;    //衡量PK能力的一项属性,由攻防计算而得
    public ushort ActiveValue;    //击杀敌国阵营玩家和NPC的统计值
    public byte BackpackLV;    //背包等级
    public byte WarehouseLV;    //仓库等级
    public uint TeamID;    //队伍ID
    public byte UseGoldType;    //默认用金子/金票        类型为MoneyType
    public byte UseSilverType;    //默认用的银子/银票
    public byte AttackMode;    //攻击模式
    public uint LastWeekOnlineTime;    //上周在线时间
    public byte FBID;    //fb id
    public byte FamilyLV;    //家族等级
    public uint FriendFavor;    //好友人气值
    public uint Energy;    //精力值
    public uint EquipShowSwitch;    //装备显示开关
    public uint LuckValue;    //幸运值
    public uint ExAttr1;    //扩展属性1,各项目专用
    public uint ExAttr2;    //扩展属性2,各项目专用
    public uint ExAttr3;    //扩展属性3,各项目专用
    public uint ExAttr4;    //扩展属性4,各项目专用
    public uint ExAttr5;    //扩展属性5,各项目专用
    public byte Faction;    //阵营
    public uint InfamyValue;    //恶名值
    public byte OfficialRank;    //官阶,官职等级
    public uint ChangeCoinPointTotal;    //兑换的点数总计
    public byte VIPLv;    //VIP等级
    public byte VIPLvForPhone;    //移动VIP等级
    public uint ExAttr6;    //扩展属性6,各项目专用
    public uint ExAttr7;    //扩展属性7,各项目专用
    public uint ExAttr8;    //扩展属性8,各项目专用
    public uint ExAttr9;    //扩展属性9,各项目专用
    public uint ExAttr10;    //扩展属性10,各项目专用
    public uint ModelMark;    // 变形模型mark
    public uint ExAttr11;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr12;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr13;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr14;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint OperateInfo;    //玩家附加运营商信息
    public string Operate;    //所属运营商平台名
    public uint ServerID;    //所属区服ID
    public int BasicsMinimum;//基础最小攻击
    public int BasicsMaxAttack;//基础最大攻击
    public int BasicsLife;//基础生命
    public int BasicsDefense;//基础防御
    public int BasicsScoreAHit;//基础命中
    public int BasicsDodge;//基础闪避
    public byte FamilyLV;    //家族等级
    public uint FriendFavor;    //好友人气值
    public uint Energy;    //精力值
    public uint EquipShowSwitch;    //装备显示开关
    public uint LuckValue;    //幸运值
    public uint ExAttr1;    //扩展属性1,各项目专用
    public uint ExAttr2;    //扩展属性2,各项目专用
    public uint ExAttr3;    //扩展属性3,各项目专用
    public uint ExAttr4;    //扩展属性4,各项目专用
    public uint ExAttr5;    //扩展属性5,各项目专用
    public byte Faction;    //阵营
    public uint InfamyValue;    //恶名值
    public byte OfficialRank;    //官阶,官职等级
    public uint ChangeCoinPointTotal;    //兑换的点数总计
    public byte VIPLv;    //VIP等级
    public byte VIPLvForPhone;    //移动VIP等级
    public uint ExAttr6;    //扩展属性6,各项目专用
    public uint ExAttr7;    //扩展属性7,各项目专用
    public uint ExAttr8;    //扩展属性8,各项目专用
    public uint ExAttr9;    //扩展属性9,各项目专用
    public uint ExAttr10;    //扩展属性10,各项目专用
    public uint ModelMark;    // 变形模型mark
    public uint ExAttr11;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr12;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr13;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr14;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint OperateInfo;    //玩家附加运营商信息
    public string Operate;    //所属运营商平台名
    public uint ServerID;    //所属区服ID
    public uint ExAttr15;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr16;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr17;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr18;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr19;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr20;    //预留的扩展属性字段,用来存放项目特定的属性
    public H0102_tagCDBPlayer()
    {
@@ -120,7 +120,7 @@
        TransBytes(out LV, vBytes, NetDataType.WORD);
        TransBytes(out LVEx, vBytes, NetDataType.WORD);
        TransBytes(out LV2, vBytes, NetDataType.WORD);
        TransBytes(out ExpPoint, vBytes, NetDataType.WORD);
        TransBytes(out ExpPoint, vBytes, NetDataType.DWORD);
        TransBytes(out TotalExp, vBytes, NetDataType.DWORD);
        TransBytes(out Family, vBytes, NetDataType.DWORD);
        TransBytes(out FamilyName, vBytes, NetDataType.Chars, 33);
@@ -199,6 +199,12 @@
        TransBytes(out OperateInfo, vBytes, NetDataType.DWORD);
        TransBytes(out Operate, vBytes, NetDataType.Chars, 15);
        TransBytes(out ServerID, vBytes, NetDataType.DWORD);
        TransBytes(out ExAttr15, vBytes, NetDataType.DWORD);
        TransBytes(out ExAttr16, vBytes, NetDataType.DWORD);
        TransBytes(out ExAttr17, vBytes, NetDataType.DWORD);
        TransBytes(out ExAttr18, vBytes, NetDataType.DWORD);
        TransBytes(out ExAttr19, vBytes, NetDataType.DWORD);
        TransBytes(out ExAttr20, vBytes, NetDataType.DWORD);
    }
}
Core/NetworkPackage/ServerPack/H03_MainCharacter/H0309_tagPlayerLoginInfo.cs
@@ -12,8 +12,14 @@
    public byte Country;    //玩家国家
    public byte HavePswLV2;    //是否有二级密码
    public byte EquipCount;
    public tagLoginInfoEquip[] EquipInfo = null;    //size = EquipCount
    public tagLoginInfoEquip[] EquipInfo;    //size = EquipCount
    public uint EquipShowSwitch;    //玩家装备显示开关
    public uint ExAttr15;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr16;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr17;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr18;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr19;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr20;    //预留的扩展属性字段,用来存放项目特定的属性
    public H0309_tagPlayerLoginInfo()
    {
@@ -40,6 +46,12 @@
            TransBytes(out EquipInfo[i].UserData, vBytes, NetDataType.Chars, EquipInfo[i].UserDataLen);
        }
        TransBytes(out EquipShowSwitch, vBytes, NetDataType.DWORD);
        TransBytes(out ExAttr15, vBytes, NetDataType.DWORD);
        TransBytes(out ExAttr16, vBytes, NetDataType.DWORD);
        TransBytes(out ExAttr17, vBytes, NetDataType.DWORD);
        TransBytes(out ExAttr18, vBytes, NetDataType.DWORD);
        TransBytes(out ExAttr19, vBytes, NetDataType.DWORD);
        TransBytes(out ExAttr20, vBytes, NetDataType.DWORD);
    }
    public struct tagLoginInfoEquip
Core/NetworkPackage/ServerPack/H04_Scene/H0434_tagAreaPlayerAppearEx.cs
@@ -1,50 +1,56 @@
using UnityEngine;
using System.Collections;
//04 34 周围玩家出现合并封包#tagAreaPlayerAppearEx
//04 34 周围玩家出现合并封包#tagAreaPlayerAppearEx
public class H0434_tagAreaPlayerAppearEx : GameNetPackBasic
{
    public uint PlayerID;
    public string PlayerName;
    public byte IsAlive;    //玩家是否活着
    public ushort PosX;    // X坐标
    public ushort PosY;    // Y坐标
    public ushort Speed;    //速度
    public byte IsAlive;    //玩家是否活着
    public ushort PosX;    // X坐标
    public ushort PosY;    // Y坐标
    public ushort Speed;    //速度
    public ushort ReincarnationLv;
    public ushort LV;    //等级
    public ushort LV;    //等级
    public byte Job;
    public byte TeamLV;    //组队等级
    public uint TeamID;    //组队ID
    public byte TeamLV;    //组队等级
    public uint TeamID;    //组队ID
    public uint HP;
    public uint MaxHP;
    public byte PlayerState;    //TClientPlayerState 1. 脱机挂状态    玩家状态 打坐/马上/人镖合一
    public byte PlayerState;    //TClientPlayerState    玩家状态 打坐/马上/人镖合一
    public byte IsHideMask;
    public byte Country;    //玩家国家
    public uint FamilyID;    //家族ID
    public byte FamilyNameLen;    //家族名字
    public byte Country;    //玩家国家
    public uint FamilyID;    //家族ID
    public byte FamilyNameLen;    //家族名字
    public string FamilyName;    //size = FamilyNameLen
    public byte BuffCount;    //buff
    public tagAreaPlayerBuff[] BuffList = null;    //size = BuffCount
    public tagAreaPlayerBuff[] BuffList;    //size = BuffCount
    public byte EquipCount;
    public tagEquipInfo[] EquipInfo = null;    //size = EquipCount
    public byte IsVisible;    //是否隐身
    public uint EquipShowSwitch;    //玩家装备显示开关
    public byte FamilyMemberLV;    //家族成员等级
    public byte Faction;    //阵营
    public byte OfficialRank;    //官阶,官职等级
    public uint CurDienstgradID;    //当前装备的称号头衔ID
    public uint ModelMark;    //变形模型Mark
    public ushort PKValue;    //PKֵ
    public byte GMLevel;    //GM等级, 0:不是GM  >=1 : GM的等级
    public uint AtkInterval;    //攻击间隔
    public uint ExAttr1;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr2;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr3;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr4;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr5;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ServerID;    //所属区服ID
    public byte State;    // 0.正常在线1.脱机挂在线 2脱机挂死亡
    public tagEquipInfo[] EquipInfo;    //size = EquipCount
    public byte IsVisible;    //是否隐身
    public uint EquipShowSwitch;    //玩家装备显示开关
    public byte FamilyMemberLV;    //家族成员等级
    public byte Faction;    //阵营
    public byte OfficialRank;    //官阶,官职等级
    public uint CurDienstgradID;    //当前装备的称号头衔ID
    public uint ModelMark;    //变形模型Mark
    public ushort PKValue;    //PK值
    public byte GMLevel;    //GM等级, 0:不是GM  >=1 : GM的等级
    public uint AtkInterval;    //攻击间隔
    public uint ExAttr1;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr2;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr3;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr4;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr5;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ServerID;    //所属区服ID
    public byte State;    // 0.正常在线1.脱机挂在线 2脱机挂死亡
    public uint ExAttr15;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr16;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr17;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr18;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr19;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr20;    //预留的扩展属性字段,用来存放项目特定的属性
    public H0434_tagAreaPlayerAppearEx()
    {
@@ -111,15 +117,21 @@
        TransBytes(out ExAttr5, vBytes, NetDataType.DWORD);
        TransBytes(out ServerID, vBytes, NetDataType.DWORD);
        TransBytes(out State, vBytes, NetDataType.BYTE);
        TransBytes(out ExAttr15, vBytes, NetDataType.DWORD);
        TransBytes(out ExAttr16, vBytes, NetDataType.DWORD);
        TransBytes(out ExAttr17, vBytes, NetDataType.DWORD);
        TransBytes(out ExAttr18, vBytes, NetDataType.DWORD);
        TransBytes(out ExAttr19, vBytes, NetDataType.DWORD);
        TransBytes(out ExAttr20, vBytes, NetDataType.DWORD);
    }
    public struct tagEquipInfo
    {
        public byte Place;        //装备位置
        public uint ItemID;        //物品ID
        public byte IsSuite;        //是否已经套装化
        public byte Place;        //装备位置
        public uint ItemID;        //物品ID
        public byte IsSuite;        //是否已经套装化
        public uint UserDataLen;
        public string UserData;        // 附加数据
        public string UserData;        // 附加数据
    }
    public struct tagAreaPlayerBuff
@@ -127,7 +139,7 @@
        public byte BuffType;
        public ushort SkillID;
        public uint RemainTime;
        public uint OwnerID;        // buff来源者
        public uint OwnerID;        // buff来源者
        public byte OwnerType;
    }