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

📄 chatmanager.h

📁 墨香最新私服
💻 H
字号:
#ifndef _CHATMANAGER_H
#define _CHATMANAGER_H


#define CHATMGR USINGTON(CChatManager)

#define MAX_CHATMSGNUM	800

class CKeyboard;

#include "ChatDialog.h"

/*
enum eChatKind
{
	eCK_ALL,
	eCK_PARTY,
	eCK_MUNPA,
	eCK_WHISPER,
};
*/
enum eTextClass
{
	CTC_OPERATOR,		//¿î¿µÀÚ¸Þ¼¼Áö		//¿î¿µÀÚ
	CTC_GENERALCHAT,	//ÀϹÝäÆÃ			//ÀϹÝ
	CTC_PARTYCHAT,		//ÆÄƼäÆÃ			//ÆÄƼ
	CTC_GUILDCHAT,		//¹®ÆÄäÆÃ			//¹®ÆÄ
	CTC_WHISPER,		//±Ó¸»				//±Ó¸»

	CTC_ATTACK,			//°ø°Ý				//°ø°Ý/¹æ¾î
	CTC_ATTACKED,		//»ó´ë°¡ °ø°Ý
	CTC_DEFENCE,		//¹æ¾î
	CTC_DEFENCED,		//»ó´ë°¡ ¹æ¾î
	CTC_KILLED,			//Á×À½
	CTC_MPWARNING,		//³»°ø°æ°í			//³»°ø/»ý¸í·Â °æ°í
	CTC_HPWARNING,		//»ý¸í·Â°æ°í

	CTC_GETITEM,		//¾ÆÀÌÅÛȹµæ		//¾ÆÀÌÅÛ/µ· ȹµæ
	CTC_GETMONEY,		//µ·È¹µæ
	CTC_GETEXP,
	CTC_GETABILITYEXP,
	
	CTC_ABILITYUPGRADE_SUCCESS,
	CTC_ABILITYUPGRADE_FAILED,

	CTC_SYSMSG,			//½Ã½ºÅÛ ¸Þ½ÃÁö
	CTC_TOGM,			//GM¾Ë¸²¸Þ¼¼Áö

	CTC_TOWHOLE,
	CTC_TOPARTY,
	CTC_TOMUNPA,

	CTC_CHEAT_1,
	CTC_CHEAT_2,
	CTC_CHEAT_3,
	CTC_CHEAT_4,
	CTC_CHEAT_5,

	CTC_QUEST,
	CTC_GMCHAT,
	CTC_COUNT,	
};


const DWORD dwChatTextColor[CTC_COUNT] = {

	RGBA_MAKE(0, 255, 60, 255),		//CTC_OPERATOR
	RGBA_MAKE(255, 255, 255, 255),	//CTC_GENERAL
	RGBA_MAKE(185, 241, 69, 255),	//CTC_PARTYCHAT
	RGBA_MAKE(240, 255, 0, 255),		//CTC_GUILDCHAT
//	RGBA_MAKE(255, 51, 229, 255),		//CTC_WHISPER
	RGBA_MAKE(235, 178, 206, 255),		//CTC_WHISPER

	RGBA_MAKE(255, 97, 19, 255),		//CTC_ATTACK
	RGBA_MAKE(255, 97, 19, 255),		//CTC_ATTACKED
	RGBA_MAKE(255, 97, 19, 255),		//CTC_DEFENCE
	RGBA_MAKE(255, 97, 19, 255),		//CTC_DEFENCED
	RGBA_MAKE(255, 97, 19, 255),		//CTC_KILLED

	RGBA_MAKE(255, 52, 19, 255),		//CTC_MPWARNING
	RGBA_MAKE(255, 52, 19, 255),		//CTC_HPWARNING

	RGBA_MAKE(2, 255, 163, 255),		//CTC_GETITEM
//	RGBA_MAKE(132, 178, 208, 255),		//CTC_GETMONEY
//	RGBA_MAKE(132, 178, 208, 255),		//CTC_GETEXP
//	RGBA_MAKE(132, 178, 208, 255),		//CTC_GETABILITYEXP
	RGBA_MAKE(200, 200, 200, 255),		//CTC_GETMONEY
	RGBA_MAKE(200, 200, 200, 255),		//CTC_GETEXP
	RGBA_MAKE(200, 200, 200, 255),		//CTC_GETABILITYEXP

	RGBA_MAKE(82, 255, 204, 255),		//CTC_ABILITYUPGRADE_SUCCESS,
	RGBA_MAKE(82, 255, 204, 255),		//CTC_ABILITYUPGRADE_FAILED,

	RGBA_MAKE(82, 255, 204, 255),		//CTC_SYSMSG
	RGBA_MAKE(82, 255, 204, 255),		//CTC_TOGM

	RGBA_MAKE(171, 195, 255, 255),		//CTC_TOWHOLE
	RGBA_MAKE(255, 158, 6, 255),		//CTC_TOPARTY
	RGBA_MAKE(240, 255, 0, 255),		//CTC_TOMUNPA

	RGBA_MAKE(255, 0, 0, 255),		//CTC_CHEAT_1
	RGBA_MAKE(255, 255, 0, 255),	//CTC_CHEAT_2
	RGBA_MAKE(255, 0, 255, 255),	//CTC_CHEAT_3
	RGBA_MAKE(0, 255, 255, 255),	//CTC_CHEAT_4
	RGBA_MAKE(100, 50, 100, 255),	//CTC_CHEAT_5

	RGBA_MAKE( 0, 255, 255, 255 ),	//CTC_QUEST
	RGBA_MAKE( 28, 233, 151, 255 ),	//CTC_GMCHAT
};



