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:
2
GameTools/GLOBALSCRIPT/Network/Packet/PacketBase.cpp
Normal file
2
GameTools/GLOBALSCRIPT/Network/Packet/PacketBase.cpp
Normal file
@@ -0,0 +1,2 @@
|
||||
#include "stdafx.h"
|
||||
#include "PacketBase.h"
|
||||
143
GameTools/GLOBALSCRIPT/Network/Packet/PacketBase.h
Normal file
143
GameTools/GLOBALSCRIPT/Network/Packet/PacketBase.h
Normal file
@@ -0,0 +1,143 @@
|
||||
#ifndef _PACKET_BASE
|
||||
#define _PACKET_BASE
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>۸<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
//
|
||||
// SS_SMOOTH : <20><>Ȱ<EFBFBD><C8B0> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||
// SS_LOADED : <20>ణ<EFBFBD><E0B0A3> <20><><EFBFBD>ϰ<EFBFBD> <20>ֽ<EFBFBD>. (50 % of bufferring)
|
||||
// SS_BUSY : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ϰ<EFBFBD> <20>ֽ<EFBFBD>. (70 % of bufferring)
|
||||
// SS_VERYBUSY : <20>ؽ<EFBFBD><D8BD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><>Ŷ <20>ս<EFBFBD><D5BD><EFBFBD> <20>ʷ<EFBFBD><CAB7><EFBFBD> <20><> <20>ֽ<EFBFBD>.)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
union ServerInfo
|
||||
{
|
||||
enum ServerState
|
||||
{
|
||||
SS_SMOOTH, SS_LOADED, SS_BUSY, SS_VERYBUSY
|
||||
};
|
||||
|
||||
struct sSrvState
|
||||
{
|
||||
unsigned short wError; // <20><><EFBFBD><EFBFBD> <20>ڵ<EFBFBD>
|
||||
unsigned short wSrvState; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
sSrvState SrvState;
|
||||
unsigned long dwServerInfo;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// <20>⺻ <20><>Ŷ
|
||||
#pragma pack(1)
|
||||
|
||||
struct PktBase
|
||||
{
|
||||
typedef unsigned char StartType;
|
||||
typedef unsigned char CMDType;
|
||||
typedef unsigned short LengthType;
|
||||
|
||||
protected:
|
||||
StartType m_StartBit;
|
||||
CMDType m_Cmd;
|
||||
LengthType m_Len; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ŷ <20><><EFBFBD><EFBFBD>
|
||||
|
||||
unsigned long m_CodePage;
|
||||
ServerInfo m_SrvInfo;
|
||||
|
||||
public:
|
||||
|
||||
inline void InitPtHead(unsigned short Len_In, unsigned char Cmd_In,
|
||||
unsigned short State_In, unsigned short Error_In);
|
||||
|
||||
inline void InitPtHead(unsigned short Len_In, unsigned char Cmd_In, unsigned long Tick_In);
|
||||
|
||||
inline unsigned short Error(void) { return m_SrvInfo.SrvState.wError; }
|
||||
inline void SetError(unsigned short Error) { m_SrvInfo.SrvState.wError = Error; }
|
||||
inline unsigned short GetError(void) { return m_SrvInfo.SrvState.wError; }
|
||||
|
||||
inline StartType GetStartBit(void) { return m_StartBit; }
|
||||
|
||||
inline void SetCodePage(unsigned long Code) { m_CodePage = Code; }
|
||||
inline unsigned long GetCodePage(void) { return m_CodePage; }
|
||||
|
||||
inline void SetServerInfo(unsigned long Info) { m_SrvInfo.dwServerInfo = Info; }
|
||||
inline unsigned long GetServerInfo(void) { return m_SrvInfo.dwServerInfo; }
|
||||
|
||||
inline CMDType GetCmd(void) { return m_Cmd; }
|
||||
|
||||
inline bool IsCrypt(void);
|
||||
inline void SetCrypt(void);
|
||||
inline bool IsCompress(void);
|
||||
inline void SetCompress(void);
|
||||
inline LengthType GetUncompressLen(void);
|
||||
|
||||
inline void SetLen(LengthType Len);
|
||||
inline LengthType GetLen(void);
|
||||
};
|
||||
typedef PktBase* LPPktBase;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
|
||||
const unsigned int PktBaseSize = sizeof(PktBase);
|
||||
const PktBase::StartType StartBit = 0xFF; // <20><><EFBFBD><EFBFBD> <20><>Ʈ
|
||||
const PktBase::LengthType Crypt = 0x8000; // <20><>ȣȭ <20><><EFBFBD><EFBFBD> - 1000B
|
||||
const PktBase::LengthType Compress = 0x4000; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> - 0100B
|
||||
const PktBase::LengthType LengthHdr = 0xC000; // 1100B
|
||||
const PktBase::LengthType LengthMask = 0x3FFF; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EEB3BB> <20><><EFBFBD><EFBFBD>ũ <20><>. <20><><EFBFBD><EFBFBD> 14<31><34>Ʈ. <20>ִ<EFBFBD> 16383byte.
|
||||
const PktBase::LengthType PktMinLen = sizeof(PktBase);
|
||||
const PktBase::LengthType PktMaxLen = 16383;
|
||||
|
||||
inline bool PktBase::IsCrypt(void) { return ((m_Len & Crypt) == Crypt) ? true : false; }
|
||||
inline void PktBase::SetCrypt(void) { m_Len |= Crypt; }
|
||||
|
||||
inline bool PktBase::IsCompress(void) { return ((m_Len & Compress) == Compress) ? true : false; }
|
||||
inline void PktBase::SetCompress(void) { m_Len |= Compress; }
|
||||
inline PktBase::LengthType PktBase::GetUncompressLen(void) { return PktMaxLen; }
|
||||
|
||||
inline void PktBase::SetLen(PktBase::LengthType Len) { m_Len = (m_Len & LengthHdr) | Len; }
|
||||
inline PktBase::LengthType PktBase::GetLen(void) { return m_Len & LengthMask; }
|
||||
|
||||
|
||||
|
||||
//Interface/////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// <20><>Ŷ <20>ش<EFBFBD> <20>ʱ<EFBFBD>ȭ
|
||||
//
|
||||
// Parameter :
|
||||
// 1st : <20><><EFBFBD><EFBFBD>[In]
|
||||
// 2st : Ŀ<>ǵ<EFBFBD>[In]
|
||||
// 3st : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>[In]
|
||||
// 4st : <20><><EFBFBD><EFBFBD>[In]
|
||||
//
|
||||
// Return :
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
inline void PktBase::InitPtHead(unsigned short Len_In, unsigned char Cmd_In,
|
||||
unsigned short State_In, unsigned short Error_In)
|
||||
{
|
||||
m_StartBit = StartBit;
|
||||
m_Cmd = Cmd_In;
|
||||
m_Len = Len_In;
|
||||
m_CodePage = 0;
|
||||
m_SrvInfo.SrvState.wSrvState = State_In;
|
||||
m_SrvInfo.SrvState.wError = Error_In;
|
||||
}
|
||||
|
||||
inline void PktBase::InitPtHead(unsigned short Len_In, unsigned char Cmd_In, unsigned long Tick_In)
|
||||
{
|
||||
m_StartBit = StartBit;
|
||||
m_Cmd = Cmd_In;
|
||||
m_Len = Len_In;
|
||||
m_CodePage = 0;
|
||||
m_SrvInfo.dwServerInfo = Tick_In;
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
141
GameTools/GLOBALSCRIPT/Network/Packet/PacketCommand.h
Normal file
141
GameTools/GLOBALSCRIPT/Network/Packet/PacketCommand.h
Normal file
@@ -0,0 +1,141 @@
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// <20><>Ŷ Ŀ<>ǵ<EFBFBD>
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
#ifndef _PACKET_COMMAND_H_
|
||||
#define _PACKET_COMMAND_H_
|
||||
|
||||
#include "PacketBase.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Ŀ<>ǵ<EFBFBD>
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
const PktBase::CMDType CmdNull = 0x00;
|
||||
|
||||
const PktBase::CMDType CmdAuthAccount = 0x01; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
const PktBase::CMDType CmdServerGroup = 0x02; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
const PktBase::CMDType CmdUserLogin = 0x03; // <20><><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD>
|
||||
const PktBase::CMDType CmdUserKill = 0x04; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
const PktBase::CMDType CmdCharSelect = 0x05; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharCreate = 0x06; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharDelete = 0x07; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
const PktBase::CMDType CmdCharLogin = 0x08; // ij<><C4B3><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD>
|
||||
const PktBase::CMDType CmdCharSuicide = 0x09; // ij<><C4B3><EFBFBD><EFBFBD> <20>ڻ<EFBFBD>
|
||||
const PktBase::CMDType CmdCharRespawn = 0x0A; // ij<><C4B3><EFBFBD><EFBFBD> <20><>Ȱ
|
||||
const PktBase::CMDType CmdCharMove = 0x0B; // ij<><C4B3><EFBFBD><EFBFBD> <20>̵<EFBFBD> (P2P)
|
||||
const PktBase::CMDType CmdCharMoveUpdate = 0x0C; // ij<><C4B3><EFBFBD><EFBFBD> <20>̵<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ
|
||||
const PktBase::CMDType CmdCharChat = 0x0D; // ij<><C4B3><EFBFBD><EFBFBD> ä<><C3A4> (P2P)
|
||||
const PktBase::CMDType CmdCharAttack = 0x0E; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharCastObject = 0x0F; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharUseSkill = 0x10; // ij<><C4B3><EFBFBD><EFBFBD> <20><>ų <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharTakeItem = 0x11; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharSwapItem = 0x12; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharRepairItem = 0x13; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharUseItem = 0x14; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharTradeItem = 0x15; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ŷ<EFBFBD>
|
||||
const PktBase::CMDType CmdCharSkillLock = 0x16; // ij<><C4B3><EFBFBD><EFBFBD> <20><>ų <20><>
|
||||
const PktBase::CMDType CmdCharSkillCreate = 0x17; // ij<><C4B3><EFBFBD><EFBFBD> <20><>ų <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharSkillErase = 0x18; // ij<><C4B3><EFBFBD><EFBFBD> <20><>ų <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharClassUpgrade = 0x19; // ij<><C4B3><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><D7B7>̵<EFBFBD>
|
||||
const PktBase::CMDType CmdCharShapeInfo = 0x1A; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (P2P)
|
||||
const PktBase::CMDType CmdCharIncreasePoint = 0x1B; // ij<><C4B3><EFBFBD><EFBFBD> <20>ɷ<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharBindPosition = 0x1C; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>ε<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharRequireInfo = 0x1D; // ij<><C4B3><EFBFBD><EFBFBD> <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>û
|
||||
const PktBase::CMDType CmdCharUpdateAddress = 0x1E; // ij<><C4B3><EFBFBD><EFBFBD> UDP <20>ּ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ
|
||||
const PktBase::CMDType CmdCharPartyCmd = 0x1F; // ij<><C4B3><EFBFBD><EFBFBD> <20><>Ƽ <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharPartyMemInfo = 0x20; // ij<><C4B3><EFBFBD><EFBFBD> <20><>Ƽ <20>ɹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (P2P)
|
||||
const PktBase::CMDType CmdCharExchangeCmd = 0x21; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȯ <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdSysConnectAgent = 0x22; // <20>ý<EFBFBD><C3BD><EFBFBD> <20>߰<EFBFBD> <20><><EFBFBD><EFBFBD> (UDP <20>߰<EFBFBD>) # <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdSysPacketTransmit = 0x23; // <20>ý<EFBFBD><C3BD><EFBFBD> <20><>Ŷ <20><><EFBFBD><EFBFBD> (UDP <20>߰<EFBFBD>) # <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharLogout = 0x24; // ij<><C4B3><EFBFBD><EFBFBD> <20>α<EFBFBD> <20>ƿ<EFBFBD>
|
||||
const PktBase::CMDType CmdDBGetData = 0x25; // DB <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdDBUpdateData = 0x26; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ DB <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdAgentParty = 0x27; // DB <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><>Ƽ
|
||||
const PktBase::CMDType CmdSysServerLogin = 0x28; // <20>ý<EFBFBD><C3BD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD>
|
||||
|
||||
const PktBase::CMDType CmdServerZone = 0x29; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
const PktBase::CMDType CmdGameCellInfo = 0x2A; // <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>)
|
||||
const PktBase::CMDType CmdCharInfo = 0x2B; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> # <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharAddressInfo = 0x2C; // ij<><C4B3><EFBFBD><EFBFBD> UDP <20>ּ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharCellLogin = 0x2D; // ij<><C4B3><EFBFBD><EFBFBD> <20><> <20>α<EFBFBD><CEB1><EFBFBD>
|
||||
const PktBase::CMDType CmdCharCellLogout = 0x2E; // ij<><C4B3><EFBFBD><EFBFBD> <20><> <20>αƿ<D7BE>
|
||||
const PktBase::CMDType CmdMonMove = 0x2F; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̵<EFBFBD>
|
||||
const PktBase::CMDType CmdCharAttackInfo = 0x30; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (P2P)
|
||||
const PktBase::CMDType CmdCharAttacked = 0x31; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharAward = 0x32; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharItemInfo = 0x33; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharPickUp = 0x34; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharPullDown = 0x35; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharPickUpInfo = 0x36; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharPullDownInfo = 0x37; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharCastObjectInfo = 0x38; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharInstallSocket = 0x39; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ġ
|
||||
const PktBase::CMDType CmdCharLevelUp = 0x3A; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>
|
||||
const PktBase::CMDType CmdCharPartyInfo = 0x3B; // ij<><C4B3><EFBFBD><EFBFBD> <20><>Ƽ <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharUpgradeItem = 0x3C; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><D7B7>̵<EFBFBD>
|
||||
const PktBase::CMDType CmdCharHPRegen = 0x3D; // ij<><C4B3><EFBFBD><EFBFBD> HP <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharLevelUpInfo = 0x3E; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharSplitItem = 0x3F; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>ø<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ΰ<EFBFBD><CEB0><EFBFBD> <20>ɰ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD>)
|
||||
const PktBase::CMDType CmdUpdateUIDTable = 0x40; // UID <20><><EFBFBD>̺<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ
|
||||
const PktBase::CMDType CmdCharQuickSlotMove = 0x41; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̵<EFBFBD>
|
||||
const PktBase::CMDType CmdCharSwitchHand = 0x42; // <20><> <20>ٲٱ<D9B2>
|
||||
const PktBase::CMDType CmdSysMngerRegistry = 0x43; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdSysMngerRequest = 0x44; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>û
|
||||
const PktBase::CMDType CmdSysMngerResponse = 0x45; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharTakeItems = 0x46; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>)
|
||||
const PktBase::CMDType CmdCharTakeGold = 0x47; // ij<><C4B3><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharExchangeItem = 0x48; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȯ
|
||||
const PktBase::CMDType CmdCellBroadCasting = 0x49; // <20><> <20><><EFBFBD>ε<EFBFBD> ij<><C4B3><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdSysPatchAddress = 0x4A; // <20><>ġ <20>ּ<EFBFBD>
|
||||
const PktBase::CMDType CmdCharPartyCmdInfo = 0x4B; // <20><>Ƽ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdServerLog = 0x4C; // <20>α<EFBFBD> <20><><EFBFBD><EFBFBD> (???)
|
||||
const PktBase::CMDType CmdCharWhisper = 0x4D; // ij<><C4B3><EFBFBD><EFBFBD> <20>ӼӸ<D3BC>
|
||||
const PktBase::CMDType CmdSysServerVerUpdate = 0x4E; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ
|
||||
const PktBase::CMDType CmdSysMng = 0x4F; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><>Ŷ (<28>ӽ<EFBFBD> (???)
|
||||
const PktBase::CMDType CmdSysChannelUpdate = 0x50; // <20><><EFBFBD><EFBFBD> ä<><C3A4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ
|
||||
const PktBase::CMDType CmdCharPartyFind = 0x51; // <20><>Ƽ ã<><C3A3>
|
||||
const PktBase::CMDType CmdCharPartyMemData = 0x52; // <20><>Ƽ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharControlOption = 0x53; // ij<><C4B3><EFBFBD><EFBFBD> <20>ɼ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharDuelCmd = 0x54; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharFameInfo = 0x55; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
const PktBase::CMDType CmdLoginServerList = 0x56; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ #!! <20><>ȣ <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD> !!#
|
||||
|
||||
const PktBase::CMDType CmdCharSpellInfo = 0x57; // ij<><C4B3><EFBFBD><EFBFBD> æƮ&<26><>æƮ <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharSkillUnLock = 0x58; // ij<><C4B3><EFBFBD><EFBFBD> <20><>ų <20><> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdSysPing = 0x59; // <20><><EFBFBD><EFBFBD> <20><> <20><>Ŷ
|
||||
const PktBase::CMDType CmdCharMoveZone = 0x5A; // <20><> <20>̵<EFBFBD>
|
||||
|
||||
const PktBase::CMDType CmdAgentZone = 0x5B; // <20><> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
const PktBase::CMDType CmdDeposit = 0x5C; // â<><C3A2> ó<><C3B3> <20><>Ŷ(Client <--> GameServer)
|
||||
const PktBase::CMDType CmdDepositUpdate = 0x5D; // â<><C3A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><>Ŷ(GameServer <--> DBAgent)
|
||||
|
||||
const PktBase::CMDType CmdCharStallOpen = 0x5E; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharStallRegisterItem = 0x5F; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharStallEnter = 0x60; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdCharStallItemInfo = 0x61; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
const PktBase::CMDType CmdCharAdminCmd = 0x62; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
const PktBase::CMDType CmdCharTeamBattleInfo = 0x63; // <20><><EFBFBD><EFBFBD>Ʋ <20><><EFBFBD><EFBFBD>
|
||||
|
||||
const PktBase::CMDType CmdFriendAddRequest = 0x64; // ģ<><C4A3> <20>߰<EFBFBD>
|
||||
const PktBase::CMDType CmdFriendRemoveRequest = 0x65; // ģ<><C4A3> <20><><EFBFBD><EFBFBD>
|
||||
const PktBase::CMDType CmdFriendEtcRequest = 0x66; // ģ<><C4A3> <20><>Ÿ
|
||||
const PktBase::CMDType CmdFriendAck = 0x67; // ģ<><C4A3> Ack
|
||||
const PktBase::CMDType CmdFriendDB = 0x68; // ģ<><C4A3> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><> ģ<><C4A3> <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>)
|
||||
|
||||
const PktBase::CMDType CmdEliteBonus = 0x69; // <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD>ʽ<EFBFBD>
|
||||
|
||||
const PktBase::CMDType CmdFinalPacketNum = 0x6A; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ŷ <20><>ȣ
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,58 @@
|
||||
#ifndef _ADDRESS_PACKET_H_
|
||||
#define _ADDRESS_PACKET_H_
|
||||
|
||||
// AddressPacket.h
|
||||
#include <Network/Packet/PacketBase.h>
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
// UDP <20>ּ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ ( Update Address )
|
||||
// : Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ<EFBFBD><C6AE> <20>α<EFBFBD><CEB1><EFBFBD> <20>Ŀ<EFBFBD> UDP<44><50> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ѹ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD>.
|
||||
// : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ<EFBFBD><C6AE> <20><>Ŷ<EFBFBD><C5B6><EFBFBD><EFBFBD> <20>ܺ<EFBFBD> UDP <20>ּҸ<D6BC> <20><><EFBFBD>´<EFBFBD>.
|
||||
typedef struct PktUA* LPPktUA;
|
||||
struct PktUA : public PktBase
|
||||
{
|
||||
SOCKADDR_IN m_PrivateAddress;
|
||||
unsigned long m_dwCharID;
|
||||
};
|
||||
|
||||
// UDP <20>ּ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ Ack
|
||||
typedef struct PktUAAck* LPPktUAAck;
|
||||
struct PktUAAck : public PktBase
|
||||
{
|
||||
SOCKADDR_IN m_PublicAddress;
|
||||
SOCKADDR_IN m_PrivateAddress;
|
||||
unsigned long m_dwCharID;
|
||||
};
|
||||
|
||||
|
||||
// <20>ּ<EFBFBD> <20><><EFBFBD><EFBFBD>ü
|
||||
typedef struct AddressInfo* LPAddressInfo;
|
||||
struct AddressInfo
|
||||
{
|
||||
SOCKADDR_IN m_PublicAddress;
|
||||
SOCKADDR_IN m_PrivateAddress;
|
||||
unsigned long m_dwCharID;
|
||||
|
||||
AddressInfo() : m_dwCharID(0)
|
||||
{
|
||||
memset(&m_PublicAddress, 0, sizeof(m_PublicAddress));
|
||||
memset(&m_PrivateAddress, 0, sizeof(m_PrivateAddress));
|
||||
}
|
||||
|
||||
AddressInfo(const SOCKADDR_IN& PublicAddress, const SOCKADDR_IN& PrivateAddress, const unsigned long dwCharID)
|
||||
: m_PublicAddress(PublicAddress), m_PrivateAddress(PrivateAddress), m_dwCharID(dwCharID) { }
|
||||
};
|
||||
|
||||
|
||||
// UDP <20>ּ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ ( Address Info )
|
||||
// - <20><><EFBFBD>巹<EFBFBD><E5B7B9> <20><><EFBFBD><EFBFBD>ü
|
||||
typedef struct PktAI* LPPktAI;
|
||||
struct PktAI : public PktBase
|
||||
{
|
||||
AddressInfo m_AddressInfo;
|
||||
};
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,135 @@
|
||||
#ifndef _AUTHSERVER_TO_DBAGENT_SERVER_PACKET_H_
|
||||
#define _AUTHSERVER_TO_DBAGENT_SERVER_PACKET_H_
|
||||
|
||||
#include <winsock2.h>
|
||||
#include <windows.h>
|
||||
#include <DB/DBDefine.h>
|
||||
#include "DataPacket.h"
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// <20><><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD> <20><>û AuthServer -> DBAgentServer
|
||||
typedef struct PktULD* LPPktULD;
|
||||
struct PktULD : public PktDD
|
||||
{
|
||||
unsigned long m_dwSessionID;
|
||||
unsigned long m_dwUserID;
|
||||
|
||||
IN_ADDR m_Address;
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD> <20><><EFBFBD><EFBFBD> DBAgentServer -> AuthServer
|
||||
typedef struct PktULDAck* LPPktULDAck;
|
||||
struct PktULDAck : public PktDD
|
||||
{
|
||||
unsigned long m_dwUserID;
|
||||
CHAR_VIEW m_CharView[3];
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20>αƿ<D7BE> AuthServer -> DBAgentServer
|
||||
typedef struct PktULoD *LPPktULoD;
|
||||
struct PktULoD : public PktDD
|
||||
{
|
||||
unsigned long m_dwSessionID;
|
||||
unsigned long m_dwUserID;
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> DBAgentServer -> AuthServer
|
||||
typedef struct PktSSD *LPPktSSD;
|
||||
struct PktSSD : public PktDD
|
||||
{
|
||||
unsigned long m_dwSessionID;
|
||||
unsigned long m_dwUserID;
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------
|
||||
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>û AuthServer -> DBAgentServer
|
||||
typedef struct PktCCD* LPPktCCD;
|
||||
struct PktCCD : public PktDD
|
||||
{
|
||||
unsigned long m_dwUserID;
|
||||
|
||||
unsigned long m_dwSlot;
|
||||
unsigned long m_dwGold;
|
||||
POS m_Pos;
|
||||
CHAR_CREATE m_CharCreate;
|
||||
|
||||
unsigned short m_wSkill;
|
||||
};
|
||||
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> DBAgentServer -> AuthServer
|
||||
typedef struct PktCCDAck* LPPktCCDAck;
|
||||
struct PktCCDAck : public PktDD
|
||||
{
|
||||
unsigned long m_dwCharID;
|
||||
unsigned long m_dwSlot;
|
||||
CHAR_VIEW m_CharView;
|
||||
};
|
||||
// ---------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
typedef struct PktCSD* LPPktCSD;
|
||||
struct PktCSD : public PktDD
|
||||
{
|
||||
unsigned long m_dwUserID;
|
||||
unsigned long m_dwCharID;
|
||||
};
|
||||
|
||||
typedef struct PktCSDAck* LPPktCSDAck;
|
||||
struct PktCSDAck : public PktDD
|
||||
{
|
||||
enum { MAX_CHANNEL_NUM = 2 };
|
||||
|
||||
unsigned char m_cZone;
|
||||
unsigned short m_wChannelNum[MAX_CHANNEL_NUM];
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------
|
||||
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
typedef struct PktCDD* LPPktCDD;
|
||||
struct PktCDD : public PktDD
|
||||
{
|
||||
unsigned long m_dwUserID;
|
||||
unsigned long m_dwSlotNum;
|
||||
unsigned long m_dwCharID;
|
||||
};
|
||||
// ---------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
typedef struct PktCCID* LPPktCCID;
|
||||
struct PktCCID : public PktDD
|
||||
{
|
||||
unsigned long m_dwCharID;
|
||||
unsigned long m_dwSize;
|
||||
};
|
||||
// ---------------------------------------------------------
|
||||
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
typedef struct PktCLiD* LPPktCLiD;
|
||||
struct PktCLiD : public PktDD
|
||||
{
|
||||
unsigned long m_dwUserID;
|
||||
unsigned long m_dwCharID;
|
||||
unsigned long m_dwSerial;
|
||||
};
|
||||
// ---------------------------------------------------------
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,55 @@
|
||||
#ifndef _CHAR_ADMIN_PACKET_H_
|
||||
#define _CHAR_ADMIN_PACKET_H_
|
||||
|
||||
// CharAdminPacket.h
|
||||
#include <winsock2.h>
|
||||
#include <windows.h>
|
||||
#include <Network/Packet/PacketBase.h>
|
||||
#include <DB/DBdefine.h>
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
typedef struct PktAdmin* LPPktAdmin;
|
||||
struct PktAdmin : public PktBase
|
||||
{
|
||||
enum { MAX_NAME_LEN = 16 };
|
||||
enum CMD
|
||||
{
|
||||
NONE = 0, // <09><EFBFBD><EEBFB5> <20><><EFBFBD><EFBFBD>
|
||||
MOVE_ZONE_C = 1, // ij<><C4B3><EFBFBD><EFBFBD> <20><> <20>̵<EFBFBD>
|
||||
MOVE_ZONE_P = 2, // <09><>Ƽ <20><> <20>̵<EFBFBD>
|
||||
MOVE_C = 3, // ij<><C4B3><EFBFBD><EFBFBD> <20>̵<EFBFBD>
|
||||
MOVE_P = 4, // <09><>Ƽ <20>̵<EFBFBD>
|
||||
RESPAWN_C = 5, // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
RESPAWN_P = 6, // <09><>Ƽ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
KILL_C = 7, // ij<><C4B3><EFBFBD><EFBFBD> ų
|
||||
KILL_P = 8, // <09><>Ƽ ų
|
||||
DUELINIT = 9, // <09><><EFBFBD><EFBFBD> <20>ʱ<EFBFBD>ȭ
|
||||
|
||||
CREATEITEM = 10, // <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
CREATEMON = 11, // <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
INFO_C = 12 // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
unsigned short m_usCmd; // <20><EFBFBD><EEBFB5> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
char m_stName[MAX_NAME_LEN]; // <20≯<EFBFBD>
|
||||
|
||||
union
|
||||
{
|
||||
struct ZoneInfo
|
||||
{
|
||||
char m_cZone; // <20><> <20><>ȣ
|
||||
char m_cChannel; // ä<><C3A4> <20><>ȣ
|
||||
} m_ZoneInfo;
|
||||
|
||||
unsigned short m_usProtoTypeID; // Ÿ<><C5B8> <20><><EFBFBD>̵<EFBFBD>
|
||||
};
|
||||
|
||||
POS m_Position; // <20><>ġ
|
||||
};
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,181 @@
|
||||
#ifndef _CHAR_ATTACK_PACKET_H_
|
||||
#define _CHAR_ATTACK_PACKET_H_
|
||||
|
||||
// CharAttackPacket.h
|
||||
#include <DB/DBDefine.h>
|
||||
#include <Network/Packet/PacketBase.h>
|
||||
|
||||
#include "CharAttackPacketStruct.h"
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ
|
||||
typedef struct PktAt* LPPktAt;
|
||||
struct PktAt : public PktBase
|
||||
{
|
||||
POS m_Postion; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> <20><>ġ
|
||||
float m_fDir; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
unsigned long m_dwCharID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
|
||||
AtType m_AtType; // <20><><EFBFBD><EFBFBD> Ÿ<><C5B8>
|
||||
AtNode m_AtNode; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ Ack (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>) + <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
typedef struct PktAtAck* LPPktAtAck;
|
||||
struct PktAtAck : public PktBase
|
||||
{
|
||||
enum PktAtAckErr
|
||||
{
|
||||
NO_SERVER_ERR = 0,
|
||||
SERVER_ERROR = 1,
|
||||
FAIL_ATTACK = 2,
|
||||
FAIL_ALREADY_DEAD = 2
|
||||
};
|
||||
|
||||
unsigned long m_dwCharID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
AtType m_AtType; // <20><><EFBFBD><EFBFBD> Ÿ<><C5B8>
|
||||
|
||||
unsigned short m_wHP; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HP
|
||||
unsigned short m_wMP; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MP
|
||||
|
||||
unsigned char m_cJudge; // <20>÷<EFBFBD><C3B7><EFBFBD>
|
||||
unsigned char m_cDefenserNum; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||||
|
||||
unsigned char m_cRightHandValue; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ҵ<EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>)
|
||||
unsigned char m_cLeftHandValue; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ҵ<EFBFBD>(<28><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>)
|
||||
|
||||
unsigned char m_cRightHandIndex; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>)
|
||||
unsigned char m_cLeftHandIndex; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD>(<28><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>)
|
||||
};
|
||||
|
||||
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>) + <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
typedef struct PktAtInfo* LPPktAtInfo;
|
||||
struct PktAtInfo : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> ID
|
||||
AtType m_AtType; // <20><><EFBFBD><EFBFBD> Ÿ<><C5B8>
|
||||
unsigned char m_cDefenserNum; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||||
};
|
||||
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ
|
||||
typedef struct PktAted* LPPktAted;
|
||||
struct PktAted : public PktBase
|
||||
{
|
||||
POS m_Postion; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ
|
||||
float m_fDir; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
unsigned long m_dwCharID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> ID
|
||||
AtType m_AtType; // <20><><EFBFBD><EFBFBD> Ÿ<><C5B8>
|
||||
|
||||
unsigned short m_wMyHP; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HP
|
||||
unsigned short m_wMyMP; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MP
|
||||
|
||||
unsigned char m_cJudge; // <20><><EFBFBD><EFBFBD> <20><>
|
||||
unsigned char m_cMyWeaponIndex; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ҿ<EFBFBD>)
|
||||
unsigned char m_cMyWeaponValue; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ҵ<EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ҿ<EFBFBD>)
|
||||
};
|
||||
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
//
|
||||
// <20><><EFBFBD><EFBFBD> :
|
||||
// 0 = <20><><EFBFBD><EFBFBD>, 1 = <20><><EFBFBD><EFBFBD>, 2 = <20><><EFBFBD><EFBFBD>, 3 = <20>αƿ<D7BE>, 4 = <20><><EFBFBD><EFBFBD>
|
||||
//
|
||||
// <20><><EFBFBD><EFBFBD> :
|
||||
// 0 = <20><><EFBFBD><EFBFBD>, 1 = <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, 2 = <20>̹<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>û,
|
||||
// 3 = <20>ź<EFBFBD> <20>ɼ<EFBFBD><C9BC><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
typedef struct PktDuC* LPPktDuC;
|
||||
struct PktDuC : public PktBase
|
||||
{
|
||||
enum DuelCmd
|
||||
{
|
||||
DUC_PROPOSE = 0, DUC_READY = 1, DUC_REFUSE = 2,
|
||||
DUC_LOGOUT = 3, DUC_DEAD = 4, DUC_PARTY_PROPOSE = 5,
|
||||
DUC_PARTY_READY = 6, DUC_REQUEST_PARTY_INFO = 7, DUC_CANCEL = 8
|
||||
};
|
||||
|
||||
enum PktDuCError
|
||||
{
|
||||
NO_SERVER_ERR = 0, SERVER_ERROR = 1, FAIL_DUELING_CHAR = 2,
|
||||
FAIL_REJECT = 3, FAIL_NOT_LEADER = 4, FAIL_NOT_PARTY = 5
|
||||
};
|
||||
|
||||
unsigned long m_dwSenderID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned long m_dwRecverID; // <20><EFBFBD><DEB4><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned char m_cCmd; // <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
|
||||
// <20><><EFBFBD><EFBFBD>Ʋ <20><><EFBFBD><EFBFBD>
|
||||
typedef struct PktTBInfo* LPPktTBInfo;
|
||||
struct PktTBInfo : public PktBase
|
||||
{
|
||||
enum DuelCmd
|
||||
{
|
||||
DUC_PROPOSE = 0, DUC_READY = 1, DUC_REFUSE = 2,
|
||||
DUC_LOGOUT = 3, DUC_DEAD = 4, DUC_PARTY_PROPOSE = 5,
|
||||
DUC_PARTY_READY = 6, DUC_REQUEST_PARTY_INFO = 7
|
||||
};
|
||||
|
||||
unsigned long m_dwCharID;
|
||||
char m_strChallengerName[CHAR_INFOST::MAX_NAME_LEN];
|
||||
unsigned char m_cCmd;
|
||||
|
||||
unsigned char m_cMemberNum;
|
||||
};
|
||||
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> æƮ&<26><>æƮ <20><><EFBFBD><EFBFBD>
|
||||
typedef struct PktSpInfo* LPPktSpInfo;
|
||||
struct PktSpInfo : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned short m_nEnchantLevel; // <20>ֹ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
unsigned char m_cSpellType; // <20>ֹ<EFBFBD> Ÿ<><C5B8> ( namespace Skill::SpellType<70><65><EFBFBD><EFBFBD> )
|
||||
bool m_bOnOff; // <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
typedef struct PktRs* LPPktRs;
|
||||
struct PktRs : public PktBase
|
||||
{
|
||||
enum RespawnCmd
|
||||
{
|
||||
RS_NORMAL = 0, RS_SELECT = 1
|
||||
};
|
||||
|
||||
unsigned long m_dwCharID;
|
||||
unsigned char m_cCmd;
|
||||
POS m_Position;
|
||||
};
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ack
|
||||
typedef struct PktRsAck* LPPktRsAck;
|
||||
struct PktRsAck : public PktBase
|
||||
{
|
||||
POS m_Position; // <20><><EFBFBD><EFBFBD> <20><>ġ
|
||||
__int64 m_dlExp; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned short m_wHP; // HP
|
||||
unsigned short m_wMP; // MP
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<><C3B3>
|
||||
typedef struct PktAw* LPPktAw;
|
||||
struct PktAw : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> ID
|
||||
unsigned long m_dwExp; // <20><><EFBFBD><EFBFBD>ġ
|
||||
};
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,54 @@
|
||||
#ifndef _CHAR_ATTACK_PACKET_STRUCT_H_
|
||||
#define _CHAR_ATTACK_PACKET_STRUCT_H_
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ( <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<><C3B3> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ü )
|
||||
typedef struct AtNode *LPAtNode;
|
||||
struct AtNode
|
||||
{
|
||||
enum { MAX_DEFENDER_NUM = 10 };
|
||||
|
||||
unsigned char m_wDefenserNum; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||||
unsigned long m_dwDefenser[MAX_DEFENDER_NUM]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned char m_cDefenserJudge[MAX_DEFENDER_NUM]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
typedef struct AtType* LPAtType;
|
||||
struct AtType
|
||||
{
|
||||
enum { SkillBitMask = 0x8000 };
|
||||
enum Attack
|
||||
{
|
||||
Normal = 0,
|
||||
Move = 1,
|
||||
ComboLast = 2,
|
||||
Bow = 3,
|
||||
CrossBow = 4
|
||||
};
|
||||
|
||||
unsigned short m_wType; // <20><><EFBFBD><EFBFBD> Ÿ<><C5B8> (<28>Ǵ<EFBFBD> <20><>ų ID)
|
||||
char m_cSkillLevel; // <20><>ų <20><><EFBFBD><EFBFBD> (-127 ~ 128)
|
||||
unsigned char m_cSkillLockCount : 4; // <20><>ų <20><>ī<EFBFBD><C4AB>Ʈ (0~5)
|
||||
unsigned char m_cAtCount : 4; // <20><><EFBFBD><EFBFBD> ī<><C4AB>Ʈ (0~15)
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
typedef struct DefenserNode* LPDefenserNode;
|
||||
struct DefenserNode
|
||||
{
|
||||
unsigned long m_dwCharID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
|
||||
unsigned short m_wMaxHP; // <20>ִ<EFBFBD> HP
|
||||
unsigned short m_sCurrHP; // <20><><EFBFBD><EFBFBD> HP
|
||||
unsigned short m_wMaxMP; // <20>ִ<EFBFBD> MP
|
||||
unsigned short m_sCurrMP; // <20><><EFBFBD><EFBFBD> MP
|
||||
|
||||
unsigned short m_wDamage; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||||
unsigned char m_cJudge; // <20><><EFBFBD><EFBFBD> <20><>
|
||||
};
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,329 @@
|
||||
#ifndef _CHAR_COMMUNITY_PACKET_H_
|
||||
#define _CHAR_COMMUNITY_PACKET_H_
|
||||
|
||||
// CharCommunityPacket.h
|
||||
// DBDefine<6E>ʿ<EFBFBD>.
|
||||
|
||||
#include <Network/Packet/PacketBase.h>
|
||||
#include <Network/Packet/PacketStruct/DataPacket.h>
|
||||
#include <Network/Packet/PacketStruct/CharItemPacketStruct.h>
|
||||
|
||||
#include "AddressPacket.h"
|
||||
#include "CharCommunityPacketStruct.h"
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
// <20><>Ƽ <20><><EFBFBD><EFBFBD>
|
||||
typedef struct PktPI* LPPktPI;
|
||||
struct PktPI : public PktBase
|
||||
{
|
||||
PARTY m_Party;
|
||||
};
|
||||
|
||||
|
||||
// <20><>Ƽ <20><><EFBFBD><EFBFBD>
|
||||
//
|
||||
// <20><><EFBFBD><EFBFBD> :
|
||||
// 0 = <20>ʴ<EFBFBD>, 1 = <20><><EFBFBD><EFBFBD>, 2 = <20><><EFBFBD><EFBFBD>
|
||||
// 3 = <20><><EFBFBD><EFBFBD>, 4 = Ż<><C5BB>, 5 = <20>絵
|
||||
// 6 = <20>ı<EFBFBD>, 7 = <20>α<EFBFBD><CEB1><EFBFBD>, 8 = <20>αƿ<D7BE>
|
||||
// 9 = <20><><EFBFBD><EFBFBD>(ij<><C4B3><EFBFBD><EFBFBD>), 10 = <20><><EFBFBD>α<EFBFBD><CEB1><EFBFBD>,
|
||||
// 11 = <20><>Ƽã<C6BC><C3A3>, 12 = <20><><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>
|
||||
//
|
||||
// <20><><EFBFBD><EFBFBD> :
|
||||
// 1 = <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, 2 = <20>̹<EFBFBD> <20><>Ƽ<EFBFBD><C6BC> <20><><EFBFBD>ԵǾ<D4B5> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>, 3 = <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
// 4 = <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, 5 = Ż<><C5BB> <20><><EFBFBD><EFBFBD>, 6 = <20>絵 <20><><EFBFBD><EFBFBD>, 7 = <20><>Ƽ <20>ο<EFBFBD> <20>ʰ<EFBFBD>,
|
||||
// 8 = <20>ʴ<EFBFBD> <20><><EFBFBD><EFBFBD>, 9 = <20>ź<EFBFBD> <20>ɼ<EFBFBD><C9BC><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
|
||||
//
|
||||
typedef struct PktPC* LPPktPC;
|
||||
struct PktPC : public PktBase
|
||||
{
|
||||
enum PartyCmd
|
||||
{
|
||||
PC_INVITE = 0, PC_ACCEPT = 1, PC_REFUSE = 2,
|
||||
PC_BANISH = 3, PC_SECESSION = 4, PC_TRANSFER = 5,
|
||||
PC_DESTROY = 6, PC_LOGIN = 7, PC_LOGOUT = 8,
|
||||
PC_DELETE = 9, PC_RELOGIN = 10, PC_FINDPARTY = 11,
|
||||
PC_FINDMEMBER = 12
|
||||
};
|
||||
|
||||
enum PktPCError
|
||||
{
|
||||
SERVER_ERROR = 1, CHAR_JOINED = 2, FAIL_ACCEPT = 3,
|
||||
FAIL_BANISH = 4, FAIL_SECESSION = 5, FAIL_TRANSFER = 6,
|
||||
OVER_MEMBER = 7, FAIL_INVITE = 8, FAIL_REJECT = 9
|
||||
};
|
||||
|
||||
unsigned long m_dwPartyID; // <20><>Ƽ <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned long m_dwSenderID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>(<28><>ü)
|
||||
unsigned long m_dwReferenceID; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>(<28><><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>)
|
||||
unsigned short m_wCmd; // <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
//
|
||||
// <20><>Ƽ <20><><EFBFBD><EFBFBD> Ack
|
||||
//
|
||||
// <20><><EFBFBD><EFBFBD> :
|
||||
// 0 = <20>ʴ<EFBFBD>, 1 = <20><><EFBFBD><EFBFBD>, 2 = <20><><EFBFBD><EFBFBD>
|
||||
// 3 = <20><><EFBFBD><EFBFBD>, 4 = Ż<><C5BB>, 5 = <20>絵
|
||||
// 6 = <20>ı<EFBFBD>, 7 = <20>α<EFBFBD><CEB1><EFBFBD>, 8 = <20>αƿ<D7BE>
|
||||
// 9 = <20><><EFBFBD><EFBFBD>(ij<><C4B3><EFBFBD><EFBFBD>)
|
||||
//
|
||||
// <20><><EFBFBD><EFBFBD> :
|
||||
// 1 = <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, 2 = <20>̹<EFBFBD> <20><>Ƽ<EFBFBD><C6BC> <20><><EFBFBD>ԵǾ<D4B5> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>, 3 = <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
// 4 = <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, 5 = Ż<><C5BB> <20><><EFBFBD><EFBFBD>, 6 = <20>絵 <20><><EFBFBD><EFBFBD>, 7 = <20><>Ƽ <20>ο<EFBFBD> <20>ʰ<EFBFBD>
|
||||
//
|
||||
typedef struct PktPCAck* LPPktPCAck;
|
||||
struct PktPCAck : public PktBase
|
||||
{
|
||||
enum PartyCmd
|
||||
{
|
||||
PC_INVITE = 0, PC_ACCEPT = 1, PC_REFUSE = 2,
|
||||
PC_BANISH = 3, PC_SECESSION = 4, PC_TRANSFER = 5,
|
||||
PC_DESTROY = 6, PC_LOGIN = 7, PC_LOGOUT = 8,
|
||||
PC_DELETE = 9
|
||||
};
|
||||
|
||||
enum PktPCErrorAck
|
||||
{
|
||||
SERVER_ERROR = 1, CHAR_JOINED = 2, FAIL_ACCEPT = 3,
|
||||
FAIL_BANISH = 4, FAIL_SECESSION = 5, FAIL_TRANSFER = 6,
|
||||
OVER_MEMBER = 7, FAIL_INVITE = 8
|
||||
};
|
||||
|
||||
AddressInfo m_SenderAddressInfo; // Sender<65><72> <20>ּ<EFBFBD>
|
||||
char m_strSenderName[CHAR_INFOST::MAX_NAME_LEN]; // Sender<65><72> <20≯<EFBFBD>
|
||||
|
||||
unsigned long m_dwPartyID; // <20><>Ƽ <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned long m_dwSenderID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>(<28><>ü)
|
||||
unsigned long m_dwReferenceID; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>(<28><><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>)
|
||||
unsigned char m_cCmd; // <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
//
|
||||
// <20><>Ƽ <20><><EFBFBD><EFBFBD>
|
||||
//
|
||||
// <20><><EFBFBD><EFBFBD> :
|
||||
// 0 = <20>ʴ<EFBFBD>, 1 = <20><><EFBFBD><EFBFBD>, 2 = <20><><EFBFBD><EFBFBD>
|
||||
// 3 = <20><><EFBFBD><EFBFBD>, 4 = Ż<><C5BB>, 5 = <20>絵
|
||||
// 6 = <20>ı<EFBFBD>, 7 = <20>α<EFBFBD><CEB1><EFBFBD>, 8 = <20>αƿ<D7BE>
|
||||
// 9 = <20><><EFBFBD><EFBFBD>(ij<><C4B3><EFBFBD><EFBFBD>)
|
||||
//
|
||||
// <20><><EFBFBD><EFBFBD> :
|
||||
// 1 = <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, 2 = <20>̹<EFBFBD> <20><>Ƽ<EFBFBD><C6BC> <20><><EFBFBD>ԵǾ<D4B5> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>, 3 = <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
// 4 = <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, 5 = Ż<><C5BB> <20><><EFBFBD><EFBFBD>, 6 = <20>絵 <20><><EFBFBD><EFBFBD>, 7 = <20><>Ƽ <20>ο<EFBFBD> <20>ʰ<EFBFBD>
|
||||
//
|
||||
typedef struct PktPCInfo* LPPktPCInfo;
|
||||
struct PktPCInfo : public PktBase
|
||||
{
|
||||
enum PartyCmd
|
||||
{
|
||||
PC_INVITE = 0, PC_ACCEPT = 1, PC_REFUSE = 2,
|
||||
PC_BANISH = 3, PC_SECESSION = 4, PC_TRANSFER = 5,
|
||||
PC_DESTROY = 6, PC_LOGIN = 7, PC_LOGOUT = 8,
|
||||
PC_DELETE = 9
|
||||
};
|
||||
|
||||
enum PktPCInfoError
|
||||
{
|
||||
SERVER_ERROR = 1, CHAR_JOINED = 2, FAIL_ACCEPT = 3,
|
||||
FAIL_BANISH = 4, FAIL_SECESSION = 5, FAIL_TRANSFER = 6,
|
||||
OVER_MEMBER = 7, FAIL_INVITE = 8
|
||||
};
|
||||
|
||||
unsigned long m_dwPartyID; // <20><>Ƽ ID
|
||||
unsigned long m_dwMemberID; // <20><><EFBFBD><EFBFBD> ID
|
||||
unsigned char m_cCmd; // <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
|
||||
// <20><>Ƽ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (+ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
typedef struct PktMD* LPPktMD;
|
||||
struct PktMD : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned short m_wCmd; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
unsigned short m_wLen; // <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
|
||||
// <20><>Ƽ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
typedef struct PktPM* LPPktPM;
|
||||
struct PktPM : public PktBase
|
||||
{
|
||||
SOCKADDR_IN m_PublicAddress;
|
||||
SOCKADDR_IN m_PrivateAddress;
|
||||
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned long m_dwPartyID; // <20><>Ƽ <20><><EFBFBD>̵<EFBFBD>
|
||||
|
||||
unsigned long m_dwChant; // æƮ <20><><EFBFBD><EFBFBD>
|
||||
unsigned long m_dwEnchant; // <20><>æƮ <20><><EFBFBD><EFBFBD>
|
||||
|
||||
unsigned short m_wMaxHP; // <20>ִ<EFBFBD> HP
|
||||
unsigned short m_sCurrHP; // <20><><EFBFBD><EFBFBD> HP
|
||||
unsigned short m_wMaxMP; // <20>ִ<EFBFBD> MP
|
||||
unsigned short m_sCurrMP; // <20><><EFBFBD><EFBFBD> MP
|
||||
|
||||
unsigned char m_cClass; // ij<><C4B3><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD>
|
||||
unsigned char m_cLevel; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
// <20><>Ƽ ã<><C3A3>
|
||||
typedef struct PktPF* LPPktPF;
|
||||
struct PktPF : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID;
|
||||
};
|
||||
|
||||
// <20><>Ƽ ã<><C3A3> Ack
|
||||
typedef struct PktPFAck* LPPktPFAck;
|
||||
struct PktPFAck : public PktBase
|
||||
{
|
||||
enum { MAX_LIST = 30, MAX_DIFF_LEVEL_VIEW = 5 };
|
||||
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned char m_cMemberFindPartyNum; // <20><>Ƽ ã<><C3A3> <20><><EFBFBD><EFBFBD>Ʈ <20><>
|
||||
unsigned char m_cPartyFindMemberNum; // <20><>Ƽ<EFBFBD><C6BC> ã<><C3A3> <20><><EFBFBD><EFBFBD>Ʈ <20><>
|
||||
};
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(<28><><EFBFBD>嵵) <20><><EFBFBD><EFBFBD>
|
||||
typedef struct PktFI* LPPktFI;
|
||||
struct PktFI : public PktBase
|
||||
{
|
||||
enum InfoKind
|
||||
{
|
||||
NONE = 0,
|
||||
FAME = 1,
|
||||
MERITS = 2
|
||||
};
|
||||
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned char m_cInfoKind; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(<28><><EFBFBD>嵵) <20><><EFBFBD><EFBFBD> Ack
|
||||
typedef struct PktFIAck* LPPktFIAck;
|
||||
struct PktFIAck : public PktBase
|
||||
{
|
||||
enum InfoKind
|
||||
{
|
||||
NONE = 0,
|
||||
FAME = 1,
|
||||
MERITS = 2
|
||||
};
|
||||
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned long m_dwFameOrMerits; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(<28>Ǵ<EFBFBD> <20><><EFBFBD>嵵)
|
||||
unsigned char m_cRankingByRace; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
unsigned char m_cRankingByClass; // Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
unsigned char m_cInfoKind; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
// <20>ɼ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
typedef struct PktCOp* LPPktCOp;
|
||||
struct PktCOp : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
RejectOption m_RejectOption; // <20>ź<EFBFBD> <20>ɼ<EFBFBD> <20><>Ʈ<EFBFBD>V
|
||||
};
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> ä<><C3A4> <20><>Ŷ.
|
||||
typedef struct PktCt* LPPktCt;
|
||||
struct PktCt : public PktBase
|
||||
{
|
||||
enum PktCtCmd
|
||||
{
|
||||
NORMAL = 0, PARTY = 1,
|
||||
FRIEND = 2, GUILD = 3,
|
||||
NOTICE = 4, CLIENT_LOG = 5,
|
||||
STALL = 6,
|
||||
|
||||
PktCtMaxSize = 180
|
||||
};
|
||||
|
||||
unsigned long m_dwCharID;
|
||||
unsigned short m_sCmd;
|
||||
};
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20>ӻ<EFBFBD><D3BB><EFBFBD> <20><>Ŷ.
|
||||
typedef struct PktWh* LPPktWh;
|
||||
struct PktWh : public PktBase
|
||||
{
|
||||
enum
|
||||
{
|
||||
SERVER_ERROR = 1,
|
||||
FAIL_CHAR_LOGOUT = 2,
|
||||
FAIL_REJECT = 3,
|
||||
FAIL_ENEMY = 4,
|
||||
|
||||
PktWhMaxSize = 180
|
||||
};
|
||||
|
||||
char m_SenderName[CHAR_INFOST::MAX_NAME_LEN];
|
||||
char m_RecverName[CHAR_INFOST::MAX_NAME_LEN];
|
||||
};
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ.
|
||||
typedef struct PktStO* LPPktStO;
|
||||
struct PktStO : public PktBase
|
||||
{
|
||||
enum { MAX_STALL_NAME_LEN = 32 };
|
||||
|
||||
unsigned long m_dwCharID;
|
||||
char m_StallName[MAX_STALL_NAME_LEN];
|
||||
};
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ.
|
||||
typedef struct PktStRI* LPPktStRI;
|
||||
struct PktStRI : public PktBase
|
||||
{
|
||||
enum PktStRICmd
|
||||
{
|
||||
SC_REGISTER = 0,
|
||||
SC_CHANGEPRICE = 1,
|
||||
SC_CANCEL = 2
|
||||
};
|
||||
|
||||
enum PktStRIEErr
|
||||
{
|
||||
SUCCESS = 0,
|
||||
SERVER_ERROR = 1,
|
||||
FAIL_NOT_ITEM = 2
|
||||
};
|
||||
|
||||
unsigned long m_dwCharID;
|
||||
TakeType m_TakeType;
|
||||
unsigned long m_dwPrice;
|
||||
unsigned char m_cCmd;
|
||||
};
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ.
|
||||
typedef struct PktStE* LPPktStE;
|
||||
struct PktStE : public PktBase
|
||||
{
|
||||
enum PktStEErr
|
||||
{
|
||||
SUCCESS = 0,
|
||||
SERVER_ERROR = 1,
|
||||
FAIL_FULL_STALL = 2,
|
||||
FAIL_ENTER = 3,
|
||||
FAIL_LEAVE = 4
|
||||
};
|
||||
|
||||
unsigned long m_dwCustomerID;
|
||||
unsigned long m_dwOwnerID;
|
||||
};
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ.
|
||||
typedef struct PktStIInfo* LPPktStIInfo;
|
||||
struct PktStIInfo : public PktBase
|
||||
{
|
||||
unsigned long m_dwItemSize;
|
||||
unsigned short m_wItemNum;
|
||||
};
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,52 @@
|
||||
#ifndef _CHAR_COMMUNITY_PACKET_STRUCT_H_
|
||||
#define _CHAR_COMMUNITY_PACKET_STRUCT_H_
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
#include <DB/DBDefine.h>
|
||||
|
||||
// <20><>Ƽ ã<><C3A3> <20><><EFBFBD><EFBFBD>ü
|
||||
typedef struct MemberFindParty* LPMemberFindParty;
|
||||
struct MemberFindParty
|
||||
{
|
||||
char m_strName[CHAR_INFOST::MAX_NAME_LEN]; // <20≯<EFBFBD>
|
||||
unsigned char m_cLevel; // <20><><EFBFBD><EFBFBD>
|
||||
unsigned char m_cClass; // Ŭ<><C5AC><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
// <20><>Ƽ<EFBFBD><C6BC> ã<><C3A3> <20><><EFBFBD><EFBFBD>ü
|
||||
typedef struct PartyFindMember* LPPartyFindMember;
|
||||
struct PartyFindMember
|
||||
{
|
||||
char m_strLeaderName[CHAR_INFOST::MAX_NAME_LEN]; // <20><><EFBFBD><EFBFBD> <20≯<EFBFBD>
|
||||
|
||||
unsigned char m_cAverageLevel; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
unsigned char m_cMemberNum; // <20><><EFBFBD><EFBFBD> <20><>
|
||||
};
|
||||
|
||||
// <20>ź<EFBFBD> <20>ɼ<EFBFBD>
|
||||
typedef struct RejectOption* LPRejectOption;
|
||||
struct RejectOption
|
||||
{
|
||||
union
|
||||
{
|
||||
struct RejectStruct
|
||||
{
|
||||
unsigned short m_Party : 1;
|
||||
unsigned short m_Exchange : 1;
|
||||
unsigned short m_Duel : 1;
|
||||
unsigned short m_Whisper : 1;
|
||||
unsigned short m_Remainder : 12;
|
||||
};
|
||||
|
||||
RejectStruct Reject;
|
||||
unsigned short m_wReject;
|
||||
};
|
||||
|
||||
RejectOption() : m_wReject(0) { }
|
||||
RejectOption(unsigned short wReject) : m_wReject(wReject) { }
|
||||
};
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,451 @@
|
||||
#ifndef _CHAR_ITEM_PACKET_H_
|
||||
#define _CHAR_ITEM_PACKET_H_
|
||||
|
||||
// CharItemPacket.h
|
||||
// ItemStructure.h<><68> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD> <20><>. (<28><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, )
|
||||
|
||||
#include <Item/ItemStructure.h>
|
||||
#include <Network/Packet/PacketBase.h>
|
||||
|
||||
#include "CharItemPacketStruct.h"
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20><>Ŷ (<28><><EFBFBD><EFBFBD> <20>ʿ<EFBFBD>)
|
||||
typedef struct PktPU* LPPktPU;
|
||||
struct PktPU : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned long m_dwObjectID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD>̵<EFBFBD>
|
||||
Item::ItemPos m_itemPos; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ
|
||||
};
|
||||
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20><>Ŷ Ack
|
||||
typedef struct PktPUAck* LPPktPUAck;
|
||||
struct PktPUAck : public PktBase
|
||||
{
|
||||
enum ObjectType { Item = 0, Gold = 1 };
|
||||
enum PktPUAckError
|
||||
{
|
||||
SERVER_ERROR = 1,
|
||||
FAIL_GET_CELL = 2,
|
||||
FAIL_GET_ITEM = 3,
|
||||
FAIL_PICKUP_INVEN = 4
|
||||
};
|
||||
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned long m_dwObjectID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned long m_dwSize; // Objectũ<74><C5A9>(Ȥ<><C8A4> <20><> <20><>)
|
||||
|
||||
Item::ItemPos m_itemPos; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ġ
|
||||
unsigned char m_cType; // Object<63><74><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȥ<><C8A4> <20><>)
|
||||
unsigned char m_cNum; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
typedef struct PktPUInfo PktPUInfo, *LPPktPUInfo;
|
||||
struct PktPUInfo : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
unsigned long m_dwObjectID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD>̵<EFBFBD>
|
||||
};
|
||||
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20>ʿ<EFBFBD>)
|
||||
typedef struct PktPD* LPPktPD;
|
||||
struct PktPD : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
Item::ItemPos m_itemPos; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ <20><> <20>ε<EFBFBD><CEB5><EFBFBD>
|
||||
unsigned char m_cNum; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ack
|
||||
typedef struct PktPDAck* LPPktPDAck;
|
||||
struct PktPDAck : public PktBase
|
||||
{
|
||||
enum PktPDAckError
|
||||
{
|
||||
SERVER_ERROR = 1,
|
||||
FAIL_GET_CELL = 2,
|
||||
FAIL_DROP_INVEN = 3,
|
||||
FAIL_DROP_FIELD = 4,
|
||||
FAIL_ZERO_ITEM = 5
|
||||
};
|
||||
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
FieldObject m_FieldObject; // FieldObject
|
||||
Item::ItemPos m_itemPos; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ <20><> <20>ε<EFBFBD><CEB5><EFBFBD>
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
typedef struct PktPDInfo* LPPktPDInfo;
|
||||
struct PktPDInfo : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID;
|
||||
FieldObject m_FieldObject;
|
||||
};
|
||||
|
||||
// <20><> <20><><EFBFBD><EFBFBD>
|
||||
typedef struct PktCeInfo* LPPktCeInfo;
|
||||
struct PktCeInfo : public PktBase
|
||||
{
|
||||
unsigned char m_cObjectNum; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<><C3B3> <20><>Ŷ (<28><><EFBFBD><EFBFBD> <20>ʿ<EFBFBD>)
|
||||
typedef struct PktTI* LPPktTI;
|
||||
struct PktTI : public PktBase
|
||||
{
|
||||
enum PktTIError
|
||||
{
|
||||
SERVER_ERROR = 1,
|
||||
FAIL_MOVE = 2
|
||||
};
|
||||
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
TakeType m_TakeType; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ü
|
||||
};
|
||||
|
||||
|
||||
// <20><> ó<><C3B3> <20><>Ŷ (<28><><EFBFBD><EFBFBD> <20>ʿ<EFBFBD>)
|
||||
typedef struct PktTG* LPPktTG;
|
||||
struct PktTG : public PktBase
|
||||
{
|
||||
enum PktTGError
|
||||
{
|
||||
SERVER_ERROR = 1,
|
||||
FAIL_MOVE = 2,
|
||||
GOLD_OVERFLOW = 3
|
||||
};
|
||||
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned long m_dwGold; // <20><> <20><EFBFBD>
|
||||
|
||||
unsigned char m_cSrcPos : 4; // Src<72><63>ġ - TakeType <20><><EFBFBD><EFBFBD>
|
||||
unsigned char m_cDstPos : 4; // Dst<73><74>ġ - TakeType <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<><C3B3> <20><>Ŷ (<28><><EFBFBD><EFBFBD> <20>ʿ<EFBFBD>)
|
||||
typedef struct PktTIs* LPPktTIs;
|
||||
struct PktTIs : public PktBase
|
||||
{
|
||||
enum PktTlsError
|
||||
{
|
||||
SERVER_ERROR = 1
|
||||
};
|
||||
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned char m_TakeNum; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ
|
||||
typedef struct PktSwI* LPPktSwI;
|
||||
struct PktSwI : public PktBase
|
||||
{
|
||||
enum PktSwlError
|
||||
{
|
||||
SERVER_ERROR = 1,
|
||||
FAIL_SRC_MOVE = 2,
|
||||
FAIL_DST_MOVE = 3,
|
||||
CANT_SWAP = 4
|
||||
};
|
||||
|
||||
unsigned long m_dwCharID; // - ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
TakeType m_SwapSrc; // - <20><><EFBFBD><EFBFBD> <20>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ü
|
||||
TakeType m_SwapDst; // - <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ü
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ŷ<EFBFBD> <20><>Ŷ
|
||||
typedef struct PktTr* LPPktTr;
|
||||
struct PktTr : public PktBase
|
||||
{
|
||||
enum PktTrError
|
||||
{
|
||||
NO_SERVER_ERR = 0,
|
||||
SERVER_ERROR = 1,
|
||||
FAIL_DROP_INVEN = 2,
|
||||
WRONG_NPC = 3,
|
||||
FAIL_ITEM_BUY = 4,
|
||||
FAIL_PUT_INVEN = 5
|
||||
};
|
||||
|
||||
unsigned long m_dwCustomerID; // <20>մ<EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned long m_dwOwnerID; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD> (NPC <20>Ǵ<EFBFBD> ij<><C4B3><EFBFBD><EFBFBD>)
|
||||
|
||||
unsigned short m_wBuyItemID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ID (0<≯<EFBFBD> <20>ȱ<EFBFBD>)
|
||||
TakeType m_TakeType; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ü
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ŷ<EFBFBD> <20><>Ŷ Ack (+ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
typedef struct PktTrAck* LPPktTrAck;
|
||||
struct PktTrAck : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned long m_dwNPCID; // <20><><EFBFBD><EFBFBD> NPC <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned long m_dwGold; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
unsigned short m_wSize; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<><C5A9>(0 = <20>ȱ<EFBFBD>, 0<><30> <20>ƴϸ<C6B4> <20><><EFBFBD><EFBFBD>)
|
||||
Item::ItemPos m_itemPos; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ
|
||||
unsigned char m_cNum; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ (<28><><EFBFBD><EFBFBD> <20>ʿ<EFBFBD>)
|
||||
typedef struct PktRpI* LPPktRpI;
|
||||
struct PktRpI : public PktBase
|
||||
{
|
||||
enum Pos
|
||||
{
|
||||
EQUIPMENT = 1,
|
||||
INVENTORY = 2,
|
||||
EQUIPMENT_ALL = 3,
|
||||
INVENTORY_ALL = 4,
|
||||
};
|
||||
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned long m_dwGold; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
Item::ItemPos m_itemPos; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ (<28><><EFBFBD><EFBFBD> <20>ʿ<EFBFBD>)
|
||||
typedef struct PktUI* LPPktUI;
|
||||
struct PktUI : public PktBase
|
||||
{
|
||||
enum PktUIAck
|
||||
{
|
||||
SERVER_ERROR = 1,
|
||||
USE_FAILED = 2
|
||||
};
|
||||
|
||||
unsigned long m_dwSender; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned long m_dwRecver; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
Item::ItemPos m_itemPos; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ŷ ( <20><><EFBFBD><EFBFBD> <20>ʿ<EFBFBD> )
|
||||
typedef struct PktCO* LPPktCO;
|
||||
struct PktCO : public PktBase
|
||||
{
|
||||
CastObject m_sCastObject;
|
||||
unsigned long m_dwSenderID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
unsigned long m_dwReceiverID; // <20><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ŷ (Cast Object)
|
||||
typedef struct PktCOInfo* LPPktCOInfo;
|
||||
struct PktCOInfo : public PktBase
|
||||
{
|
||||
CastObject m_sCastObject;
|
||||
unsigned long m_dwSenderID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
unsigned long m_dwReceiverID; // <20><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20><>ġ <20><>Ŷ
|
||||
typedef struct PktIS* LPPktIS;
|
||||
struct PktIS : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID;
|
||||
Item::ItemPos m_equipPos; // <20><><EFBFBD><EFBFBD> <20><>ġ
|
||||
Item::ItemPos m_gemPos; // <20><><EFBFBD><EFBFBD> <20><>ġ
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20><>ġ <20><>Ŷ Ack (+ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
typedef struct PktISAck* LPPktISAck;
|
||||
struct PktISAck : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID;
|
||||
Item::ItemPos m_equipPos; // <20><><EFBFBD><EFBFBD> <20><>ġ
|
||||
Item::ItemPos m_gemPos; // <20><><EFBFBD><EFBFBD> <20><>ġ
|
||||
unsigned char m_wSize; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<><C5A9>
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><D7B7>̵<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
typedef struct PktUgI* LPPktUgI;
|
||||
struct PktUgI : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned char m_cMineralNum; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><D7B7>̵<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ack (+ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ü)
|
||||
typedef struct PktUgIAck* LPPktUgIAck;
|
||||
struct PktUgIAck : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned char m_cSize; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<><C5A9>
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ø<EFBFBD> <20><>û (<28><><EFBFBD><EFBFBD> <20>ʿ<EFBFBD>)
|
||||
typedef struct PktSplt* LPPktSplt;
|
||||
struct PktSplt : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
TakeType m_TakeType; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ü
|
||||
// ( Src : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, Dst : <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ڸ<EFBFBD>(<28><EFBFBD> <20><><EFBFBD><EFBFBD> <20>־<EFBFBD><D6BE><EFBFBD> <20><>),
|
||||
// Num : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ø<EFBFBD> Ack (<28><><EFBFBD><EFBFBD> <20>ʿ<EFBFBD>) (+ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ü (<28><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>))
|
||||
typedef struct PktSpItAck* LPPktSpItAck;
|
||||
struct PktSpItAck : public PktBase
|
||||
{
|
||||
enum PktSpltAckError
|
||||
{
|
||||
SERVER_ERROR = 1,
|
||||
FAIL_SPLIT = 2
|
||||
};
|
||||
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
TakeType m_TakeType; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ü
|
||||
unsigned char m_cSize; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<><C5A9>
|
||||
};
|
||||
|
||||
|
||||
// <20><> <20><><EFBFBD><EFBFBD> <20>̵<EFBFBD> (<28><><EFBFBD><EFBFBD> <20>ʿ<EFBFBD>)
|
||||
typedef struct PktQSM* LPPktQSM;
|
||||
struct PktQSM : public PktBase
|
||||
{
|
||||
enum PktQSMError
|
||||
{
|
||||
SERVER_ERROR = 1,
|
||||
FAIL_MOVE = 2
|
||||
};
|
||||
|
||||
TakeType m_TakeType;
|
||||
};
|
||||
|
||||
|
||||
// <20><><EFBFBD><EFBFBD>ġ <20>ڵ<EFBFBD>
|
||||
typedef struct PktSwH* LPPktSwH;
|
||||
struct PktSwH : public PktBase
|
||||
{
|
||||
unsigned char m_cSelect; // <20><><EFBFBD><EFBFBD> <20>ڵ<EFBFBD> ( 1 = <20><><EFBFBD><EFBFBD>1 & <20><><EFBFBD><EFBFBD>1, 2 = <20><><EFBFBD><EFBFBD>2 & <20><><EFBFBD><EFBFBD>2 )
|
||||
};
|
||||
|
||||
// <20><>ȯ <20><><EFBFBD><EFBFBD>
|
||||
//
|
||||
// <20><><EFBFBD><EFBFBD> :
|
||||
// 0 = <20><><EFBFBD><EFBFBD>, 1 = <20><><EFBFBD><EFBFBD>, 2 = <20><><EFBFBD><EFBFBD>, 3 = Ȯ<><C8AE>, 4 = Ȯ<><C8AE> <20><><EFBFBD><EFBFBD>, 5 = <20>ŷ<EFBFBD> <20><><EFBFBD><EFBFBD>, 6 = <20>ŷ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
//
|
||||
// <20><><EFBFBD><EFBFBD> :
|
||||
// 0 = <20><><EFBFBD><EFBFBD>, 1 = <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, 2 = <20>̹<EFBFBD> <20><>ȯ<EFBFBD><C8AF><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD> <20><>ȯ <20><>û,
|
||||
// 3 = <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ȯ<><C8AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>¿<EFBFBD><C2BF><EFBFBD> <20>ŷ<EFBFBD> <20><><EFBFBD><EFBFBD>, 4 = <20>ź<EFBFBD> <20>ɼ<EFBFBD><C9BC><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
//
|
||||
typedef struct PktExC* LPPktExC;
|
||||
struct PktExC : public PktBase
|
||||
{
|
||||
enum ExchageCmd
|
||||
{
|
||||
EXC_PROPOSE = 0, EXC_ACCEPT = 1, EXC_REFUSE = 2,
|
||||
EXC_OK = 3, EXC_CANCEL = 4, EXC_EXCHANGE = 5,
|
||||
EXC_QUIT = 6, EXC_LOCK = 7, EXC_UNLOCK = 8
|
||||
};
|
||||
|
||||
enum PktExCError
|
||||
{
|
||||
NO_SERVER_ERR = 0, SERVER_ERROR = 1, FAIL_EXCHANGING_CHAR = 2,
|
||||
FAIL_NOT_ALL_OK = 3, FAIL_REJECT = 4
|
||||
};
|
||||
|
||||
unsigned long m_dwSenderID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned long m_dwRecverID; // <20><EFBFBD><DEB4><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned char m_cCmd; // <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
// <20><>ȯ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (+ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ü)
|
||||
typedef struct PktExI* LPPktExI;
|
||||
struct PktExI : public PktBase
|
||||
{
|
||||
enum Type
|
||||
{
|
||||
Item = 0,
|
||||
Gold = 1,
|
||||
Remove = 2
|
||||
};
|
||||
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned long m_dwSize; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<><C5A9>(Ȥ<><C8A4> <20><> <20><>)
|
||||
Item::ItemPos m_itemPos; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ
|
||||
unsigned char m_cType; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = 0, <20><> = 1)
|
||||
unsigned char m_cNum; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(stack<63><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||||
};
|
||||
|
||||
|
||||
|
||||
namespace Deposit
|
||||
{
|
||||
enum Const { PASSWORD_LENGTH = 4 };
|
||||
};
|
||||
|
||||
// â<><C3A2> <20><>Ŷ (GameServer <--> DBAgent)
|
||||
// <20>α<EFBFBD><CEB1>νÿ<CEBD>, PktDBUpdate<74><65> <20><><EFBFBD><EFBFBD> <20><>, PktDepositUpdateDB<44><42> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ش<EFBFBD>.
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ŷ<EFBFBD><C5B6> m_bUpdateComplete<74><65> true<75><65> Set<65><74> <20>ش<EFBFBD>.
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20>߿<EFBFBD><DFBF><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>÷<EFBFBD> Update<74><65> <20>Ѵ<EFBFBD>.
|
||||
typedef struct PktDepositUpdateDB* LPPktDepositUpdateDB;
|
||||
struct PktDepositUpdateDB : public PktBase
|
||||
{
|
||||
enum TabFlag
|
||||
{
|
||||
ITEM_TAB1 = ( 1 << 0 ),
|
||||
ITEM_TAB2 = ( 1 << 1 ),
|
||||
ITEM_TAB3 = ( 1 << 2 ),
|
||||
ITEM_TAB4 = ( 1 << 3 ),
|
||||
USED_DEPOSIT = ( 1 << 30), // 0 : â<><C3A2> <20><><EFBFBD><EFBFBD> X, 1 : â<><C3A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
SAVED_PASSWORD = ( 1 << 31) // 0 : NOSAVE 1 : SAVE
|
||||
};
|
||||
|
||||
enum TabNum
|
||||
{
|
||||
TAB_12 = 0,
|
||||
TAB_34 = 1,
|
||||
};
|
||||
|
||||
unsigned long m_dwUID; // ij<><C4B3><EFBFBD><EFBFBD> UID
|
||||
unsigned long m_dwCID; // ij<><C4B3><EFBFBD><EFBFBD> CID
|
||||
unsigned long m_dwTabFlag; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>¸<EFBFBD> <20><>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD> bitset
|
||||
unsigned short m_usDataSize; // <20><>(Ȥ<><C8A4> <20><>ȣ) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<><C5A9>. <20><>ȣ<EFBFBD><C8A3> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Deposit::PASSWORD_LENGTH<54><48> <20><><EFBFBD>ƾ<EFBFBD> <20>Ѵ<EFBFBD>.
|
||||
unsigned char m_cTabNum; // password<72><64> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PASSWORD_TABNUM<55><4D>
|
||||
bool m_bUpdateComplete; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20>Ϸ<EFBFBD><CFB7>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD>, true<75><65> set.
|
||||
};
|
||||
|
||||
|
||||
// â<><C3A2> <20><>Ŷ (Client <--> GameServer)
|
||||
struct PktDeposit : public PktBase
|
||||
{
|
||||
enum CMD
|
||||
{
|
||||
LOGIN = 1, // Ack<63><6B><EFBFBD><EFBFBD>(Ack<63><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>) (Client<->GameServer) szData[0]~[3]<5D><> password, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȣ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 1byte (0, 1)
|
||||
BUY_TAB = 2, // Ack<63><6B><EFBFBD><EFBFBD>(Ack<63><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>) (Client<->GameServer) szData[0]<5D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>ȣ<EFBFBD><C8A3> <20>־<EFBFBD> <20><>
|
||||
RETURN_TAB = 3, // Ack<63><6B><EFBFBD><EFBFBD>(Ack<63><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>) (Client<->GameServer) szData[0]<5D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>ȣ<EFBFBD><C8A3> <20>־<EFBFBD> <20><>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
LOGOUT = 4, // Ack<63><6B><EFBFBD><EFBFBD> (Client->GameServer) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||
CHANGE_PASS = 5, // Ack<63><6B><EFBFBD><EFBFBD> (Client->GameServer) szData[0]~[3]<5D><> password. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||
SAVED_PASS = 6, // Ack<63><6B><EFBFBD><EFBFBD> (GameServer -> Client) <20><><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1>ν<EFBFBD> <20><>. szData[0]~[3]<5D><> Gold, [4]<5D><> <20><>ȣ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 1byte (0, 1)
|
||||
|
||||
PASSWORD = 7, // AgentServer -> GameServer (CID, Password), GameServer -> AgentServer (UID, Password)
|
||||
GOLD = 8 // AgentServer -> GameServer (CID, Gold), GameServer -> AgentServer (UID, Gold)
|
||||
};
|
||||
|
||||
enum DepositError
|
||||
{
|
||||
SERVER_ERROR = 1,
|
||||
INSUFFICIENT_MONEY = 2,
|
||||
AUTH_FAILED = 3,
|
||||
INVALID_ARGUMENT = 4
|
||||
};
|
||||
|
||||
enum { MIN_DATA_SIZE = Deposit::PASSWORD_LENGTH + 4 };
|
||||
|
||||
unsigned char m_cCmd;
|
||||
char m_szData[MIN_DATA_SIZE];
|
||||
};
|
||||
|
||||
|
||||
#pragma pack()
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,58 @@
|
||||
#ifndef _CHAR_ITEM_PACKET_STRUCT_H_
|
||||
#define _CHAR_ITEM_PACKET_STRUCT_H_
|
||||
|
||||
#include <DB/DBDefine.h>
|
||||
#include <Item/ItemStructure.h>
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
// <20>ʵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>ü
|
||||
typedef struct FieldObject* LPFieldObject;
|
||||
struct FieldObject
|
||||
{
|
||||
enum CheckBit { Gold = 0x80000000 };
|
||||
|
||||
POS m_Pos; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ
|
||||
unsigned long m_dwOID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD>̵<EFBFBD> ( <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȥ<><C8A4> Object )
|
||||
unsigned long m_dwTypeID; // Ÿ<><C5B8> <20><><EFBFBD>̵<EFBFBD> (<28><><EFBFBD><EFBFBD> 1<><31>Ʈ <20><><EFBFBD≯<EFBFBD> <20><>)
|
||||
unsigned long m_dwStatusFlag; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> chant, enchant <20><><EFBFBD><EFBFBD> Flag
|
||||
unsigned char m_cNum; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||||
};
|
||||
|
||||
// TakeType
|
||||
typedef struct TakeType* LPTakeType;
|
||||
struct TakeType
|
||||
{
|
||||
enum TakeSource
|
||||
{
|
||||
TS_NONE = 0, TS_EQUIP = 1,
|
||||
TS_INVEN = 2, TS_QSLOT = 3,
|
||||
TS_SSLOT = 4, TS_TEMP = 6,
|
||||
TS_UPGRADE = 7, TS_EXCHANGE = 8,
|
||||
TS_DEPOSIT = 9, TS_STALL = 10
|
||||
};
|
||||
|
||||
Item::ItemPos m_srcPos;
|
||||
Item::ItemPos m_dstPos;
|
||||
unsigned char m_cNum;
|
||||
|
||||
TakeType() : m_cNum(0) { }
|
||||
TakeType(Item::ItemPos srcPos, Item::ItemPos dstPos, unsigned char cNum)
|
||||
: m_srcPos(srcPos), m_dstPos(dstPos), m_cNum(cNum) { }
|
||||
};
|
||||
|
||||
// ij<><C4B3>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>ü (Cast Object)
|
||||
typedef struct CastObject* LPCastObject;
|
||||
struct CastObject
|
||||
{
|
||||
POS m_DstPos; // <20><><EFBFBD><EFBFBD> <20><>ġ
|
||||
unsigned long m_dwTargetID; // Ÿ<><C5B8> <20><><EFBFBD>̵<EFBFBD>
|
||||
|
||||
unsigned short m_wTypeID; // <20><><EFBFBD>̵<EFBFBD> ( <20><><EFBFBD>ϰ<EFBFBD><CFB0><EFBFBD> <20>ݾ<EFBFBD> )
|
||||
unsigned char m_cObjectType; // <20><><EFBFBD><EFBFBD> ( 0 = ij<><C4B3>Ʈ, <20><><EFBFBD><EFBFBD> <20><>, 2 = <20><> )
|
||||
unsigned char m_cObjectLevel; // <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,66 @@
|
||||
#ifndef _CHAR_LOGIN_OUT_PACKET_H_
|
||||
#define _CHAR_LOGIN_OUT_PACKET_H_
|
||||
|
||||
// CharLoginOutPacket.h
|
||||
#include <winsock2.h>
|
||||
#include <windows.h>
|
||||
#include <Network/Packet/PacketBase.h>
|
||||
#include "CharLoginOutPacketStruct.h"
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
class CSession;
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
typedef struct PktDBUpdate* LPPktDBUpdate;
|
||||
struct PktDBUpdate : public PktBase
|
||||
{
|
||||
unsigned __int64 m_dlItemSerial; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ø<EFBFBD><C3B8><EFBFBD>
|
||||
unsigned long m_dwSessionID; // <20><><EFBFBD><EFBFBD> ID
|
||||
unsigned long m_dwUserID; // <20><><EFBFBD><EFBFBD> ID
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> ID
|
||||
CSession* m_lpSession; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
IN_ADDR m_Address; // <20>ּ<EFBFBD>
|
||||
|
||||
unsigned short m_TypeCode; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ Ÿ<><C5B8>
|
||||
unsigned short m_usUpdate[DBUpdateData::MAX_UPDATE_DB]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<><C5A9>
|
||||
};
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD> (Char Login)
|
||||
typedef struct PktCLi* LPPktCLi;
|
||||
struct PktCLi : public PktBase
|
||||
{
|
||||
unsigned long m_dwUserID;
|
||||
unsigned long m_dwCharID;
|
||||
unsigned long m_dwSessionID;
|
||||
};
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD> Ack (1 = <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, 2 = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||||
typedef struct PktCLiAck* LPPktCLiAck;
|
||||
struct PktCLiAck : public PktBase
|
||||
{
|
||||
SOCKADDR_IN m_GSSUDPAddr;
|
||||
unsigned long m_dwServerTime;
|
||||
|
||||
unsigned char m_cAdmin;
|
||||
unsigned short m_usUpdate[DBUpdateData::MAX_UPDATE_DB];
|
||||
};
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20>αƿ<D7BE> (Char Logout)
|
||||
typedef struct PktCLo* LPPktCLo;
|
||||
struct PktCLo : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID;
|
||||
};
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20>αƿ<D7BE> (Char Logout)
|
||||
typedef struct PktCLoAck* LPPktCLoAck;
|
||||
struct PktCLoAck : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID;
|
||||
};
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,30 @@
|
||||
#ifndef _CHAR_LOGIN_OUT_PACKET_STRUCT_
|
||||
#define _CHAR_LOGIN_OUT_PACKET_STRUCT_
|
||||
|
||||
|
||||
namespace DBUpdateData
|
||||
{
|
||||
enum UpdateList
|
||||
{
|
||||
STATUS_UPDATE = 0, POSITION_UPDATE = 1,
|
||||
SKILL_UPDATE = 2, QUICKSLOT_UPDATE = 3,
|
||||
ITEM_EQUIP_UPDATE = 4, ITEM_INVEN_UPDATE = 5,
|
||||
ITEM_EXTRA_UPDATE = 6, ITEM_EXCHANGE_UPDATE = 7,
|
||||
MAX_UPDATE_DB = 8
|
||||
};
|
||||
|
||||
enum UpdateType
|
||||
{
|
||||
LOGIN = 0, LOGOUT = 1,
|
||||
UPDATE = 2, ADMIN_LOGIN = 3,
|
||||
ZONEMOVE = 4
|
||||
};
|
||||
|
||||
enum Limit
|
||||
{
|
||||
MAX_DBUPDATE_SIZE = 8000
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,93 @@
|
||||
#ifndef _CHAR_MOVE_PACKET_H_
|
||||
#define _CHAR_MOVE_PACKET_H_
|
||||
|
||||
// CharMovePacket.h
|
||||
#include <Network/Packet/PacketBase.h>
|
||||
#include <DB/DBdefine.h>
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20>̵<EFBFBD> <20><>Ŷ (CharMove)
|
||||
typedef struct PktMV* LPPktMV;
|
||||
struct PktMV : public PktBase
|
||||
{
|
||||
POS m_Position; // ij<><C4B3><EFBFBD><EFBFBD> <20><>ġ
|
||||
float m_fDir; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> ID
|
||||
unsigned long m_dwChantEf; // Chant Effect
|
||||
unsigned long m_dwEnchantEf; // Enchant Effect
|
||||
unsigned short m_wUAct; // <20><EFBFBD> <20><>ȣ
|
||||
unsigned short m_wLAct; // <20><EFBFBD> <20><>ȣ
|
||||
unsigned char m_wLevel; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20>̵<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><>Ŷ ( Char Move Update )
|
||||
typedef struct PktMU* LPPktMU;
|
||||
struct PktMU : public PktBase
|
||||
{
|
||||
POS m_Position; // <20><>ġ
|
||||
float m_fDir; // <20><><EFBFBD><EFBFBD>
|
||||
unsigned long m_dwTick; // Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ ƽ
|
||||
bool m_bSitMode; // <20>ɱ<EFBFBD> (true = <20>ɾ<EFBFBD> <20><><EFBFBD><EFBFBD>.)
|
||||
};
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20>̵<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><>Ŷ Ack ( Char Move Update )
|
||||
typedef struct PktMUAck* LPPktMUAck;
|
||||
struct PktMUAck : public PktBase
|
||||
{
|
||||
unsigned long m_dwTick; // Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ ƽ (ó<><C3B3> <20>ð<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||||
unsigned char m_cFlag; // - <20>÷<EFBFBD><C3B7><EFBFBD> (0 = <20>̵<EFBFBD>, 1 = <20><><EFBFBD>̵<EFBFBD>)
|
||||
};
|
||||
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ( Monster Move )
|
||||
typedef struct PktMM* LPPktMM;
|
||||
struct PktMM : public PktBase
|
||||
{
|
||||
POS m_Position; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ
|
||||
float m_fDir; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
float m_fVec; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ӵ<EFBFBD>
|
||||
unsigned long m_dwMonID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned short m_wAct; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ൿ
|
||||
unsigned short m_wAniNum; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̵<EFBFBD> Ƚ<><C8BD>
|
||||
};
|
||||
|
||||
namespace CellCommand
|
||||
{
|
||||
enum Type
|
||||
{
|
||||
CELL_MOVE = 0,
|
||||
CELL_LOGIN = 1,
|
||||
RESPAWN = 2
|
||||
};
|
||||
};
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><> <20>α<EFBFBD><CEB1><EFBFBD> <20><>Ŷ (Char Cell Login)
|
||||
typedef struct PktCCLi* LPPktCCLi;
|
||||
struct PktCCLi : public PktBase
|
||||
{
|
||||
SOCKADDR_IN m_PublicAddress;
|
||||
SOCKADDR_IN m_PrivateAddress;
|
||||
POS m_Pos;
|
||||
unsigned long m_dwCharID;
|
||||
unsigned char m_cCmd; // see namespace CellCommand
|
||||
};
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><> <20>αƿ<D7BE> <20><>Ŷ ( Char Cell Logout )
|
||||
typedef struct PktCCLo* LPPktCCLo;
|
||||
struct PktCCLo : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID;
|
||||
unsigned char m_cCmd; // see namespace CellCommand
|
||||
};
|
||||
|
||||
// <20><> <20><><EFBFBD>ε<EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> + Address<73><73><EFBFBD><EFBFBD>ü
|
||||
typedef struct PktCB PktCB, *LPPktCB;
|
||||
struct PktCB : public PktBase
|
||||
{
|
||||
unsigned short m_sCharNum; // <20><> ij<><C4B3><EFBFBD><EFBFBD> <20><>
|
||||
};
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,181 @@
|
||||
#ifndef _CHAR_STATUS_PACKET_H_
|
||||
#define _CHAR_STATUS_PACKET_H_
|
||||
|
||||
// CharStatusPacket.h
|
||||
#include <Network/Packet/PacketBase.h>
|
||||
#include <DB/DBdefine.h>
|
||||
#include <Item/ItemStructure.h>
|
||||
|
||||
#include "CharStatusPacketStruct.h"
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20>ڻ<EFBFBD>
|
||||
typedef struct PktSC* LPPktSC;
|
||||
struct PktSC : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
};
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20>ڻ<EFBFBD> Ack
|
||||
typedef struct PktSCAck PktSCAck, *LPPktSCAck;
|
||||
struct PktSCAck : public PktBase
|
||||
{
|
||||
POS m_Pos;
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
};
|
||||
|
||||
// <20><><EFBFBD>ε<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
typedef struct PktBP* LPPktBP;
|
||||
struct PktBP : public PktBase
|
||||
{
|
||||
POS m_Pos; // <20><><EFBFBD>ε<EFBFBD><CEB5><EFBFBD> <20><>ġ
|
||||
char m_cZone; // <20><><EFBFBD>ε<EFBFBD><CEB5><EFBFBD> <20><>
|
||||
|
||||
unsigned long m_dwNPCID; // <20><><EFBFBD>ε<EFBFBD><CEB5><EFBFBD> NPC ID
|
||||
unsigned char m_cCmd; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (0 = <20><><EFBFBD>̺<EFBFBD> <20><>ġ, 1 = <20><>ġ <20>̵<EFBFBD>)
|
||||
};
|
||||
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ŷ
|
||||
typedef struct PktLU* LPPktLU;
|
||||
struct PktLU : public PktBase
|
||||
{
|
||||
ChState m_State;
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned char m_cLevel; // <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ
|
||||
typedef struct PktLUInfo* LPPktLUInfo;
|
||||
struct PktLUInfo : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned char m_cLevel; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
|
||||
// <20>ɷ<EFBFBD>ġ <20><><EFBFBD><EFBFBD>
|
||||
typedef struct PktIP* LPPktIP;
|
||||
struct PktIP : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> ID
|
||||
unsigned char m_cStateType; // <20>ɷ<EFBFBD>ġ Ÿ<><C5B8>
|
||||
};
|
||||
|
||||
// <20>ɷ<EFBFBD>ġ <20><><EFBFBD><EFBFBD> Ack
|
||||
typedef struct PktIPAck* LPPktIPAck;
|
||||
struct PktIPAck : public PktBase
|
||||
{
|
||||
ChState m_State;
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> ID
|
||||
};
|
||||
|
||||
// Ŭ<><C5AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><D7B7>̵<EFBFBD>
|
||||
typedef struct PktCU* LPPktCU;
|
||||
struct PktCU : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> ID
|
||||
unsigned char m_cClass; // Ŭ<><C5AC><EFBFBD><EFBFBD> <20><>ȣ
|
||||
};
|
||||
|
||||
// Ŭ<><C5AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><D7B7>̵<EFBFBD> Ack
|
||||
typedef struct PktCUAck* LPPktCUAck;
|
||||
struct PktCUAck : public PktBase
|
||||
{
|
||||
ChState m_State; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> ID
|
||||
unsigned short m_wSkill; // <20><>ų ID
|
||||
unsigned char m_cIndex; // <20><>ų <20>ε<EFBFBD><CEB5><EFBFBD>
|
||||
unsigned char m_cClass; // Ŭ<><C5AC><EFBFBD><EFBFBD> <20><>ȣ
|
||||
};
|
||||
|
||||
// <20><>ų (<28><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
typedef struct PktSk* LPPktSk;
|
||||
struct PktSk : public PktBase
|
||||
{
|
||||
enum PktSkError
|
||||
{
|
||||
SERVER_ERROR = 1, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
FAIL_NOT_SKILL = 2, // <20><>ų <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
FAIL_NOT_ENOUGH_SLOT = 4, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
FAIL_NON_LEVEL = 3, FAIL_ALREADY_LOCK = 4, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
FAIL_FULL_LOCK = 3, FAIL_NOT_ENOUGH_LEVEL = 4, // <20><> <20><><EFBFBD><EFBFBD>
|
||||
FAIL_NON_LOCK = 3, // <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> ID
|
||||
unsigned short m_wSkill; // <20><>ų <20><>ȣ
|
||||
unsigned char m_cIndex; // <20><>ų <20><>ġ
|
||||
};
|
||||
|
||||
|
||||
// <20><>ų <20><> <20><><EFBFBD><EFBFBD>
|
||||
typedef struct PktSkUL* LPPktSkUL;
|
||||
struct PktSkUL : public PktSk
|
||||
{
|
||||
Item::ItemPos m_itemPos; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>ġ
|
||||
};
|
||||
|
||||
// <20><>ų <20><> <20><><EFBFBD><EFBFBD> Ack
|
||||
typedef struct PktSkULAck* LPPktSkULAck;
|
||||
struct PktSkULAck : public PktSk
|
||||
{
|
||||
unsigned long m_dwGold; // <20>Һ<EFBFBD> <20>ݾ<EFBFBD>
|
||||
Item::ItemPos m_itemPos; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>ġ
|
||||
};
|
||||
|
||||
// HP <20><><EFBFBD><EFBFBD> <20><>Ŷ ( Char HP Regen )
|
||||
typedef struct PktHP* LPPktHP;
|
||||
struct PktHP : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned short m_sHP; // <20><><EFBFBD><EFBFBD> hp
|
||||
unsigned short m_sMP; // <20><><EFBFBD><EFBFBD> mp
|
||||
};
|
||||
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20><>û ( Require Info )
|
||||
// - P2P<32><50> <20>ٸ<EFBFBD> Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ÿ<EFBFBD><C3BF><EFBFBD> <20>ּҳ<D6BC><D2B3><EFBFBD><EFBFBD><EFBFBD> <20>߰<EFBFBD> <20>Ǹ<EFBFBD>,
|
||||
// <09>ش<EFBFBD> Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20><><EFBFBD>̵<EFBFBD><CCB5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD><CCB5><EFBFBD> <20>ǰڴ<C7B0>.
|
||||
typedef struct PktRI* LPPktRI;
|
||||
struct PktRI : public PktBase
|
||||
{
|
||||
SOCKADDR_IN m_PublicAddress;
|
||||
SOCKADDR_IN m_PrivateAddress;
|
||||
|
||||
unsigned long m_dwCharID; // <20>ش<EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
unsigned char m_cCmd; // Ŀ<>ǵ<EFBFBD> (0 : HP, MP <20><><EFBFBD><EFBFBD>, 1 : UDP <20>ּ<EFBFBD>, 2 : <20><><EFBFBD><EFBFBD>)
|
||||
};
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20>Ѹ<EFBFBD><D1B8><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
typedef struct PktSI* LPPktSI;
|
||||
struct PktSI : public PktBase
|
||||
{
|
||||
enum { MAX_STALL_NAME_LEN = 32 };
|
||||
|
||||
enum WEAPON_HAND
|
||||
{
|
||||
WEAPON_HAND1 = 1,
|
||||
WEAPON_HAND2 = 2
|
||||
};
|
||||
|
||||
CHAR_VIEW m_CharView; // ij<><C4B3><EFBFBD><EFBFBD> <20>Ѹ<EFBFBD><D1B8><EFBFBD>
|
||||
unsigned long m_dwStatusFlag; // ij<><C4B3><EFBFBD>Ϳ<EFBFBD> <20>ɷ<EFBFBD> <20>ִ<EFBFBD> chant, enchant Flag
|
||||
unsigned char m_cSelectedHands; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> (1 = <20><><EFBFBD><EFBFBD>1 & <20><><EFBFBD><EFBFBD>1, 2 = <20><><EFBFBD><EFBFBD>2 & <20><><EFBFBD><EFBFBD>2)
|
||||
|
||||
char m_StallName[MAX_STALL_NAME_LEN]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20≯<EFBFBD>
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD>ʽ<EFBFBD>
|
||||
typedef struct PktEB* LPPktEB;
|
||||
struct PktEB : public PktBase
|
||||
{
|
||||
EliteBonus m_EliteBonus;
|
||||
};
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,31 @@
|
||||
#ifndef _CHAR_STATUS_PACKET_STRUCT_H_
|
||||
#define _CHAR_STATUS_PACKET_STRUCT_H_
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20>ɷ<EFBFBD>ġ
|
||||
typedef struct ChState* LPChState;
|
||||
struct ChState
|
||||
{
|
||||
unsigned short m_wIP;
|
||||
unsigned short m_wSTR;
|
||||
unsigned short m_wDEX;
|
||||
unsigned short m_wCON;
|
||||
unsigned short m_wINT;
|
||||
unsigned short m_wWIS;
|
||||
};
|
||||
|
||||
typedef struct EliteBonus* LPEliteBonus;
|
||||
struct EliteBonus
|
||||
{
|
||||
enum { MAX_BONUS_LEVEL = 5 };
|
||||
|
||||
char m_cNation;
|
||||
unsigned char m_cLevel;
|
||||
|
||||
EliteBonus() : m_cNation(0), m_cLevel(0) { }
|
||||
};
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,207 @@
|
||||
#ifndef _CLIENT_TO_AUTH_SERVER_PACKET_H_
|
||||
#define _CLIENT_TO_AUTH_SERVER_PACKET_H_
|
||||
|
||||
#include <DB/DBDefine.h>
|
||||
#include <Network/Packet/PacketBase.h>
|
||||
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>û (Client to AuthServer)
|
||||
// - <20><><EFBFBD><EFBFBD> <20≯<EFBFBD>
|
||||
// - <20><><EFBFBD><EFBFBD> <20>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// - Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
|
||||
//
|
||||
// : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD><CCB5><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> <20><><EFBFBD>´<EFBFBD>.
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
typedef struct PktAU* LPPktAU;
|
||||
struct PktAU : public PktBase
|
||||
{
|
||||
enum { NAME_LEN = 16 };
|
||||
|
||||
char m_UserAccount[NAME_LEN];
|
||||
char m_UserPassword[NAME_LEN];
|
||||
|
||||
unsigned long m_ClientVerInfo;
|
||||
unsigned short m_cFlag;
|
||||
unsigned long m_dwSessionID;
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (AuthServer to Client)
|
||||
// - <20><><EFBFBD><EFBFBD> <20≯<EFBFBD>
|
||||
// - <20><><EFBFBD><EFBFBD> <20>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// - Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
|
||||
//
|
||||
// : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD><CCB5><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> <20><><EFBFBD>´<EFBFBD>.
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
typedef struct PktAUAck* LPPktAUAck;
|
||||
struct PktAUAck : public PktBase
|
||||
{
|
||||
unsigned long m_dwSessionID;
|
||||
unsigned long m_dwUserID;
|
||||
};
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// <20><><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD> (Client to AuthServer)
|
||||
// - <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
// - <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
// - <20><><EFBFBD><EFBFBD> ť <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// : <20><><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD> <20>Ŀ<EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD>.
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
typedef struct PktULi* LPPktULi;
|
||||
struct PktULi : public PktBase
|
||||
{
|
||||
DWORD m_dwSessionID;
|
||||
DWORD m_dwUserID;
|
||||
DWORD m_dwServerID;
|
||||
DWORD m_dwCheckSum;
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// <20><><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD> Ack (AuthServer to Client)
|
||||
// - <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
// - ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
//
|
||||
// (1 = <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, 2 = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
typedef struct PktULiAck* LPPktULiAck;
|
||||
struct PktULiAck : public PktBase
|
||||
{
|
||||
enum { SERVER_ERROR = 1, FAIL_GET_DATA = 2 };
|
||||
|
||||
unsigned long m_dwUserID;
|
||||
CHAR_VIEW m_CharView[3];
|
||||
};
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ( Char Select )
|
||||
// - <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
// - ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
//
|
||||
// : ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20>ش<EFBFBD> ij<><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ϳ<EFBFBD> <20>ּҸ<D6BC> <20>Ѱ<EFBFBD> <20>´<DEB4>.
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
typedef struct PktCS* LPPktCS;
|
||||
struct PktCS : public PktBase
|
||||
{
|
||||
unsigned long m_dwUserID;
|
||||
unsigned long m_dwCharID;
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ack
|
||||
// - <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
// - ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
// - <20><><EFBFBD><EFBFBD> ť <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// - GSS <20><><EFBFBD><EFBFBD> <20>ּ<EFBFBD>
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
typedef struct PktCSAck* LPPktCSAck;
|
||||
struct PktCSAck : public PktBase
|
||||
{
|
||||
enum { MAX_CHANNEL_NUM = 2 };
|
||||
|
||||
unsigned char m_cZone;
|
||||
unsigned short m_wChannelNum[MAX_CHANNEL_NUM];
|
||||
};
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ( Char Create )
|
||||
// - <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
// - <20><><EFBFBD><EFBFBD> <20><>ȣ
|
||||
// - ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// - <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
typedef struct PktCC* LPPktCC;
|
||||
struct PktCC : public PktBase
|
||||
{
|
||||
unsigned long m_dwUserID;
|
||||
unsigned long m_dwSlotNum;
|
||||
CHAR_CREATE m_CreateChar;
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ack
|
||||
// - ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
// - <20><><EFBFBD><EFBFBD> <20><>ȣ
|
||||
// - ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//
|
||||
// (1 = <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, 2 = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, 3 = <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> <20≯<EFBFBD>, 4 = <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>,
|
||||
// 5 = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20≯<EFBFBD>, 6 = <20>߸<EFBFBD><DFB8><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
typedef struct PktCCAck* LPPktCCAck;
|
||||
struct PktCCAck : public PktBase
|
||||
{
|
||||
unsigned long m_dwCharID;
|
||||
unsigned long m_dwSlotNum;
|
||||
CHAR_VIEW m_CharView;
|
||||
|
||||
enum
|
||||
{
|
||||
SERVER_ERROR = 1, FAIL_INSERT_DATA = 2,
|
||||
EXIST_CHAR_NAME = 3, EXIST_SLOT = 4,
|
||||
WRONG_CHAR_NAME = 5, WRONG_CHAR_DATA = 6
|
||||
};
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ( Char Delete )
|
||||
// - <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
// - ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
// - <20><><EFBFBD><EFBFBD> <20><>ȣ
|
||||
// - <20><>Ƽ <20><><EFBFBD>̵<EFBFBD>
|
||||
// - <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
typedef struct PktCD* LPPktCD;
|
||||
struct PktCD : public PktBase
|
||||
{
|
||||
unsigned long m_dwUserID;
|
||||
unsigned long m_dwCharID;
|
||||
unsigned long m_dwSlotNum;
|
||||
};
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ack
|
||||
// - <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
// - <20><><EFBFBD><EFBFBD> <20><>ȣ
|
||||
//
|
||||
// (1 = <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, 2 = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
typedef struct PktCDAck* LPPktCDAck;
|
||||
struct PktCDAck : public PktBase
|
||||
{
|
||||
unsigned long m_dwUserID;
|
||||
unsigned long m_dwSlotNum;
|
||||
enum { SERVER_ERROR = 1, FAIL_DELETE_DATA =2 };
|
||||
};
|
||||
|
||||
|
||||
#pragma pack()
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,76 @@
|
||||
#ifndef _CLIENT_TO_LOGIN_SERVER_PACKET_H_
|
||||
#define _CLIENT_TO_LOGIN_SERVER_PACKET_H_
|
||||
|
||||
#include "ServerInfo.h"
|
||||
#include <Network/Packet/PacketBase.h>
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// <20>α<EFBFBD><CEB1><EFBFBD> Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20><>Ŷ.
|
||||
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20><>û <20><>Ŷ : Launcher to LoginServer
|
||||
typedef struct PktSvL* LPPktSvL;
|
||||
struct PktSvL : public PktBase
|
||||
{
|
||||
unsigned long m_ClientVerInfo;
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> <20><>Ŷ : LoginServer to Launcher
|
||||
typedef struct PktSvLAck* LPPktSvLAck;
|
||||
struct PktSvLAck : public PktBase
|
||||
{
|
||||
unsigned long m_dwUserID; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
SERVER_LIST m_ServerList; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ
|
||||
};
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>û <20><>Ŷ : Launcher to LoginServer
|
||||
typedef struct PktSG* LPPktSG;
|
||||
struct PktSG : public PktBase
|
||||
{
|
||||
char m_cGroup;
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ : LoginServer to Launcher
|
||||
typedef struct PktSGAck* LPPktSGAck;
|
||||
struct PktSGAck : public PktBase
|
||||
{
|
||||
unsigned long m_dwServerID;
|
||||
IN_ADDR m_AuthAddress;
|
||||
};
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>û <20><>Ŷ(OLD) : Launcher to LoginServer
|
||||
typedef struct PktAUO* LPPktAUO;
|
||||
struct PktAUO : public PktBase
|
||||
{
|
||||
enum { NAME_LEN = 16 };
|
||||
|
||||
char m_UserAccount[NAME_LEN];
|
||||
char m_UserPassword[NAME_LEN];
|
||||
|
||||
unsigned long m_ClientVerInfo;
|
||||
unsigned short m_cFlag;
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ : LoginServer to Launcher
|
||||
typedef struct PktAUOAck* LPPktAUOAck;
|
||||
struct PktAUOAck : public PktBase
|
||||
{
|
||||
unsigned long m_dwUserID; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
SERVER_LIST m_ServerList; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ
|
||||
};
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,50 @@
|
||||
#ifndef _DATA_PACKET_H_
|
||||
#define _DATA_PACKET_H_
|
||||
|
||||
#include <Network/Packet/PacketBase.h>
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
typedef struct PktDD* LPPktDD;
|
||||
struct PktDD : public PktBase
|
||||
{
|
||||
unsigned long m_dwUID;
|
||||
unsigned short m_wCmd;
|
||||
|
||||
enum SubCommands
|
||||
{
|
||||
SCmdUserLogin = 0x0001, // <20><><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD>
|
||||
SCmdUserLogout = 0x0002, // <20><><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD>
|
||||
SCmdUserMove = 0x0003, // <20><><EFBFBD><EFBFBD> <20><> <20>̵<EFBFBD>
|
||||
|
||||
SCmdCharCreate = 0x0021, // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
SCmdCharDelete = 0x0022, // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
SCmdCharCreateItem = 0x0023, // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
SCmdCharSelect = 0x0024, // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
SCmdCreateParty = 0x0031, // <20><>Ƽ <20><><EFBFBD><EFBFBD>
|
||||
SCmdDeleteParty = 0x0032, // <20><>Ƽ <20><><EFBFBD><EFBFBD>
|
||||
SCmdGetPartyInfo = 0x0033, // <20><>Ƽ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
SCmdInsertPartyMem = 0x0034, // <20><>Ƽ <20><><EFBFBD><EFBFBD> <20>߰<EFBFBD>
|
||||
SCmdDeletePartyMem = 0x0035, // <20><>Ƽ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
SCmdLoginPartyMem = 0x0036, // <20><>Ƽ <20><><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD>
|
||||
SCmdLogoutPartyMem = 0x0037, // <20><>Ƽ <20><><EFBFBD><EFBFBD> <20>αƿ<D7BE>
|
||||
SCmdTransferLeader = 0x0038, // <20><><EFBFBD><EFBFBD> <20>絵
|
||||
|
||||
SCmdStartSession = 0x0041, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
SCmdServerZone = 0x0043, // <20><><EFBFBD><EFBFBD> <20><>
|
||||
SCmdCharMoveZone = 0x0044 // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
};
|
||||
|
||||
inline void InitPtSubCmd(unsigned long dwUID, unsigned short Cmd_In);
|
||||
};
|
||||
|
||||
inline void PktDD::InitPtSubCmd(unsigned long dwUID, unsigned short Cmd_In)
|
||||
{
|
||||
m_dwUID = dwUID;
|
||||
m_wCmd = Cmd_In;
|
||||
}
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,215 @@
|
||||
#ifndef _CHAR_FRIEND_PACKET_H_
|
||||
#define _CHAR_FRIEND_PACKET_H_
|
||||
|
||||
// CharFriendPacket.h
|
||||
#include <Network/Packet/PacketBase.h>
|
||||
#pragma pack(1)
|
||||
|
||||
/*
|
||||
struct PktFriendAddReq : public PktBase CMD : 0x64
|
||||
struct PktFriendRemoveReq : public PktBase CMD : 0x65
|
||||
struct PktFriendEtc : public PktBase CMD : 0x66
|
||||
struct PktFriendAck : public PktBase CMD : 0x67
|
||||
struct PktFriendDB : public PktBase CMD : 0x68
|
||||
|
||||
ģ<><C4A3> <20><><EFBFBD><EFBFBD> Operations
|
||||
|
||||
<Client->GameServer>
|
||||
|
||||
ģ<><C4A3> <20><><EFBFBD><EFBFBD> : PktFriendAddReq
|
||||
<20>ź<EFBFBD> <20><><EFBFBD><EFBFBD> : PktFriendAddReq
|
||||
ģ<><C4A3> <20><><EFBFBD><EFBFBD> : PktFriendRemoveReq
|
||||
<20>ź<EFBFBD> <20><><EFBFBD><EFBFBD> : PktFriendRemoveReq
|
||||
<20><EFBFBD> <20><><EFBFBD><EFBFBD> : PktFriendEtc(Ack<63><6B><EFBFBD><EFBFBD>)
|
||||
|
||||
<GameServer->Client>
|
||||
|
||||
ģ<><C4A3> <20><><EFBFBD><EFBFBD>Ʈ <20>ֱ<EFBFBD> : PktFriendDB
|
||||
<20>ź<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20>߱<EFBFBD> : PktFriendDB
|
||||
|
||||
ģ<><C4A3> <20><><EFBFBD><EFBFBD> Ack : PktFriendAck
|
||||
ģ<><C4A3> <20><><EFBFBD><EFBFBD> Ack : PktFriendAck
|
||||
<20>ź<EFBFBD> <20><><EFBFBD><EFBFBD> Ack : PktFriendAck
|
||||
<20>ź<EFBFBD> <20><><EFBFBD><EFBFBD> Ack : PktFriendAck
|
||||
|
||||
ģ<><C4A3> <20>α<EFBFBD><CEB1><EFBFBD> : PktFriendAck
|
||||
ģ<><C4A3> <20>αƿ<D7BE> : PktFriendAck
|
||||
ģ<><C4A3> <20><><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD> : PktFriendAddReq
|
||||
|
||||
|
||||
<GameServer->DBAgent>
|
||||
|
||||
ģ<><C4A3> <20><><EFBFBD><EFBFBD> : PktFriendDB
|
||||
<20>ź<EFBFBD> <20><><EFBFBD><EFBFBD> : PktFriendDB
|
||||
ģ<><C4A3> <20><><EFBFBD><EFBFBD> : PktFriendDB
|
||||
<20>ź<EFBFBD> <20><><EFBFBD><EFBFBD> : PktFriendDB
|
||||
<20><EFBFBD> <20><><EFBFBD><EFBFBD> : PktFriendDB
|
||||
|
||||
|
||||
<DBAgent->GameServer>
|
||||
|
||||
ģ<><C4A3> <20><><EFBFBD><EFBFBD>Ʈ <20>ֱ<EFBFBD> : PktFriendDB
|
||||
<20>ź<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20>ֱ<EFBFBD> : PktFriendDB
|
||||
*/
|
||||
|
||||
|
||||
struct FriendInfo
|
||||
{
|
||||
private:
|
||||
|
||||
enum StatusMask
|
||||
{
|
||||
IS_LOGINED = 0x00000001,
|
||||
GROUP = 0x000000F0
|
||||
};
|
||||
|
||||
public:
|
||||
|
||||
enum { MAX_NAME = 16 };
|
||||
|
||||
unsigned long m_dwStatusFlag;
|
||||
char m_szName[MAX_NAME];
|
||||
|
||||
bool IsLogined() { return (0 != (m_dwStatusFlag & IS_LOGINED)); }
|
||||
void SetLoginStatus(bool bLogined)
|
||||
{
|
||||
if(bLogined) { m_dwStatusFlag |= IS_LOGINED; }
|
||||
else { m_dwStatusFlag &= ~IS_LOGINED; }
|
||||
}
|
||||
|
||||
unsigned long GetGroup() { return ((m_dwStatusFlag & GROUP) >> 4); }
|
||||
bool SetGroup(unsigned long dwGroup)
|
||||
{
|
||||
if(0xF < dwGroup) { return false; }
|
||||
m_dwStatusFlag = (m_dwStatusFlag & (~GROUP)) | (dwGroup << 4);
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
struct BanInfo
|
||||
{
|
||||
enum { MAX_NAME = 16 };
|
||||
char m_szName[MAX_NAME];
|
||||
};
|
||||
|
||||
|
||||
|
||||
// <20>߰<EFBFBD> <20><>Ŷ
|
||||
struct PktFriendAddReq : public PktBase
|
||||
{
|
||||
enum { MAX_NAME = 16 };
|
||||
|
||||
enum CMD
|
||||
{
|
||||
ADD_FRIEND_REQ = 0, // ģ<><C4A3> <20><><EFBFBD><EFBFBD> (Client->GameServer), m_szName<6D><65> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20≯<EFBFBD>.
|
||||
BAN_FRIEND_REQ = 1, // <20>ź<EFBFBD> <20><><EFBFBD><EFBFBD> (Client->GameServer), m_szName<6D><65> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20≯<EFBFBD>.
|
||||
ADDED_INFO = 2 // ģ<><C4A3><EFBFBD><EFBFBD> <20><><EFBFBD>ϵ<EFBFBD> (GameServer->Client), m_szName<6D><65> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20≯<EFBFBD>.
|
||||
};
|
||||
|
||||
char m_szName[MAX_NAME]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20≯<EFBFBD>.
|
||||
unsigned char m_cCmd;
|
||||
};
|
||||
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20><>Ŷ
|
||||
struct PktFriendRemoveReq : public PktBase
|
||||
{
|
||||
enum CMD
|
||||
{
|
||||
REMOVE_FRIEND_REQ = 0, // ģ<><C4A3> <20><><EFBFBD><EFBFBD> (Client->GameServer), m_dwCID<49><44> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CID.
|
||||
REMOVE_BAN_REQ = 1, // <20>ź<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (Client->GameServer), m_dwCID<49><44> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CID.
|
||||
};
|
||||
|
||||
unsigned long m_dwCID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CID;
|
||||
unsigned char m_cCmd;
|
||||
};
|
||||
|
||||
|
||||
// <20><>Ÿ <20><>Ŷ
|
||||
struct PktFriendEtc : public PktBase
|
||||
{
|
||||
enum CMD
|
||||
{
|
||||
SETGROUP = 0, // <20><EFBFBD> <20><><EFBFBD><EFBFBD> (Client->GameServer),
|
||||
// m_dwCID<49><44> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CID, m_dwData<74><61> <20>ٲ<EFBFBD> <20><EFBFBD> <20><>ȣ
|
||||
|
||||
};
|
||||
|
||||
unsigned long m_dwCID;
|
||||
unsigned long m_dwData;
|
||||
unsigned char m_cCmd;
|
||||
};
|
||||
|
||||
|
||||
// ģ<><C4A3> <20><><EFBFBD><EFBFBD> <20><>Ŷ ( Client <--> GameServer )
|
||||
struct PktFriendAck : public PktBase
|
||||
{
|
||||
enum CMD
|
||||
{
|
||||
ADD_FRIEND_ACK = 0, // ģ<><C4A3> <20><><EFBFBD><EFBFBD> Ack (GameServer->Client)
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> : SERVER_ERROR (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||||
// NOT_LOGINED (<28>α<EFBFBD><CEB1>ε<EFBFBD><CEB5><EFBFBD> <20><><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD> <20><>)
|
||||
// REJECTED (<28>ź<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD>)
|
||||
// LIST_FULL (ģ<><C4A3> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><> <20><> <20><><EFBFBD><EFBFBD>)
|
||||
|
||||
REMOVE_FRIEND_ACK = 1, // ģ<><C4A3> <20><><EFBFBD><EFBFBD> Ack (GameServer->Client)
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> : SERVER_ERROR (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||||
|
||||
ADD_BAN_ACK = 2, // <20>ź<EFBFBD> <20><><EFBFBD><EFBFBD> Ack (GameServer->Client)
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> : SERVER_ERROR (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||||
// NOT_LOGINED (<28>α<EFBFBD><CEB1>ε<EFBFBD><CEB5><EFBFBD> <20><><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD> <20><>)
|
||||
// LIST_FULL (ģ<><C4A3> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><> <20><> <20><><EFBFBD><EFBFBD>)
|
||||
|
||||
REMOVE_BAN_ACK = 3, // <20>ź<EFBFBD> <20><><EFBFBD><EFBFBD> Ack (GameServer->Client)
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> : SERVER_ERROR (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||||
|
||||
FRIEND_LOGIN = 4, // ģ<><C4A3> <20>α<EFBFBD><CEB1><EFBFBD> (GameServer->Client), m_dwCID<49><44> <20>α<EFBFBD><CEB1><EFBFBD><EFBFBD><EFBFBD> ģ<><C4A3><EFBFBD><EFBFBD> CID
|
||||
FRIEND_LOGOUT = 5 // ģ<><C4A3> <20>αƿ<D7BE> (GameServer->Client), m_dwCID<49><44> <20>αƿ<D7BE><C6BF><EFBFBD> ģ<><C4A3><EFBFBD><EFBFBD> CID
|
||||
};
|
||||
|
||||
enum FriendERROR
|
||||
{
|
||||
SERVER_ERROR = 1,
|
||||
NOT_LOGINED = 2,
|
||||
REJECTED = 3,
|
||||
LIST_FULL = 4
|
||||
};
|
||||
|
||||
unsigned long m_dwCID;
|
||||
unsigned char m_cCmd;
|
||||
};
|
||||
|
||||
|
||||
// ģ<><C4A3> <20><><EFBFBD><EFBFBD> <20><>Ŷ
|
||||
struct PktFriendDB : public PktBase
|
||||
{
|
||||
enum CMD
|
||||
{
|
||||
ADD_FRIEND = 0, // ģ<><C4A3> <20><><EFBFBD><EFBFBD> (GameServer->DBAgent) Owner<65><72> Reference<63><65> <20><><EFBFBD><EFBFBD>.
|
||||
REMOVE_FRIEND = 1, // ģ<><C4A3> <20><><EFBFBD><EFBFBD> (GameServer->DBAgent) Owner<65><72> Reference<63><65> <20><><EFBFBD><EFBFBD>.
|
||||
ADD_BAN = 2, // <20>ź<EFBFBD> <20><><EFBFBD><EFBFBD> (GameServer->DBAgent) Owner<65><72> Reference<63><65> <20><><EFBFBD><EFBFBD>.
|
||||
REMOVE_BAN = 3, // <20>ź<EFBFBD> <20><><EFBFBD><EFBFBD> (GameServer->DBAgent) Owner<65><72> Reference<63><65> <20><><EFBFBD><EFBFBD>.
|
||||
|
||||
SETGROUP = 4, // <20><EFBFBD> <20><><EFBFBD><EFBFBD> (GameServer->DBAgent)
|
||||
// Owner<65><72> Reference<63><65> m_dwData<74><61> <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><EFBFBD><D7B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||
|
||||
FRIEND_LIST = 5, // ģ<><C4A3> <20><><EFBFBD><EFBFBD>Ʈ (DBAgent->GameServer, GameServer->Client)
|
||||
// CIDTable<6C><65><EFBFBD><EFBFBD> SerializeOut<75><74> <20><><EFBFBD><EFBFBD><EFBFBD>Ͱ<EFBFBD> <20>ڿ<EFBFBD> <20>ٴ´<D9B4>.
|
||||
// Reference<63><65> <20>ǹ<EFBFBD> <20><><EFBFBD><EFBFBD>. m_dwData<74><61> <20>ڿ<EFBFBD> <20>ٴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<><C5A9>.
|
||||
|
||||
BAN_LIST = 6, // <20>ź<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ (DBAgent->GameServer, GameServer->Client)
|
||||
// CIDTable<6C><65><EFBFBD><EFBFBD> SerializeOut<75><74> <20><><EFBFBD><EFBFBD><EFBFBD>Ͱ<EFBFBD> <20>ڿ<EFBFBD> <20>ٴ´<D9B4>.
|
||||
// Reference<63><65> <20>ǹ<EFBFBD> <20><><EFBFBD><EFBFBD>. m_dwData<74><61> <20>ڿ<EFBFBD> <20>ٴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<><C5A9>.
|
||||
};
|
||||
|
||||
unsigned long m_dwOwnerUID; // <20><><EFBFBD><EFBFBD> <20>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD> UID
|
||||
unsigned long m_dwOwnerCID; // <20><><EFBFBD><EFBFBD> <20>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD> CID
|
||||
unsigned long m_dwReferenceCID; // <20><><EFBFBD><EFBFBD> <20>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD> CID
|
||||
unsigned long m_dwData; // Data
|
||||
unsigned char m_cCmd;
|
||||
};
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,81 @@
|
||||
#ifndef _PARTY_INFO_PACKET_H_
|
||||
#define _PARTY_INFO_PACKET_H_
|
||||
|
||||
#include "DataPacket.h"
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// <20><>Ƽ <20><><EFBFBD><EFBFBD>
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
typedef struct PktPID* LPPktPID;
|
||||
struct PktPID : public PktDD
|
||||
{
|
||||
unsigned long m_dwCharID;
|
||||
unsigned long m_dwPartyID;
|
||||
};
|
||||
|
||||
typedef struct PktPIDAck* LPPktPIDAck;
|
||||
struct PktPIDAck : public PktDD
|
||||
{
|
||||
PARTY m_Party;
|
||||
};
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// <20><>Ƽ <20><><EFBFBD><EFBFBD>
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
typedef struct PktCPD* LPPktCPD;
|
||||
struct PktCPD : public PktDD
|
||||
{
|
||||
DWORD m_dwLeaderID;
|
||||
DWORD m_dwMemberID;
|
||||
};
|
||||
|
||||
typedef struct PktCPDAck* LPPktCPDAck;
|
||||
struct PktCPDAck : public PktDD
|
||||
{
|
||||
PARTY m_Party;
|
||||
};
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// <20><>Ƽ <20><><EFBFBD><EFBFBD>
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
typedef struct PktDPD* LPPktDPD;
|
||||
struct PktDPD : public PktDD
|
||||
{
|
||||
unsigned long m_dwPartyID;
|
||||
};
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// <20><>Ƽ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
//
|
||||
// Sender(Send/Recv) Reference(Send/Recv)
|
||||
// <09><><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD> : CID/CID 0/SID
|
||||
// <09><><EFBFBD><EFBFBD> <20>αƿ<D7BE> : CID/CID 0/<2F><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>(0 <20>ϰ<EFBFBD><CFB0><EFBFBD> <20><><EFBFBD><EFBFBD> <20>絵 <20><><EFBFBD><EFBFBD>)
|
||||
// <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> : CID/CID CID/CID
|
||||
// <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> : CID/CID CID/<2F><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>(0 <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>絵 <20><><EFBFBD><EFBFBD>)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
typedef struct PktPMD* LPPktPMD;
|
||||
struct PktPMD : public PktDD
|
||||
{
|
||||
unsigned long m_dwPartyID;
|
||||
unsigned long m_dwSenderID;
|
||||
unsigned long m_dwReferenceID;
|
||||
};
|
||||
|
||||
|
||||
#pragma pack()
|
||||
|
||||
|
||||
#endif
|
||||
104
GameTools/GLOBALSCRIPT/Network/Packet/PacketStruct/ServerInfo.h
Normal file
104
GameTools/GLOBALSCRIPT/Network/Packet/PacketStruct/ServerInfo.h
Normal file
@@ -0,0 +1,104 @@
|
||||
#ifndef _LOGIN_SERVER_INFO_
|
||||
#define _LOGIN_SERVER_INFO_
|
||||
|
||||
#include <winsock2.h>
|
||||
#include <windows.h>
|
||||
#include <algorithm>
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ü<EFBFBD><C3BC>
|
||||
typedef union SERVER_ID* LPSERVER_ID;
|
||||
union SERVER_ID
|
||||
{
|
||||
enum Zone { ZONE1 = 1, ZONE2 = 2, BATTLE_GROUND = 3 };
|
||||
|
||||
typedef struct SID* LPSID;
|
||||
struct SID
|
||||
{
|
||||
char Type;
|
||||
char Group;
|
||||
char Channel;
|
||||
char ID;
|
||||
};
|
||||
|
||||
SID sID;
|
||||
DWORD dwID;
|
||||
|
||||
// 2002-12-24 cppis <20><> <20>߰<EFBFBD>
|
||||
inline char GetChannel(void) { return sID.Channel; }
|
||||
inline char GetZone(void) { return sID.ID; }
|
||||
};
|
||||
|
||||
|
||||
typedef struct SERVER* LPSERVER_GROUP;
|
||||
struct SERVER_GROUP
|
||||
{
|
||||
enum { CHANNEL_NUM = 2, SERVER_NAME = 15 };
|
||||
|
||||
char m_Group; // <20><><EFBFBD><EFBFBD> <20><EFBFBD>
|
||||
char m_Name[SERVER_NAME]; // <20><><EFBFBD><EFBFBD> <20≯<EFBFBD>
|
||||
|
||||
unsigned short m_ChannelNum; // ä<><C3A4> <20><><EFBFBD><EFBFBD>
|
||||
long m_ClientNum[CHANNEL_NUM]; // <20><><EFBFBD><EFBFBD> <20><> <20><>
|
||||
};
|
||||
|
||||
|
||||
typedef struct SERVER* LPSERVER_LIST;
|
||||
struct SERVER_LIST
|
||||
{
|
||||
enum { SERVER_NUM = 10 };
|
||||
|
||||
unsigned short m_ServerNum; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
SERVER_GROUP m_ServerGroup[SERVER_NUM]; // <20><><EFBFBD><EFBFBD> <20><EFBFBD>
|
||||
};
|
||||
|
||||
|
||||
#pragma pack()
|
||||
|
||||
|
||||
|
||||
typedef struct RylServerInfo* LPRylServerInfo;
|
||||
struct RylServerInfo
|
||||
{
|
||||
enum
|
||||
{
|
||||
GROUP_NAME_LENGTH = 120,
|
||||
PATCH_ADDRESS_LENGTH = 100
|
||||
};
|
||||
|
||||
SERVER_ID m_ServerUID;
|
||||
IN_ADDR m_ServerAddress;
|
||||
unsigned long m_dwClientVer;
|
||||
unsigned long m_dwChecksum;
|
||||
|
||||
size_t m_nGroupNameLen;
|
||||
size_t m_nPatchAddressLen;
|
||||
|
||||
char m_szGroupName[GROUP_NAME_LENGTH];
|
||||
char m_szPatchAddress[PATCH_ADDRESS_LENGTH];
|
||||
|
||||
unsigned short m_dwChannelClientNum[SERVER_GROUP::CHANNEL_NUM];
|
||||
unsigned short m_usChannelNum;
|
||||
|
||||
RylServerInfo::RylServerInfo()
|
||||
: m_dwClientVer(0), m_dwChecksum(0),
|
||||
m_nPatchAddressLen(0), m_usChannelNum(0)
|
||||
{
|
||||
m_ServerUID.dwID = 0;
|
||||
m_ServerAddress.S_un.S_addr = 0;
|
||||
|
||||
m_szPatchAddress[0] = '\0';
|
||||
|
||||
strncpy(m_szGroupName, "UnKnown", GROUP_NAME_LENGTH);
|
||||
m_nGroupNameLen = strlen(m_szGroupName);
|
||||
|
||||
std::fill_n(m_dwChannelClientNum, int(SERVER_GROUP::CHANNEL_NUM), 0);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,195 @@
|
||||
#ifndef _DBAGENT_TO_LOGIN_
|
||||
#define _DBAGENT_TO_LOGIN_
|
||||
|
||||
#include <DB/DBDefine.h>
|
||||
#include <Network/Packet/PacketBase.h>
|
||||
#include <Network/Packet/PacketStruct/DataPacket.h>
|
||||
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
|
||||
// <20><> <20><>Ŷ ( Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ -> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 5<>ʸ<EFBFBD><CAB8><EFBFBD>.. <20><><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ŵ<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20>ʿ<EFBFBD><CABF><EFBFBD> Ping<6E><67> <20>ش<EFBFBD>. )
|
||||
typedef struct PktSyP* LPPktSyP;
|
||||
struct PktSyP : public PktBase
|
||||
{
|
||||
unsigned long m_dwTickTime;
|
||||
};
|
||||
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD> <20><>û <20><>Ŷ
|
||||
typedef struct PktSL* LPPktSL;
|
||||
struct PktSL : public PktBase
|
||||
{
|
||||
unsigned long m_dwServerID;
|
||||
IN_ADDR m_Address;
|
||||
};
|
||||
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ
|
||||
typedef struct PktSLAck* LPPktSLAck;
|
||||
struct PktSLAck : public PktBase
|
||||
{
|
||||
enum { PATCH_ADDRESS_LENGTH = 100 };
|
||||
|
||||
unsigned long m_dwServerID;
|
||||
__int64 m_dlItemUID;
|
||||
|
||||
unsigned long m_dwClientVer;
|
||||
unsigned long m_dwCheckSum;
|
||||
|
||||
char m_PatchAddress[PATCH_ADDRESS_LENGTH];
|
||||
};
|
||||
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
|
||||
typedef struct PktSVU* LPPktSVU;
|
||||
struct PktSVU : public PktBase
|
||||
{
|
||||
enum { PATCH_ADDRESS_LENGTH = 100 };
|
||||
|
||||
unsigned long m_dwServerID;
|
||||
IN_ADDR m_ServerAddr;
|
||||
unsigned long m_dwClientVer;
|
||||
unsigned long m_dwCheckSum;
|
||||
char m_PatchAddress[PATCH_ADDRESS_LENGTH];
|
||||
};
|
||||
|
||||
|
||||
// ä<><C3A4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
|
||||
typedef struct PktSCInfo* LPPktSCInfo;
|
||||
struct PktSCInfo : public PktBase
|
||||
{
|
||||
enum { MAX_CHANNEL_NUM = 2 };
|
||||
|
||||
unsigned long m_dwServerID;
|
||||
unsigned char m_wChannelNum;
|
||||
unsigned short m_dwChannelClientNum[MAX_CHANNEL_NUM];
|
||||
};
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// <20><>ġ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ
|
||||
|
||||
|
||||
// <20><>ġ <20><><EFBFBD><EFBFBD> <20><>û <20><>Ŷ
|
||||
typedef struct PktSPI* LPPktSPI;
|
||||
struct PktSPI : public PktBase
|
||||
{
|
||||
unsigned long m_dwServerID;
|
||||
};
|
||||
|
||||
// <20><>ġ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ
|
||||
typedef struct PktSPIAck* LPPktSPIAck;
|
||||
struct PktSPIAck : public PktBase
|
||||
{
|
||||
enum { PATCH_ADDRESS_LENGTH = 100 };
|
||||
unsigned long m_dwClientVer;
|
||||
char m_PatchAddress[PATCH_ADDRESS_LENGTH];
|
||||
};
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Zone <20><><EFBFBD><EFBFBD> <20><>Ŷ
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
typedef struct PktSZ* LPPktSZ;
|
||||
struct PktSZ : public PktBase
|
||||
{
|
||||
unsigned short m_cChannel;
|
||||
unsigned char m_cZone;
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ack
|
||||
typedef struct PktSZAck* LPPktSZAck;
|
||||
struct PktSZAck : public PktBase
|
||||
{
|
||||
unsigned long m_dwServerID;
|
||||
IN_ADDR m_GameAddress;
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̵<EFBFBD>
|
||||
typedef struct PktSZMv* LPPktSZMv;
|
||||
struct PktSZMv : public PktBase
|
||||
{
|
||||
POS m_NewPos;
|
||||
char m_cZone;
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ack
|
||||
typedef struct PktSZMvAck* LPPktSZMvAck;
|
||||
struct PktSZMvAck : public PktBase
|
||||
{
|
||||
enum { MAX_CHANNEL_NUM = 2 };
|
||||
|
||||
unsigned short m_wChannelNum[MAX_CHANNEL_NUM];
|
||||
unsigned char m_cZone;
|
||||
};
|
||||
|
||||
typedef struct PktSZMvD* LPPktSZMvD;
|
||||
struct PktSZMvD : public PktDD
|
||||
{
|
||||
unsigned long m_dwUserID;
|
||||
char m_cZone;
|
||||
POS m_NewPos;
|
||||
};
|
||||
|
||||
typedef struct PktSZMvDAck* LPPktSZMvDAck;
|
||||
struct PktSZMvDAck : public PktDD
|
||||
{
|
||||
enum { MAX_CHANNEL_NUM = 2 };
|
||||
|
||||
unsigned char m_cZone;
|
||||
unsigned short m_wChannelNum[MAX_CHANNEL_NUM];
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20>ּ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
typedef struct PktSA* LPPktSA;
|
||||
struct PktSA : public PktDD
|
||||
{
|
||||
unsigned long m_dwUserID; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
|
||||
char m_cZone; // <20><> <20><>ȣ
|
||||
char m_cChannel; // ä<><C3A4> <20><>ȣ
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20>ּ<EFBFBD> <20><><EFBFBD><EFBFBD> Ack
|
||||
typedef struct PktSAAck* LPPktSAAck;
|
||||
struct PktSAAck : public PktDD
|
||||
{
|
||||
unsigned long m_dwServerID;
|
||||
IN_ADDR m_GameAddress;
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̺<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ
|
||||
typedef struct PktUUT *LPPktUUT;
|
||||
struct PktUUT : public PktBase {
|
||||
enum {
|
||||
UpdateUIDTableNone = 0, // <20><><EFBFBD><EFBFBD>
|
||||
UpdateUIDTableLogin = 1, // <20>α<EFBFBD><CEB1><EFBFBD>
|
||||
UpdateUIDTableLogout = 2 // <20>αƿ<D7BE>
|
||||
};
|
||||
|
||||
unsigned char m_cCmd;
|
||||
|
||||
unsigned long m_dwSessionID;
|
||||
unsigned long m_dwServerID;
|
||||
unsigned long m_dwUserID;
|
||||
unsigned long m_dwCharID;
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̱<EFBFBD>.
|
||||
typedef struct PktUK* LPPktUK;
|
||||
struct PktUK : public PktBase
|
||||
{
|
||||
unsigned long m_dwUserID;
|
||||
unsigned long m_dwCharID;
|
||||
unsigned long m_dwServerID;
|
||||
};
|
||||
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user