Restructure repository to include all source folders

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

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

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

View File

@@ -0,0 +1,413 @@
#ifndef _CHAR_ATTACK_PACKET_H_
#define _CHAR_ATTACK_PACKET_H_
// CharAttackPacket.h
#include <DB/DBDefine.h>
#include <Network/Packet/PacketBase.h>
#include <Network/Packet/PacketStruct/DataPacket.h>
#include "CharAttackPacketStruct.h"
#include <Community/Guild/GuildConstants.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
{
FAIL_ALREADY_DEAD = 2, // <20>̹<EFBFBD> <20><><EFBFBD><EFBFBD> ũ<><C5A9><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD> <20><><EFBFBD><EFBFBD>
FAIL_TOO_FAR = 3, // <20>Ÿ<EFBFBD><C5B8><EFBFBD> <20>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD> <20><>ų <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD>
FAIL_SUICIDE = 4, // <20><>ų<EFBFBD><C5B3> <20><><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD> <20>ڻ<EFBFBD><DABB>ϰ<EFBFBD> <20>ȴ<EFBFBD>.
FAIL_PEACE_TO_WAR = 5, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD>Ͱ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>æƮ <20>ο<EFBFBD> <20>õ<EFBFBD>
FAIL_SPELL = 6, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
FAIL_TO_SIEGE_OBJECT = 7, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> <20>Ҽ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>õ<EFBFBD>
FAIL_TO_MONSTER = 8, // <20><><EFBFBD><EFBFBD><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD> <20>Ҽ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>õ<EFBFBD>
FAIL_FRIENDLY_ATTACK = 9, // <20>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD> <20><><EFBFBD><EFBFBD>
FAIL_NOT_SIEGE_ATTACK = 10, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>߸<EFBFBD><DFB8>Ǿ<EFBFBD><C7BE><EFBFBD>.
FAIL_NOT_STEALTH = 11, // <20><><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <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>
unsigned short m_wHP; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HP
unsigned short m_wMP; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MP
unsigned short m_wMPHeal; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MP ȸ<><C8B8><EFBFBD><EFBFBD>
unsigned char m_cJudge; // <20>÷<EFBFBD><C3B7><EFBFBD>
unsigned char m_cDefenserNum; // <20><><EFBFBD><EFBFBD><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> <20><><EFBFBD>̵<EFBFBD>
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> <20><><EFBFBD>̵<EFBFBD>
unsigned long m_dwMyID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
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 short m_wMyMPHeal; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MP ȸ<><C8B8><EFBFBD><EFBFBD>
unsigned char m_cJudge; // <20><><EFBFBD><EFBFBD> <20><>
};
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef struct PktEquipDurability* LPPktEquipDurability;
struct PktEquipDurability : public PktBase
{
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
unsigned char m_cIndex; // <20><><EFBFBD><EFBFBD> <20><>ġ
unsigned char m_cValue; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned char m_cValueMax; // <20><><EFBFBD><EFBFBD> <20>ִ볻<D6B4><EBB3BB><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> )
unsigned long m_dwEnchantTime; // <20>ֹ<EFBFBD> <20><><EFBFBD><EFBFBD><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, // <20>Ϲ<EFBFBD><CFB9><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ҿ<EFBFBD><D2BF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
RS_SELECT = 1, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ȯ<><C8AE>
RS_FORMER_PLACE = 2, // <20><><EFBFBD>ڸ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><>ų<EFBFBD><C5B3> <20><><EFBFBD><EFBFBD>)
RS_BG_HUMAN1 = 3, // <20>޸<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ1 (<28><>Ʋ<EFBFBD>׶<EFBFBD><D7B6><EFBFBD><EFBFBD><EFBFBD>)
RS_BG_HUMAN2 = 4, // <20>޸<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ2 (<28><>Ʋ<EFBFBD>׶<EFBFBD><D7B6><EFBFBD><EFBFBD><EFBFBD>)
RS_BG_HUMAN3 = 5, // <20>޸<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ3 (<28><>Ʋ<EFBFBD>׶<EFBFBD><D7B6><EFBFBD><EFBFBD><EFBFBD>)
RS_BG_AKHAN1 = 6, // <20><>ĭ <20><><EFBFBD><EFBFBD>Ʈ1 (<28><>Ʋ<EFBFBD>׶<EFBFBD><D7B6><EFBFBD><EFBFBD><EFBFBD>)
RS_BG_AKHAN2 = 7, // <20><>ĭ <20><><EFBFBD><EFBFBD>Ʈ2 (<28><>Ʋ<EFBFBD>׶<EFBFBD><D7B6><EFBFBD><EFBFBD><EFBFBD>)
RS_BG_AKHAN3 = 8, // <20><>ĭ <20><><EFBFBD><EFBFBD>Ʈ3 (<28><>Ʋ<EFBFBD>׶<EFBFBD><D7B6><EFBFBD><EFBFBD><EFBFBD>)
RS_BGSERVER_RANDOM = 9, // <20><>Ʋ <20>׶<EFBFBD><D7B6><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
RS_BG_EXIT = 10 // <20><>Ʋ<EFBFBD>׶<EFBFBD><D7B6><EFBFBD><EFBFBD><EFBFBD> Ż<><C5BB>
};
unsigned long m_dwCharID;
unsigned char m_cCmd;
unsigned long m_dwTownID;
POS m_Position;
};
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ack
typedef struct PktRsAck* LPPktRsAck;
struct PktRsAck : public PktBase
{
enum Error
{
ERR_NOT_EXIST_CAMP = 2, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> <20><><EFBFBD><EFBFBD>
};
POS m_Position; // <20><><EFBFBD><EFBFBD> <20><>ġ
__int64 m_dlExp; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned long m_dwGold; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ݾ<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> Ack (<28><>Ʋ<EFBFBD>׶<EFBFBD><D7B6><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
typedef struct PktBGRsAck* LPPktBGRsAck;
struct PktBGRsAck : public PktBase
{
enum PktBGRsAckErr
{
FAIL_PERSONNEL_OVER = 2
};
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
unsigned short m_wTurn; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
unsigned short m_wWaitNum; // <20><>ü <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
unsigned short m_wLeftTime; // <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD>
unsigned short m_wHumanNum; // <20><>ü <20>޸<EFBFBD> <20><>
unsigned short m_wAkhanNum; // <20><>ü <20><>ĭ <20><>
};
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ť <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><>Ʋ<EFBFBD>׶<EFBFBD><D7B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
typedef struct PktRsWaitQueue* LPPktRsWaitQueue;
struct PktRsWaitQueue : public PktBase
{
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
};
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ť <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ack (<28><>Ʋ<EFBFBD>׶<EFBFBD><D7B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
typedef struct PktRsWaitQueueAck* LPPktRsWaitQueueAck;
struct PktRsWaitQueueAck : public PktBase
{
enum { MAX_POINT_NUM_PER_RACE = 3};
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
unsigned short m_wWaitNum[MAX_POINT_NUM_PER_RACE]; // <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
};
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ<EFBFBD><C4A1>)
// <20>߰<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ڿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>پ <20><><EFBFBD><EFBFBD>.
typedef struct PktRsInfo* LPPktRsInfo;
struct PktRsInfo : public PktBase
{
unsigned long m_dwCharID;
};
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ack (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ<EFBFBD><C4A1>)
// <20>߰<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ڿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>پ <20><><EFBFBD><EFBFBD>.
typedef struct PktRsInfoAck* LPPktRsInfoAck;
struct PktRsInfoAck : public PktBase
{
enum Const
{
MAX_RESPAWN_POINT = 50
};
unsigned long m_dwCharID;
unsigned char m_cRsAreaNum;
unsigned short m_wSize;
};
struct RespawnArea
{
unsigned long m_dwTownID;
POS m_RespawnPos;
};
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
typedef struct PktRsAreaInfo* LPPktRsAreaInfo;
struct PktRsAreaInfo : public PktBase
{
unsigned long m_dwCharID;
unsigned long m_dwTownID; // <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><> ID
};
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ack
typedef struct PktRsAreaInfoAck* LPPktRsAreaInfoAck;
struct PktRsAreaInfoAck : public PktBase
{
unsigned long m_dwCharID;
unsigned long m_dwTownID;
unsigned short m_nWaitOrder; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned char m_cRemainHour; // <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD> (<28><>)
unsigned char m_cRemainMin; // <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD> (<28><>)
unsigned char m_cRemainSec; // <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD> (<28><>)
bool m_bCount; // <20>ð<EFBFBD> ī<><C4AB><EFBFBD><EFBFBD> <20><><EFBFBD>ۿ<EFBFBD><DBBF><EFBFBD>
};
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<><C3B3>
typedef struct PktAw* LPPktAw;
struct PktAw : public PktBase
{
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
unsigned long m_dwExp; // <20><><EFBFBD><EFBFBD>ġ
};
// <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȯ
typedef struct PktPeace* LPPktPeace;
struct PktPeace : public PktBase
{
enum PktPeaceErr
{
FAIL_WRONG_SYNC = 2, // Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ/<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ũ<EFBFBD><C5A9> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
FAIL_BATTLE_GROUND = 3, // <20><>Ʋ<EFBFBD>׶<EFBFBD><D7B6><EFBFBD><EFBFBD><EFBFBD><E5BFA1><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD><D2B0><EFBFBD>
FAIL_GUILD_MEMBER = 4 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD><D2B0><EFBFBD>
};
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
unsigned char m_cLeftTime; // <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD>
bool m_bPeace; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
};
// <20><>ȯ<EFBFBD><C8AF> <20><><EFBFBD><EFBFBD>
typedef struct PktSummonCmd* LPPktSummonCmd;
struct PktSummonCmd : public PktBase
{
enum SummonCmd
{
SUC_ATTACK = 0,
SUC_RETURN = 1,
SUC_DIE = 2,
SUC_GUARD_ON = 3,
SUC_GUARD_OFF = 4
};
unsigned long m_dwCharID; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
unsigned long m_dwTargetID; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
unsigned char m_cCmd; // <20><><EFBFBD><EFBFBD>
};
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
typedef struct PktStatueInfo* LPPktStatueInfo;
struct PktStatueInfo : public PktBase
{
unsigned long m_dwMileage; // <20><><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD> <20>߰<EFBFBD><DFB0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>޴<EFBFBD> (0<≯<EFBFBD> <20><><EFBFBD>ʽ<EFBFBD> <20><><EFBFBD><EFBFBD>)
unsigned short m_wHumanNum; // <20><>ü <20>޸<EFBFBD> <20><>
unsigned short m_wAkhanNum; // <20><>ü <20><>ĭ <20><>
unsigned short m_wNowHP; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> HP
unsigned short m_wKID; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
unsigned char m_cState; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> State<74><65> <20><><EFBFBD><EFBFBD>)
unsigned char m_cIndex; // <20><><EFBFBD><EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD>
};
// ī<>޶<EFBFBD> <20><>ũ<EFBFBD><C5A9>Ʈ
typedef struct PktCameraScript* LPPktCameraScript;
struct PktCameraScript : public PktBase
{
unsigned long m_dwDeleteObject; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD>̵<EFBFBD>
unsigned long m_dwNewObject; // <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD>̵<EFBFBD>
POS m_NewPos; // <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><>ġ
};
// <20><><EFBFBD><EFBFBD> <20><> <20><>Ȱ <20><><EFBFBD><EFBFBD>
struct PktDeadInfo : public PktDD
{
enum TypeCode
{
DEAD = 0,
RESPAWN = 1,
RESURRECT = 2
};
/*
typecode:00 HP/MP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CID / <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD≯<EFBFBD> / <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CID / <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD≯<EFBFBD> / <20><><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD><EFBFBD>
typecode:00 HP/MP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CID / <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD≯<EFBFBD> / <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CID / <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD≯<EFBFBD> /
'XXXXX<58><58><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> YYYYY<59><59> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ̽<CFBC><CCBD>ϴ<EFBFBD>.'
'XXXXX<58><58><EFBFBD><EFBFBD> YYYYY<59><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ZZZZZ<5A>Կ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ̽<CFBC><CCBD>ϴ<EFBFBD>.'
'XXXXX<58><58><EFBFBD><EFBFBD> ZZZZZ<5A>Կ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ̽<CFBC><CCBD>ϴ<EFBFBD>.'
typecode:01 HP/MP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CID / <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD≯<EFBFBD> /
'XXXXX<58><58><EFBFBD><EFBFBD> <20>Ϲ<EFBFBD> <20><>Ȱ<EFBFBD><C8B0> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ̽<CFBC><CCBD>ϴ<EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD>̳<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20>˴ϴ<CBB4>.'
typecode:02 HP/MP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CID / <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD≯<EFBFBD> / <20><EFBFBD><ECB8B0>CID / <20><EFBFBD><ECB8B0><EFBFBD≯<EFBFBD> / <20><EFBFBD>ѱ<EFBFBD><D1B1><EFBFBD><EFBFBD><EFBFBD>
typecode:02 HP/MP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CID / <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD≯<EFBFBD> /
'XXXXX<58>Կ<EFBFBD> <20><><EFBFBD><EFBFBD> YYYYY<59><59><EFBFBD><EFBFBD> <20><>Ȱ <20>ϼ̽<CFBC><CCBD>ϴ<EFBFBD>.'
'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> YYYYY<59><59><EFBFBD><EFBFBD> <20><>Ȱ <20>ϼ̽<CFBC><CCBD>ϴ<EFBFBD>.'
*/
unsigned char m_cTypeCode; // Ÿ<><C5B8><EFBFBD>ڵ<EFBFBD>
unsigned short m_usDeadMemCurrHP; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HP
unsigned short m_usDeadMemCurrMP; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MP
unsigned long m_dwDeadCID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CID
unsigned long m_dwDeadPID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PID
unsigned long m_dwReferenceID; // <20><><EFBFBD>̰ų<CCB0> <20><EFBFBD><ECB8B0> CID
unsigned char m_cDeadNation; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
unsigned char m_cDeadClass; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD>
unsigned char m_cRefNation; // <20><><EFBFBD>̰ų<CCB0> <20><EFBFBD><ECB8B0> <20><><EFBFBD><EFBFBD>
unsigned char m_cRefClass; // <20><><EFBFBD>̰ų<CCB0> <20><EFBFBD><ECB8B0> Ŭ<><C5AC><EFBFBD><EFBFBD>
char m_szDeadName[CHAR_INFOST::MAX_NAME_LEN];
char m_szRefName[CHAR_INFOST::MAX_NAME_LEN];
char m_szRefGuildName[Guild::MAX_GUILD_NAME_LEN];
};
#pragma pack()
#endif