Files
Client/Server/RylServerProject/RylServerLibrary/Network/Packet/PacketStruct/UnifiedCharPacket.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

99 lines
2.8 KiB
C++

#ifndef _UNIFIED_CHAR_DATA_PACKET_H_
#define _UNIFIED_CHAR_DATA_PACKET_H_
#include <DB/DBdefine.h>
#include <Network/Packet/PacketBase.h>
namespace UnifiedConst
{
enum AgentServerType
{
// OldServerGroupID의 값으로도 사용한다. 0 ~ 10 은 예전 서버군 ID이다.
Part1 = 20,
Part1Unified = 21,
ROW = 22,
Part2Unified = 23,
Part2Selectable = 24,
};
enum StoreSelected
{
NONE_SELECTED = 0,
SELECTED_PART1 = (1 << 0),
SELECTED_PART2 = (1 << 1)
};
}
struct PktUnifiedCharInfo : public PktBase
{
enum
{
MAX_STORE_INFO = 10,
MAX_CHAR_DATA = 30
};
enum ErrorCode
{
STORE_READ_ERROR = 1,
CHARINFO_READ_ERROR = 2
};
unsigned long dwUID;
unsigned char cStoreInfoNum;
unsigned char cCharDataNum;
unsigned char cRestrictedPart1ToPart2Level; // Part1 에서 Part2 로 이전 가능한 캐릭터 레벨
unsigned char cRemainCharTransferCount; // Part1 에서 Part2 로 이전 가능한 횟수
USER_INFO userInfo;
UnifiedStoreInfo unifiedStoreInfo[MAX_STORE_INFO];
UnifiedCharData unifiedCharData[MAX_CHAR_DATA];
};
struct PktUnifiedCharSelectReq : public PktBase
{
enum
{
// edith 2008.03.17 ID,PASS 길이조정
MAX_PASSWORD_LEN = 36
};
char szPassword[MAX_PASSWORD_LEN]; // 계정 패스워드
unsigned char cSelectedServerGroupID; // 선택한 서버군 번호
unsigned char cSelectedNation; // 선택한 국적
unsigned long dwRequestKey; // RequestKey
unsigned long dwUID; // UID
unsigned long dwCID[USER_INFO::MAX_CHAR_NUM]; // 선택한 슬롯 번호에 CID를 채워 준다.
};
struct PktUnifiedCharSelectAck : public PktBase
{
enum ErrorCode
{
SERVER_ERROR = 1,
PACKET_ERROR = 2,
PASSWORD_FAILED = 3,
WRONG_STORE_SELECTED = 4, // 잘못된 창고 선택(내 소유 아닌것 선택)
WRONG_CHAR_SELECTED = 5, // 잘못된 캐릭터 선택(내 소유 아닌것 선택. 이미 선택한 것 선택)
UNIFIED_STORE_READ_ERROR = 6, // 선택한 창고 읽기 실패
UNIFIED_STORE_WRITE_ERROR = 7, // 선택한 창고 기록 실패
UNIFIED_CHAR_READ_ERROR = 8, // 캐릭터 선택 정보 읽기 실패
UNIFIED_CHAR_WRITE_ERROR = 9, // 캐릭터 선택 정보 기록 실패
CHAR_VIEW_RELOAD_ERROR = 10, // 캐릭터 뷰 리로드 실패
PART1_DB_LOGINED = 11, // Part1 DB에 로그인 해 있음
TRANSFER_COUNT_OVER = 12 // TransferCount가 일정 회수 이상 초과되어 있다.
};
unsigned long dwUID;
unsigned long dwRequestKey;
};
#endif