Files
Client/Server/RylServerProject/RylGameLibrary/Network/Packet/PacketStruct/CharLoginOutPacket.h
LGram16 dd97ddec92 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>
2025-11-29 20:17:20 +09:00

124 lines
3.7 KiB
C++

#ifndef _CHAR_LOGIN_OUT_PACKET_H_
#define _CHAR_LOGIN_OUT_PACKET_H_
// CharLoginOutPacket.h
#include <winsock2.h>
#include <windows.h>
#include <DB/DBDefine.h>
#include <GameGuardLib/ggsrv.h>
#include <Network/Packet/PacketBase.h>
#include "CharLoginOutPacketStruct.h"
// 전방 참조
class CSession;
#pragma pack(1)
typedef struct PktDBUpdate* LPPktDBUpdate;
struct PktDBUpdate : public PktBase
{
unsigned __int64 m_dlItemSerial; // 가장 마지막으로 업데이트한 아이템 시리얼
unsigned long m_dwSessionID; // 세션 ID
unsigned long m_dwUserID; // 유저 ID
unsigned long m_dwCharID; // 캐릭터 ID
unsigned long m_dwRequestKey; // DB요청 키
char m_szAccountName[CHAR_INFOST::MAX_ACCOUNT_LEN]; // 접속 계정명
IN_ADDR m_Address; // 주소
unsigned char m_cAdminLevel; // 운영자 레벨
unsigned char m_cAdminFlag;
// WORK_LIST 2.4 계정 국적을 게임서버의 캐릭터가 가지도록 구현
unsigned char m_cAccountNation; // 계정 국적 (추가하면서 패딩값을 삭제했음)
unsigned char m_cNameChangeCount; // 이름 바꿀 수 있는 횟수
unsigned char m_cGuildWarFlag; // 길드 전쟁 참여 플래그
unsigned char m_cRealmWarFlag; // 국가 전쟁 참여 플래그
unsigned char m_cTacticsFlag; // 욥병 플래그.
unsigned char m_cRealmPoint; // 국가 전쟁 훈장공헌 포인트.
unsigned short m_TypeCode; // 업데이트 타입
unsigned short m_usUpdate[DBUpdateData::MAX_UPDATE_DB]; // 업데이트 데이터 크기
unsigned int m_PlayTime; // 게임을 연속 몇분이나 했는지 (중국판을 위한 패킷)
long m_PremiumTime; // 프리미엄 서비스를 위한 정보
int m_PremiumType; // 프리미엄 서비스를 위한 정보
};
// 캐릭터 로그인 (Char Login)
typedef struct PktCLi* LPPktCLi;
struct PktCLi : public PktBase
{
unsigned long m_dwUserID;
unsigned long m_dwCharID;
unsigned long m_dwSessionID;
};
// 캐릭터 로그인 Ack (1 = 서버 에러, 2 = 데이터 얻기 실패)
typedef struct PktCLiAck* LPPktCLiAck;
struct PktCLiAck : public PktBase
{
enum { MAX_ADDRESS_LEN = 16 };
sockaddr_in m_GameServerUDPAddr; // 더 이상 사용하징 않음 (UDP Removed 2004/09/24)
sockaddr_in m_ChatServerTCPAddr; // 더 이상 사용하징 않음 (ChatServer Connection Removed 2004/09/24)
unsigned long m_dwUID;
unsigned long m_dwServerID;
unsigned long m_dwServerTime;
bool m_bPeaceMode; // 반전/전투 모드
bool m_bCheckRelation; // 신청/ 신청 받음 길드 관계 체크
unsigned char m_cNameChangeCount; // 이름 변경 가능한 횟수
unsigned char m_cAdminFlag; // GM 모델 관련.
unsigned char m_cGuildWarFlag; // 길드 전쟁 참여 플래그
unsigned char m_cRealmWarFlag; // 국가 전쟁 참여 플래그
unsigned char m_cRealmPoint; // 국가 전쟁 공헌훈장 포인트.
unsigned char m_cTacticsFlag; // 용병 플레그.
unsigned short m_usUpdate[DBUpdateData::MAX_UPDATE_DB];
unsigned int m_PlayTime; // 게임을 연속 몇분이나 했는지 (중국판을 위한 패킷)
long m_PremiumTime; // 프리미엄 서비스를 위한 정보
int m_PremiumType; // 프리미엄 서비스를 위한 정보
};
typedef struct PktCSAuth* LPPktCSAuth;
struct PktCSAuth : public PktBase
{
unsigned long m_dwCharID; // 캐릭터 아이디
unsigned long m_AuthCodeType; // 인증코드 타입. 타입에 맞지 않는 값이 있으면 접속 해제. (1혹은 2)
unsigned long m_dwAuthCode; // 인증 코드 (게임 가드)
GG_AUTH_DATA m_AuthCode2; // 인증 코드2 (게임 가드)
};
// 캐릭터 로그아웃 (Char Logout)
typedef struct PktCLo* LPPktCLo;
struct PktCLo : public PktBase
{
unsigned long m_dwCharID; // 캐릭터 아이디
};
// 캐릭터 로그아웃 (Char Logout)
typedef struct PktCLoAck* LPPktCLoAck;
struct PktCLoAck : public PktBase
{
unsigned long m_dwCharID; // 캐릭터 아이디
};
#pragma pack()
#endif