/*这里是各种实体的属性的定义 *定义规则是: * 为了客户端的解析麻烦,不要使用word,byte等1,2个字节的长度 * 整数(有符号,无符号)都用n开头,比如nSex * 长整形用l开头,比如lExp * buff用 a开头(array),比如int aUserQuest[64]; */ #pragma once #pragma pack(4) typedef struct tagEntityData { unsigned int nID; // 玩家的actorid或者怪物ID int nPosX; // 位置x int nPosY; // 位置y int nModelId; // 模型ID unsigned int nIcon; // 头像ID int nDir; // 实体的朝向 }ENTITYDATA, *PENTITYDATA; typedef struct tagCreatureData { unsigned int nLevel; //等级 unsigned int nHp; //当前血 unsigned int nMp; //当前蓝 unsigned int nState; //实体当前的状态 unsigned int nColor; //实体的颜色 unsigned int nMaxHp; //最大血(生命) unsigned int nMaxMp; //最大蓝(内力) int nPhysicalAttackMin; //最小物理攻击 int nPhysicalAttackMax; //最大物理攻击 int nMagicAttackMin; //最小魔法攻击 int nMagicAttackMax; //最大魔法攻击 int nWizardAttackMin; //最小道术攻击 int nWizardAttackMax; //最大道术攻击 int nHysicalDefenceMin; //最小物理防御 int nHysicalDefenceMax; //最大物理防御 int nMagicDefenceMin; //最小魔法防御 int nMagicDefenceMax; //最大魔法防御 int nHitrate; //物理命中 int nDogerate; //物理闪避 int nMagicHitRate; //魔法命中 int nMagicDogerate; //魔法闪避 unsigned int nHpRateRenew; //生命万分比恢复 unsigned int nMpRateRenew; //魔法万分比恢复 unsigned int nMoveOneSlotTime; //移动1格需要的时间,也就是移动速度,如果是0表示不能移动 unsigned int nAttackSpeed; //增加了攻击速度 int nLuck; //幸运 int nHpRenew; //生命恢复 int nMpRenew; //魔法恢复 int n34; }CREATUREDATA,*PCREATUREDATA; //怪物的基本数据 typedef struct tagMonsterData { int nBornPointID; // 怪物的出生点 int nLevelDifference; // 小队平均等级与副本推荐的等级差(用在副本根据组队玩家等级来设置怪物攻击、防御相关属性) int nHpRenewValue; // 怪物出生的血量比例 int nLiveTime; // 怪物生命到期时间(0-无生命期限) int nCircle; // 转生 unsigned int nMonsterBeLongId; // 怪物归属Id } MONSTERDATA, *PMONSTERDATA; //这些都是玩家的数据,但是不存盘 typedef struct tagActorHeadPartData { unsigned int nMonsterModleId; //怪物模型id int nTeamOutput; //团队副本输出伤害 int nTeamID; //团队副本(团队ID) int nTeamFBID; //团队副本(副本ID) float fDecuctDamage; //伤害减免 float fAbsorbDamage; //伤害吸收 int nWeaponAppearance; //武器的外观 int nSwingAppearce; //翅膀的外观 unsigned int nSoldierSoulAppearance; //兵魂外观 unsigned int nWeaponId; //武器物品id }ACTORHEADPARTDATA,*PACTORHEADPARTDATA; //人和英雄的共有的数据 typedef struct tagActorHeroCommonData { unsigned int nSex; //男女 unsigned int nVocation; // 职业 unsigned int nBattlePower; //玩家的战力 unsigned int nCircle; //转生次数 }ACTORHEROCOMMONDATA,*PACTORHEROCOMMONDATA; typedef struct tagActorDbPardData { unsigned int nPkMod; //玩家的pk模式 unsigned int nSex; //性别 unsigned int nVocation; //职业 unsigned long long lExp; //经验 int nPKValue; //玩家的pk值(杀戮值) unsigned int nBagGridCount; //背包的格子数量 unsigned int nMonthCardTime; //月卡到期时间 unsigned int nMedicineCardTime; //大药月卡到期时间 unsigned int nBindCoin; //绑定金钱 unsigned int nNonBindCoin; //非绑定金钱 --金币 unsigned int nBindYuanbao; //绑定元宝 unsigned int nNonBindYuanbao; //非绑定元宝 -银两 unsigned int nEvilPkStatus; //恶意PK状态 unsigned int nGuildID; //帮派的ID unsigned int nTeamID; //队伍的ID unsigned int nSocialMask; //社会关系的mask,是一些bit位合用的 unsigned int nGuildExp; //玩家个人当前的贡献度 unsigned int nGmLevel; //gm等级 unsigned int nDefaultSkillID; //玩家的默认技能的ID LONGLONG lMultiExpUnused; //未使用的多倍经验,64位的 int achievepoint; //累计功勋(玩家的成就点) unsigned int nCurCustomTitle; //当前自定义称号 unsigned int nMeritoriousDay; //每日功勋 unsigned int nForeverCardFlag; //免费特权(第0位)及永久卡(第1位)的开启标志 unsigned int nActivity; //玩家的活跃度 unsigned nDrawYbCount; //提取元宝数目 unsigned int nBattlePower; //玩家的战力 unsigned int nRecoverState; //转生阶 unsigned int nLootPetId; //宠物id unsigned int nLastLoginOpendayNo_; //上次登录是开服的第几天 unsigned int nPersonBossJifen; //个人BOSS积分(开服活动) unsigned int nDeportGridCount ; //仓库的格子数目(原始大小+ 购买大小) unsigned int nCircle; //转生次数 unsigned int nCircleSoul; //转生灵魄 unsigned int nAnger; //怒气 低两位表示当前怒气值 高两位表示最大怒气值 unsigned int nCheckIns; //签到次数 unsigned int nPrestige; //声望 unsigned int nBless; //当前祝福值 unsigned int nCardAwardFlag; //免费特权(第0位)/月卡(第1位)/大药(第2位)/永久卡(第3位)的当日领取标记 unsigned int nTotalOnlineMin; //总在线时间,单位:分 unsigned int nWingPoint; //翅膀幸运值 nWingPoint unsigned int nCurnewTitel; //当前头衔 unsigned long long nDimensionalKey; //次元钥匙 unsigned long long nDefaultLootPetDis;//默认捡取拾取宠物的捡取距离 unsigned long long nRebateDrawYbCount;// 返利卡提取元宝数目 unsigned int nCSActorId; //跨服玩家id unsigned int nOffice; //仓库元宝 unsigned int nDepotCoin; //仓库金币 unsigned int nSupperPlayLvl; //超玩VIP等级 unsigned int nFrenzy; //狂暴状态(0/1) unsigned int nBeKilledCount; //被杀总次数 unsigned int nKillMonsterCount; //杀怪总数 unsigned int nFlyShoes; //飞鞋 unsigned int nBroatNum; //喇叭 unsigned int nRecyclepoints; //回收积分 unsigned int nMeridianLv; //经脉等级 unsigned int n_106; }ACTORDBPARTDATA,*PACTORDBPARTDATA; //这些属性不存盘的,是玩家的动态属性 typedef struct tagACTORTAILDATA { int nNextSkillFlag; //下一次技能标记(标记战士的下一次附加技能:攻杀,刺杀,半月,烈火,逐日) int nZy; //阵营类型 unsigned int nCritDamage; //新版暴击最终造成的伤害值 unsigned int nCritRate; //新版暴击几率(万分比) int nCritPower; //新版暴击力(int) float fDamagePower; //抗暴 float fDMedicanceRenew; //药品恢复增益(1为100%) unsigned int nAreaAttr; //区域属性存储位 unsigned int nAreaAttr_0; unsigned int nGoldAttr_1; //新加属性 unsigned int nGoldAttr_2; unsigned int nGoldAttr_3; unsigned int nGoldAttr_4; unsigned int nGoldAttr_5; unsigned int nGoldAttr_6; unsigned int nGoldAttr_7; unsigned int nGoldAttr_8; unsigned int nCritMutRate; //新版暴击倍率几率(万分比) unsigned int nBanChat;//禁言时间 unsigned int nPetStatus;//宠物状态 unsigned int nDamageBonus;//伤害加成 unsigned int nIgnorDefence;//无视防御 unsigned int nSuckBlood;//吸血 unsigned int nExpPower;//经验倍率 unsigned int nLootBindCoin;//金币倍率 unsigned int nCutting;//切割 unsigned int nNormalAttackAcc;//普攻加速度万分比 unsigned int nHpAddRate;//血量加成万分比 unsigned int nPkDecuctDamage;//pk减免万分比 unsigned int nHp2MpDamage;//护身 unsigned int nZLMoney;//战令币 int nCurReviveDuration;//当前复活特权持续时间 unsigned int nHalfMonthsIncreaseDamage; //半月增伤 unsigned int nFireIncreaseDamage; //烈火增伤 unsigned int nDayByDayIncreaseDamage; //逐日增伤 unsigned int nIceStormIncreaseDamage; //冰咆哮增伤 unsigned int nFireRainIncreaseDamage; //火雨增伤 unsigned int nThunderIncreaseDamage; //雷电增伤 unsigned int nBloodBiteIncreaseDamage; //噬血术增伤 unsigned int nFireSignIncreaseDamage; //火符增伤 unsigned int nHalfMonthsReduceDamage; //半月减伤 unsigned int nFireReduceDamage; //烈火减伤 unsigned int nDayByDayReduceDamage; //逐日减伤 unsigned int nIceStormReduceDamage; //冰咆哮减伤 unsigned int nFireRainReduceDamage; //火雨减伤 unsigned int nThunderReduceDamage; //雷电减伤 unsigned int nBloodBiteReduceDamage; //噬血术减伤 unsigned int nFireSignReduceDamage; //火符减伤 unsigned int nCreateTime; unsigned long long nTradingQuota; //交易额度 unsigned int nGuildLevel; //行会等级 unsigned int n_159; //目前暂未使用 }ACTORTAILDATA, PACTORTAILDATA; //怪物或者宠物的三级战斗属性 typedef struct tagCreatureBattleData :public CREATUREDATA { int _53; //伤害抵消的BUFF状态 int _54; //伤害减免 int _55; //麻痹,不可移动,不可释放技能 int _56; //经验增加一个数值 int _57; //治愈的BUFF状态 int _58; //隐身状态 int _59; //经验的增加倍率,万分比 int _60; //冻结,只能走,不能跑 int _61; //pk保护状态 int _62; // 真·冻结,不能走不能跑 int _63; //持续回蓝的BUFF状态 int _64; //按比例将MP抵消HP int _65; //麻痹概率,万分比 int nDeductDizzyRate; //抗麻痹概率,万分比 int _67; //麻痹时长增加 int nDizzyTimeAbsorbAdd; //麻痹时长减免 68 tagCreatureBattleData() { memset(this, 0, sizeof(*this)); } }CREATURBATTLEEDATA,*PCREATURBATTLEEDATA; #pragma pack()