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>
93 lines
2.3 KiB
C++
93 lines
2.3 KiB
C++
#ifndef _CHAR_MOVE_PACKET_H_
|
|
#define _CHAR_MOVE_PACKET_H_
|
|
|
|
// CharMovePacket.h
|
|
#include <Network/Packet/PacketBase.h>
|
|
#include <DB/DBdefine.h>
|
|
|
|
#pragma pack(1)
|
|
|
|
// 캐릭터 이동 패킷 (CharMove)
|
|
typedef struct PktMV* LPPktMV;
|
|
struct PktMV : public PktBase
|
|
{
|
|
POS m_Position; // 캐릭터 위치
|
|
float m_fDir; // 캐릭터 방향
|
|
unsigned long m_dwCharID; // 캐릭터 ID
|
|
unsigned long m_dwChantEf; // Chant Effect
|
|
unsigned long m_dwEnchantEf; // Enchant Effect
|
|
unsigned short m_wUAct; // 액션 번호
|
|
unsigned short m_wLAct; // 액션 번호
|
|
unsigned char m_wLevel; // 캐릭터 레벨
|
|
};
|
|
|
|
// 캐릭터 이동 업데이트 패킷 ( Char Move Update )
|
|
typedef struct PktMU* LPPktMU;
|
|
struct PktMU : public PktBase
|
|
{
|
|
POS m_Position; // 위치
|
|
float m_fDir; // 방향
|
|
unsigned long m_dwTick; // 클라이언트 틱
|
|
bool m_bSitMode; // 앉기 (true = 앉아 있음.)
|
|
};
|
|
|
|
// 캐릭터 이동 업데이트 패킷 Ack ( Char Move Update )
|
|
typedef struct PktMUAck* LPPktMUAck;
|
|
struct PktMUAck : public PktBase
|
|
{
|
|
unsigned long m_dwTick; // 클라이언트 틱 (처리 시간 퍼포 측정)
|
|
unsigned char m_cFlag; // - 플래그 (0 = 이동, 1 = 셀이동)
|
|
};
|
|
|
|
|
|
// 몬스터 움직임 ( Monster Move )
|
|
typedef struct PktMM* LPPktMM;
|
|
struct PktMM : public PktBase
|
|
{
|
|
POS m_Position; // 몬스터 위치
|
|
float m_fDir; // 몬스터 방향
|
|
float m_fVec; // 몬스터 속도
|
|
unsigned long m_dwMonID; // 몬스터 아이디
|
|
unsigned short m_wAct; // 몬스터 행동
|
|
unsigned short m_wAniNum; // 몬스터 이동 횟수
|
|
};
|
|
|
|
namespace CellCommand
|
|
{
|
|
enum Type
|
|
{
|
|
CELL_MOVE = 0,
|
|
CELL_LOGIN = 1,
|
|
RESPAWN = 2
|
|
};
|
|
};
|
|
|
|
// 캐릭터 셀 로그인 패킷 (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
|
|
};
|
|
|
|
// 캐릭터 셀 로그아웃 패킷 ( Char Cell Logout )
|
|
typedef struct PktCCLo* LPPktCCLo;
|
|
struct PktCCLo : public PktBase
|
|
{
|
|
unsigned long m_dwCharID;
|
|
unsigned char m_cCmd; // see namespace CellCommand
|
|
};
|
|
|
|
// 셀 브로드 캐스팅 + Address구조체
|
|
typedef struct PktCB PktCB, *LPPktCB;
|
|
struct PktCB : public PktBase
|
|
{
|
|
unsigned short m_sCharNum; // 셀 캐릭터 수
|
|
};
|
|
|
|
#pragma pack()
|
|
|
|
#endif |