📄 characterdata.h
字号:
BYTE byType; // 1: 胶懦 鸥涝 2: 酒捞袍 鸥涝
short stMacro; // 胶懦狼 绊蜡锅龋 / 酒捞袍狼 绊蜡 锅龋
} MACORO_STRT;
typedef struct {
int _iCharIndex;
int _iAccountID;
BFSTRT_SHAPE_INFO _iShape;
BFSTRT_CLASSSHAPE_INFO _iClassShape;
BYTE _byUnion; // 辆练 1: 郡府纳 2:孤农鄂
BYTE _byJob;
BYTE _bySex; // 己喊.
char _charName[MAX_CHARACTERNAME+1];
} CHARINFO;
typedef struct {
CHARINFO _CharInfo;
DBITEM_STRT _EquipItem[MAX_EQUIPCOUNT];
}CHAR_EQUIP_INFO;
/*----------------------------------------------------------------------------------------------------------------
某腐磐狼 历厘登绰 葛电 沥焊甸.
----------------------------------------------------------------------------------------------------------------*/
typedef struct _tagCharacter_Info{
CHARINFO m_CharInfo;
/*
浚府纳
1瞒 : 1(贾府靛), 2(器胶), 3(纳绢), 4(胶困橇飘)
2瞒 : 1(力畴荤捞歹), 2(窍歹), 3(胶棋飘凡), 4(风季飘), 5(绢矫胶畔胶), 6(叼磐繁胶), 7(洒教), 8(喉肺况)
3瞒 :
孤农鄂
1瞒 : 1(鞠令), 2(胶乔复明)
2瞒 : 1(农矾浆 鞠令), 2(叼奇胶 鞠令), 3(酱泼 鞠令), 4(柠农聪胶 鞠令), 5(颇捞绢 胶乔复明) 6(况磐 胶乔复明),
7(绢胶 胶乔复明), 8(扩靛 胶乔复明)
3瞒 :
*/
BYTE byClass; // 努贰胶 沥焊 绢恫 努饭胶甫 急琶 窍看绰啊.
int iMoney; // 家蜡茄 捣
int iStoreMoney; // 芒绊俊 焊包吝牢 捣
// 馒侩 沥焊, 啪(赣府) 海胶飘(个) 捡(绢柄) *2 芭甸(窍眉) 宏饭捞浇复(bracelet迫骂) *2 捞绢傅(蓖吧捞) *2 公扁(/规菩) * 2
DBITEM_STRT strEquipItem[MAX_EQUIPCOUNT]; // 11俺 297byte
DBITEM_STRT strInvenItem[MAX_INVENCOUNT]; // 78俺
DBITEM_STRT strStoreItem[MAX_STORECOUNT]; // 156俺
// skill 包访, 老馆胶懦(弥措15俺),沥飞胶懦(弥措6俺) 饭骇捞 促弗 胶懦篮 促弗 胶懦锅龋甫 啊咙.
SKILL_STRT sSkillInfo[MAX_SKILLCOUNT];
// state 包访
BYTE byStr; // 塞
BYTE byVit; // 眉仿
BYTE byInt; // 付仿(瘤瓷)
BYTE byMan; // 扁仿
BYTE byDex; // 颊犁林(刮酶)
// short shSpareST; // 饭骇 1诀寸 3究 盒硅 罐绰 焊呈胶 State Bonus 摹 (荤扼脸促 拌魂栏肺 窍扁肺 沁促.)
// Hp, Mp
short stHp; // 泅犁 眉仿 (SHRT_MAX 32767) -1 捞搁 磷篮 惑怕
short stMp; // 泅犁 付唱
// 捞惑惑怕 包访 (捞惑惑怕 弥措 6俺 弥措 矫埃 30檬)
// 历林(胶抛捞磐胶 窍遏/捞悼加档 历窍), 胶畔(捞悼,胶懦,傍拜阂瓷),
// 刀(辑辑洒 眉仿捞 皑家), 鞠孺(拳搁 鞠傈), 魔宫(胶懦荤侩阂啊), 傈捧阂瓷(纳腐磐 荤噶, 捞版快绰 bHp甫 曼炼)
BYTE byStrangeState[MAX_STRANGECOUNT]; // 10俺 (10BYTE)
// 硅凯 0: 历林狼 巢篮矫埃(檬) 1:胶畔狼 巢篮矫埃, 2:刀狼 巢篮 矫埃 3:鞠孺狼 巢篮 矫埃
// 4:魔宫狼 巢篮 矫埃 , 救狼 蔼捞 0牢版快绰 捞惑惑怕狼 秦寸惑炔捞 酒囱巴捞哥, MAX绰 30檬烙.
// 5:逞绢柳 惑怕 6:捞悼加档历窍 7:傍拜加档历窍 8:规绢仿历窍 9:傍拜仿历窍
// 滚橇 包访 (滚橇 弥措 10俺 蜡瘤矫埃 弥措 600檬) binary
BUFF_STRT strBuff[MAX_BUFFCOUNT]; // 10俺 (4 * 10 = 40)
// 饭骇 棺 skill point , class point, sprite point
BYTE byLevel; // MAX 150, 扁夯 1 饭骇
// BYTE bySkillPoint; // Skill Point MAX 149, 1饭骇诀寸 1盒硅 (荤府咙 拌魂栏肺 窍扁肺 窃)
int iSpritePoint; // Sprite Point MAX 999999, 沥飞胶懦诀/赣府,迫,朝俺,促府 诀/公扁力访
int iFame; // 疙己档 MAX 99999
// 困摹 沥焊
float xpos,ypos,zpos; // x,p,z 谅钎 MoveLock
BYTE byZoneNumber; // Zone 锅龋
// 概农肺 虐 包访 ( MAX 5 * 4 ) 老馆 胶懦捞唱, 沥飞胶懦, 咀记胶懦(凛扁,背券,傍拜,惑痢....) 殿阑 瘤沥.
MACORO_STRT strMacro[MAX_MACROSCOUNT]; // 3Byte * 40俺 ( 120 BYTE)
int iGuild;
BYTE byWarpPos; // 何劝且粮
int iExp; // 泅犁 版氰摹
}CHARACTER_INFO;
#pragma pack(pop)
// char 沥焊
class CCharacterData{
public:
CCharacterData()
{
memset(m_CharData.m_CharInfo._charName,0,MAX_CHARACTERNAME+1);
}
char* SetKey(char *ckey)
{
strcpy(m_CharData.m_CharInfo._charName,ckey);
key = m_CharData.m_CharInfo._charName;
return key;
}
void IsNullKey()
{
s = INVALID_SOCKET;
m_CharData.m_CharInfo._iCharIndex = 0;
bInitGameComplete = FALSE;
iRoomNodeIndex_Group = 0;
iRoomUserNodeIndex_Group = 0;
iRoomNodeIndex_Local = 0;
iRoomUserNodeIndex_Local = 0;
key = NULL;
}
char* GetKey()
{
return key;
}
// 惑怕蔼 函拳 窃荐.
void SetActionStats()
{
}
// 单固瘤甫 涝篮 父怒 猾促.
int SetHPDamage(int iDamage)
{
//assert(iDamage >= 0);
m_CharData.stHp = m_CharData.stHp - iDamage;
//OutPut_Message("单固瘤甫 涝菌促. 泅犁 Hp[%d]", m_CharData.stHp );
return m_CharData.stHp;
}
// 某腐磐 HP甫 疵赴促.
int SetHPPlus(int iPlusHP)
{
m_CharData.stHp = m_CharData.stHp + iPlusHP;
return m_CharData.stHp;
}
int iCalculMaxHP_MP(CCharacterData *pCharData,int iJobClass,int iInitHP,int iInitMP)
{
int iLevPerPlusHP = 0;
int iLevPerPlusMP = 0;
int iVitPerPlusHP = 0;
int iManPerPlusMP = 0;
switch(iJobClass) {
case JOB_SOLID:
case JOB_XENOCIDER:
case JOB_HARDER:
iLevPerPlusHP = 12;
iLevPerPlusMP = 8;
iVitPerPlusHP = 9;
iManPerPlusMP = 5;
break;
case JOB_FORCE:
case JOB_SPECTRAL:
case JOB_LUCENT:
iLevPerPlusHP = 8;
iLevPerPlusMP = 12;
iVitPerPlusHP = 5;
iManPerPlusMP = 9;
break;
case JOB_CARE:
case JOB_ASSISTANCE:
case JOB_DETERRENCE:
iLevPerPlusHP = 10;
iLevPerPlusMP = 10;
iVitPerPlusHP = 7;
iManPerPlusMP = 8;
break;
case JOB_SWIFT:
case JOB_HISSING:
case JOB_BLOWER:
iLevPerPlusHP = 11;
iLevPerPlusMP = 8;
iVitPerPlusHP = 8;
iManPerPlusMP = 7;
break;
case JOB_ARMS:
case JOB_CRUSH_ARMS:
case JOB_DEFENSE_ARMS:
case JOB_SHOOTING_ARMS:
case JOB_QUICNESS_ARMS:
iLevPerPlusHP = 12;
iLevPerPlusMP = 8;
iVitPerPlusHP = 9;
iManPerPlusMP = 5;
break;
case JOB_SPIRITS:
case JOB_FIRE_SPIRITS:
case JOB_WATER_SPIRITS:
case JOB_EARTH_SPIRITS:
case JOB_WIND_SPIRITS:
iLevPerPlusHP = 10;
iLevPerPlusMP = 10;
iVitPerPlusHP = 7;
iManPerPlusMP = 8;
break;
default:
//OutPut_Message2("甸绢棵荐 绝促.!!");
return FALSE;
}
iMax_HP = (m_CharData.byLevel - 1) * iLevPerPlusHP + (m_CharData.byVit * iVitPerPlusHP) + iInitHP;
iMax_Mana = (m_CharData.byLevel - 1) * iLevPerPlusMP + (m_CharData.byMan * iManPerPlusMP) + iInitMP;
return TRUE;
}
// HP客 付唱啊 盲况廉具 茄促搁. TRUE甫 府畔茄促. read only funtion // 坷流 茄胶饭靛俊辑父 捣促. 遏 鞘夸 绝澜.
BOOL bCheckAutoHeal(DWORD dwCurrentTime)
{
if((m_CharData.stHp < iMax_HP || m_CharData.stMp < iMax_Mana ) && eActionStatus != TYPE_ACTION_DEAD)
{}
else
return FALSE;
// 酒流 鳃傅 矫埃捞 救登菌促.
if(dwHealPointTickTime > dwCurrentTime)
return FALSE;
// 促澜 鳃傅 墨款磐甫 历厘 茄促.
dwHealPointTickTime = dwCurrentTime + USER_HEAL_TICK_COUNT;
return TRUE;
}
int OnDieCharacter(void)
{// 甸绢坷扁傈俊 公宏遏苞 官叼遏捞 促 吧妨乐绢具 茄促.
m_CharData.stHp = 0;
if( eActionStatus == TYPE_ACTION_DEAD )
{
// 捞固 磷篮逞捞促.
return FALSE;
}
else
{
// 磷篮 惑怕肺 官槽促.
eActionStatus = TYPE_ACTION_DEAD;
}
return TRUE;
}
// Exp客 Money 甫 歹窃. // 饭骇诀矫 荐摹 炼沥..
int SetExpAndMoney( int iMoney, int iExp, int iSp, int iNeedExp )
{// 0: 老馆 1:饭骇诀窃.
// 捣
if( m_CharData.iMoney + iMoney < MAX_PC_HAVEMONEY ) m_CharData.iMoney += iMoney;
else m_CharData.iMoney = MAX_PC_HAVEMONEY;
// Sp
if( m_CharData.iSpritePoint + iSp < MAX_PC_SPRITEPOINT ) m_CharData.iSpritePoint += iSp;
else m_CharData.iSpritePoint = MAX_PC_SPRITEPOINT;
// 版氰摹
if( -1 == iNeedExp || m_CharData.byLevel >= MAX_PC_ABLELEVEL ) return 0; // 版氰摹甫 荐沥且 荐绝澜
if( m_CharData.iExp + iExp >= iNeedExp )
{// Level Up 贸府
m_CharData.iExp = m_CharData.iExp + iExp - iNeedExp;
m_CharData.byLevel += 1;
// 扁鸥 饭骇诀俊 蝶弗 焊惑 贸府 (胶懦捞唱 state 刘啊)
shSpareST += 3; // 烙矫蔼
if( bySkillPoint < 150 ) bySkillPoint++;
// 乔烹苞 付唱烹篮 观俊辑 犁汲沥 沁嚼聪促.
return 1;
}
else m_CharData.iExp += iExp;
return 0;
}
BYTE GetLevel(void)
{
return m_CharData.byLevel;
}
protected:
char *key;
public:
// unique 加己
char cAccName[MAX_ACCOUNTNAME + 1];
CHARACTER_INFO m_CharData;
// 鉴惯仿, 青款, 扁樊 <- 馒侩 酒捞袍苞 秦寸 Class俊辑狼 扁夯蔼甸肺 拌魂捞 凳.
// 拱府 傍拜仿/付过 傍拜仿, 拱府 规绢仿/ 付过规绢仿, 农府萍拿 犬伏, 喉钒伏, 傍拜加档 <- 馒侩 酒捞袍苞 秦寸
// Class俊辑狼 扁夯蔼甸肺 拌魂捞 凳.
// 捞悼加档绰 流诀俊 辆加利烙.
// 捞档幅 荤侩 啊瓷 咯何
// 眠啊 胶泡摹.
BYTE byPlusStr; // 塞
BYTE byPlusVit; // 眉仿
BYTE byPlusInt; // 付仿(瘤瓷)
BYTE byPlusMan; // 扁仿
BYTE byPlusDex; // 颊犁林(刮酶)
// 眉仿苞 付唱狼 弥绊摹蔼.
int iMax_HP;
int iMax_Mana;
DWORD dwHealPointTickTime; // hp客 付唱狼 平 墨款飘促.瞒具瞪 矫埃阑 钎矫. lock捞 救吧副 函荐捞促. 坷流! 平 胶饭靛俊辑父 敬促. 窜老.
// 静瘤 臼篮 胶懦 器牢飘客 胶湃 器牢飘
BYTE bySkillPoint;
short shSpareST;
// 郴何利 函荐..
int iTileIndex;
short sNodeIndex; // 甘 肺靛 牢郸胶 历厘.
short sCharMemIndex;
float fCharacterDir; // 某腐磐狼 规氢 MoveLock
// 惑怕 捞惑蔼.
ACTIONTYPE eActionStatus; // MoveLock
DWORD dwDownStunTime; // 逞绢柳 胶畔 矫埃. 吧赴矫埃.
byte byHeadAurora;
byte byBodyAurora;
byte byLegAurora;
//某腐磐 肺弊牢矫客 厘厚 背眉俊蝶扼 官差绢具 茄促.
// 关俊 荐摹甸篮 某腐磐狼 流诀苞 厘厚俊蝶扼 荐摹啊 概败柳促.
int iPyWeaponPower; // 公扁 厘厚矫 拌魂登绢 甸绢啊绰蔼捞促. 公扁狼 傍拜仿. 可记鳖瘤 促 拌魂等 某腐磐狼 弥辆 单固瘤捞促.
short sPyPlusWeaponPower; // 公扁狼 单固瘤狼 罚待蔼
int iMgWeaponPower; // 公扁 厘厚矫 拌魂登绢 甸绢啊绰蔼捞促. 公扁狼 付过 傍拜仿. 可记鳖瘤 促 拌魂等 某腐磐狼 弥辆 单固瘤捞促.
short sMgPlusWeaponPower; // 公扁狼 付过 单固瘤狼 罚待蔼
// 某腐磐狼 流诀苞 酒捞袍 可记俊 蝶扼 蔼捞 函拳茄促.
BYTE byAgility; // 刮酶(鉴惯仿)
BYTE byLucky; // 青款
BYTE byCapacity; // 扁樊摹.
BYTE byCriticalRate; // 农府萍拿 犬伏...
short sPyDefense; // 规绢档备俊 狼茄 拱府 规绢仿蔼.
short sMgDefense; // 规绢档备俊 狼茄 付过 规绢仿蔼.
short sWeaponMasteryStrike; // 公扁 付胶磐府 疙吝伏俊 狼茄 蔼. 泅犁 甸绊 乐绰 厘厚俊 蝶扼 函茄促.
short sWeaponMastery; // 公扁 付胶磐府(归盒啦肺 利侩). 泅犁 甸绊 乐绰 公扁俊 蝶扼 函茄促. 绝促搁 扁夯蔼 0橇肺促.
short sEdgeMastery; // 咖瘤 付胶磐府.
short sWristMastery; // 府胶飘 付胶磐府.
short sMassiveMastery; // 概矫宏 付胶磐府.
short sExtendMastery; // 劳胶刨靛 付胶磐府.
short sItemStrike; // 酒捞袍俊 狼茄 疙吝伏. 酒捞袍狼 胶其既可记俊狼秦 蔼捞 甸绢柯促.
short sItemAvoid; // 酒捞袍俊 狼茄 雀乔伏. 酒捞袍狼 胶其既可记俊狼秦 蔼捞 甸绢柯促.
//int iPlusOtionDamage; // 眠啊 可记 单固瘤. // 厘厚俊 嘿篮 可记俊 蝶扼 单固瘤甫 敲矾胶 矫挪促.
short sPyShieldDefence; // 规菩 规绢仿. 促弗 规绢仿苞 崔府 捞巴父 蝶肺 盒府 秦初绰促. 规菩绰 规菩 规绢 啊悼矫俊父 眠啊 规绢仿捞 等促.
short sMgShieldDefence; // 付过 规菩 规绢仿.
SOCKET s; // 辑滚狼 磊脚狼 家南.
BOOL bInitGameComplete; // 荤侩磊 霸烙敲饭捞 檬扁拳 肯丰 敲饭弊
BYTE byMapIndex; // 甘 牢郸胶...
// 盲泼 包访 函荐甸.
int iRoomNodeIndex_Group;
int iRoomUserNodeIndex_Group;
int iRoomNodeIndex_Local;
int iRoomUserNodeIndex_Local;
};
#endif
//class CCharacterData
//{
//// 某腐磐狼 历厘捞 鞘夸茄 单捞鸥.
//public:
// char m_cAccountID[18]; // 16磊
// char m_cCharName[18]; // 16磊
//
// short m_sLevel; // 0-255
// short m_sStr; // 0-255
// short m_sVit; // 0-255
// short m_sInt; // 0-255
// short m_sMana; // 0-255
// short m_sDex; // 0-255
//
//// 拌魂俊 狼秦 唱坷绰 单捞鸥甸.
//public:
//
//};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -