public class PlayerBaseData { public ushort mainServerMapIdRecord = 0; public string AccID; //_KEY_i_帐号名, 该角色所在的帐号的用户名 public uint PlayerID; //_IDT_ public string PlayerName; //size = 14 public byte GMLevel; //GM等级, 0:不是GM >=1 : GM的等级 public byte Job; //职业, public ushort LV; //等级 public uint ExpPoint; //扩充经验点数 public uint TotalExp; //总经验 public uint FamilyId; //家族 public string FamilyName; //家族名称 public uint diamond; //仙玉 public uint bindDiamond; //绑玉 public uint copper; //铜钱 public ulong allCopper { get { return (ulong)copper + (ulong)ExAttr6 * 100000000; } } public uint FightPoint; //战斗值 public ushort MapID; //角色所在地图 public ushort PosX; //角色坐标 public ushort PosY; public uint HP; //当前HP public uint FreePoint; //未分配点数 public uint FreeSkillPoint; //未分配的技能点 public int STR; //力量 public int PNE; //真元 public int PHY; //筋骨 public int CON; //体魄 public string Setting; //设定 public byte AttackMode; //攻击模式 public byte FBID; //fb id public byte realmLevel; //旧服务端官阶,现项目用于境界 public byte VIPLv; //VIP等级 public uint ExAttr1; //扩展属性1,各项目专用 public uint ExAttr2; //扩展属性2,各项目专用 public int dungeonLineId; // 副本线路id public uint ExAttr4; //扩展属性4,各项目专用 public uint CrossServerFlag; //跨服标识,大于2标识在跨服状态,值是跨服地图的datamapid public uint ExAttr6; //扩展属性6,各项目专用 public uint ExAttr7; //扩展属性7,各项目专用 public uint ExAttr8; //扩展属性8,各项目专用 public uint ExAttr9; //扩展属性9,各项目专用 public uint bubbleId; //扩展属性10,各项目专用 public uint ExAttr11; //预留的扩展属性字段,用来存放项目特定的属性 public uint ExAttr12; //预留的扩展属性字段,用来存放项目特定的属性 public uint ServerGroupId; //服务器组ID public uint ExAttr14; //预留的扩展属性字段,用来存放项目特定的属性 public uint hangTime;//现为脱机挂剩余时间 23 public uint faction; //阵营 107 public uint coinPointTotal;//已充值金额,单位分 112 public int BasicsMinimum;//基础最小攻击 public int BasicsMaxAttack;//基础最大攻击 public int BasicsLife;//基础生命 public int BasicsDefense;//基础防御 public int BasicsScoreAHit;//基础命中 public int BasicsDodge;//基础闪避 public uint equipShowSwitch;//装备显隐开关 public long treasurePotentialSp { get { return ExAttr8 * (long)100000000 + ExAttr7; } } public int godWeaponLV_1; public int godWeaponLV_2; public int godWeaponLV_3; public int godWeaponLV_4; public void UpdateData(H0102_tagCDBPlayer _serverInfo) { if (_serverInfo.socketType == ServerType.Main) { AccID = _serverInfo.AccID; PlayerID = _serverInfo.PlayerID; PlayerName = _serverInfo.PlayerName.Trim().Replace(" ", ""); GMLevel = _serverInfo.GMLevel; Job = _serverInfo.Job; LV = _serverInfo.LV; ExpPoint = _serverInfo.ExpPoint; TotalExp = _serverInfo.TotalExp; FamilyId = _serverInfo.Family; FamilyName = _serverInfo.FamilyName.Trim().Replace(" ", ""); diamond = _serverInfo.Gold; bindDiamond = _serverInfo.GoldPaper; copper = _serverInfo.Silver; MapID = _serverInfo.MapID; mainServerMapIdRecord = MapID; PosX = _serverInfo.PosX; PosY = _serverInfo.PosY; FreePoint = _serverInfo.FreePoint; FreeSkillPoint = _serverInfo.FreeSkillPoint; STR = _serverInfo.STR; PNE = _serverInfo.PNE; PHY = _serverInfo.PHY; CON = _serverInfo.CON; Setting = _serverInfo.Setting; FBID = _serverInfo.FBID; ExAttr1 = _serverInfo.ExAttr1; ExAttr2 = _serverInfo.ExAttr2; dungeonLineId = (int)_serverInfo.ExAttr3; ExAttr4 = _serverInfo.ExAttr4; CrossServerFlag = _serverInfo.ExAttr5; realmLevel = _serverInfo.OfficialRank; VIPLv = _serverInfo.VIPLv; ExAttr6 = _serverInfo.ExAttr6; ExAttr7 = _serverInfo.ExAttr7; ExAttr8 = _serverInfo.ExAttr8; ExAttr9 = _serverInfo.ExAttr9; bubbleId = _serverInfo.ExAttr10; ExAttr11 = _serverInfo.ExAttr11; ExAttr12 = _serverInfo.ExAttr12; ServerGroupId = _serverInfo.ExAttr13; ExAttr14 = _serverInfo.ExAttr14; hangTime = _serverInfo.HappyPoint; faction = _serverInfo.Faction; coinPointTotal = _serverInfo.ChangeCoinPointTotal; equipShowSwitch = _serverInfo.EquipShowSwitch; godWeaponLV_1 = (int)_serverInfo.ExAttr15; godWeaponLV_2 = (int)_serverInfo.ExAttr16; godWeaponLV_3 = (int)_serverInfo.ExAttr17; godWeaponLV_4 = (int)_serverInfo.ExAttr18; } else { PlayerName = _serverInfo.PlayerName.Trim().Replace(" ", ""); MapID = _serverInfo.MapID; dungeonLineId = (int)_serverInfo.ExAttr3; FBID = _serverInfo.FBID; PosX = _serverInfo.PosX; PosY = _serverInfo.PosY; } if (CrossServerUtility.IsCrossServer()) { if (_serverInfo.socketType == ServerType.CrossSever) { HP = _serverInfo.HP; AttackMode = _serverInfo.AttackMode; } } else { HP = _serverInfo.HP; AttackMode = _serverInfo.AttackMode; } if (PlayerDatas.Instance.hero != null) { PlayerDatas.Instance.hero.ActorInfo.familyID = FamilyId; if (CrossServerUtility.IsCrossServer()) { if (_serverInfo.socketType == ServerType.CrossSever) { PlayerDatas.Instance.hero.ActorInfo.ResetHp((int)_serverInfo.HP); } } else { PlayerDatas.Instance.hero.ActorInfo.ResetHp((int)_serverInfo.HP); } } } public void UpdateData(HA112_tagMCDBPlayer serverInfo) { AccID = serverInfo.AccID; PlayerID = serverInfo.PlayerID; PlayerName = serverInfo.PlayerName.Trim().Replace(" ", ""); GMLevel = serverInfo.GMLevel; Job = serverInfo.Job; LV = serverInfo.LV; ExpPoint = serverInfo.ExpPoint; TotalExp = serverInfo.TotalExp; FamilyId = serverInfo.Family; FamilyName = serverInfo.FamilyName.Trim().Replace(" ", ""); diamond = serverInfo.Gold; bindDiamond = serverInfo.GoldPaper; copper = serverInfo.Silver; MapID = serverInfo.MapID; if (serverInfo.socketType == ServerType.Main) { mainServerMapIdRecord = MapID; } PosX = serverInfo.PosX; PosY = serverInfo.PosY; FreePoint = serverInfo.FreePoint; FreeSkillPoint = serverInfo.FreeSkillPoint; STR = serverInfo.STR; PNE = serverInfo.PNE; PHY = serverInfo.PHY; CON = serverInfo.CON; AttackMode = serverInfo.AttackMode; FBID = serverInfo.FBID; ExAttr1 = serverInfo.ExAttr1; ExAttr2 = serverInfo.ExAttr2; dungeonLineId = (int)serverInfo.ExAttr3; ExAttr4 = serverInfo.ExAttr4; CrossServerFlag = serverInfo.ExAttr5; realmLevel = serverInfo.OfficialRank; VIPLv = serverInfo.VIPLv; ExAttr6 = serverInfo.ExAttr6; ExAttr7 = serverInfo.ExAttr7; ExAttr8 = serverInfo.ExAttr8; ExAttr9 = serverInfo.ExAttr9; bubbleId = serverInfo.ExAttr10; ExAttr11 = serverInfo.ExAttr11; ExAttr12 = serverInfo.ExAttr12; ServerGroupId = serverInfo.ExAttr13; ExAttr14 = serverInfo.ExAttr14; hangTime = serverInfo.HappyPoint; faction = serverInfo.Faction; coinPointTotal = serverInfo.ChangeCoinPointTotal; godWeaponLV_1 = (int)serverInfo.ExAttr15; godWeaponLV_2 = (int)serverInfo.ExAttr16; godWeaponLV_3 = (int)serverInfo.ExAttr17; godWeaponLV_4 = (int)serverInfo.ExAttr18; HP = serverInfo.HP; if (PlayerDatas.Instance.hero != null) { PlayerDatas.Instance.hero.ActorInfo.ResetHp((int)serverInfo.HP); } } }