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

📄 clog.cpp

📁 韩国英雄王座倒闭后流出来部分源代码
💻 CPP
📖 第 1 页 / 共 3 页
字号:
////////////////////////////////////////////////////////////////////////////////////////
//	CFIGHTZONE_CPP   2004斥 3岿 8老 陛
//
//	by Mun Sung-hun (badajoa2002@hotmail.net)
//	Copyright(C) 2004
//
////////////////////////////////////////////////////////////////////////////////////////
#include "StdAfx.h"
#include "CLog.h"
#include "MapServerSocket.h"
#include "CudpSocket.h"

////////////////////////////////////////////////////////////////////////////////////////
//	Global Class
////////////////////////////////////////////////////////////////////////////////////////
extern _LPUDPSOCKET			g_lpUdpSock ;	// 2003-7-14  badajoa World Server 眠啊 
extern	Map					*g_pMap;
extern	_LPCLOGMANAGER		g_lpLog ;

////////////////////////////////////////////////////////////////////////////////////////
//	窃荐 器牢磐甫 殿废 矫糯
//
////////////////////////////////////////////////////////////////////////////////////////
void CLogManager::Init()
{
	OnFunc[DEF_LOG_NPCDROP				].proc	= SetNPCFrom;
	OnFunc[DEF_LOG_DROP					].proc	= SetPlayerFromItem;
	OnFunc[DEF_LOG_PICKUP				].proc	= SetPlayerFromItem ;
	OnFunc[DEF_LOG_TRADE				].proc	= SetPlayerFromTo;
	OnFunc[DEF_LOG_STALLSELL			].proc	= SetPlayerFromTo;
	
	OnFunc[DEF_LOG_TRADEGOLD			].proc	= SetPlayerFromToGold;
	OnFunc[DEF_LOG_GIVEGOLD				].proc	= SetPlayerFromToGold;
	
	OnFunc[DEF_LOG_QUESTDROP			].proc  = SetPlayerFromItem;
	OnFunc[DEF_LOG_SHOPSELL				].proc	= SetPlayerFrom;

	OnFunc[DEF_LOG_UPGRADE_FAIL			].proc	= SetPlayerFromLog;
	OnFunc[DEF_LOG_UPGRADE_SUCCESS		].proc	= SetPlayerFromLog;

	OnFunc[DEF_LOG_DISSIPATION			].proc	= SetPlayerFrom;

	OnFunc[DEF_LOG_KILL					].proc	= SetPlayerFromToAction;
	OnFunc[DEF_LOG_KILLEDNPC			].proc	= SetNPCFromToAction;

	OnFunc[DEF_LOG_QUESTSTART			].proc	= SetQuestPlayerFrom;
	OnFunc[DEF_LOG_QUESTFAIL			].proc	= SetQuestPlayerFrom;
	OnFunc[DEF_LOG_QUESTSUCCESS			].proc  = SetQuestPlayerFrom;

	OnFunc[DEF_LOG_LEVELUP				].proc	= SetPlayerLevel;

	OnFunc[DEF_LOG_DEPOSIT				].proc	= SetPlayerFromBank;
	OnFunc[DEF_LOG_WITHDRAWAL			].proc	= SetPlayerFromBank;

#ifdef DEF_GUILDBANK
	OnFunc[DEF_LOG_GUILDBANKDEPOSIT		].proc	= SetPlayerFromBank;
	OnFunc[DEF_LOG_GUILDBANKWITHDRAWAL	].proc	= SetPlayerFromBank;
#endif

	
	
#ifdef DEF_ITEMLOG_FIX
	OnFunc[DEF_LOG_PKITEMDELETED		].proc	= SetPlayerFrom;
#else
	OnFunc[DEF_LOG_PKITEMDELETED		].proc	= SetPlayerFromItemLog;
#endif 

	OnFunc[DEF_LOG_PKITEMDROPED			].proc	= SetPlayerFromItemLog;

	OnFunc[DEF_LOG_FORCEDELITEM			].proc	= SetPlayerForceDelItem;

#ifdef DEF_CHECK_QUESTDONE
	OnFunc[DEF_LOG_CHECKQUESTDONEG		].proc	= SetCheckQuestDone;		//	涅胶飘 荐青冉荐啊 逞 弧府 腹捞 等芭 肺弊肺 巢扁磊..
#endif

	OnFunc[DEF_LOG_EXCLUSIVEITEM_DROP	].proc  = SetPlayerFromItem;		//	傈侩 酒捞袍 积己
	OnFunc[DEF_LOG_PRODUCT_STEEL		].proc  = SetPlayerFromItem;		//	绊枚 积己
	OnFunc[DEF_LOG_HALCON				].proc	= SetPlayerFromItem;		//	且能 积己
	
#ifdef DEF_LOG_MAPINOUT
	OnFunc[DEF_LOG_MAPIN				].proc	= SetPlayerMapMove ;
	OnFunc[DEF_LOG_MAPOUT				].proc	= SetPlayerMapMove ;
#endif

	OnFunc[DEF_LOG_PRODUCTION_SUCCESS	].proc	= SetPlayerFromItem;		//	力 炼
	OnFunc[DEF_LOG_PRODUCTION_FAIL		].proc	= SetPlayerFromItem;		//	力 炼
	OnFunc[DEF_LOG_DECOMPOSITON_SUCCESS	].proc	= SetPlayerFromItem;		//	盒 秦
	OnFunc[DEF_LOG_DECOMPOSITON_FAIL	].proc	= SetPlayerFromItem;		//	盒 秦
	
	OnFunc[DEF_LOG_GAMBLEITEM			].proc	= SetGambleItem;			//	胺喉傅			

	OnFunc[DEF_LOG_GUILDEXPGIVE			].proc	= SetGiveGuildExp;			//	辨靛 版氰摹

	OnFunc[DEF_LOG_AZIT_PROPOSE			].proc  = SetAzitPropose;			//	酒瘤飘 脚没
	OnFunc[DEF_LOG_AZIT_INCOME			].proc  = SetAzitPropose;			//	酒瘤飘 荐涝陛
	OnFunc[DEF_LOG_AZIT_TAXCHANGE		].proc  = SetAzitPropose;			//	酒瘤飘 技陛 函版
	
}

