202 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			202 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef			_LOG_SENDER_H_
 | ||
| #define			_LOG_SENDER_H_
 | ||
| 
 | ||
| //class CNetworkDataHandler;
 | ||
| class CCustomJXClientSocket;
 | ||
| 
 | ||
| class LogSender:
 | ||
| 	public CCustomJXClientSocket
 | ||
| {
 | ||
| public:
 | ||
| 	/*
 | ||
| 	* Comments:登陆日志
 | ||
| 	* Param WORD nLogid:消息类型
 | ||
| 	* Param int nUserid:帐号id
 | ||
| 	* Param LPCTSTR szAccount:帐号名称
 | ||
| 	* Param LPCTSTR szLoginIp:用户的ip地址
 | ||
| 	* Param LPCTSTR szLoginDescr:描述
 | ||
| 	* Param int nLevel:等级
 | ||
| 	* Param int nYb:元宝
 | ||
| 	* Param unsigned int nOnlineTime;在线时间
 | ||
| 	* Param unsigned int nServerId :原区服id
 | ||
| 	* @Return VOID:
 | ||
| 	*/
 | ||
| 	VOID SendLoginLog(WORD nLogid,int nUserid,LPCTSTR szAccount,
 | ||
| 					LPCTSTR szLoginIp,LPCTSTR szLoginDescr=NULL, int nLevel=0,  int nYb=0, unsigned int nOnlineTime=0, unsigned int nActorId=0,unsigned int nSrvId = 0);
 | ||
| 
 | ||
| 	/*
 | ||
| 	* Comments:记录元宝的消费
 | ||
| 	* Param WORD nLogid:消息类型
 | ||
| 	* Param int nActorid:角色id
 | ||
| 	* Param LPCTSTR szAccount:帐号名称
 | ||
| 	* Param LPCTSTR szCharName:角色名称
 | ||
| 	* Param int nCount:余额
 | ||
| 	* Param int nPaymentCount:消费总价钱
 | ||
| 	* Param LPCTSTR szConsumeDescr:描述,如物品的名字
 | ||
| 	* Param int  nConsumeLevel:玩家的消费的等级
 | ||
| 	* Param int  nBalance :消费后的余额
 | ||
| 	* @Return VOID:
 | ||
| 	*/
 | ||
| 	VOID SendConsumeLog(WORD nLogid,int nActorid,LPCTSTR szAccount,
 | ||
| 		LPCTSTR szCharName,BYTE nMoneytype,int nCount,int nPaymentCount,LPCTSTR szConsumeDescr=NULL,int nConsumeLevel=0, int nBalance = 0,unsigned int nSrvId = 0);
 | ||
| 
 | ||
| 
 | ||
| 	/*
 | ||
| 	* Comments:记录道具日志
 | ||
| 	* Param WORD nLogid:消息类型
 | ||
| 	* Param BYTE nType:类型
 | ||
| 	* Param int nActorid:角色id
 | ||
| 	* Param int nAccountid: 
 | ||
| 	* Param LPCTSTR szAccount:帐号名称
 | ||
| 	* Param LPCTSTR szCharName:角色名称
 | ||
| 	* Param int nCount:道具数量
 | ||
| 	* Param int nItemId:道具id
 | ||
| 	* Param LPCTSTR szConsumeDescr:描述,如物品的名字
 | ||
| 	* @Return VOID:
 | ||
| 	*/
 | ||
| 	VOID SendItemLocalLog(BYTE nType, WORD nLogid, int nActorid, int nAccountid, LPCTSTR szAccount,
 | ||
| 		LPCTSTR szCharName, WORD wItemId, int nCount, LPCTSTR szConsumeDescr=NULL, unsigned int nSrvId = 0);
 | ||
| 	
 | ||
| 	VOID SendDealToLog(int nLogid, unsigned int nTime,
 | ||
| 		int nActorid,int nTarActorid,
 | ||
| 		INT nItemId=0,WORD nItemNum=0,WORD nMoneyType=0,INT64 nMoneyNum=0, int nDues = 0,unsigned int nSrvId = 0);
 | ||
| 
 | ||
| 	/*
 | ||
| 	* Comments:发送在线人数
 | ||
| 	* Param int nServerIndex:如果nServerIndex为0,表示所有逻辑服务器的总人数
 | ||
| 	* Param int nCount:在线人数
 | ||
| 	* @Return VOID:
 | ||
| 	*/
 | ||
| 	VOID SendOnlineLog(int nServerIndex,int nCount);
 | ||
| 
 | ||
| 	VOID SendCommonLog(WORD nLogid,int nActorId,LPCTSTR sActorName,
 | ||
| 						int nPara0=0,int nPara1=0,int nPara2=0,
 | ||
| 						LPCTSTR szShortStr0="",LPCTSTR szMidStr0="",LPCTSTR szLongStr0="",
 | ||
| 						LPCTSTR szShortStr1="",LPCTSTR szMidStr1="",LPCTSTR szLongStr1="",
 | ||
| 						LPCTSTR szMidStr2="",LPCTSTR szLongStr2="",unsigned int nSrvId = 0);
 | ||
| 	
 | ||
| 	/*
 | ||
| 	* Comments:发送建议的日志
 | ||
| 	* Param int nServerIndex:服务器的编号
 | ||
| 	* Param nType :日志的类型
 | ||
| 	* Param char * sActorName:玩家的名字
 | ||
| 	* Param char * sAccount:账号的名字
 | ||
| 	* Param char * sTitle:标题
 | ||
| 	* Param char * sDetail:具体的内容
 | ||
| 	* Param int nLevel :玩家的等级
 | ||
| 	* @Return VOID:
 | ||
| 	*/
 | ||
| 	VOID SendSuggestLog(int nType, char * sActorName,char * sAccount, char * sTitle, char * sDetail,int nLevel,unsigned int nServerId = 0);
 | ||
| 
 | ||
| 
 | ||
| 	/*
 | ||
| 	* Comments:发送击杀掉落日志
 | ||
| 	* Param int nActorid:角色id
 | ||
| 	* Param LPCTSTR sAccount:帐号名称
 | ||
| 	* Param LPCTSTR sCharName:角色名称
 | ||
| 	* Param LPCTSTR sMonName:怪物名称
 | ||
| 	* Param LPCTSTR sSceneName:场景名称
 | ||
| 	* Param LPCTSTR sItemName:道具名称
 | ||
| 	* Param int  nCount:数量
 | ||
| 	* Param int  nKilltime:击杀时间
 | ||
| 	* Param int  nPosx:x坐标
 | ||
| 	* Param int  nPosy:y坐标
 | ||
| 	* @Return VOID:
 | ||
| 	*/
 | ||
| 	VOID SendKillDropLog(int nActorid,LPCTSTR sAccount,LPCTSTR sCharName,
 | ||
| 	LPCTSTR sMonName,LPCTSTR sSceneName,LPCTSTR sItemName,int nCount, int nKilltime, int nPosX, int nPosY,unsigned int nSrvId = 0);
 | ||
| 	/*
 | ||
| 	* Comments:发送参与活动进度
 | ||
| 	* Param int nActorid:角色id
 | ||
| 	* Param LPCTSTR sAccount:帐号名称
 | ||
| 	* Param LPCTSTR sCharName:角色名称
 | ||
| 	* Param int  nAtvId:活动 id
 | ||
| 	* Param int  nIndex:进度
 | ||
| 	* Param int  nJoinTime:时间
 | ||
| 	* @Return VOID:
 | ||
| 	*/
 | ||
| 	VOID SendJoinAtvToLog(int nActorid,LPCTSTR sAccount,LPCTSTR sCharName,int nAtvId, int nIndex, int nJoinTime,unsigned int nSrvId = 0);
 | ||
| 
 | ||
| 	inline INT GetServerIndex(){return ServerIndex;}
 | ||
| 	inline jxSrvDef::SERVERTYPE GetServerType(){return ServerType;}
 | ||
| 	inline LPCSTR GetServerName() {return ServerName;}
 | ||
| 
 | ||
| 	//设置服务器的编号
 | ||
| 	VOID SetServerIndex(const INT nSerIdx);
 | ||
| 
 | ||
| 	VOID SetServerType(const jxSrvDef::SERVERTYPE nSrvType){ ServerType = nSrvType;}
 | ||
| 	VOID SetServerName(LPCTSTR sServerName);
 | ||
| 
 | ||
| 	void SetServerSpid(LPCTSTR sSpid);
 | ||
| 
 | ||
| 	//获取查看聊天记录
 | ||
| 	bool GetChatLogFlag() {return m_nFlag;}
 | ||
| 
 | ||
| 	/*
 | ||
| 	* Comments:发送聊天消息
 | ||
| 	* Param int nChannleID:聊天频道
 | ||
| 	* Param char * sActorName:玩家的名字
 | ||
| 	* Param char * msg:聊天类容
 | ||
| 	* Param int nActorId :玩家的id
 | ||
| 	* @Return VOID:
 | ||
| 	*/
 | ||
| 	VOID SendChatLog(int nChannleID, char * sActorName,unsigned int nActorId, char * msg);
 | ||
| 
 | ||
| 	//设置是否查看聊天记录
 | ||
| 	void SetChatLogFlag(int nFlag) 
 | ||
| 	{
 | ||
| 		if(nFlag == 0)
 | ||
| 		{
 | ||
| 			m_nFlag = false;
 | ||
| 		}
 | ||
| 		else
 | ||
| 		{
 | ||
| 			m_nFlag = true;
 | ||
| 		}
 | ||
| 	}
 | ||
| public:
 | ||
| 	LogSender();
 | ||
| 	LogSender(jxSrvDef::SERVERTYPE ServerType,INT ServerIndex,char* ServerName);
 | ||
| 	~LogSender(void);
 | ||
| 
 | ||
| 
 | ||
| 	virtual void OnRountine()
 | ||
| 	{
 | ||
| 		CCustomJXClientSocket::OnRountine();
 | ||
| 	}
 | ||
| 
 | ||
| 
 | ||
| protected:
 | ||
| 		/*** 子类需覆盖的函数集 ***/
 | ||
| 	/* 处理单个通信数据包 
 | ||
| 	 * nCmd		通信消息命令
 | ||
| 	 * inPacket	已经读取出通信命令的数据包,数据包的读取位置指向命令数据后的内容
 | ||
| 	 */
 | ||
| 	virtual VOID OnDispatchRecvPacket(const jxSrvDef::INTERSRVCMD nCmd, CDataPacketReader &inPacket);
 | ||
| 
 | ||
| 	/*** 下列函数为子类可能有必要覆盖的函数集 ***/
 | ||
| 	/* ★查询本地服务器的类型,以便正确的发送注册数据 */
 | ||
| 	virtual jxSrvDef::SERVERTYPE getLocalServerType();
 | ||
| 
 | ||
| 	/* ★查询本地服务器的名称,以便正确的发送注册数据 */
 | ||
| 	virtual LPCSTR getLocalServerName();
 | ||
| 	/* ★查询本地服务器ID,以便正确的发送注册数据,默认的返回值是0 */
 | ||
| 	virtual int getLocalServerIndex();
 | ||
| 
 | ||
| 	//提供向最外层逻辑通知连接建立的事件
 | ||
| 	virtual VOID OnConnected();
 | ||
| 
 | ||
| private:
 | ||
| 	//CNetworkDataHandler DataHandler;//用于解网络包
 | ||
| 
 | ||
| 	//以下4个值用于发送注册包
 | ||
| 	jxSrvDef::SERVERTYPE	ServerType;		//服务器类型,值为SERVERTYPE枚举类型中的枚举值
 | ||
| 	INT						ServerIndex;	//服务器唯一编号(服务器编号仅对游戏服务器有意义)
 | ||
| 	CHAR					ServerName[128];	//服务器名称,需包含0终止符
 | ||
| 	bool					m_nFlag;			//是否查看聊天记录
 | ||
| 	char					m_sSpid[32];
 | ||
| 
 | ||
| };
 | ||
| 
 | ||
| #endif
 |