enum eChatOption
{
//	CTO_PARTYTOWHOLE,
//	CTO_MUNPATOWHOLE,
//	CTO_NOWHISPER,

//	CTO_ATTACKED,
//	CTO_KILLED,
//	CTO_ATTACK,
//	CTO_DEFENCE,
//	CTO_DEFENCED,
	
//	CTO_MPWARNING,
//	CTO_HPWARNING,
	CTO_NOSYSMSG,
	CTO_NOITEMMSG,
	CTO_NOEXPMSG,
	CTO_NOCHATMSG,
	CTO_AUTOHIDECHAT,
	
	CTO_COUNT,
};


//dword bit optionÀ¸·Î ¹Ù²ÙÀÚ
struct sChatOption
{
	BOOL bOption[CTO_COUNT];
};


class CChatManager
{

protected:

	BOOL			m_bPause;
	sChatOption		m_ChatOption;
	CChatDialog*	m_pChatDialog;

	char*			m_pChatMsg[MAX_CHATMSGNUM];
	char			m_NULL;	//äÆÃ ¸Þ¼¼Áö°¡ ¾ø´Â ¹øÈ£Àϰæ¿ì ¸®ÅÏÇϱâÀ§ÇÑ ÅÛÇÁ¸â¹ö

//---
	char			m_strLastName[MAX_NAME_LENGTH+2];
	
//----
	cPtrList		m_ListChat[MAX_CHAT_COUNT];
//----
	
	DWORD			m_dwLastChatTime;


protected:

	void LoadChatMsg();

//	BOOL LoadOption( LPCTSTR strPath );
//	BOOL SaveOption( LPCTSTR strPath );
//	void SetDefaultOption();
	
	void PrintMsg( int nClass, char* msg );

public:

	CChatManager();
	virtual ~CChatManager();

	////MAKESINGLETON(CChatManager);

	void Init();
	void Release();
//	void Process( CKeyboard* keyInfo );
	void MsgProc( UINT msg, WPARAM wParam );
	
//	void LoadUserOption();
//	void SaveUserOption();

	void SetOption( sChatOption* pChatOption );
	sChatOption* GetOption()					{ return &m_ChatOption; }

//	void AddMsg( int nClass, int nMsgNum, ... );

//	CTC_OPERATOR, CTC_GENERALCHAT, CTC_PARTYCHAT, CTC_GUILDCHAT, CTC_WHISPER, CTC_ATTACK, CTC_ATTACKED, CTC_DEFENCE, CTC_DEFENCED, CTC_KILLED, CTC_MPWARNING, CTC_HPWARNING, CTC_GETITEM, CTC_GETMONEY, CTC_SYSMSG, CTC_TOWHOLE, CTC_TOPARTY, CTC_TOMUNPA,
//	void AddMsg( int nClass, int PredefinedMsg, ... );
	void AddMsg( int nClass, char* str, ... );

	char* GetChatMsg( int nMsgNum );

	void NetworkMsgParse( BYTE Protocol, void* pMsg );

	void SetPause( BOOL bPause ) { m_bPause = bPause; }
	void SetChatDialog( CChatDialog* pChatDlg );	//À©µµ¸Þ´ÏÁ®°¡ dlg¸¸µé¶§ ¼¼ÆÃÇØÁÙ°ÍÀÌ´Ù.
	
	void OnInputChatMsg( char* str );
//	void ChatMsgParse( char* str );

	void SetAutoWhisper();

	void AddChatMsg( BYTE ChatLimit, DWORD MsgColor, char* str );
	void AddChatMsgAll( DWORD MsgColor, char* str );

//---------
	void SaveChatList();
	void RestoreChatList();
	void ReleaseChatList();

	void AddMsgToList( BYTE ChatLimit, DWORD MsgColor, char* str );
	void AddMsgAllToList( DWORD MsgColor, char* str );
//----------
	
};
EXTERNGLOBALTON(CChatManager)


#endif

⌨️ 快捷键说明

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