////////////////////////////////////////////////////////////////////////////////////////
//	Purpose: Player ID客 措惑 敲饭捞绢 ID客 甘 困摹甫 Log俊 持绰促.
//	Input  : lpItemLog - 
//			lpPlayerFrom - 
//
////////////////////////////////////////////////////////////////////////////////////////
void SetPlayerFromToGold
(	
	BYTE	nAction			, 
	CPlayer *lpPlayerFrom	, 
	CPlayer *lpPlayerTo		, 
	CItem	*lpItem			, 
	int		iGold			, 
	void	*pLog 
)
{	
	if(lpPlayerFrom == NULL) return ;
	if(lpPlayerTo	== NULL) return ;
    

	_ITEMLOG _Log ;

	memset(&_Log,0x0,sizeof(_ITEMLOG)) ;

	_Log.nAction			=	nAction ;

	// Gold 
	_Log.lpItem.wITEMIDX	=	1 ;
	_Log.lpItem.wTYPE		=	1 ;
	_Log.lpItem.dwPRICE		=	iGold ;

	memcpy(_Log.strAccountIDFrom, ((PlayerInfo *)lpPlayerFrom	)->m_strAccountID	,20) ;	// 拌沥疙 
	memcpy(_Log.strNameFrom,	  ((PlayerInfo *)lpPlayerFrom	)->m_strPlayerID	,20) ;	// 某腐磐 捞抚 
	memcpy(_Log.strAccountIDTo,   ((PlayerInfo *)lpPlayerTo		)->m_strAccountID	,20) ;	// 拌沥疙
	memcpy(_Log.strNameTo,        ((PlayerInfo *)lpPlayerTo		)->m_strPlayerID	,20) ;	// 某腐磐 捞抚 

#ifdef CHINESE_VERSION // 甘捞抚阑 DB俊辑
	memcpy(_Log.strLocation, _Module.m_strMapName[lpPlayerFrom->m_nMapLayer ],20) ;
#else
	memcpy(_Log.strLocation,g_pMap->GetMapTitle( lpPlayerFrom->m_nMapLayer ),20) ;
#endif

	_Log.wX = lpPlayerFrom->m_Tile.x ;
	_Log.wY = lpPlayerFrom->m_Tile.y ;

	_Log.dwMapID = g_pMap->GetMapSeq( lpPlayerFrom->m_nMapLayer );

	g_lpLog->ItemLog(&_Log) ;
}


