Restructure repository to include all source folders

Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-29 20:17:20 +09:00
parent 5d3cd64a25
commit dd97ddec92
11602 changed files with 1446576 additions and 0 deletions

View File

@@ -0,0 +1,860 @@
#ifndef _LOG_STRUCT_H_
#define _LOG_STRUCT_H_
#include <winsock2.h>
#include <windows.h>
#include <numeric>
#include <Item/Item.h>
#include <DB/DBDefine.h>
#include <Network/Packet/PacketStruct/CharLoginOutPacketStruct.h>
#include <Network/Packet/PacketStruct/CharItemPacketStruct.h>
#include <Creature/CreatureStructure.h>
#pragma pack(1)
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٲ<EFBFBD><D9B2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>α׵<CEB1> <20>ٸ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>.
namespace GAMELOG
{
typedef unsigned char CMDType;
typedef unsigned char ERRType;
// <20><20>α<EFBFBD> Structure
struct sLogBase
{
unsigned long m_dwUID; // UserID
unsigned long m_dwCID; // Character ID
time_t m_time; // <20>α<EFBFBD> <20>ð<EFBFBD>
unsigned short m_usXPos; // ij<><C4B3><EFBFBD><EFBFBD> <20><>ǥX
unsigned short m_usYPos; // ij<><C4B3><EFBFBD><EFBFBD> <20><>ǥY
unsigned short m_usZPos; // ij<><C4B3><EFBFBD><EFBFBD> <20><>ǥZ
CMDType m_cCmd; // Ŀ<>ǵ<EFBFBD>
ERRType m_cErr; // <20><><EFBFBD><EFBFBD> <20>ڵ<EFBFBD>
inline void InitLogBase(const unsigned long dwUID, const unsigned long dwCID, const Position& Pos,
const time_t time, const CMDType cCmd, const ERRType cErr);
int GetSize();
};
inline void sLogBase::InitLogBase(const unsigned long dwUID, const unsigned long dwCID, const Position& Pos,
const time_t time, const CMDType cCmd, const ERRType cErr)
{
m_dwUID = dwUID;
m_dwCID = dwCID;
m_usXPos = static_cast<unsigned short>(Pos.m_fPointX);
m_usYPos = static_cast<unsigned short>(Pos.m_fPointY);
m_usZPos = static_cast<unsigned short>(Pos.m_fPointZ);
m_time = time;
m_cCmd = cCmd;
m_cErr = cErr;
}
// --------------------------------------------------------------------------------------------
// ij<><C4B3><EFBFBD><EFBFBD> <20>α<EFBFBD> Structure : <20>α<EFBFBD><CEB1><EFBFBD>, <20>α׾ƿ<D7BE>
// <20>ٷ<EFBFBD> <20>ڿ<EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
struct sCharLoginOut : public sLogBase
{
enum LOGINOUT_ERROR
{
CANNOT_UPDATE_LOGOUT = 1
};
unsigned long m_nIP; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned short m_usPort; // <20><>Ʈ
unsigned char m_cAdmin; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned short m_usDataSize[DBUpdateData::MAX_UPDATE_DB];
unsigned short m_usDepositData;
unsigned long m_dwDepositMoney;
inline void InitCharLog(const SOCKADDR_IN* lpSockAddr_In, const unsigned char cAdmin,
const unsigned short usDataSize[DBUpdateData::MAX_UPDATE_DB], const unsigned short usDepositData, const unsigned long dwDepositMoney);
inline int GetCharacterInfoSize() { return std::accumulate(&m_usDataSize[0], &m_usDataSize[DBUpdateData::MAX_UPDATE_DB], 0); }
};
inline void sCharLoginOut::InitCharLog(const SOCKADDR_IN* lpSockAddr_In, const unsigned char cAdmin,
const unsigned short usDataSize[DBUpdateData::MAX_UPDATE_DB], const unsigned short usDepositData,
const unsigned long dwDepositMoney)
{
if(NULL == lpSockAddr_In)
{
m_nIP = 0;
m_usPort = 0;
}
else
{
m_nIP = lpSockAddr_In->sin_addr.s_addr;
m_usPort = lpSockAddr_In->sin_port;
}
m_cAdmin = cAdmin;
memcpy(m_usDataSize, usDataSize, sizeof(unsigned short) * DBUpdateData::MAX_UPDATE_DB);
m_usDepositData = usDepositData;
m_dwDepositMoney = dwDepositMoney;
}
// ij<><C4B3><EFBFBD><EFBFBD> <20>α<EFBFBD> Structure : ij<><C4B3><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>, <20>Ҹ<EFBFBD>
struct sCharCreateDelete : public sLogBase
{
unsigned long m_nIP; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned short m_usPort; // <20><>Ʈ
inline void InitCharLog(const SOCKADDR_IN* lpSockAddr_In);
};
inline void sCharCreateDelete::InitCharLog(const SOCKADDR_IN* lpSockAddr_In)
{
if(NULL == lpSockAddr_In)
{
m_nIP = 0;
m_usPort = 0;
}
else
{
m_nIP = lpSockAddr_In->sin_addr.s_addr;
m_usPort = lpSockAddr_In->sin_port;
}
}
// --------------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>. <20>ڿ<EFBFBD> Equip, Inven, Extra, Exchange<67><65> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٴ´<D9B4>.
struct sItemDump
{
enum { EQUIP_DUMP = 0, INVEN_DUMP = 1, EXTRA_DUMP = 2, EXCHANGE_DUMP = 3, MAX_DUMP = 4 };
unsigned short m_usDataSize[MAX_DUMP];
inline int sItemDump::GetItemDumpSize() { return std::accumulate(&m_usDataSize[0], &m_usDataSize[MAX_DUMP], 0); }
};
const unsigned short MAX_ITEM_DUMP_SIZE = sizeof(sItemDump) +
sizeof(EQUIP) + sizeof(INVEN) + sizeof(EXTRA) + sizeof(EXCHANGE);
struct sMinItemInfo
{
DWORD64 m_dwItemUID;
unsigned short m_usProtoTypeID;
unsigned char m_cNowDurability;
sMinItemInfo() : m_dwItemUID(0), m_usProtoTypeID(0), m_cNowDurability(0) { }
sMinItemInfo(const Item::CItem* lpItem_In) { InitMinItemInfo(lpItem_In); }
inline void InitMinItemInfo(const Item::CItem* lpItem_In);
};
inline void sMinItemInfo::InitMinItemInfo(const Item::CItem* lpItem_In)
{
if(NULL == lpItem_In)
{
m_dwItemUID = 0;
m_usProtoTypeID = 0;
m_cNowDurability = 0;
}
else
{
m_dwItemUID = lpItem_In->GetUID();
m_usProtoTypeID = lpItem_In->GetPrototypeID();
m_cNowDurability = lpItem_In->GetNumOrDurability();
}
}
// MoveItem<65>α<EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sItemDump<6D><70> <20><><EFBFBD><EFBFBD>.
struct sMoveItemLog : public sLogBase
{
TakeType m_takeType;
sMinItemInfo m_itemInfo;
inline void InitMoveItemLog(const TakeType takeType, const sMinItemInfo minItemInfo);
};
inline void sMoveItemLog::InitMoveItemLog(const TakeType takeType, const sMinItemInfo minItemInfo)
{
m_takeType = takeType;
m_itemInfo = minItemInfo;
}
// SwapItem<65>α<EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sItemDump<6D><70> <20><><EFBFBD><EFBFBD>.
struct sSwapItemLog : public sLogBase
{
TakeType m_srcTake;
TakeType m_dstTake;
sMinItemInfo m_srcItemInfo;
sMinItemInfo m_dstItemInfo;
inline void InitSwapItemLog(const TakeType srcTake, const TakeType dstTake,
const Item::CItem* lpSrcItem, const Item::CItem* lpDstItem);
};
inline void sSwapItemLog::InitSwapItemLog(const TakeType srcTake, const TakeType dstTake,
const Item::CItem* lpSrcItem, const Item::CItem* lpDstItem)
{
m_srcTake = srcTake;
m_dstTake = dstTake;
m_srcItemInfo.InitMinItemInfo(lpSrcItem);
m_dstItemInfo.InitMinItemInfo(lpDstItem);
}
// UseItem<65>α<EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sItemDump<6D><70> <20><><EFBFBD><EFBFBD>.
struct sUseItemLog : public sLogBase
{
Item::ItemPos m_usePos;
sMinItemInfo m_itemInfo;
inline void InitUseItemLog(const Item::ItemPos usePos, const Item::CItem* lpUseItem);
};
inline void sUseItemLog::InitUseItemLog(const Item::ItemPos usePos, const Item::CItem* lpUseItem)
{
m_usePos = usePos;
m_itemInfo.InitMinItemInfo(lpUseItem);
}
// SplitItem<65>α<EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sItemDump<6D><70> <20><><EFBFBD><EFBFBD>.
struct sSplitItemLog : public sLogBase
{
TakeType m_splitTake;
sMinItemInfo m_prevItem;
sMinItemInfo m_splitItem;
inline void InitSplitItemLog(const TakeType splitTake,
const Item::CItem* lpPrevItem, const Item::CItem* lpSplitItem);
};
inline void sSplitItemLog::InitSplitItemLog(const TakeType splitTake,
const Item::CItem* lpPrevItem, const Item::CItem* lpSplitItem)
{
m_splitTake = splitTake;
m_prevItem.InitMinItemInfo(lpPrevItem);
m_splitItem.InitMinItemInfo(lpSplitItem);
}
// --------------------------------------------------------------------------------------------
// UseItem<65>α<EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sItemDump<6D><70> <20><><EFBFBD><EFBFBD>.
struct sUseLotteryLog : public sLogBase
{
sMinItemInfo m_itemInfo;
inline void InitUseLotteryLog(const Item::CItem* lpGetItem);
};
inline void sUseLotteryLog::InitUseLotteryLog(const Item::CItem* lpGetItem)
{
m_itemInfo.InitMinItemInfo(lpGetItem);
}
// --------------------------------------------------------------------------------------------
// PickupItem <20>α<EFBFBD> - <20>ڿ<EFBFBD> <20><><EFBFBD><EFBFBD> Item<65><6D> <20>ϳ<EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sItemDump<6D><70> <20><><EFBFBD><EFBFBD>.
struct sPickupItemLog : public sLogBase
{
unsigned long m_dwGold;
Item::ItemPos m_itemPos;
inline void InitPickupItemLog(const unsigned long dwGold, const Item::ItemPos itemPos);
};
inline void sPickupItemLog::InitPickupItemLog(const unsigned long dwGold, const Item::ItemPos itemPos)
{
m_dwGold = dwGold;
m_itemPos = itemPos;
}
// DropItem<65>α<EFBFBD> - <20>ڿ<EFBFBD> <20><><EFBFBD><EFBFBD> Item<65><6D> <20>ϳ<EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sItemDump<6D><70> <20><><EFBFBD><EFBFBD>.
struct sDropItemLog : public sLogBase
{
unsigned long m_dwGold;
Item::ItemPos m_itemPos; // cNum<75><6D> <20>ڿ<EFBFBD> <20>ٴ<EFBFBD>Item<65><6D> ũ<><C5A9>.
inline void InitDropItemLog(const unsigned long dwGold, const Item::ItemPos itemPos);
};
inline void sDropItemLog::InitDropItemLog(const unsigned long dwGold, const Item::ItemPos itemPos)
{
m_dwGold = dwGold;
m_itemPos = itemPos;
}
// TradeItem<65>α<EFBFBD> - <20><><EFBFBD>ų<EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ڿ<EFBFBD> <20><><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sItemDump<6D><70> <20><><EFBFBD><EFBFBD>.
struct sTradeItemLog : public sLogBase
{
unsigned long m_dwTraderCID;
unsigned long m_dwGold;
Item::ItemPos m_itemPos;
inline void InitTradeItemLog(const unsigned long dwTraderCID, const unsigned long dwGold, const Item::ItemPos itemPos);
};
inline void sTradeItemLog::InitTradeItemLog(const unsigned long dwTraderCID, const unsigned long dwGold, const Item::ItemPos itemPos)
{
m_dwTraderCID = dwTraderCID;
m_dwGold = dwGold;
m_itemPos = itemPos;
}
// InstanllSocketLog : <20>ڿ<EFBFBD> Gem<65><6D> <20><><EFBFBD>׷<EFBFBD><D7B7>̵<EFBFBD> <20><> Item<65><6D> <20>ϳ<EFBFBD><CFB3><EFBFBD> <20><><EFBFBD><EFBFBD>. (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
struct sInstallSocketLog : public sLogBase
{
TakeType m_GemAndEquip; // Src - Gem, Dst - Equip
unsigned char m_cGemSize;
unsigned char m_cEquipSize;
inline void InitInstallSocketLog(const TakeType GemAndEquip,
const unsigned char cGemSize, const unsigned char cEquipSize);
};
inline void sInstallSocketLog::InitInstallSocketLog(const TakeType GemAndEquip,
const unsigned char cGemSize, const unsigned char cEquipSize)
{
m_GemAndEquip = GemAndEquip;
m_cGemSize = cGemSize;
m_cEquipSize = cEquipSize;
}
// UpgradeItemLog : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>׷<EFBFBD><D7B7>̵<EFBFBD> <20>α<EFBFBD> : <20>ڿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>׷<EFBFBD><D7B7>̵<EFBFBD> <20><> Item<65><6D> <20>ϳ<EFBFBD><CFB3><EFBFBD> <20><><EFBFBD><EFBFBD>. (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
struct sUpgradeItemLog : public sLogBase
{
unsigned long m_dwCurrentGold;
unsigned long m_dwUsedGold;
unsigned char m_cMineralSize;
unsigned char m_cEquipSize;
inline void InitUpgradeItemLog(const unsigned long dwCurrentGold, const unsigned long dwUsedGold,
const unsigned char cMineralSize, const unsigned char cEquipSize);
};
inline void sUpgradeItemLog::InitUpgradeItemLog(const unsigned long dwCurrentGold,
const unsigned long dwUsedGold, const unsigned char cMineralSize, const unsigned char cEquipSize)
{
m_dwCurrentGold = dwCurrentGold;
m_dwUsedGold = dwUsedGold;
m_cMineralSize = cMineralSize;
m_cEquipSize = cEquipSize;
}
struct sUpgradeItemLogV2 : public sLogBase
{
unsigned long m_dwCurrentGold;
unsigned long m_dwUsedGold;
unsigned char m_cLastUpgradeLevel; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD>׷<EFBFBD><D7B7>̵<EFBFBD> <20>ܰ<EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD>׷<EFBFBD><D7B7>̵<EFBFBD> <20>ܰ<EFBFBD><DCB0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
unsigned char m_cMineralSize;
unsigned char m_cEquipSize;
inline void InitUpgradeItemLog(const unsigned long dwCurrentGold, const unsigned long dwUsedGold,
const unsigned char cLastUpgradeLevel, const unsigned char cMineralSize, const unsigned char cEquipSize);
};
inline void sUpgradeItemLogV2::InitUpgradeItemLog(const unsigned long dwCurrentGold,
const unsigned long dwUsedGold, const unsigned char cLastUpgradeLevel,
const unsigned char cMineralSize, const unsigned char cEquipSize)
{
m_dwCurrentGold = dwCurrentGold;
m_dwUsedGold = dwUsedGold;
m_cLastUpgradeLevel = cLastUpgradeLevel;
m_cMineralSize = cMineralSize;
m_cEquipSize = cEquipSize;
}
// ExchangeLog : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȯ <20>α<EFBFBD>. <20>ڿ<EFBFBD> <20><>ȯ<EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD><DBB5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
struct sExchangeItemLog : public sLogBase
{
unsigned long m_dwGold; // <20><>ȯ<EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>.
unsigned long m_dwDstCID; // <20><>ȯ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CID.
unsigned short m_usItemSize; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ũ<><C5A9>.
inline void InitExchangeItemLog(const unsigned long dwGold, const unsigned long dwDstCID,
const unsigned short usItemSize);
};
inline void sExchangeItemLog::InitExchangeItemLog(const unsigned long dwGold, const unsigned long dwDstCID,
const unsigned short usItemSize)
{
m_dwGold = dwGold;
m_dwDstCID = dwDstCID;
m_usItemSize = usItemSize;
}
// sRepairItemLog : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>α<EFBFBD>.
struct sRepairItemLog : public sLogBase
{
unsigned long m_dwUsed;
sMinItemInfo m_RepairedItem;
unsigned char m_cPreRepairDurability;
inline void InitRepairItemLog(const unsigned long dwUsed, const Item::CItem* lpItem,
const unsigned char cPreRepairDurability);
};
inline void sRepairItemLog::InitRepairItemLog(const unsigned long dwUsed,
const Item::CItem* lpItem, const unsigned char cPreRepairDurability)
{
m_dwUsed = dwUsed;
m_RepairedItem.InitMinItemInfo(lpItem);
m_cPreRepairDurability = cPreRepairDurability;
}
// sChangeWeaponLog : <20><> <20>ٲٱ<D9B2> <20>α<EFBFBD>
struct sChangeWeaponLog : public sLogBase
{
unsigned char m_cCurrentHand;
inline void InitCurrentHand(const unsigned char cCurrentHand);
};
inline void sChangeWeaponLog::InitCurrentHand(const unsigned char cCurrentHand)
{
m_cCurrentHand = cCurrentHand;
}
// sChangeRideLog : <20><> Ÿ<><C5B8> <20>α<EFBFBD>
struct sChangeRideLog : public sLogBase
{
unsigned char m_cCurrentRide;
inline void InitCurrentRide(const unsigned char cCurrentRide);
};
inline void sChangeRideLog::InitCurrentRide(const unsigned char cCurrentRide)
{
m_cCurrentRide = cCurrentRide;
}
// ILLEGAL_ITEM<45>α<EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sItemDump<6D><70> <20><><EFBFBD><EFBFBD>.
struct sIllegalItemLog : public sLogBase
{
Item::ItemPos m_usePos;
sMinItemInfo m_itemInfo;
inline void InitIllegalItemLog(const Item::ItemPos usePos, const Item::CItem* lpItem);
};
inline void sIllegalItemLog::InitIllegalItemLog(const Item::ItemPos usePos, const Item::CItem* lpItem)
{
m_usePos = usePos;
m_itemInfo.InitMinItemInfo(lpItem);
}
// ILLEGAL_WARPPOS<4F>α<EFBFBD>
struct sIllegalWarpPosLog : public sLogBase
{
unsigned short m_usWarpXPos; // ij<><C4B3><EFBFBD><EFBFBD> Warp<72><70>ǥX
unsigned short m_usWarpYPos; // ij<><C4B3><EFBFBD><EFBFBD> Warp<72><70>ǥY
unsigned short m_usWarpZPos; // ij<><C4B3><EFBFBD><EFBFBD> Warp<72><70>ǥZ
unsigned long m_lDis;
inline void InitCharWarpPosLog(const Position& Pos, unsigned long dis);
};
inline void sIllegalWarpPosLog::InitCharWarpPosLog(const Position& Pos, unsigned long dis)
{
m_usWarpXPos = static_cast<unsigned short>(Pos.m_fPointX);
m_usWarpYPos = static_cast<unsigned short>(Pos.m_fPointY);
m_usWarpZPos = static_cast<unsigned short>(Pos.m_fPointZ);
m_lDis = dis;
}
// <20><><EFBFBD>ǽɸ޽<C9B8><DEBD><EFBFBD>
struct sHockDoubtLog : public sLogBase
{
unsigned short m_wHackID;
unsigned short m_wKindItem;
unsigned short m_wItemSize;
inline void InitHackDoubt(unsigned short wHackID, unsigned short wKindItem, unsigned short wItemSize);
};
inline void sHockDoubtLog::InitHackDoubt(unsigned short wHackID, unsigned short wKindItem, unsigned short wItemSize)
{
m_wKindItem = wKindItem;
m_wHackID = wHackID;
m_wItemSize = wItemSize;
}
// <20><> <20>̵<EFBFBD> <20>α<EFBFBD>
struct sTakeGoldLog : public sLogBase
{
unsigned long m_SrcGold;
unsigned long m_DstGold;
unsigned char m_cSrcPos;
unsigned char m_cDstPos;
inline void InitTakeGold(unsigned long SrcGold, unsigned long DstGold, unsigned char cSrcPos, unsigned char cDstPos);
};
inline void sTakeGoldLog::InitTakeGold(unsigned long SrcGold, unsigned long DstGold,
unsigned char cSrcPos, unsigned char cDstPos)
{
m_SrcGold = SrcGold;
m_DstGold = DstGold;
m_cSrcPos = cSrcPos;
m_cDstPos = cDstPos;
}
// <20><> <20>̵<EFBFBD> <20>α<EFBFBD> v2 : made by sparrowhawk (2004-03-24)
// <20><><EFBFBD><EFBFBD> <20><> <20>̵<EFBFBD> <20>α׿<CEB1>, <20>󸶰<EFBFBD> <20>̵<EFBFBD><CCB5>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><20>߰<EFBFBD><DFB0><EFBFBD>.
struct sTakeGoldLogV2 : public sLogBase
{
enum Purpose
{
MOVE_GOLD = 0, // <20><> <20>̵<EFBFBD><><C3A2>, <20>κ<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̵<EFBFBD>)
STORE_USE = 1, // â<><C3A2> <20>̿<EFBFBD><CCBF><EFBFBD>
BUY_STORE_TAB = 2, // â<><C3A2> <20><> <20><><EFBFBD><EFBFBD>
USE_CASHBAG = 3, // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
QUEST_AWARD = 4, // <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
QUEST_DEDUCT = 5, // <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>.
ADMIN_GIVEGOLD = 6, // <20><EFBFBD>ڰ<EFBFBD> <20><><EFBFBD>Ƿ<EFBFBD> <20><><EFBFBD><EFBFBD>.
BATTLE_DEPOSIT = 7, // <20><>Ʋ<EFBFBD>׶<EFBFBD><D7B6><EFBFBD><EFBFBD><EFBFBD><E5BFA1> â<><C3A2><EFBFBD><EFBFBD> <20>Ա<EFBFBD>
STATE_REDISTRIBUTE = 8, // <20>ɷ<EFBFBD>ġ <20><><EFBFBD>й<EFBFBD>.
STARTERKIT_AWARD = 9 // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ÿ<EFBFBD><C5B8>Ŷ<EFBFBD><C5B6><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
};
unsigned long m_SrcGold;
unsigned long m_DstGold;
unsigned long m_MoveGold;
unsigned char m_cSrcPos;
unsigned char m_cDstPos;
unsigned char m_cPurpose;
};
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ݱ<EFBFBD> <20>α<EFBFBD>
struct sStallOpenCloseLog : public sLogBase
{
enum { MAX_STALL_NAME = 32 };
enum StallMode
{
STALL_OPEN = 0,
STALL_CLOSE = 1
};
unsigned char m_cMode;
char m_szStallName[MAX_STALL_NAME];
inline void InitStallOpenCloseLog(StallMode eStallMode, const char* szStallName);
};
inline void sStallOpenCloseLog::InitStallOpenCloseLog(sStallOpenCloseLog::StallMode eStallMode, const char* szStallName)
{
m_cMode = eStallMode;
if(NULL == szStallName) { memset(m_szStallName, 0, MAX_STALL_NAME); }
else { strncpy(m_szStallName, szStallName, MAX_STALL_NAME); }
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>α<EFBFBD>
struct sStallEnterLeaveLog : public sLogBase
{
enum StallMode
{
STALL_ENTER = 0,
STALL_LEAVE = 1
};
unsigned long m_dwCustomerCID;
unsigned char m_cMode;
inline void InitStallEnterLeaveLog(unsigned long dwCustomerCID, StallMode eStallMode)
{ m_dwCustomerCID = dwCustomerCID; m_cMode = eStallMode; }
};
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ø<EFBFBD><C3B8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<EFBFBD>
struct sStallRegisterRemoveItemLog : public sLogBase
{
enum StallMode
{
STALL_UNKNOWN = 0,
STALL_REGISTERITEM = 1,
STALL_REMOVEITEM = 2,
STALL_CHANGEPRICE = 3,
STALL_CAMP_REGISTER = 4,
STALL_CAMP_REMOVE = 5
};
TakeType m_takeType;
sMinItemInfo m_itemInfo;
unsigned long m_dwStallPrice;
unsigned char m_cMode;
inline void InitStallRegisterRemoveItemLog(StallMode eStallMode, const Item::CItem* lpItem,
const TakeType takeType);
};
inline void sStallRegisterRemoveItemLog::InitStallRegisterRemoveItemLog(
sStallRegisterRemoveItemLog::StallMode eStallMode, const Item::CItem* lpItem, const TakeType takeType)
{
m_itemInfo.InitMinItemInfo(lpItem);
m_takeType = takeType;
m_dwStallPrice = NULL != lpItem ? lpItem->GetStallPrice() : 0;
m_cMode = eStallMode;
}
struct sItemAttachOption : public sLogBase
{
// <20><><EFBFBD><EFBFBD>ü <20>ڿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> / <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> / <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>پ<EFBFBD> <20>´<EFBFBD>
unsigned long m_dwOldInvenGold;
unsigned long m_dwNewInvenGold;
unsigned char m_cSelectedOptionIndex;
unsigned char m_cOldItemLen;
unsigned char m_cUseItemLen;
unsigned char m_cNewItemLen;
};
struct sItemCompensation : public sLogBase
{
// <20><><EFBFBD><EFBFBD>ü <20>ڿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> / <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>پ<EFBFBD> <20>´<EFBFBD>.
unsigned long m_dwOldInvenGold;
unsigned long m_dwNewInvenGold;
unsigned char m_cOldItemLen;
unsigned char m_cNewItemLen;
};
// --------------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------------
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<EFBFBD>
struct sCharLevelUpLog : public sLogBase
{
unsigned char m_cLevel; // <20><><EFBFBD><EFBFBD>
unsigned short m_usIP; // <20><><EFBFBD><EFBFBD> IP
inline void InitCharLevelUpLog(const unsigned short usIP, const unsigned char cLevel);
};
inline void sCharLevelUpLog::InitCharLevelUpLog(const unsigned short usIP, const unsigned char cLevel)
{
m_usIP = usIP;
m_cLevel = cLevel;
}
// ij<><C4B3><EFBFBD><EFBFBD> <20><>ġ <20><><EFBFBD>ε<EFBFBD> <20>α<EFBFBD> - <20><><EFBFBD><EFBFBD> <20><>ġ<EFBFBD><C4A1> <20>״<EFBFBD><D7B4><EFBFBD> <20><><EFBFBD>ε<EFBFBD> <20><>.
struct sCharBindPosLog : public sLogBase
{
unsigned long m_dwNPCID;
inline void InitCharBindPosLog(const unsigned long dwNPCID) { m_dwNPCID = dwNPCID; }
};
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>α<EFBFBD>
struct sCharDeadLog : public sLogBase
{
DWORD64 m_nPrevExp; // <20><><EFBFBD><EFBFBD> <20><> Exp
DWORD64 m_nNextExp; // <20><><EFBFBD><EFBFBD> <20><> Exp
unsigned long m_dwAttackerCID; // <20><><EFBFBD><EFBFBD> <20><> CID
unsigned char m_cLevel; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
inline void InitCharDeadLog(const DWORD64 nPrevExp, const DWORD64 nNextExp,
const unsigned long dwAttackerCID, const unsigned char cLevel);
};
inline void sCharDeadLog::InitCharDeadLog(const DWORD64 nPrevExp, const DWORD64 nNextExp,
const unsigned long dwAttackerCID, const unsigned char cLevel)
{
m_nPrevExp = nPrevExp;
m_nNextExp = nNextExp;
m_dwAttackerCID = dwAttackerCID;
m_cLevel = cLevel;
}
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<EFBFBD>
struct sCharRespawnLog : public sLogBase
{
DWORD64 m_nPrevExp; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> Exp
DWORD64 m_nNextExp; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> Exp
inline void InitCharRespawnLog(const DWORD64 nPrevExp, const DWORD64 nNextExp);
};
inline void sCharRespawnLog::InitCharRespawnLog(const DWORD64 nPrevExp, const DWORD64 nNextExp)
{
m_nPrevExp = nPrevExp;
m_nNextExp = nNextExp;
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ ȹ<><C8B9> <20>α<EFBFBD>
struct sFameGetBattleLog : public sLogBase
{
unsigned long m_dwPrevFame; // ȹ<><C8B9> <20><> <20><><EFBFBD><EFBFBD>
unsigned long m_dwNextFame; // ȹ<><C8B9> <20><> <20><><EFBFBD><EFBFBD>
unsigned long m_dwPrevMileage; // ȹ<><C8B9> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>Ŵ<EFBFBD>
unsigned long m_dwNextMileage; // ȹ<><C8B9> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>Ŵ<EFBFBD>
unsigned long m_dwEnemyCID; // <20><><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> CID
unsigned long m_dwOurPartyUID; // <20>Ʊ<EFBFBD> <20><>Ƽ UID
inline void InitFameGetBattleLog(const unsigned long dwPrevFame, const unsigned long dwNextFame, const unsigned long dwPrevMileage, const unsigned long dwNextMileage,
const unsigned long dwEnemyCID, const unsigned long dwOurPartyUID);
};
inline void sFameGetBattleLog::InitFameGetBattleLog(const unsigned long dwPrevFame, const unsigned long dwNextFame, const unsigned long dwPrevMileage, const unsigned long dwNextMileage,
const unsigned long dwEnemyCID, const unsigned long dwOurPartyUID)
{
m_dwPrevFame = dwPrevFame;
m_dwNextFame = dwNextFame;
m_dwPrevMileage = dwPrevMileage;
m_dwNextMileage = dwNextMileage;
m_dwEnemyCID = dwEnemyCID;
m_dwOurPartyUID = dwOurPartyUID;
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ <20><><EFBFBD><EFBFBD> <20>α<EFBFBD>
struct sFameLoseBattleLog : public sLogBase
{
unsigned long m_dwPrevFame; // <20>ұ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
unsigned long m_dwNextFame; // <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
unsigned long m_dwEnemyCID; // <20><><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> CID
unsigned long m_dwOurPartyUID; // <20>Ʊ<EFBFBD> <20><>Ƽ UID
unsigned char m_cLevel; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
inline void InitFameLoseBattleLog(const unsigned long dwPrevFame, const unsigned long dwNextFame,
const unsigned long dwEnemyCID, const unsigned long dwOurPartyUID);
};
inline void sFameLoseBattleLog::InitFameLoseBattleLog(const unsigned long dwPrevFame, const unsigned long dwNextFame,
const unsigned long dwEnemyCID, const unsigned long dwOurPartyUID)
{
m_dwPrevFame = dwPrevFame;
m_dwNextFame = dwNextFame;
m_dwEnemyCID = dwEnemyCID;
m_dwOurPartyUID = dwOurPartyUID;
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ ȹ<><C8B9> <20>α<EFBFBD>
struct sFameGetCampLog : public sLogBase
{
unsigned long m_dwPrevFame; // ȹ<><C8B9> <20><> <20><><EFBFBD><EFBFBD>
unsigned long m_dwNextFame; // ȹ<><C8B9> <20><> <20><><EFBFBD><EFBFBD>
unsigned long m_dwEnemyGID; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> GID
inline void InitFameGetCampLog(const unsigned long dwPrevFame, const unsigned long dwNextFame, const unsigned long dwEnemyGID);
};
inline void sFameGetCampLog::InitFameGetCampLog(const unsigned long dwPrevFame, const unsigned long dwNextFame, const unsigned long dwEnemyGID)
{
m_dwPrevFame = dwPrevFame;
m_dwNextFame = dwNextFame;
m_dwEnemyGID = dwEnemyGID;
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ <20><><EFBFBD><EFBFBD> <20>α<EFBFBD>
struct sFameLoseCampLog : public sLogBase
{
unsigned long m_dwPrevFame; // <20>ұ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
unsigned long m_dwNextFame; // <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
unsigned long m_dwEnemyGID; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> GID
inline void InitFameLoseCampLog(const unsigned long dwPrevFame, const unsigned long dwNextFame, const unsigned long dwEnemyGID);
};
inline void sFameLoseCampLog::InitFameLoseCampLog(const unsigned long dwPrevFame, const unsigned long dwNextFame, const unsigned long dwEnemyGID)
{
m_dwPrevFame = dwPrevFame;
m_dwNextFame = dwNextFame;
m_dwEnemyGID = dwEnemyGID;
}
// <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ȹ<EFBFBD><C8B9> <20>α<EFBFBD>
struct sQuestGetRewardLog : public sLogBase
{
DWORD64 m_dwItemUID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>UID
unsigned long m_dwExp; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ġ
unsigned long m_dwGold; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
unsigned long m_dwFame; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
unsigned long m_dwMileage; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>޴<EFBFBD>
unsigned short m_wQuestID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ƮID
inline void InitQuestGetRewardLog(const unsigned short wQuestID, const DWORD64 dwItemUID,
const unsigned long dwExp, const unsigned long dwGold, const unsigned long dwFame, const unsigned long dwMileage);
};
inline void sQuestGetRewardLog::InitQuestGetRewardLog(const unsigned short wQuestID, const DWORD64 dwItemUID,
const unsigned long dwExp, const unsigned long dwGold, const unsigned long dwFame, const unsigned long dwMileage)
{
m_dwItemUID = dwItemUID;
m_dwExp = dwExp;
m_dwGold = dwGold;
m_dwFame = dwFame;
m_dwMileage = dwMileage;
m_wQuestID = wQuestID;
}
// --------------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>͵<EFBFBD>. <20><>Ƽ <20><><EFBFBD><EFBFBD>, Ż<><C5BB>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>ġ ȹ<><C8B9>, <20><><EFBFBD><EFBFBD>.
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>α<EFBFBD> / <20>ڿ<EFBFBD> item<65><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DWORD<52><44> m_cItemNum<75><6D> <20><>ŭ <20><><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD>.
struct sMonsterDeadLog : public sLogBase
{
unsigned long m_dwMonsterCID; // <20>״<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CID
unsigned char m_cMonsterLevel; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
unsigned char m_cDropItemNum; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
};
// --------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>α׵<CEB1>.
struct sGuildLog : public sLogBase
{
enum
{
MAX_GUILD_NAME_LEN = 11,
MAX_NAME_LEN = 16
};
enum
{
REQUEST = 0,
RESULT = 1
};
unsigned long m_dwGID; // <20><><EFBFBD><EFBFBD> ID
unsigned long m_dwSrcCID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ID
unsigned long m_dwDstCID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ID
unsigned char m_cType; // <20>α<EFBFBD> Ÿ<><C5B8> : <20><>û/<2F><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>)
unsigned char m_cCmd; // <20><><EFBFBD><EFBFBD> <20>α<EFBFBD> Ŀ<>ǵ<EFBFBD>(<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD> <20><><EFBFBD><EFBFBD>.)
unsigned char m_cData; // <20>߰<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned short m_usExtraDataSize; // <20>߰<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
};
// <20><> <20>̵<EFBFBD> <20><><EFBFBD><EFBFBD> <20>α<EFBFBD>
struct sMoveZoneLog : public sLogBase
{
unsigned char m_cDstZone;
unsigned char m_cDstChannel;
};
};
#pragma pack()
#endif