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

📄 logmgr.cpp

📁 网络游戏龙族服务器端管理工具 rmtool 源代码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// LogMgr.cpp: implementation of the CLogMgr class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "rmtool.h"
#include "LogMgr.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CLogMgr::CLogMgr()
{
	//InitVariable();
	SetMemoryAllMember( 0x00 );
}

CLogMgr::CLogMgr( const chr_info& info, const chr_info_item& item, const chr_info_etc& etc, const chr_info2 info2, const chr_log_info& log)
{
	//InitVariable();
	SetMemoryAllMember( 0x00 );

	memcpy( (void**)&m_ChrInfo, (void**)&info, sizeof( chr_info ));
	memcpy( (void**)&m_ChrInfoBinary, (void**)&item, sizeof( chr_info_item ));
	memcpy( (void**)&m_ChrInfoEtc, (void**)&etc, sizeof( chr_info_etc ));
	memcpy( (void**)&m_ChrLogInfo, (void**)&log, sizeof( chr_log_info ));	
}

CLogMgr::~CLogMgr()
{
	SetMemoryAllMember( 0x00 );
	//if( m_pApp != NULL )
	//	delete m_pApp;
}

void CLogMgr::InitVariable(const chr_info info, const chr_info_item item, const chr_info_etc etc, const chr_log_info log, const int iReservedPoint, const int nGuildCode)
{
	SetMemoryAllMember( 0x00 );

	memcpy( (void**)&m_ChrInfo, (void**)&info, sizeof( chr_info ));
	memcpy( (void**)&m_ChrInfoBinary, (void**)&item, sizeof( chr_info_item ));
	memcpy( (void**)&m_ChrInfoEtc, (void**)&etc, sizeof( chr_info_etc ));
	//memcpy( (void**)&m_ChrInfo2, (void**)&info2, sizeof( chr_info2 ));
	memcpy( (void**)&m_ChrLogInfo, (void**)&log, sizeof( chr_log_info ));	
	SetGuildCode( nGuildCode );	//030326 辨靛内靛

	m_ChrInfo.guildname[16] +=1;
	//m_iReservedPoint = iReservedPoint+1;	//窍唱 歹茄蔼捞 柳楼 蔼捞促. 
}

void CLogMgr::SetUserIdName( const CString szName, const CString szId )
{
	m_szName.Empty();
	m_szId.Empty();

	m_szName = szName;
	m_szId   = szId;
}

void CLogMgr::SetServerDB( const CString szServerName, const CString szID )
{
	m_szServerName.Empty();
	m_szDBName.Empty();
	m_szServerName = szServerName;

	m_szDBName = szID;
}

void CLogMgr::SetMemoryAllMember( const int& iSet)
{
	memset( (void**)&m_ChrInfo, iSet, sizeof( chr_info ) ); 
	memset( (void**)&m_ChrInfoBinary, iSet, sizeof( chr_info_item ) ); 
	memset( (void**)&m_ChrInfoEtc, iSet, sizeof( chr_info_etc ) ); 
	//memset( (void**)&m_ChrInfo2, iSet, sizeof( chr_info2 ) ); 
	memset( (void**)&m_ChrLogInfo, iSet, sizeof( chr_log_info ) ); 
}

void CLogMgr::CheckChrInfo( const chr_info& info)
{	//chr_info郴侩 官诧巴 肺弊肺..

	//ablilty
	ExchangedLog( info.dex, m_ChrInfo.dex , "Save", "Basic", "Dex" );
	ExchangedLog( info.con, m_ChrInfo.con , "Save", "Basic", "con" );
	ExchangedLog( info.str, m_ChrInfo.str , "Save", "Basic", "str" );
	ExchangedLog( info.wis, m_ChrInfo.wis , "Save", "Basic", "wis" );
	ExchangedLog( info.int1, m_ChrInfo.int1 , "Save", "Basic", "int1" );
	ExchangedLog( info.movep, m_ChrInfo.movep , "Save", "Basic", "movep" );
	ExchangedLog( info.char1, m_ChrInfo.char1, "Save", "Basic", "char1" );
	ExchangedLog( info.endu, m_ChrInfo.endu, "Save", "Basic", "endu" );
	ExchangedLog( info.moral, m_ChrInfo.moral, "Save", "Basic", "moral" );
	ExchangedLog( info.luck, m_ChrInfo.luck, "Save", "Basic", "luck" );
	ExchangedLog( info.wsps, m_ChrInfo.wsps, "Save", "Basic", "wsps" );
	ExchangedLog( info.reserved_point, m_ChrInfo.reserved_point, "Save", "Basic", "reserved_point" );

	//nk
	ExchangedLog( info.nut1, m_ChrInfo.nut1, "Save", "Basic", "NK_Vyseus" );		//nk 官捞辑胶
	ExchangedLog( info.nut2, m_ChrInfo.nut2, "Save", "Basic", "NK_Zypern" );		//nk 磊捞戚 
	ExchangedLog( info.nut3, m_ChrInfo.nut3, "Save", "Basic", "Nk_Yilles" );		//nk 老胶 

	//character class
	ExchangedLog( info.class1, m_ChrInfo.class1 , "Save", "Basic", "class1" );					//class
	ExchangedLog( info.spell, m_ChrInfo.spell, "Save", "Basic", "spell" );						//spell
	ExchangedLog( info.guildname[1], m_ChrInfo.guildname[ 1 ], "Save", "Basic", "DualClass"  ); //dual Class
	ExchangedLog( info.guildname[0], m_ChrInfo.guildname[ 0 ], "Save", "Basic", "DualStep"  );  //dual step
	
	//exp.
	ExchangedLog( info.lev, m_ChrInfo.lev , "Save", "Basic", "Level" );
	ExchangedLog( info.exp.least, m_ChrInfo.exp.least , "Save", "Basic", "Exp" );
	ExchangedLog( info.guildname[2], m_ChrInfo.guildname[ 2 ], "Save", "Basic", "ExpStep"  ); //dual Class

	//etc
	ExchangedLog( info.fame, m_ChrInfo.fame, "Save", "Basic", "fame" );								//frame
	ExchangedLog( info.reset, m_ChrInfo.reset, "Save", "Basic", "reset" );							//reset
	ExchangedLog( info.ladderscore, m_ChrInfo.ladderscore, "Save", "Basic", "ladderscore" );		//ladder
	ExchangedLog( info.LastLoan, m_ChrInfo.LastLoan, "Save", "Basic", "LastLoan" );					//loan
	ExchangedLog( info.BankMoney.least, m_ChrInfo.BankMoney.least, "Save", "Basic", "BankMoney" );	//bankmoney

	//nation
	ExchangedLog( info.nation.nation, m_ChrInfo.nation.nation , "Save", "Basic", "Nation" );		//nation
	
}

