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 copper; //铜钱 public ulong allCopper { get { return (ulong)copper + (ulong)copperExtend * 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 teamAutoOperateFlag; //扩展属性2,各项目专用 public int dungeonLineId; // 副本线路id public uint shield; //护盾值 public uint CrossServerFlag; //跨服标识,大于2标识在跨服状态,值是跨服地图的datamapid public uint copperExtend; //扩展属性6,各项目专用 public uint sp; //扩展属性7,各项目专用 public uint spExtend; //扩展属性8,各项目专用 public uint bubbleId; //扩展属性10,各项目专用 public uint ExAttr11; //预留的扩展属性字段,用来存放项目特定的属性 public uint ServerGroupId; //服务器组ID 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 int mater;//灵根属性——金 public int wood;//灵根属性——木 public int water;//灵根属性——水 public int fire;//灵根属性——火 public int earth;//灵根属性——土 public long treasurePotentialSp { get { return spExtend * (long)100000000 + sp; } } 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; 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; teamAutoOperateFlag = _serverInfo.ExAttr2; dungeonLineId = (int)_serverInfo.ExAttr3; shield = _serverInfo.ExAttr4; CrossServerFlag = _serverInfo.ExAttr5; realmLevel = _serverInfo.OfficialRank; VIPLv = _serverInfo.VIPLv; copperExtend = _serverInfo.ExAttr6; sp = _serverInfo.ExAttr7; spExtend = _serverInfo.ExAttr8; bubbleId = _serverInfo.ExAttr10; ExAttr11 = _serverInfo.ExAttr11; ServerGroupId = _serverInfo.ExAttr13; 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; 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; teamAutoOperateFlag = serverInfo.ExAttr2; dungeonLineId = (int)serverInfo.ExAttr3; shield = serverInfo.ExAttr4; CrossServerFlag = serverInfo.ExAttr5; realmLevel = serverInfo.OfficialRank; VIPLv = serverInfo.VIPLv; copperExtend = serverInfo.ExAttr6; sp = serverInfo.ExAttr7; spExtend = serverInfo.ExAttr8; bubbleId = serverInfo.ExAttr10; ExAttr11 = serverInfo.ExAttr11; ServerGroupId = serverInfo.ExAttr13; 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); } } }