Files
Sun1602/Server/Common/PacketStruct_GZ.h
T
2022-10-26 12:25:11 +08:00

1161 lines
32 KiB
C

#pragma once
#include <ServerStruct.h>
#include <PacketStruct.h>
#include <Protocol_GZ.h>
#include <CGuid.h> // error C2065: 'GUID_NULL'
#include <atltime.h>
#pragma pack(push,1)
#ifdef _NA_0_20080612_WORLDSERVER_REFACTORING
#define PACKET_GZ_OPEN( c, p ) struct MSG_##p : public MSG_BASE_FORWARD { MSG_##p(){ ZeroMemory(this, sizeof(*this)); m_byCategory = c; m_byProtocol = p; }
#else
#define PACKET_GZ_OPEN( c, p ) struct MSG_##p : public MSG_BASE_FORWARD { MSG_##p(){ m_byCategory = c; m_byProtocol = p; }
#endif
#define PACKET_GZ_CLOSE };
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_INFO_BRD )
BASE_GUILD_INFO m_BaseGuildInfo;
GUILD_MEMBER_TOTAL_INFO m_GuildMemberInfo;
int GetSize()
{
return ( sizeof(BASE_GUILD_INFO) + m_GuildMemberInfo.GetSize() );
}
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_SELECT_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_CharGuid;
BYTE m_byRequestIdx;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_SELECT_ACK )
GUILDGUID m_GuildGuid;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_SELECT_NAK )
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CREATE_SYN )
TCHAR m_tszGuildName[MAX_GUILDNAME_LENGTH + 1];
CHARGUID m_MasterCharGuid;
TCHAR m_tszMasterCharName[MAX_CHARNAME_LENGTH + 1];
BYTE m_byMasterClass;
LEVELTYPE m_MasterLV;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CREATE_ACK )
GAME_GUILD_INFO m_GameGuildInfo;
BASE_GUILD_MEMBER_INFO m_BaseMemberInfo;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CREATE_NAK )
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_DESTROY_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_MasterCharGuid;
DWORD m_DestroyWaitTime;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_DESTROY_BRD )
GUILDGUID m_GuildGuid;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_DESTROY_NAK )
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_JOIN_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_OperCharGuid;
CHARGUID m_TargetCharGuid;
TCHAR m_tszCharName[MAX_CHARNAME_LENGTH + 1];
BYTE m_byClass;
LEVELTYPE m_Level;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_JOIN_BRD )
GUILDGUID m_GuildGuid;
GUILD_MEMBER_INFO m_MemberInfo;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_JOIN_NAK )
TCHAR m_szTargetCharName[MAX_CHARNAME_LENGTH + 1];
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_WITHDRAW_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_CharGuid;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_WITHDRAW_BRD )
GUILDGUID m_GuildGuid;
CHARGUID m_CharGuid;
TCHAR m_szCharName[MAX_CHARNAME_LENGTH + 1];
INT64 m_MemberPenaltyTime;
BYTE m_byPenaltyType;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_WITHDRAW_NAK )
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
// 길드장이 길드원 강제탈퇴
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_KICKPLAYER_SYN )
GUILDGUID m_GuildGuid; // 해당 길드
CHARGUID m_OperCharGuid;
TCHAR m_ptszCharName[MAX_CHARNAME_LENGTH+1]; // 탈퇴시킬 길드원
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_KICKPLAYER_NAK )
GUILDGUID m_GuildGuid;
TCHAR m_ptszCharName[MAX_CHARNAME_LENGTH+1]; // 요청했던 유저의 이름
DWORD m_dwErrorCode;
PACKET_GZ_CLOSE
// 길드에 UP 헌납
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_DONATE_UP_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_CharGuid;
UPTYPE m_DonateUP;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_DONATE_UP_BRD )
GUILDGUID m_GuildGuid;
UPTYPE m_TotalUP;
UPTYPE m_DonateUP;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_DONATE_UP_NAK )
GUILDGUID m_GuildGuid;
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
// UP->GP로 변환
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CONVERT_UP2GP_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_OperCharGuid;
GPTYPE m_ConvertGP;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CONVERT_UP2GP_BRD )
GUILDGUID m_GuildGuid;
UPTYPE m_RemainUP;
GPTYPE m_TotalGP;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CONVERT_UP2GP_NAK )
GUILDGUID m_GuildGuid;
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_RANKUP_BRD )
GUILDGUID m_GuildGuid;
GPTYPE m_RemainGP;
BYTE m_byLevel;
UPTYPE m_RemainUP;
PACKET_GZ_CLOSE
#ifdef __NA_000000_20070528_TAIWAN_GUILD_PVP
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CHUNTING_PVP_RESULT_CMD )
GUILDGUID m_WinGuildGuid;
GUILDGUID m_LoseGuildGuid;
GUILDGUID m_DisGuildGuid;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CHUNTING_PVP_RESULT_BRD )
GUILDGUID m_GuildGuid;
CHUNTING_PVP_INFO m_PVPInfo;
PACKET_GZ_CLOSE
#endif
//길드 추가 정보
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_RELATION_INFO_BRD )
BYTE m_byRelCnt;
BYTE m_byCorpsCnt;
BASE_GUILD_ADD_INFO m_AddInfo;
int GetSize()
{
return ( sizeof(MSG_GZ_GUILD_RELATION_INFO_BRD)
- ((MAX_ALLIENCE_GUILD_NUM + MAX_HOSTILITY_GUILD_NUM + MAX_ONE_SIDE_HOSTILITY_NUM) - m_byRelCnt) * sizeof(GUILD_RELATION));
}
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_RELATION_INFO_SYN)
GUILDGUID m_GuildGuid;
PACKET_GZ_CLOSE
// 길드 관계
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_RELATION_SYN )
eGUILD_RELATION m_eRelationType;
GUILDGUID m_RequestGuildGuid;
GUILDGUID m_ResponseGuildGuid;
USERGUID m_RequestUserKey;
CHARGUID m_RequestCharGuid;
TCHAR m_tszRelationGuildName[MAX_GUILDNAME_LENGTH+1];
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_RELATION_BRD )
eGUILD_RELATION m_eRelationType;
GUILDGUID m_GuildGuid;
GUILDGUID m_RelationGuildGuid;
TCHAR m_tszRequestGuildName[MAX_GUILDNAME_LENGTH+1];
TCHAR m_tszRelationGuildName[MAX_GUILDNAME_LENGTH+1];
#ifdef _NA_003923_20120130_GUILD_RENEWAL
DWORD64 m_RelationApplyTime;
DWORD64 m_RelationChangeTime;
#endif
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_RELATION_NAK )
CHARGUID m_OtherGuildMasterUid;
GUILDGUID m_RelationGuildGuid;
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_RELATION_DELETE_SYN ) // 길드 관계 삭제
eGUILD_RELATION m_eType;
GUILDGUID m_GuildGuid;
GUILDGUID m_RelGuildGuid;
CHARGUID m_RequestPlayerIndex;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_RELATION_DELETE_BRD )
eGUILD_RELATION m_eType;
GUILDGUID m_GuildGuid;
GUILDGUID m_RelGuildGuid;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_RELATION_DELETE_NAK )
eGUILD_RELATION m_eType;
GUILDGUID m_GuildGuid;
GUILDGUID m_RelGuildGuid;
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
//동맹 신청
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_BOTH_RELATION_SYN )
eGUILD_RELATION m_eRelationType;
GUILDGUID m_GuildGuid;
GUILDGUID m_RelationGuildGuid;
CHARGUID m_RequestPlayerIndex;
TCHAR m_tszRelationGuildName[MAX_GUILDNAME_LENGTH+1];
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_BOTH_RELATION_ACK)
eGUILD_RELATION m_eRelationType;
GUILDGUID m_RequestGuildGuid;
GUILDGUID m_ResponseGuildGuid;
CHARGUID m_RequestPlayerIndex;
CHARGUID m_ResponsePlayerIndex;
PACKET_GZ_CLOSE
//쌍방적대 신청
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_RELATION_BOTH_AGAINST_SYN )
CHARGUID m_MasterCharGuid;
GUILDGUID m_GuildGuid;
GUILDGUID m_RelGuildGuid;
TCHAR m_tszRelGuildName[MAX_GUILDNAME_LENGTH + 1]; //사용안함
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_RELATION_BOTH_AGAINST_BRD )
GUILDGUID m_GuildGuid;
GUILDGUID m_RelGuildGuid;
TCHAR m_tszRelGuildName[MAX_GUILDNAME_LENGTH + 1];
#ifdef _NA_003923_20120130_GUILD_RENEWAL
DWORD64 m_RelationApplyTime;
DWORD64 m_RelationChangeTime;
#endif
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_RELATION_BOTH_AGAINST_NAK )
GUILDGUID m_GuildGuid;
GUILDGUID m_RelGuildGuid;
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
// 길드 군단 생성
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CREATE_CORPS_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_OperCharGuid;
TCHAR m_szTargetCharName[MAX_CHARNAME_LENGTH+1];
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CREATE_CORPS_BRD )
GUILDGUID m_GuildGuid;
BYTE m_byCorpsNum;
TCHAR m_szTargetCharName[MAX_CHARNAME_LENGTH + 1];
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CREATE_CORPS_NAK )
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_DESTROY_CORPS_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_OperCharGuid;
BYTE m_byCorpsNum;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_DESTROY_CORPS_BRD )
GUILDGUID m_GuildGuid;
BYTE m_byCorpsNum;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_DESTROY_CORPS_NAK )
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_EMPTY_COMMANDER_INFO_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_OperCharGuid;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_EMPTY_COMMANDER_INFO_ACK )
GUILDGUID m_GuildGuid;
BYTE m_byEmptyCommanderCount;
BYTE m_byCorpsNum[MAX_GUILD_CORPS_NUM];
int GetSize()
{
return ( sizeof(MSG_GZ_GUILD_EMPTY_COMMANDER_INFO_ACK) - (MAX_GUILD_CORPS_NUM-m_byEmptyCommanderCount)*sizeof(BYTE) );
}
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_EMPTY_COMMANDER_INFO_NAK )
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
// 군단장 변경
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CHANGE_COMMANDER_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_OperCharGuid;
BYTE m_byCorpsNum;
TCHAR m_szTargetCharName[MAX_CHARNAME_LENGTH+1];
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CHANGE_COMMANDER_BRD )
GUILDGUID m_GuildGuid;
BYTE m_byCorpsNum;
TCHAR m_szTargetCharName[MAX_CHARNAME_LENGTH + 1];
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CHANGE_COMMANDER_NAK )
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
// 군단간 이동
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CHANGE_CORPS_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_OperCharGuid;
TCHAR m_szTargetCharName[MAX_CHARNAME_LENGTH+1];
BYTE m_byCorpsNum;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CHANGE_CORPS_BRD )
GUILDGUID m_GuildGuid;
CHARGUID m_TargetCharGuid;
TCHAR m_szTargetCharName[MAX_CHARNAME_LENGTH + 1];
BYTE m_byCorpsNum;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CHANGE_CORPS_NAK )
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
// 육성 캠프 창설
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CREATE_REAR_CAMP_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_OperCharGuid;
TCHAR m_szTargetCharName[MAX_CHARNAME_LENGTH+1];
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CREATE_REAR_CAMP_BRD )
GUILDGUID m_GuildGuid;
BYTE m_byCorpsNum;
TCHAR m_szTargetCharName[MAX_CHARNAME_LENGTH + 1];
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CREATE_REAR_CAMP_NAK )
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
// 육성 캠프 해산
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_DESTROY_REAR_CAMP_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_OperCharGuid;
BYTE m_byCorpsNum;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_DESTROY_REAR_CAMP_BRD )
GUILDGUID m_GuildGuid;
BYTE m_byCorpsNum;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_DESTROY_REAR_CAMP_NAK )
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_INVITE_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_OperCharGuid;
CHARGUID m_TargetCharGuid;
PLAYERKEY m_TargetUserKey;
LEVELTYPE m_Level;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_INVITE_ACK )
PLAYERKEY m_TargetUserKey;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_INVITE_NAK )
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_LOGIN_CHAR_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_CharGuid;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_LOGIN_CHAR_BRD )
GUILD_INFO m_GuildInfo;
GUILD_CORPS_TOTAL_INFO m_CorpsTotalInfo;
GUILD_MEMBER_INFO m_MemberInfo;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_LOGIN_CHAR_NAK )
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_LOGOUT_CHAR_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_CharGuid;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_LOGOUT_CHAR_BRD )
GUILDGUID m_GuildGuid;
CHARGUID m_CharGuid;
TCHAR m_szCharName[MAX_CHARNAME_LENGTH + 1];
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CHAR_LEVELUP_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_CharGuid;
LEVELTYPE m_Level;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CHAR_LEVELUP_BRD )
GUILDGUID m_GuildGuid;
TCHAR m_szCharName[MAX_CHARNAME_LENGTH + 1];
LEVELTYPE m_Level;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_KICKPLAYER_BRD )
GUILDGUID m_GuildGuid;
CHARGUID m_MasterCharGuid;
TCHAR m_ptszCharName[MAX_CHARNAME_LENGTH+1]; //강퇴당한 캐릭터 이름
CHARGUID m_CharGuid; //강퇴당한 캐릭터 CharGuid
INT64 m_GuildPenaltyTime;
INT64 m_MemberPenaltyTime;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_TOTALINFO_REQ_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_CharGuid;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_TOTALINFO_REQ_ACK )
GUILD_INFO m_GuildInfo;
#ifdef _NA004034_20120102_GUILD_POINT_SYSTEM
GUILD_INFO_EXTRA guild_info_extra_;
#endif //_NA004034_20120102_GUILD_POINT_SYSTEM
#ifdef _NA_007330_20140620_GUILD_SYSTEM_EXTENSION
GUILD_JOIN_REQUEST_TOTAL_INFO m_GuildJoinRequestTotalInfo;
#endif //_NA_007330_20140620_GUILD_SYSTEM_EXTENSION
GUILD_CORPS_TOTAL_INFO m_CropsTotalInfo;
GUILD_MEMBER_TOTAL_INFO m_MemberTotalInfo;
int GetSize()
{
return ( sizeof(MSG_GZ_GUILD_TOTALINFO_REQ_ACK) - ( sizeof(GUILD_MEMBER_TOTAL_INFO) - m_MemberTotalInfo.GetSize() ) );
}
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_TOTALINFO_REQ_NAK )
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_GM_GUILD_POINT_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_CharGuid;
UPTYPE m_UP;
GPTYPE m_GP;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_GM_GUILD_POINT_BRD )
GUILDGUID m_GuildGuid;
CHARGUID m_CharGuid;
UPTYPE m_UP;
GPTYPE m_GP;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_GM_GUILD_POINT_NAK )
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
// 유저 카오 상태 변경될 경우 알림
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CHANGE_CHAOSTATE_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_CharGuid;
BYTE m_byChaoState; // 카오 상태(eCHAO_STATE)
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CHANGE_CHAOSTATE_BRD )
GUILDGUID m_GuildGuid;
TCHAR m_szCharName[MAX_CHARNAME_LENGTH + 1];
BYTE m_byChaoState; // 카오 상태(eCHAO_STATE)
PACKET_GZ_CLOSE
//서버 입장, 나가는 패킷은 필요없다. 해당 서버에서 나갈때 무조건 해당 게임서버에서 길드멤버 초기화 시킨다.
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_ENTER_SERVER_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_CharGuid;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_ENTER_SERVER_ACK )
GAME_GUILD_INFO m_GameGuildInfo;
BASE_GUILD_MEMBER_INFO m_BaseMemberInfo;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_ENTER_SERVER_NAK )
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_PRE_LOGIN_CMD )
GUILDGUID m_GuildGuid;
CHARGUID m_CharGuid;
PACKET_GZ_CLOSE
/////////// 길드 직책 변경 ///////////
//타켓유저가 접속하고 있지 않을수 있다.
//접속안한 유저의 정보는 게임서버가 가지고 있지 않는다.
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CHANGE_DUTY_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_OperCharGuid;
TCHAR m_szTargetCharName[MAX_CHARNAME_LENGTH + 1];
BYTE m_byDuty;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CHANGE_DUTY_BRD )
GUILDGUID m_GuildGuid;
TCHAR m_szTargetCharName[MAX_CHARNAME_LENGTH + 1];
BYTE m_byDuty;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CHANGE_DUTY_NAK )
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
/////////// 길드 권한 위임 목록 요청 ///////////
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_RIGHT_DELEGATION_LIST_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_OperCharGuid;
TCHAR m_szTargetCharName[MAX_CHARNAME_LENGTH + 1];
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_RIGHT_DELEGATION_LIST_ACK )
GUILDGUID m_GuildGuid;
TCHAR m_szTargetCharName[MAX_CHARNAME_LENGTH + 1];
BYTE m_byCount;
GUILD_RIGHT_USE_INFO m_DelegateRight[MAX_GUILD_DELEGATE_RIGHT];
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_RIGHT_DELEGATION_LIST_NAK )
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
/////////// 길드 권한 위임 요청 ///////////
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_RIGHT_DELEGATION_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_OperCharGuid;
TCHAR m_szTargetCharName[MAX_CHARNAME_LENGTH + 1];
BYTE m_byCount;
GUILD_RIGHT_USE_INFO m_DelegateRight[MAX_GUILD_DELEGATE_RIGHT];
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_RIGHT_DELEGATION_BRD )
GUILDGUID m_GuildGuid;
TCHAR m_szTargetCharName[MAX_CHARNAME_LENGTH + 1];
GUILD_RIGHT_USE_INFO m_DelegateRight[MAX_GUILD_DELEGATE_RIGHT];
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_RIGHT_DELEGATION_NAK )
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
/////////// 길드 마스터 변경 ////////////
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CHANGE_MASTER_SYN )
GUILDGUID m_GuildGuid;
CHARGUID m_OperCharGuid;
TCHAR m_szTargetCharName[MAX_CHARNAME_LENGTH + 1];
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CHANGE_MASTER_BRD )
GUILDGUID m_GuildGuid;
CHARGUID m_OldMasterCharGuid;
TCHAR m_szOldMasterCharName[MAX_CHARNAME_LENGTH + 1];
CHARGUID m_NewMasterCharGuid;
TCHAR m_szNewMasterCharName[MAX_CHARNAME_LENGTH + 1];
PACKET_GZ_CLOSE
PACKET_GZ_OPEN( GZ_GUILD, GZ_GUILD_CHANGE_MASTER_NAK )
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_DESTROY_WAIT_BRD)
GUILDGUID m_GuildGuid;
DWORD64 m_dwDestroyTime;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_RECOVERY_GUILD_SYN)
CHARGUID m_CharGuid;
GUILDGUID m_GuildGuid;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_RECOVERY_GUILD_BRD)
GUILDGUID m_GuildGuid;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_RECOVERY_GUILD_NAK)
CHARGUID m_CharGuid;
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
//////////////길드 마크 등록//////////////
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_GUILDMARK_REGISTER_SYN)
SLOTIDX m_SlotIdx;
POSTYPE m_SlotPos;
GUILDGUID m_GuildIndex;
CHARGUID m_RequestPlayerIndex;
GUILDMARKIDX m_PatternIndex;
GUILDMARKIDX m_BackGroundIndex;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_GUILDMARK_REGISTER_BRD)
SLOTIDX m_SlotIdx;
POSTYPE m_SlotPos;
GUILDGUID m_GuildIndex;
GUILDMARKIDX m_BackGroundIndex;
GUILDMARKIDX m_PatternIndex;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_GUILDMARK_REGISTER_NAK)
BYTE m_Result;
PACKET_GZ_CLOSE
//////////////길드 마크 삭제//////////////
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_GUILDMARK_DELETE_SYN)
CHARGUID m_RequestPlayerIndex;
GUILDGUID m_GuildIndex;
GUILDMARKIDX m_BackGroundIndex;
GUILDMARKIDX m_PatternIndex;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_GUILDMARK_DELETE_BRD)
GUILDGUID m_GuildIndex;
GUILDMARKIDX m_BackGroundIndex;
GUILDMARKIDX m_PatternIndex;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_GUILDMARK_DELETE_NAK)
BYTE m_Result;
PACKET_GZ_CLOSE
//////////////길드 창고 열기//////////////
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_WAREHOUSE_OPEN_SYN)
GUILDGUID m_GuildGuid;
CHARGUID m_OperCharGuid;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_WAREHOUSE_OPEN_BRD)
GUILDGUID m_GuildGuid;
CHARGUID m_OperCharGuid;
MONEY m_WarehouseMoney;
BYTE m_SlotTabNum;
BOOL m_WarehouseRight;
_GUILDWAREHOUSE_TOTAL_INFO m_ItemInfo;
int GetSize() const
{
// (f100527.3L)
const int kMinSize = sizeof(*this) - sizeof(m_ItemInfo);
return kMinSize + m_ItemInfo.GetSize();
//return ( sizeof(*this) - (_GUILDWAREHOUSE_TOTAL_INFO::MAX_SLOT_NUM-m_ItemInfo.m_Count) *
// sizeof(_GUILDWAREHOUSE_TOTAL_INFO::SLOT_TYPE) );
}
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_WAREHOUSE_OPEN_ACK)
GUILDGUID m_GuildGuid;
CHARGUID m_OperCharGuid;
MONEY m_WarehouseMoney;
BYTE m_SlotTabNum;
_GUILDWAREHOUSE_TOTAL_INFO m_ItemInfo;
int GetSize() const
{
// (f100527.3L)
const int kMinSize = sizeof(*this) - sizeof(m_ItemInfo);
return kMinSize + m_ItemInfo.GetSize();
//return ( sizeof(*this) - (_GUILDWAREHOUSE_TOTAL_INFO::MAX_SLOT_NUM-m_ItemInfo.m_Count) *
// sizeof(_GUILDWAREHOUSE_TOTAL_INFO::SLOT_TYPE) );
}
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_WAREHOUSE_OPEN_NAK)
GUILDGUID m_GuildGuid;
BYTE m_bErrorCode;
PACKET_GZ_CLOSE
//////////////길드 창고 닫기//////////////
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_WAREHOUSE_CLOSE_SYN)
GUILDGUID m_GuildGuid;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_WAREHOUSE_CLOSE_BRD)
GUILDGUID m_GuildGuid;
MONEY m_WarehouseMoney;
_GUILDWAREHOUSE_TOTAL_INFO m_ItemInfo;
int GetSize() const
{
// (f100527.3L)
const int kMinSize = sizeof(*this) - sizeof(m_ItemInfo);
return kMinSize + m_ItemInfo.GetSize();
//return ( sizeof(*this) - (_GUILDWAREHOUSE_TOTAL_INFO::MAX_SLOT_NUM-m_ItemInfo.m_Count)*sizeof(_GUILDWAREHOUSE_TOTAL_INFO::SLOT_TYPE) );
}
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_WAREHOUSE_CLOSE_NAK)
BYTE m_bErrorCode;
PACKET_GZ_CLOSE
//////////////길드 돈 입출금//////////////
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_WAREHOUSE_MONEY_SYN)
GUILDGUID m_GuildIndex;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_WAREHOUSE_MONEY_BRD)
GUILDGUID m_GuildIndex;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_WAREHOUSE_MONEY_NAK)
BYTE m_Result;
PACKET_GZ_CLOSE
//////////////길드 창고 DB 저장//////////////
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_WAREHOUSE_DBSAVE_SYN)
GUILDGUID m_GuildGuid;
MONEY m_WarehouseMoney;
BYTE m_ChannelID;
_GUILDWAREHOUSE_TOTAL_INFO m_ItemInfo;
int GetSize() const
{
// (f100527.3L)
const int kMinSize = sizeof(*this) - sizeof(m_ItemInfo);
return kMinSize + m_ItemInfo.GetSize();
//return ( sizeof(*this) -
// (_GUILDWAREHOUSE_TOTAL_INFO::MAX_SLOT_NUM - m_ItemInfo.m_Count)
// * sizeof(_GUILDWAREHOUSE_TOTAL_INFO::SLOT_TYPE) );
}
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_WAREHOUSE_LOG_DBSAVE_SYN)
MONEY m_Money;
SLOTCODE m_ItemCode;
WORD m_ItemNum;
BYTE m_bInOutState;
GUILDGUID m_GuildGuid;
TCHAR m_CharName[MAX_CHARNAME_LENGTH+1];
PACKET_GZ_CLOSE
//////////////길드 명 변경//////////////
//__NA000000_20081106_GUILD_NAME_CHANGE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_NAME_CHANGE_SYN)
POSTYPE m_TargetPos;
GUILDGUID m_GuildGuid;
CHARGUID m_OperCharGuid;
TCHAR m_tszGuildName[MAX_GUILDNAME_LENGTH+1];
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_NAME_CHANGE_ACK)
POSTYPE m_TargetPos;
//_NA_0_20100901_GUILD_NAME_CHANGE_ITEM_LOG
TCHAR m_tszCurrentGuildName[MAX_GUILDNAME_LENGTH+1]; // 게임로그에 남길 정보()
TCHAR m_tszchangeGuildName[MAX_GUILDNAME_LENGTH+1]; // 게임로그에 남길 정보()
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_NAME_CHANGE_BRD)
GUILDGUID m_GuildGuid;
TCHAR m_tszGuildName[MAX_GUILDNAME_LENGTH+1];
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_NAME_CHANGE_NAK)
POSTYPE m_TargetPos;
BYTE m_byErrorCode;
PACKET_GZ_CLOSE
#ifdef _NA_003923_20120130_GUILD_RENEWAL
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_IN_GAME_GUILD_LOG_LIST_REQ)
GUILDGUID request_guild_guid_;
CHARGUID request_char_guid_;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_IN_GAME_GUILD_LOG_LIST_ANS)
CHARGUID request_char_guid_;
BYTE log_category_;//GuildInGameLogCategory
BYTE log_count_;
GuildInGameLogData log_data_[MAX_IN_GAME_GUILD_LOG];
WORD GetSize()const
{
assert(log_count_ <= _countof(log_data_) && log_count_ >= 0);
const size_t min_size = sizeof(*this) - sizeof(log_data_);
return min_size + (sizeof(log_data_[0]) * log_count_);
}
PACKET_GZ_CLOSE
#endif
#ifdef _NA_004034_20120102_GUILD_INTRODUCTION
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_INTRODUCTION_SAVE_SYN)
CHARGUID char_guid;
GUILDGUID guild_guid;
GUILD_INTRODUCTIONS guild_introductions_;
void init()
{
char_guid = 0, guild_guid = 0;
memset(&guild_introductions_, 0, sizeof(guild_introductions_));
}
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_INTRODUCTION_SAVE_ACK)
DWORD result_;
CHAR introduction_strings_[MAX_GUILD_INTRODUCTION_LENGTH+1];
#ifdef _NA_007330_20140620_GUILD_SYSTEM_EXTENSION
GUILDGUID guild_guid;
#endif //_NA_007330_20140620_GUILD_SYSTEM_EXTENSION
PACKET_GZ_CLOSE
#endif
#ifdef _NA_007330_20140620_GUILD_SYSTEM_EXTENSION
/** 길드 가입 요청 **/
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_JOIN_REQUEST_SYN)
GUILD_JOIN_REQUEST_INFO request_info;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_JOIN_REQUEST_ACK)
DWORD result_;
GUILD_JOIN_REQUEST_INFO request_info;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_JOIN_REQUEST_REJECT_SYN)
eGUILD_JOIN_REJECT_TYPE reject_type;
CHARGUID char_guid; //권한을 가진 캐릭터 GUID
GUILDGUID guild_guid;
CHARGUID target_guid;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_JOIN_REQUEST_REJECT_ACK)
void Init()
{
memset(&guild_name, 0, sizeof(guild_name));
}
TCHAR guild_name[MAX_GUILDNAME_LENGTH + 1];
CHARGUID char_guid;
GUILDGUID guild_guid;
CHARGUID target_guid;
DWORD result;
eGUILD_JOIN_REJECT_TYPE reject_type;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_RELOAD_SYN)
CHARGUID char_guid;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_RELOAD_ACK)
GUILDGUID guild_guid;
PACKET_GZ_CLOSE
/** 길드 시설 **/
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_FACILITY_UPGRADE_SYN)
FCODE facility_code;
CHARGUID char_guid;
GUILDGUID guild_guid;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_FACILITY_UPGRADE_ACK)
GUILD_FACILITY_INFO facility_info;
FCODE facility_code;
GUILDGUID guild_guid;
CHARGUID char_guid;
DWORD result;
FLEVEL cur_level;
FLEVEL add_level;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_FACILITY_SELECT_SYN)
GUILDGUID guild_guid;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_FACILITY_SELECT_ACK)
GUILD_FACILITY_TOTAL_INFO total_info;
GUILDGUID guild_guid;
PACKET_GZ_CLOSE
#endif //_NA_007330_20140620_GUILD_SYSTEM_EXTENSION
/*지역 점령전 기본 정보를 게임서버로 보낸다.*/
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_INFO_SYN)
MAPCODE m_MapCode;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_INFO_ACK)
DOMINATION_INFO m_DominationInfo;
PACKET_GZ_CLOSE
#ifdef _NA_007128_20140326_MONDSCHIEN_DOMINATION
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_CONTINENT_LORD_INFO_ACK)
sDOMINATION_CONTINENT_LORD_INFO m_lordInfo;
PACKET_GZ_CLOSE
#endif //_NA_007128_20140326_MONDSCHIEN_DOMINATION
/*지역 점령전 경매 정보를 게임 서버로 보낸다.*/
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_AUCTION_INFO_SYN)
MAPCODE m_MapCode;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_AUCTION_INFO_ACK)
MAPCODE m_MapCode;
BYTE m_DataCount;
DominationAuctionInfo m_ActionInfo[MAX_DOMINATION_AUCTION];
uint16_t GetSize() const
{
assert(m_DataCount <= _countof(m_ActionInfo));
const size_t kMinSize = sizeof(*this) - sizeof(m_ActionInfo);
return static_cast<uint16_t>(kMinSize + sizeof(m_ActionInfo[0]) * m_DataCount);
}
PACKET_GZ_CLOSE
/*지역 점령전 기본 정보를 DB로 업데이트 요청한다.*/
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_UPDATE_INFO_SYN)
DOMINATION_INFO m_DominationInfo;
eDOMINATION_EVENT_TYPE m_eSetType;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_UPDATE_INFO_ACK)
RC::eDOMINATION_RESULT m_ResultCode;
eDOMINATION_EVENT_TYPE m_eSetType;
DOMINATION_INFO m_DominationInfo;
PACKET_GZ_CLOSE
/*지역 점령전 경매에 입찰한다.*/
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_ACCEP_HEIM_SYN)
DominationAuctionInfo m_DominationActionInfo;
#ifdef _CH_20100420_CHANGE_DOMINATION_APPLY_WAY
POSTYPE m_TokenPos;//배팅 아이템 인벤토리 위치
int number_of_betting_item; // 배팅 아이템 개수
#endif
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_ACCEP_HEIM_ACK)
RC::eDOMINATION_RESULT m_ResultCode;
DominationAuctionInfo m_DominationActionInfo;
#ifdef _CH_20100420_CHANGE_DOMINATION_APPLY_WAY
POSTYPE m_TokenPos;//배팅 아이템 인벤토리 위치
int number_of_betting_item; // 배팅 아이템 개수
#endif
PACKET_GZ_CLOSE
/*경매가 종료 되면 모든 경매 데이터를 초기화 한다.*/
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_INIT_ACTIONINFO_SYN)
MAPCODE m_MapCode;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_INIT_ACTIONINFO_ACK)
RC::eDOMINATION_RESULT m_ResultCode;
MAPCODE m_MapCode;
PACKET_GZ_CLOSE
/*경매종료시 비선정 길드에게 경매 하임을 돌려준다.*/
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_RETURNHIME_SYN)
DOMINATION_INFO m_DominationInfo;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_RETURNHIME_ACK)
MAPCODE m_MapCode;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_BATTING_HEIM_SYN)
GUILDGUID m_guildGuid;
#ifdef _CH_20100420_CHANGE_DOMINATION_APPLY_WAY
MAPCODE m_mapCode;
#endif
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_BATTING_HEIM_ACK)
RC::eDOMINATION_RESULT m_ResultCode;
#ifdef _CH_20100420_CHANGE_DOMINATION_APPLY_WAY
MAPCODE m_mapCode;
#endif
#ifdef _NA_000000_20130429_DOMINATION_PENALTY
DWORD penalty_time;
#endif //_NA_000000_20130429_DOMINATION_PENALTY
PACKET_GZ_CLOSE
//_NA_20100604_BETTER_DOMINATION_MANAGER
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_UPDATE_GUILDINFO_SYN)
GUILDGUID guild_guid_; //요청 길드 guid
WORD domination_join_count_; //점령전 참여 카운트
WORD domination_defense_count_; //점령전 방어 성공 카운트
WORD domination_hunting_count_; //점령전 보스 사냥 카운트
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_UPDATE_GUILDINFO_ACK)
enum { DB_RESULT_FAIL, DB_RESULT_SUCCESS };
bool db_result_; //DB 처리 결과 값
GUILDGUID guild_guid_; //요청 길드 guid
WORD domination_join_count_; //점령전 참여 증가 카운트
WORD domination_defense_count_; //점령전 방어 성공 증가 카운트
WORD domination_hunting_count_; //점령전 보스 사냥 증가 카운트
PACKET_GZ_CLOSE
//_NA_20110216_INCREASE_DOMINATION_DEFFENSEWALL_POINT
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_ADD_DEFFENSEWALL_POINT_SYN)
DOMINATION_INFO domination_info_;
SLOTCODE item_code_;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_ADD_DEFFENSEWALL_POINT_ACK)
DOMINATION_INFO domination_info_;
SLOTCODE item_code;
bool db_result_;
PACKET_GZ_CLOSE
//_NA_20110406_CHANGE_RULE_FOR_DOMINATION_JOIN
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_MEMBER_JOIN_SYN)
MAPCODE map_code_;
DominationMemberInfo member_info_;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_MEMBER_JOIN_ACK)
bool db_result_;
MAPCODE map_code_;
DominationMemberInfo member_info_;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_MEMBER_LEAVE_SYN)
MAPCODE map_code_;
CHARGUID member_guid_; // 신청 취소 대상자 guid
CHARGUID requester_guid; // 신청 취소 요청자 guid
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_MEMBER_LEAVE_ACK)
bool db_result_;
MAPCODE map_code_;
CHARGUID member_guid_; // 신청 취소 대상자 guid
CHARGUID requester_guid; // 신청 취소 요청자 guid
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_MEMBERLIST_REQ)
MAPCODE map_code_;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_MEMBERLIST_ANS)
MAPCODE map_code_;
BYTE data_count_;
DominationMemberInfo member_list_[MAX_DOMINATION_MEMBER*2];
uint16_t GetSize() const
{
assert(data_count_ <= _countof(member_list_));
const size_t kMinSize = sizeof(*this) - sizeof(member_list_);
return static_cast<uint16_t>(kMinSize + sizeof(member_list_[0]) * data_count_);
}
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_MEMBERLIST_INIT_CMD)
PACKET_GZ_CLOSE
// G->Z GM 명령에 의한 길드 창고 강제 닫기
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_GM_WAREHOUSE_FORCE_CLOSE_CMD)
DWORD gm_player_key; // 조작자 - GM 플레이어 키
TCHAR guild_name[MAX_GUILDNAME_LENGTH + 1]; // 대상 길드명
PACKET_GZ_CLOSE
// Z->G GM 명령에 의한 길드 창고 강제 닫기 공지
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_GM_WAREHOUSE_FORCE_CLOSE_BRD)
DWORD gm_player_key; // 조작자 - GM 플레이어 키
GUILDGUID guild_guid; // 대상 길드 ID
PACKET_GZ_CLOSE
//_NA004034_20120102_GUILD_POINT_SYSTEM
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILDPOINTSYSTEM)
BYTE packet_type;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_RENAME_CHAR_CMD)
GUILDGUID guildguid;
CHARGUID charguid;
TCHAR character_name_[MAX_CHARNAME_LENGTH + 1];
PACKET_GZ_CLOSE
//!~ _NA_000000_20130429_DOMINATION_PENALTY
PACKET_GZ_OPEN(GZ_GUILD, GZ_DOMINATION_PENALTY_CMD)
GUILDGUID guild_guid;
MAPCODE map_code;
WORD member_count;
CTime penalty_time;
PACKET_GZ_CLOSE
//~! _NA_000000_20130429_DOMINATION_PENALTY
//_NA_008334_20150608_SONNENSCHEIN
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_SONNENSCHEIN_INITIALIZE_CMD)
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_SONNENSCHEIN_UPDATE_SYN)
GUILDGUID guild_guid;
BYTE sonnenschein_phase;
PACKET_GZ_CLOSE
PACKET_GZ_OPEN(GZ_GUILD, GZ_GUILD_SONNENSCHEIN_UPDATE_ACK)
GUILDGUID guild_guid;
BYTE sonnenschein_phase;
PACKET_GZ_CLOSE
#pragma pack(pop)