⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 actor.h

📁 好游戏的客户端原码
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifndef _CACTOR_H
#define _CACTOR_H



/******************************************************************************************************************

	CActor Class

*******************************************************************************************************************/
#pragma pack(1)
typedef struct tagMESSAGEBODYWL
{
	LONG	lParam1;
	LONG	lParam2;
	LONG	nTag1;			// 锭赴仇 ID.(SM_STRUCK老锭).
	LONG	nTag2;
}MESSAGEBODYWL, *LPMESSAGEBODYWL;
typedef struct tagMESSAGEBODYW
{
	WORD	wParam1;
	WORD	wParam2;
	WORD	wTag1;			// 锭赴仇 ID.(SM_STRUCK老锭).
	WORD	wTag2;
}MESSAGEBODYW, *LPMESSAGEBODYW;

typedef struct tagCHARDESC
{
	LONG	nFeature;
	LONG	nStatus;
}CHARDESC, *LPCHARDESC;

typedef struct tagFEATURE
{
	BYTE	bGender; 
	BYTE	bWeapon;
	BYTE	bDress; 
	BYTE	bHair;
}FEATURE, *LPFEATURE;
#pragma pack(8)



class CActor
{
private:
public:
	DWORD				m_dwIdentity;					// ID Index From Server.
	CHAR				m_szName[64];					// 某腐磐唱 阁胶磐狼 捞抚.
	CHAR				m_szGuildName[64];

	FEATURE				m_stFeature;					// 某腐磐狼 寇屈阑 搬沥窿绰促.
	BYTE				m_bActorImgIdx;					// 泅犁 Actor啊 啊龙 捞固瘤备炼眉狼 锅龋.
	BYTE				m_bEffectImgIdx;				// 泅犁 Actor啊 啊龙 捞固瘤备炼眉狼 锅龋.
	CWHWilImageData*	m_pxActorImage;					// 捞固瘤甫 掘绢棵 器牢磐甸.
	RECT				m_rcActor;						// 泅犁 胶农赴惑狼Actor狼 荤阿 康开.
	RECT				m_rcTargetRgn;					// 泅犁 Actor狼 鸥百康开.

	DWORD				m_dwFstFrame;					// 泅犁 悼累狼 矫累 橇饭烙.
	DWORD				m_dwEndFrame;					// 泅犁 悼累狼 付瘤阜橇饭烙.
	WORD				m_wDelay;						// 泅犁 悼累俊 措茄 瘤楷矫埃.

	BYTE				m_bCurrMtn;						// 泅犁 悼累.
	BYTE				m_bCurrDir;						// 泅犁 规氢.
	BYTE				m_bMoveDir;						// 泅犁 规氢.
	DWORD				m_dwCurrFrame;					// 泅犁 橇饭烙.
	WORD				m_wCurrDelay;					// 泅犁 瘤楷矫埃.

	WORD				m_wOldPosX;						// 泅犁 青悼捞 乐扁傈狼 鸥老X谅钎.
	WORD				m_wOldPosY;
	BYTE				m_bOldDir;						// 泅犁 青悼捞 乐扁傈狼 规氢.
	WORD				m_wPosX;						// 鸥老 X谅钎.
	WORD				m_wPosY;						// 鸥老 Y谅钎.
	SHORT				m_shShiftPixelX;				// 泅犁 磊脚狼 鸥老俊辑 X绵父怒 捞悼茄 侨伎狼 芭府.
	SHORT				m_shShiftPixelY;				// 泅犁 磊脚狼 鸥老俊辑 Y绵父怒 捞悼茄 侨伎狼 芭府.
	SHORT				m_shShiftTileX;					// 泅犁 磊脚狼 鸥老俊辑 X绵父怒 捞悼茄 鸥老狼 芭府.
	SHORT				m_shShiftTileY;					// 泅犁 磊脚狼 鸥老俊辑 Y绵父怒 捞悼茄 鸥老狼 芭府.
	SHORT				m_shScrnPosX;					// 吝缴痢阑 绊妨窍瘤 臼篮 拳搁惑狼 X谅钎.
	SHORT				m_shScrnPosY;					// 吝缴痢阑 绊妨窍瘤 臼篮 拳搁惑狼 Y谅钎.
	BYTE				m_bMoveSpeed;					// 捞悼加档.

