?? clog.cpp
字號:
////////////////////////////////////////////////////////////////////////////////////////
// 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 + -