////////////////////////////////////////////////////////////////////////////////////////
//	Purpose: Player ID客 措惑 敲饭捞绢 ID客 甘 困摹甫 Log俊 持绰促.
//	Input  : lpItemLog - 
//			lpPlayerFrom - 
//
////////////////////////////////////////////////////////////////////////////////////////
void SetPlayerFromToAction
(
	BYTE	nAction			,  
	CPlayer *lpPlayerFrom	,
	CPlayer *lpPlayerTo		,
	CItem	*lpItem			,
	int		iGold			, 
	void	*pLog 
)
{
	if(lpPlayerFrom == NULL) return ;
	if(lpPlayerTo	== NULL) return ;
	
	_ITEMLOG _Log ;
	memset(&_Log,0x0,sizeof(_ITEMLOG)) ;

	_Log.nAction = nAction ;


	memcpy(_Log.strAccountIDFrom, ((PlayerInfo *)lpPlayerFrom	)->m_strAccountID	,20);	//	拌沥疙 
	memcpy(_Log.strNameFrom,	  ((PlayerInfo *)lpPlayerFrom	)->m_strPlayerID	,20);	//	某腐磐 捞抚 
	memcpy(_Log.strAccountIDTo,   ((PlayerInfo *)lpPlayerTo		)->m_strAccountID	,20);	//	拌沥疙
	memcpy(_Log.strNameTo,        ((PlayerInfo *)lpPlayerTo		)->m_strPlayerID	,20);	//	某腐磐 捞抚 

#ifdef CHINESE_VERSION // 甘捞抚阑 DB俊辑
	memcpy(_Log.strLocation, _Module.m_strMapName[lpPlayerFrom->m_nMapLayer ],20) ;
#else
	memcpy(_Log.strLocation,g_pMap->GetMapTitle( lpPlayerFrom->m_nMapLayer ),20) ;
#endif

	_Log.wX = lpPlayerFrom->m_Tile.x ;
	_Log.wY = lpPlayerFrom->m_Tile.y ;

	_Log.dwMapID = g_pMap->GetMapSeq( lpPlayerFrom->m_nMapLayer );

	g_lpLog->ItemLog(&_Log) ;
}


////////////////////////////////////////////////////////////////////////////////////////
//	Purpose: Player ID客 措惑 敲饭捞绢 ID客 甘 困摹甫 Log俊 持绰促.
//	Input  : lpItemLog - 
//			lpPlayerFrom - 
////////////////////////////////////////////////////////////////////////////////////////
void SetNPCFromToAction
(
	BYTE	nAction			,  
	CPlayer *lpPlayerFrom	,
	CPlayer *lpPlayerTo		,
	CItem	*lpItem			,
	int		iGold			, 
	void	*pLog
)
{
	if(lpPlayerFrom == NULL) return ;
	if(lpPlayerTo	== NULL) return ;
		
	_ITEMLOG _Log ;
	memset(&_Log,0x0,sizeof(_ITEMLOG)) ;

	_Log.nAction = nAction ;

	memcpy(_Log.strAccountIDFrom, ((PlayerInfo *)lpPlayerFrom	)->m_strAccountID	,20);	//	拌沥疙 
	memcpy(_Log.strNameFrom,	  ((PlayerInfo *)lpPlayerFrom	)->m_strPlayerID	,20);	//	某腐磐 捞抚 

	memcpy(_Log.strNameTo,   lpPlayerTo->m_csName,20) ;										//	NPC 捞抚

#ifdef CHINESE_VERSION // 甘捞抚阑 DB俊辑
	memcpy(_Log.strLocation, _Module.m_strMapName[lpPlayerFrom->m_nMapLayer ],20) ;
#else
	memcpy(_Log.strLocation, g_pMap->GetMapTitle( lpPlayerFrom->m_nMapLayer ),20) ;
#endif

	_Log.wX = lpPlayerFrom->m_Tile.x ;
	_Log.wY = lpPlayerFrom->m_Tile.y ;

	_Log.dwMapID = g_pMap->GetMapSeq( lpPlayerFrom->m_nMapLayer );

	g_lpLog->ItemLog(&_Log) ;
}