void CLogMgr::CheckChrLogInfo(	const chr_log_info&	log)
{
	ExchangedLog( log.email	, m_ChrLogInfo.email , "Save", "Basic", "email" );
	ExchangedLog( log.passwd, m_ChrLogInfo.passwd , "Save", "Basic", "passwd" );
	ExchangedLog( log.Wjumin, m_ChrLogInfo.Wjumin , "Save", "Basic", "jumin" );
	ExchangedLog( log.Wname, m_ChrLogInfo.Wname , "Save", "Basic", "jumin" );
	ExchangedLog( log.Wphone, m_ChrLogInfo.Wphone, "Save", "Basic", "jumin" );
	//ExchangedLog( log.regday, m_ChrLogInfo.regday, "Save", "Basic", "jumin" );
}

void CLogMgr::CheckChrLogInfo(	const chr_log_info2&	log)
{
	ExchangedLog( log.Wname, m_ChrLogInfo2.Wname , "Save", "Basic", "name" );
	ExchangedLog( log.passwd, m_ChrLogInfo2.passwd , "Save", "Basic", "passwd" );
	ExchangedLog( log.Wjumin, m_ChrLogInfo2.Wjumin , "Save", "Basic", "jumin" );
	//ExchangedLog( log.regday, m_ChrLogInfo2.regday , "Save", "Basic", "regday" );
}

void CLogMgr::CheckChrInfoBinary( const char* func, const char *type, const int& iValue, const char* tmp)
{//func绰 save/delete, type绰 酒袍困摹, ivalue绰 酒袍锅龋
	//ExchangedLog( info.dex, m_ChrInfo.dex , type, "Item", "Dex" );
	CRMToolApp *m_pApp = (CRMToolApp*)AfxGetApp();
	
	m_pApp->LogCharExtend( m_szServerName, m_szDBName, func, "item", m_szName, m_szId, type, iValue, tmp);
}

void CLogMgr::CheckChrInfoEtc_TaticQuest(	const chr_info_etc&	etc)
{
	const char *tatics[13] = 
	{ "crapple", "sword", "archery", "fencing", "mace", "pieace", "whirl", "hurl", "parring", "d_sword", "d_mace", "magery", "orison"};
	
	for( int i =0 ;i <13; i++)
		ExchangedLog( etc.tac_skillexp[i], m_ChrInfoEtc.tac_skillexp[i], "Save", "Tatic", tatics[i] );

	for( i=0;i<200;i++)
	{
		char buf[100]; 
		ExchangedLog( etc.script_var[i], m_ChrInfoEtc.script_var[i], "Save", "Tatic", "Quest",ToString( buf, i)); //tmp俊 quest锅龋啊 甸绢皑
	}
}
void CLogMgr::CheckChrInfoEtc_SkillData(	const chr_info_etc&	etc)
{
	const char *SkillData[42] = 
	{"Sprituality", "poisoning", "entrapment", "Scrolling","Cunning","Bombplay", "Stealing", "Farming", "Mining", "Fishing",
	 "Cutdown", "Butchering", "Herbdig", "Herding",	"Carpentry", "Blacksmith", "Cookingene", "Tailoring", "Bowcraft", "Alcheming",
	 "Candlemake", "Reparing", "Reutilizing","Musicianshi", "Detect", "Hide", "Camping", "Taiming", "Commncatn", "Animal_lore", 
	 "Arms_lore", "Evalu_int", "Evalu_wis", "antmy_jdge", "item_ienty", "taste_identy", "Appraisal", "healing", "jump", "Riding", "tmp1", "tmp2"};

	for(int i=0; i<42; i++ )
		ExchangedLog( etc.skillexp[i], m_ChrInfoEtc.skillexp[i], "Save", "SkillData", SkillData[i]);
	
}
/*
void CLogMgr::CheckChrInfo2( const chr_info2& info2)
{
	//bankitem历厘 
	//item篮 公炼扒 历厘捞扁俊 荤侩窍瘤 臼绰促. 

⌨️ 快捷键说明

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