	CWHQueue			m_xPacketQueue;					// Actor啊 贸府秦具瞪 皋矫瘤甫 历厘窍绊 乐绰 钮.
	BOOL				m_bMsgHurryCheck;				// 皋矫瘤啊 2俺捞惑 阶咯乐阑锭绰 橇饭烙阑 1橇饭烙究阑 扒呈囤促.

	BYTE				m_bBackStepFrame;
	BYTE				m_bBackStepFrameCnt;

	DWORD				m_dwCurrEffectFrame;			// 某腐磐 Effect泅犁 橇饭烙.
	DWORD				m_dwFstEffectFrame;				// 某腐磐 Effect贸澜 橇饭烙.
	DWORD				m_dwEndEffectFrame;				// 某腐磐 Effect付瘤阜 橇饭烙.
	BYTE				m_bEffectFrame;
	BYTE				m_bEffectFrameCnt;
	BYTE				m_bLightRadius[2];				// 堡盔 呈厚.
	BYTE				m_bLightColor [2][3];			// 堡盔 祸.

	BOOL				m_bUseEffect;					// 捞棋飘橇饭烙阑 荤侩.
	BOOL				m_bUseSwordEffect;				// 八过瓤苞 荤侩.

	BOOL				m_bWarMode;
	DWORD				m_dwWarModeTime;

	BYTE				m_bHPPercent;
	WORD				m_wMAXHP;
	WORD				m_wHP;
	WORD				m_wMP;
	BOOL				m_bOpenHealth;

	BYTE				m_bLightSize;					// Actor林函狼 堡盔农扁.

	D3DVERTEX			m_avBoard[4];

	WORD				m_wABlendDelay;
	WORD				m_wABlendCurrDelay;
	BOOL				m_bABlendRev;

	BOOL				m_bReverse;

	INT					m_nState;
	WORD				m_wStateClr;

	DWORD				m_dwNameClr;

	BOOL				m_bIsDead;

	FEATURE				m_stHitter;

	BYTE				m_bAppearState;

	BYTE				m_bMoveNextFrmCnt;
	BOOL				m_bIsMoved;

	BOOL				m_bFstSoundPlayed;

	INT					m_nDividedChatLine;
	DWORD				m_wCurrChatDelay;
	CHAR				m_szChatMsg[MAX_PATH];			// 盲泼皋矫瘤.
	CHAR				m_szChatMsgArg[5][MAX_PATH];	// 盲泼皋矫瘤甫 5俺狼 胶飘傅栏肺 备盒茄巴.

public:
//---------------------------------------------------------------------------------------------------------------//
// 积己磊 棺 家戈磊.
	CActor();
	~CActor();

	virtual VOID InitActor();
	virtual VOID DestroyActor();
//---------------------------------------------------------------------------------------------------------------//

//---------------------------------------------------------------------------------------------------------------//
// 积己.
	virtual BOOL Create(CImageHandler* pxImgHandler, FEATURE* pstFeature, BYTE bMtn, WORD bDir, WORD wPosX, WORD wPosY);
//---------------------------------------------------------------------------------------------------------------//