////////////////////////////////////////////////////////////////////////////////////////
//	Purpose: Player ID客 措惑 敲饭捞绢 ID客 甘 困摹甫 Log俊 持绰促.
//	Input  : lpItemLog - 
//			lpPlayerFrom - 
////////////////////////////////////////////////////////////////////////////////////////
void SetPlayerFromTo
(
	BYTE	nAction			,  
	CPlayer *lpPlayerFrom	,
	CPlayer *lpPlayerTo		,
	CItem	*lpItem			,
	int		iGold			, 
	void	*pLog 
)
{
	if(lpItem		== NULL ) return ;
	if(lpPlayerFrom == NULL	) return ;
	if(lpPlayerTo	== NULL	) return ;


	// 肺弊俊 巢绰 酒捞袍捞 酒聪促. 
	if(g_lpLog->bIsLogItem(lpItem) == false )	return ;
   
	_ITEMLOG _Log ;
	memset(&_Log,0x0,sizeof(_ITEMLOG)) ;

	_Log.nAction = nAction ;

	lpItem->GetInventory(&_Log.lpItem) ;


	memcpy(_Log.strAccountIDFrom, ((PlayerInfo *)lpPlayerFrom	)->m_strAccountID	,20);	//	拌沥疙 
	memcpy(_Log.strNameFrom,	  ((PlayerInfo *)lpPlayerFrom	)->m_strPlayerID	,20);	//	某腐磐 捞抚 
	memcpy(_Log.strAccountIDTo,   ((PlayerInfo *)lpPlayerTo		)->m_strAccountID	,20);	//	拌沥疙
	memcpy(_Log.strNameTo,        ((PlayerInfo *)lpPlayerTo		)->m_strPlayerID	,20);	//	某腐磐 捞抚 

#ifdef CHINESE_VERSION // 甘捞抚阑 DB俊辑
	memcpy(_Log.strLocation, _Module.m_strMapName[lpPlayerFrom->m_nMapLayer ],20) ;
#else
	memcpy(_Log.strLocation,g_pMap->GetMapTitle( lpPlayerFrom->m_nMapLayer ),20) ;
#endif

	_Log.wX = lpPlayerFrom->m_Tile.x ;
	_Log.wY = lpPlayerFrom->m_Tile.y ;

	_Log.dwMapID = g_pMap->GetMapSeq( lpPlayerFrom->m_nMapLayer );

	g_lpLog->ItemLog(&_Log) ;
}


////////////////////////////////////////////////////////////////////////////////////////
//	Purpose: Player ID 客 甘 困摹甫 Log俊 持绰促.
//	Input  : lpItemLog - 
//			lpPlayerFrom - 
////////////////////////////////////////////////////////////////////////////////////////
void SetPlayerFrom
(
	BYTE	nAction			,  
	CPlayer *lpPlayerFrom	,
	CPlayer *lpPlayerTo		,
	CItem	*lpItem			,
	int		iGold			, 
	void	*pLog 
)
{
	if(lpItem		== NULL ) return ;
	if(lpPlayerFrom == NULL	) return ;


	// 肺弊俊 巢绰 酒捞袍捞 酒聪促. 
	if(g_lpLog->bIsLogItem(lpItem) == false )	return ;
   
	_ITEMLOG _Log ;
	memset(&_Log,0x0,sizeof(_ITEMLOG)) ;

	_Log.nAction = nAction ;

	lpItem->GetInventory(&_Log.lpItem) ;

	memcpy(_Log.strAccountIDFrom, ((PlayerInfo *)lpPlayerFrom	)->m_strAccountID	,20);	//	拌沥疙 
	memcpy(_Log.strNameFrom,	  ((PlayerInfo *)lpPlayerFrom	)->m_strPlayerID	,20);	//	某腐磐 捞抚 

#ifdef CHINESE_VERSION // 甘捞抚阑 DB俊辑
	memcpy(_Log.strLocation, _Module.m_strMapName[lpPlayerFrom->m_nMapLayer ],20) ;
#else
	memcpy(_Log.strLocation,g_pMap->GetMapTitle( lpPlayerFrom->m_nMapLayer ),20) ;
#endif

	_Log.wX = lpPlayerFrom->m_Tile.x ;
	_Log.wY = lpPlayerFrom->m_Tile.y ;

	_Log.dwMapID = g_pMap->GetMapSeq( lpPlayerFrom->m_nMapLayer );

	g_lpLog->ItemLog(&_Log) ;
}



////////////////////////////////////////////////////////////////////////////////////////
//	Purpose: Player ID 客 甘 困摹甫 Log俊 持绰促. 窜 公炼扒 肺弊甫 巢变促. (酒捞袍 诀弊饭捞靛 己傍 角菩)
//	Input  : lpItemLog - 
//			lpPlayerFrom - 
////////////////////////////////////////////////////////////////////////////////////////
void SetPlayerFromLog
(
	BYTE	nAction			,  
	CPlayer *lpPlayerFrom	,
	CPlayer *lpPlayerTo		,
	CItem	*lpItem			,
	int		iGold			, 
	void	*pLog 
	)
{
	if(lpItem		== NULL ) return ;
	if(lpPlayerFrom == NULL	) return ;
	

⌨️ 快捷键说明

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