	BOOL LoadEffect(CImageHandler* pxImgHandler, WORD wEffectNum, BYTE bDir = 0);
	VOID DrawWithEffected(INT nx, INT nY, INT nXSize, INT nYSize, WORD* pwSrc, WORD wChooseColor1 = 0XFFFF, WORD wChooseColor2 = 0XFFFF, BOOL bFocused = FALSE, BYTE bOpa = 50, WORD wState = _STATE_NOTUSED);
//---------------------------------------------------------------------------------------------------------------//
// 橇饭烙 汲沥包访.
	BOOL	CheckFeatureValidate(FEATURE stFeature);
	BOOL	ChangeFeature(FEATURE stFeature);
	virtual BOOL SetMotionFrame(BYTE bMtn, BYTE bDir);
//---------------------------------------------------------------------------------------------------------------//

//---------------------------------------------------------------------------------------------------------------//
// 某腐磐 捞悼.
	VOID SetMoving();
	VOID SetBackStepMoving();
	VOID SetMoved();
	WORD GetCharState();
//---------------------------------------------------------------------------------------------------------------//

	VOID ChatMsgAdd();
	VOID ShowMessage(INT nLoopTime);
	VOID StruckMsgReassign();
	
	virtual VOID PlayActSound();

//---------------------------------------------------------------------------------------------------------------//
// 悼累 柳青.
	virtual BOOL UpdatePacketState();
	virtual VOID UpdateMotionState(INT nLoopTime, BOOL bIsMoveTime);
	virtual BOOL UpdateMove(BOOL bIsMoveTime);

// 蜡屈喊 菩哦惑怕利侩.
	virtual VOID OnCharDescPacket(LPPACKETMSG lpPacketMsg);
	virtual VOID OnUserName(LPPACKETMSG lpPacketMsg);
	virtual VOID OnChangeNameClr(LPPACKETMSG lpPacketMsg);
	virtual VOID OnChangeLight(LPPACKETMSG lpPacketMsg);
	virtual VOID OnOpenHealth(LPPACKETMSG lpPacketMsg);
	virtual VOID OnCloseHealth(LPPACKETMSG lpPacketMsg);
	virtual VOID OnFeatureChanged(LPPACKETMSG lpPacketMsg);
	virtual VOID OnHealthSpellChanged(LPPACKETMSG lpPacketMsg);
	virtual VOID OnWalk(LPPACKETMSG lpPacketMsg);
	virtual VOID OnTurn(LPPACKETMSG lpPacketMsg);
	virtual VOID OnDigup(LPPACKETMSG lpPacketMsg);
	virtual VOID OnDigDown(LPPACKETMSG lpPacketMsg);
	virtual VOID OnDeath(LPPACKETMSG lpPacketMsg);
	virtual VOID OnBackStep(LPPACKETMSG lpPacketMsg);
	virtual VOID OnStruck(LPPACKETMSG lpPacketMsg);
	virtual VOID OnHit(LPPACKETMSG lpPacketMsg);
	virtual VOID OnFlyAxe(LPPACKETMSG lpPacketMsg);
	virtual VOID OnLighting(LPPACKETMSG lpPacketMsg);
//---------------------------------------------------------------------------------------------------------------//

//---------------------------------------------------------------------------------------------------------------//
// Rendering.
	virtual BOOL DrawActor(CMapHandler* pxMap, BOOL bFocused = FALSE, BOOL bShadowAblended = FALSE, 
		                   BOOL bUseScrnPos = TRUE, BOOL bDrawShadow = TRUE);
	virtual VOID DrawHPBar();
	virtual VOID DrawName();

	BOOL DrawEffect();
//---------------------------------------------------------------------------------------------------------------//
protected:
public:
};








/******************************************************************************************************************

	CNPC Class

*******************************************************************************************************************/
class CNPC : public CActor
{
private:
private:
public:
	virtual VOID OnHit(LPPACKETMSG lpPacketMsg);
	virtual VOID OnTurn(LPPACKETMSG lpPacketMsg);
	virtual BOOL UpdatePacketState();
	virtual VOID UpdateMotionState(INT nLoopTime, BOOL bIsMoveTime);
	virtual BOOL DrawActor(CMapHandler* pxMap, BOOL bFocused = FALSE, BOOL bShadowAblended = FALSE, 
		                   BOOL bUseScrnPos = TRUE, BOOL bDrawShadow = TRUE);
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -