//------------------------------------------------------------------------------ // uiBattleZoneMan_packetproc.cpp // (C) 2005 ckbang //------------------------------------------------------------------------------ #include "SunClientPrecompiledHeader.h" #include "uiBattleZoneMan.h" #include "uiBattleZoneList/uiBattleZoneList.h" #include "uiBattleZoneReadyMissionConfig/uiBattleZoneReadyMissionConfig.h" #include "uiBattleZoneReadyCHuntingConfig/uiBattleZoneReadyCHuntingConfig.h" #include "VillageScene.h" #include "BattleLobby.h" #include "UserSlot.h" #include "ObjectManager.h" #include "LoadScene.h" #include "Hero.h" #include "interfacemanager.h" #include "globalfunc.h" #include "uiSystemMan/uiSystemMan.h" #include "EventInfoParser.h" #include "ResultCode.h" #include "MissionScene.h" #include "uiCommunityMan/uiCommunityMan.h" #include "Map.h" #include "uiPartyMan/uiPartyMan.h" #include "uiBattleScoreMan\uiBattleScoreMan.h" #ifdef _DH_BATTLEZONE2_ #include "uiBattlezone2Man/uiBattlezone2Man.h" #endif//_DH_BATTLEZONE2_ //------------------------------------------------------------------------------ /** */ void uiBattleZoneMan::NetworkProc( MSG_BASE * pMsg ) { TCHAR szMessage[INTERFACE_STRING_LENGTH] = {0,}; switch (pMsg->m_byCategory) { case CG_ZONE: { switch (pMsg->m_byProtocol) { case CG_ZONE_LOBBY_CREATE_ACK: { this->NET_RECV_MSG_CG_ZONE_LOBBY_CREATE_ACK(pMsg); } break; case CG_ZONE_LOBBY_CREATE_NAK: { this->NET_RECV_MSG_CG_ZONE_LOBBY_CREATE_NAK(pMsg); } break; // change map case CG_ZONE_LOBBY_CHANGE_MAP_ACK: { this->UnsetPKBool(ePKBOOL_BATTLEZONE_CG_ZONE_LOBBY_CHANGE_MAP_SYN); if(BattleScene::IsLobby()) { #if !defined(_NA_006774_20130617_ARRANGE_UNNECESSARY_RESOURCES) m_pUIBattleZoneReadyMissionConfig->SetCfg_Field(m_pendingMapChangeIndex); m_pUIBattleZoneReadyCHuntingConfig->SetCfg_Field(m_pendingMapChangeIndex); #endif GetBattleRoomEntry().SetMapCode( m_PendingMapCode ); BattleScene::SetPendingBattleRoomEntry( &GetBattleRoomEntry() ); } } break; case CG_ZONE_LOBBY_CHANGE_MAP_NAK: { this->UnsetPKBool(ePKBOOL_BATTLEZONE_CG_ZONE_LOBBY_CHANGE_MAP_SYN); if(BattleScene::IsLobby()) { MSG_CG_ZONE_LOBBY_CHANGE_MAP_NAK * pRecvMsg = (MSG_CG_ZONE_LOBBY_CHANGE_MAP_NAK*)pMsg; m_pendingMapChangeIndex = 0; g_InterfaceManager.GetStringZoneError(pRecvMsg->m_dwErrorCode, szMessage, INTERFACE_STRING_LENGTH ); uiSystemMan * pSystemMan = (uiSystemMan *)g_InterfaceManager.GetUserInterfaceManager(UIMAN_SYSTEM); if(pSystemMan) pSystemMan->Sys_VerifyLock(szMessage); } } break; case CG_ZONE_LOBBY_CHANGE_MAP_BRD: { this->UnsetPKBool(ePKBOOL_BATTLEZONE_CG_ZONE_LOBBY_CHANGE_MAP_SYN); if(BattleScene::IsLobby()) { MSG_CG_ZONE_LOBBY_CHANGE_MAP_BRD* recv = (MSG_CG_ZONE_LOBBY_CHANGE_MAP_BRD *)pMsg; #if !defined(_NA_006774_20130617_ARRANGE_UNNECESSARY_RESOURCES) m_pUIBattleZoneReadyMissionConfig->SetCfg_FieldByMapCode(recv->m_MapCode); m_pUIBattleZoneReadyCHuntingConfig->SetCfg_FieldByMapCode(recv->m_MapCode); #endif //#if !defined(_NA_006774_20130617_ARRANGE_UNNECESSARY_RESOURCES) GetBattleRoomEntry().SetMapCode( recv->m_MapCode); BattleScene::SetPendingBattleRoomEntry( &GetBattleRoomEntry() ); } } break; // competition hunting config case CG_ZONE_LOBBY_CHUNTING_CONFIG_ACK: { this->UnsetPKBool(ePKBOOL_BATTLEZONE_CG_ZONE_LOBBY_CHUNTING_CONFIG_SYN); // very care #if !defined(_NA_006774_20130617_ARRANGE_UNNECESSARY_RESOURCES) m_pUIBattleZoneReadyCHuntingConfig->SetCfg_Diff(m_pendingDifficult); m_pUIBattleZoneReadyCHuntingConfig->SetCfg_Bonus(m_pendingBonus); m_pUIBattleZoneReadyCHuntingConfig->SetCfg_CompMode(m_pendingCompetitionMode); m_pUIBattleZoneReadyCHuntingConfig->SetCfg_CompRule(m_pendingCompetitionRule); #endif //ifndef _NA_006774_20130617_ARRANGE_UNNECESSARY_RESOURCES } break; case CG_ZONE_LOBBY_CHUNTING_CONFIG_NAK: { this->UnsetPKBool(ePKBOOL_BATTLEZONE_CG_ZONE_LOBBY_CHUNTING_CONFIG_SYN); #ifdef _DEBUG GlobalFunc::OutputMsg_Guide(eOUTPUT_MSG_CHAT, _T("LOBBY_HUNTING_CONFIG_NAK!!")); #endif } break; case CG_ZONE_LOBBY_CHUNTING_CONFIG_BRD: { this->UnsetPKBool(ePKBOOL_BATTLEZONE_CG_ZONE_LOBBY_CHUNTING_CONFIG_SYN); MSG_CG_ZONE_LOBBY_CHUNTING_CONFIG_BRD* recv = (MSG_CG_ZONE_LOBBY_CHUNTING_CONFIG_BRD *)pMsg; #if !defined(_NA_006774_20130617_ARRANGE_UNNECESSARY_RESOURCES) // pendings wasn't saved m_pUIBattleZoneReadyCHuntingConfig->SetCfg_Diff((eHUNTING_MONSTER_DIFFICULT)recv->m_AdditionalInfo.m_Difficulty); m_pUIBattleZoneReadyCHuntingConfig->SetCfg_Bonus((eHUNTING_BONUS_TYPE)recv->m_AdditionalInfo.m_Bonus); m_pUIBattleZoneReadyCHuntingConfig->SetCfg_CompMode((eCOMPETITION_MODE_TYPE)recv->m_AdditionalInfo.m_Mode); m_pUIBattleZoneReadyCHuntingConfig->SetCfg_CompRule((eCOMPETITION_RULE_TYPE)recv->m_AdditionalInfo.m_Rule); #endif//#ifndef ifndef _NA_006774_20130617_ARRANGE_UNNECESSARY_RESOURCES } break; // shorcut transfer case CG_ZONE_SHORTCUT_MISSIONLOBBY_ACK: { NET_RECV_MSG_CG_ZONE_SHORTCUT_MISSIONLOBBY_ACK(pMsg); } break; case CG_ZONE_SHORTCUT_PVPLOBBY_ACK: { NET_RECV_MSG_CG_ZONE_SHORTCUT_PVPLOBBY_ACK(pMsg); } break; case CG_ZONE_SHORTCUT_CHUNTINGLOBBY_ACK: { NET_RECV_MSG_CG_ZONE_SHORTCUT_CHUNTING_ACK(pMsg); } break; case CG_ZONE_SHORTCUT_NAK: { NET_RECV_MSG_CG_ZONE_SHORTCUT_NAK(pMsg); } break; // zone listup, lookup case CG_ZONE_LIST_MISSIONLOBBY_ACK: { NET_RECV_MSG_CG_ZONE_LIST_MISSIONLOBBY_ACK(pMsg); } break; case CG_ZONE_LIST_PVPLOBBY_ACK: { NET_RECV_MSG_CG_ZONE_LIST_PVPLOBBY_ACK(pMsg); } break; case CG_ZONE_LIST_CHUNTINGLOBBY_ACK: { NET_RECV_MSG_CG_ZONE_LIST_CHUNTINGLOBBY_ACK(pMsg); } break; // zone listup, naks case CG_ZONE_LIST_MISSIONLOBBY_NAK: { this->UnsetPKBool(ePKBOOL_BATTLEZONE_LIST_CG_ZONE_LIST_MISSIONLOBBY_SYN); NET_RECV_MSG_CG_ZONE_LIST_NAK(pMsg); } break; case CG_ZONE_LIST_PVPLOBBY_NAK: { this->UnsetPKBool(ePKBOOL_BATTLEZONE_LIST_CG_ZONE_LIST_PVPLOBBY_SYN); NET_RECV_MSG_CG_ZONE_LIST_NAK(pMsg); } break; case CG_ZONE_LIST_CHUNTINGLOBBY_NAK: { this->UnsetPKBool(ePKBOOL_BATTLEZONE_LIST_CG_ZONE_LIST_CHUNTINGLOBBY_SYN); NET_RECV_MSG_CG_ZONE_LIST_NAK(pMsg); } break; case CG_ZONE_MISSIONLOBBY_ROOM_FROM_CHARID_ACK: { ClearZoneListItems(); SetSearchMode(true); MSG_CG_ZONE_MISSIONLOBBY_ROOM_FROM_CHARID_ACK* recv = (MSG_CG_ZONE_MISSIONLOBBY_ROOM_FROM_CHARID_ACK*)pMsg; m_searchedZoneListItem.iType = eBATTLE_ZONE_LIST_ITEM_MISSION_LOBBY; m_searchedZoneListItem.m_MissionLobbyRoomInfo = recv->m_RoomInfo; } break; case CG_ZONE_PVPLOBBY_ROOM_FROM_CHARID_ACK: { ClearZoneListItems(); SetSearchMode(true); //PVP_ROOMINFO MSG_CG_ZONE_PVPLOBBY_ROOM_FROM_CHARID_ACK* recv = (MSG_CG_ZONE_PVPLOBBY_ROOM_FROM_CHARID_ACK*)pMsg; m_searchedZoneListItem.iType = eBATTLE_ZONE_LIST_ITEM_PVP; m_searchedZoneListItem.m_PVPRoomInfo = recv->m_RoomInfo; } break; case CG_ZONE_CHUNTINGLOBBY_ROOM_FROM_CHARID_ACK: { ClearZoneListItems(); SetSearchMode(true); MSG_CG_ZONE_CHUNTINGLOBBY_ROOM_FROM_CHARID_ACK* recv = (MSG_CG_ZONE_CHUNTINGLOBBY_ROOM_FROM_CHARID_ACK*)pMsg; m_searchedZoneListItem.iType = eBATTLE_ZONE_LIST_ITEM_CHUNTING_LOBBY; m_searchedZoneListItem.m_CHuntingLobbyRoomInfo = recv->m_RoomInfo; } break; case CG_ZONE_FIND_ROOM_FROM_CHARID_NAK: { TCHAR szMessage[INTERFACE_STRING_LENGTH] = {0,}; g_InterfaceManager.GetInterfaceString(93, szMessage, INTERFACE_STRING_LENGTH); uiSystemMan * pSystemMan = (uiSystemMan *)g_InterfaceManager.GetUserInterfaceManager(UIMAN_SYSTEM); if(pSystemMan) pSystemMan->Sys_VerifyLock(szMessage); } break; case CG_ZONE_CHUNTINGLOBBY_CHANGE_MAXUSER_CMD: { MSG_CG_ZONE_CHUNTINGLOBBY_CHANGE_MAXUSER_CMD* recv = (MSG_CG_ZONE_CHUNTINGLOBBY_CHANGE_MAXUSER_CMD*)pMsg; SetNonBlockSlot(recv->m_byMaxLimitUser); } break; case CG_ZONE_CHUNTING_JOIN_ACK: { MSG_CG_ZONE_CHUNTING_JOIN_ACK* recv = (MSG_CG_ZONE_CHUNTING_JOIN_ACK*)pMsg; if (recv->m_dwMasterObjKey) { SetLobbyMasterPlayerKey(recv->m_dwMasterObjKey); } g_LoadScene.SetNextSceneAfterLoaded(SCENE_TYPE_CHUNTING, recv->m_MapCode, 0); BattleScene::SetLobbyFlag(FALSE); BattleScene::SetLobbyInPending(FALSE); UnsetPKBool(PACKET_STATUS_SEND_CREATE); GameFramework::ChangeScene(SCENE_TYPE_LOAD); m_pUIBattleZoneList->ShowInterface(FALSE); } break; case CG_ZONE_CHUNTING_JOIN_NAK: { UnsetPKBool(PACKET_STATUS_SEND_CREATE); MSG_CG_ZONE_CHUNTING_JOIN_NAK* recv = (MSG_CG_ZONE_CHUNTING_JOIN_NAK*)pMsg; WRITELOG(eLOG_LEVEL_ERR, c_wOUTPUT_LOG_FILE | c_wOUTPUT_LOG_CENTER, _T("recv CG_ZONE_CHUNTING_JOIN_NAK: mapcode(%d)"), recv->m_byErrorCode); g_InterfaceManager.GetStringZoneError(recv->m_byErrorCode, szMessage, INTERFACE_STRING_LENGTH); GlobalFunc::OutputMsg_Warning(eOUTPUT_MSG_CHAT, szMessage); } break; case CG_ZONE_LOBBY_CHUNTING_REQUEST_INFO_ACK: { if(BattleScene::IsLobby()) { MSG_CG_ZONE_LOBBY_CHUNTING_REQUEST_INFO_ACK* recv = (MSG_CG_ZONE_LOBBY_CHUNTING_REQUEST_INFO_ACK*)pMsg; #if !defined(_NA_006774_20130617_ARRANGE_UNNECESSARY_RESOURCES) m_pUIBattleZoneReadyCHuntingConfig->SetCfg_FieldByMapCode(recv->m_MapCode); m_pUIBattleZoneReadyCHuntingConfig->SetCfg_CompRule((eCOMPETITION_RULE_TYPE)recv->m_AdditionalCHuntingInfo.m_Rule); m_pUIBattleZoneReadyCHuntingConfig->SetCfg_CompMode((eCOMPETITION_MODE_TYPE)recv->m_AdditionalCHuntingInfo.m_Mode); #endif//#ifndef ifndef _NA_006774_20130617_ARRANGE_UNNECESSARY_RESOURCES SetNonBlockSlot(recv->m_NonBlockNum); for (int i = 0; i < recv->m_Count; ++i) { SetReadyUserSlot(recv->m_dwReadyPlayerKey[i], true); } GetBattleRoomEntry().SetMapCode(recv->m_MapCode); GetBattleRoomEntry().SetAdditionalCHuntingInfo(&recv->m_AdditionalCHuntingInfo); BattleScene::SetPendingBattleRoomEntry(&GetBattleRoomEntry()); } } break; case CG_ZONE_LOBBY_JOIN_NAK: { BattleRoomEntry* entry = BattleScene::GetPendingBattleRoomEntry(); if (entry) { std::vector::iterator iter; for (iter = m_zoneListItem.begin(); iter != m_zoneListItem.end(); ++iter) { if ((*iter) == static_cast( entry->GetSerial()) ) { m_zoneListItem.erase (iter); break; } } } } break; case CG_ZONE_LIST_REFRESH_MISSIONLOBBY_ACK: { uiCommunityMan* pCommMan = static_cast(g_InterfaceManager.GetUserInterfaceManager(UIMAN_COMMUNITY)); if(pCommMan && pCommMan->IsWaitJoinGame()) { //MISSION_ROOMINFO m_RoomInfo; MSG_CG_ZONE_LIST_REFRESH_MISSIONLOBBY_ACK *pRecvPacket = (MSG_CG_ZONE_LIST_REFRESH_MISSIONLOBBY_ACK*)pMsg; m_friendJoinLobby.iType = -1; // clear m_friendJoinLobby.setM(pRecvPacket->m_RoomInfo); if(pRecvPacket->m_RoomInfo.m_byRoomPublic == eZONEPUBLIC_PRIVATE) { // ºñ¹ø ÀԷ âÀ» show if(m_pUIBattleZonePassword) { m_pPrivateZone = NULL; m_pPrivateZone = &m_friendJoinLobby; ShowPasswordDlg(true); } } else { RequestJoinZone(&m_friendJoinLobby); } pCommMan->SetWaitJoinGame(false); } } break; case CG_ZONE_LIST_REFRESH_PVPLOBBY_ACK: { uiCommunityMan* pCommMan = static_cast(g_InterfaceManager.GetUserInterfaceManager(UIMAN_COMMUNITY)); if(pCommMan && pCommMan->IsWaitJoinGame()) { //PVP_ROOMINFO m_RoomInfo; MSG_CG_ZONE_LIST_REFRESH_PVPLOBBY_ACK *pRecvPacket = (MSG_CG_ZONE_LIST_REFRESH_PVPLOBBY_ACK*)pMsg; m_friendJoinLobby.iType = -1; // clear m_friendJoinLobby.setP(pRecvPacket->m_RoomInfo); if(pRecvPacket->m_RoomInfo.m_byRoomPublic == eZONEPUBLIC_PRIVATE) { // ºñ¹ø ÀԷ âÀ» show if(m_pUIBattleZonePassword) { m_pPrivateZone = NULL; m_pPrivateZone = &m_friendJoinLobby; ShowPasswordDlg(true); } } else { RequestJoinZone(&m_friendJoinLobby); } pCommMan->SetWaitJoinGame(false); } } break; case CG_ZONE_LIST_REFRESH_CHUNTINGLOBBY_ACK: { uiCommunityMan* pCommMan = static_cast(g_InterfaceManager.GetUserInterfaceManager(UIMAN_COMMUNITY)); if(pCommMan && pCommMan->IsWaitJoinGame()) { MSG_CG_ZONE_LIST_REFRESH_CHUNTINGLOBBY_ACK *pRecvPacket = (MSG_CG_ZONE_LIST_REFRESH_CHUNTINGLOBBY_ACK*)pMsg; m_friendJoinLobby.iType = -1; // clear m_friendJoinLobby.setCH (pRecvPacket->m_RoomInfo, 0); if(pRecvPacket->m_RoomInfo.m_byRoomPublic == eZONEPUBLIC_PRIVATE) { // ºñ¹ø ÀԷ âÀ» show if(m_pUIBattleZonePassword) { m_pPrivateZone = NULL; m_pPrivateZone = &m_friendJoinLobby; ShowPasswordDlg(true); } } else { RequestJoinZone(&m_friendJoinLobby); } pCommMan->SetWaitJoinGame(false); } } break; case CG_ZONE_LIST_REFRESH_NONE_ACK: { MSG_CG_ZONE_LIST_REFRESH_NONE_ACK *pRecvPacket = (MSG_CG_ZONE_LIST_REFRESH_NONE_ACK*)pMsg; m_friendJoinLobby.iType = -1; // clear uiCommunityMan* pCommMan = static_cast(g_InterfaceManager.GetUserInterfaceManager(UIMAN_COMMUNITY)); if(pCommMan) { pCommMan->SetWaitJoinGame(false); pCommMan->SetRqstJoinGame(false); } TCHAR szMessage[INTERFACE_STRING_LENGTH] = {0,}; g_InterfaceManager.GetInterfaceString( 93, szMessage, INTERFACE_STRING_LENGTH ); GlobalFunc::OutputMsg_Notice(eOUTPUT_MSG_CHAT, szMessage); } break; case CG_ZONE_LIST_REFRESH_NAK: { //DWORD m_dwErrorCode; MSG_CG_ZONE_LIST_REFRESH_NAK *pRecvPacket = (MSG_CG_ZONE_LIST_REFRESH_NAK*)pMsg; m_friendJoinLobby.iType = -1; // clear uiCommunityMan* pCommMan = static_cast(g_InterfaceManager.GetUserInterfaceManager(UIMAN_COMMUNITY)); if(pCommMan) { pCommMan->SetWaitJoinGame(false); pCommMan->SetRqstJoinGame(false); } TCHAR szMessage[INTERFACE_STRING_LENGTH] = {0,}; g_InterfaceManager.GetInterfaceString( 93, szMessage, INTERFACE_STRING_LENGTH ); GlobalFunc::OutputMsg_Notice(eOUTPUT_MSG_CHAT, szMessage); } break; case CG_ZONE_LOBBY_MISSION_REQUEST_INFO_ACK: { if(BattleScene::IsLobby()) { MSG_CG_ZONE_LOBBY_MISSION_REQUEST_INFO_ACK * pRecvMsg = (MSG_CG_ZONE_LOBBY_MISSION_REQUEST_INFO_ACK *)pMsg; SetNonBlockSlot(pRecvMsg->m_NonBlockNum); for (int i = 0; i < pRecvMsg->m_Count; ++i) { SetReadyUserSlot(pRecvMsg->m_dwReadyPlayerKey[i], true); } GetBattleRoomEntry().SetMapCode( pRecvMsg->m_MapCode ); BattleScene::SetPendingBattleRoomEntry(&GetBattleRoomEntry()); } } break; case CG_ZONE_LOBBY_PVP_REQUEST_INFO_ACK: { if(BattleScene::IsLobby()) { MSG_CG_ZONE_LOBBY_PVP_REQUEST_INFO_ACK * pRecvMsg = (MSG_CG_ZONE_LOBBY_PVP_REQUEST_INFO_ACK *)pMsg; SetNonBlockSlot(pRecvMsg->m_NonBlockNum); for (int i = 0; i < pRecvMsg->m_Count; ++i) { if ( pRecvMsg->m_PlayerInfo[i].m_Ready ) { SetReadyUserSlot(pRecvMsg->m_PlayerInfo[i].m_dwPlayerKey, true); } SetTeamIndexUserSlot(pRecvMsg->m_PlayerInfo[i].m_dwPlayerKey, pRecvMsg->m_PlayerInfo[i].m_Team); if (g_pHero && pRecvMsg->m_PlayerInfo[i].m_dwPlayerKey == g_pHero->GetObjectKey()) { uiBattleScoreMan* pBattleScoreMan = static_cast(g_InterfaceManager.GetUserInterfaceManager(UIMAN_BATTLE_SCORE)); if(pBattleScoreMan) { pBattleScoreMan->SetHeroTeam(pRecvMsg->m_PlayerInfo[i].m_Team); } } } // È®ÀÎ GetBattleRoomEntry().SetAdditionalPVPInfo(&pRecvMsg->m_AdditionalPVPInfo); const sFIELDINFO * pFieldInfo = GetBattleRoomEntry().GetCurFieldInfo(); assert(pFieldInfo); GetBattleRoomEntry().SetMapCode( pRecvMsg->m_MapCode ); BattleScene::SetPendingBattleRoomEntry(&GetBattleRoomEntry()); } } break; case CG_ZONE_LOBBY_NONBLOCKSLOTNUM_BRD: //< ±¸¼º¿øµé¿¡°Ô Àü¼Û { UnsetPKBool(PACKET_STATUS_SEND_PLAYER_NUM); if(BattleScene::IsLobby()) { // ¸¶½ºÅͰ¡ ¾Æ´Ò¶§¸¸ Àǹ̰¡ ÀÖ´Ù. // ÃÖ°í Àοø¼ö¿¡ µû¶ó µÚ¿¡¼­ºÎÅÍ ºí·°Çسª°£´Ù. if(IsMaster()) return; MSG_CG_ZONE_LOBBY_NONBLOCKSLOTNUM_BRD * pRecvMsg = (MSG_CG_ZONE_LOBBY_NONBLOCKSLOTNUM_BRD *)pMsg; SetNonBlockSlot(pRecvMsg->m_NonBlockSlotNum); GetBattleRoomEntry().SetMaxPlayer(pRecvMsg->m_NonBlockSlotNum); BattleScene::SetPendingBattleRoomEntry(&GetBattleRoomEntry()); } } break; case CG_ZONE_MASTER_CHANGED_BRD: { if(BattleScene::IsLobby()) { MSG_CG_ZONE_MASTER_CHANGED_BRD * pRecvMsg = (MSG_CG_ZONE_MASTER_CHANGED_BRD *)pMsg; int iTeam = 0; UserSlot * pUserSlot = this->m_UserSlotSet.GetUserByKey( pRecvMsg->m_dwMasterPlayerKey ); if ( pUserSlot ) { iTeam = pUserSlot->GetTeam(); } LeavePlayer(GetLobbyMasterPlayerKey()); LeavePlayer(pRecvMsg->m_dwMasterPlayerKey); // ¹æÀå µî·Ï SetLobbyMasterPlayerKey(pRecvMsg->m_dwMasterPlayerKey); UserSlot EnterUser; EnterUser.SetPlayerKey(pRecvMsg->m_dwMasterPlayerKey); AddPlayer(EnterUser); SetTeamIndexUserSlot(pRecvMsg->m_dwMasterPlayerKey, iTeam); } } break; // Ç÷¹ÀÌ¾î °­Åð case CG_ZONE_LOBBY_KICKPLAYER_ACK: { UnsetPKBool(PACKET_STATUS_SEND_BAN); // ¿©±â µé¾î¿Ô´Ù¸é °­Åð ´çÇѰÍÀÌ´Ù. if(BattleScene::IsLobby()) { MSG_CG_ZONE_LOBBY_KICKPLAYER_ACK * pRecvMsg = (MSG_CG_ZONE_LOBBY_KICKPLAYER_ACK *)pMsg; } } break; case CG_ZONE_LOBBY_KICKPLAYER_NAK: { UnsetPKBool(PACKET_STATUS_SEND_BAN); if(BattleScene::IsLobby()) { MSG_CG_ZONE_LOBBY_KICKPLAYER_NAK * pRecvMsg = (MSG_CG_ZONE_LOBBY_KICKPLAYER_NAK *)pMsg; g_InterfaceManager.GetStringZoneError(pRecvMsg->m_dwErrorCode, szMessage, INTERFACE_STRING_LENGTH ); uiSystemMan * pSystemMan = (uiSystemMan *)g_InterfaceManager.GetUserInterfaceManager(UIMAN_SYSTEM); if(pSystemMan) pSystemMan->Sys_VerifyLock(szMessage); } } break; case CG_ZONE_LOBBY_LEAVE_ACK: { UnsetPKBool(PACKET_STATUS_SEND_LEAVE); assert(BattleScene::IsLobby()); if(BattleScene::IsLobby()) { assert(g_pHero); if(g_pHero) { uiBattleScoreMan* pBattleScoreMan = static_cast(g_InterfaceManager.GetUserInterfaceManager(UIMAN_BATTLE_SCORE)); if(pBattleScoreMan) { pBattleScoreMan->SetHeroTeam(0); } } MSG_CG_ZONE_LOBBY_LEAVE_ACK * pRecvMsg = (MSG_CG_ZONE_LOBBY_LEAVE_ACK *)pMsg; BattleScene::SetLobbyFlag(FALSE); BattleScene::SetLobbyOutPending(TRUE); if(m_pBattleLobby) m_pBattleLobby->ShowWindow(FALSE); if(g_pMap->IsMission())//¹Ì¼Ç Àç½Ãµµ °ü·ÃÀÏ °æ¿ì ¸¶À» ·Îµù. { BattleScene::m_bPendingBackToSomeWhere = false; g_LoadScene.SetNextSceneAfterLoaded(SCENE_TYPE_VILLAGE, g_pHero->GetCharInfo()->m_iRegion, 0); GameFramework::ChangeScene(SCENE_TYPE_LOAD); g_InterfaceManager.ShowGameInterface(TRUE); } else { // ¸ã¿ÀºêÁ§Æ®¿Í NPC ¸¸ Á¦¿ÜÇϰí delete ÈÄ enter syn¸¦ ³¯·ÁÁÜ. g_ObjectManager.DeleteObjectsByType(PLAYER_OBJECT); g_ObjectManager.DeleteObjectsByType(MONSTER_OBJECT); g_ObjectManager.DeleteObjectsByType(NPC_OBJECT); BattleScene::SendPlayerEnterSyn(TRUE); } g_InterfaceManager.NetworkProc(InterfaceManager::DIALOG_SYSTEM, pMsg); } } break; case CG_ZONE_LOBBY_LEAVE_NAK: { UnsetPKBool(PACKET_STATUS_SEND_LEAVE); if(BattleScene::IsLobby()) { MSG_CG_ZONE_LOBBY_LEAVE_NAK * pRecvMsg = (MSG_CG_ZONE_LOBBY_LEAVE_NAK *)pMsg; g_InterfaceManager.GetStringZoneError(pRecvMsg->m_dwErrorCode, szMessage, INTERFACE_STRING_LENGTH); GlobalFunc::OutputMsg_Notice(eOUTPUT_MSG_TOP_SHOW, szMessage); g_InterfaceManager.NetworkProc(InterfaceManager::DIALOG_SYSTEM, pMsg); } } break; // [±¸¼º¿øÀÇ ±ÇÇÑ] // ±¸¼º¿øÀÌ ·¹µð ¹öưÀ» ´©¸¥´Ù. case CG_ZONE_LOBBY_READY_ACK: { UnsetPKBool(PACKET_STATUS_SEND_READY); if(BattleScene::IsLobby()) { MSG_CG_ZONE_LOBBY_READY_ACK * pRecvMsg = (MSG_CG_ZONE_LOBBY_READY_ACK *)pMsg; assert(g_pHero); assert(!IsMaster()); SetReadyUserSlot(g_pHero->GetObjectKey(), true); TCHAR szStaticText[INTERFACE_STRING_LENGTH]; g_InterfaceManager.GetInterfaceString(302, szStaticText, INTERFACE_STRING_LENGTH); GlobalFunc::SetCaption( m_pBattleLobby->GetCtrlTIStartNReady(), szStaticText ); } } break; case CG_ZONE_LOBBY_READY_NAK: { UnsetPKBool(PACKET_STATUS_SEND_READY); if(BattleScene::IsLobby()) { MSG_CG_ZONE_LOBBY_READY_NAK * pRecvMsg = (MSG_CG_ZONE_LOBBY_READY_NAK *)pMsg; g_InterfaceManager.GetStringZoneError(pRecvMsg->m_dwErrorCode, szMessage, INTERFACE_STRING_LENGTH ); uiSystemMan * pSystemMan = (uiSystemMan *)g_InterfaceManager.GetUserInterfaceManager(UIMAN_SYSTEM); if(pSystemMan) pSystemMan->Sys_VerifyLock(szMessage); } } break; case CG_ZONE_LOBBY_READY_BRD: //< ±¸¼º¿øµé¿¡°Ô Àü¼Û { UnsetPKBool(PACKET_STATUS_SEND_READY); if(BattleScene::IsLobby()) { MSG_CG_ZONE_LOBBY_READY_BRD * pRecvMsg = (MSG_CG_ZONE_LOBBY_READY_BRD *)pMsg; assert(g_pHero); SetReadyUserSlot(pRecvMsg->m_PlayerKey, true); } } break; case CG_ZONE_LOBBY_READY_CANCEL_ACK: { UnsetPKBool(PACKET_STATUS_SEND_READY_CANCLE); if(BattleScene::IsLobby()) { MSG_CG_ZONE_LOBBY_READY_CANCEL_ACK * pRecvMsg = (MSG_CG_ZONE_LOBBY_READY_CANCEL_ACK *)pMsg; if(g_pHero) SetReadyUserSlot(g_pHero->GetObjectKey(), false); TCHAR szStaticText[INTERFACE_STRING_LENGTH]; g_InterfaceManager.GetInterfaceString(110, szStaticText, INTERFACE_STRING_LENGTH); GlobalFunc::SetCaption( m_pBattleLobby->GetCtrlTIStartNReady(), szStaticText ); } } break; case CG_ZONE_LOBBY_READY_CANCEL_NAK: { UnsetPKBool(PACKET_STATUS_SEND_READY_CANCLE); if(BattleScene::IsLobby()) { MSG_CG_ZONE_LOBBY_READY_CANCEL_NAK * pRecvMsg = (MSG_CG_ZONE_LOBBY_READY_CANCEL_NAK *)pMsg; g_InterfaceManager.GetStringZoneError(pRecvMsg->m_dwErrorCode, szMessage, INTERFACE_STRING_LENGTH ); uiSystemMan * pSystemMan = (uiSystemMan *)g_InterfaceManager.GetUserInterfaceManager(UIMAN_SYSTEM); if(pSystemMan) pSystemMan->Sys_VerifyLock(szMessage); } } break; case CG_ZONE_LOBBY_READY_CANCEL_BRD: { UnsetPKBool(PACKET_STATUS_SEND_READY_CANCLE); if(BattleScene::IsLobby()) { MSG_CG_ZONE_LOBBY_READY_CANCEL_BRD * pRecvMsg = (MSG_CG_ZONE_LOBBY_READY_CANCEL_BRD *)pMsg; SetReadyUserSlot(pRecvMsg->m_PlayerKey, false); } } break; // [¹æÀåÀÇ ±ÇÇÑ] // Àοø¼ö º¯°æ // Àοø¼ö°¡ º¯°æµÉ¶§ ¹æÀåÇÑÅ׸¸ ÇöÀç slot À§Ä¡ÀÇ block Á¤º¸¸¦ Á¦´ë·Î º¸¿©ÁÖ°í // Ÿ À¯Àú¿¡°Ô´Â ºí·°µÈ ½½·ÔÀº µÚ¿¡ Â÷°îÂ÷°î ½×ÀδÙ(±âȹ°ú ÇùÀÇÇßÀ½!!) case CG_ZONE_LOBBY_NONBLOCKSLOTNUM_ACK: { UnsetPKBool(PACKET_STATUS_SEND_PLAYER_NUM); if(BattleScene::IsLobby()) { MSG_CG_ZONE_LOBBY_NONBLOCKSLOTNUM_ACK * pRecvMsg = (MSG_CG_ZONE_LOBBY_NONBLOCKSLOTNUM_ACK *)pMsg; // Àοø¼ö ¼ÂÆÃ if(!IsMaster()) return; SetBlockUserSlot(); GetBattleRoomEntry().SetMaxPlayer(m_iPendingPlayerNumBeforeRecvAck); BattleScene::SetPendingBattleRoomEntry(&GetBattleRoomEntry()); } } break; case CG_ZONE_LOBBY_NONBLOCKSLOTNUM_NAK: { UnsetPKBool(PACKET_STATUS_SEND_PLAYER_NUM); if(BattleScene::IsLobby()) { MSG_CG_ZONE_LOBBY_NONBLOCKSLOTNUM_NAK * pRecvMsg = (MSG_CG_ZONE_LOBBY_NONBLOCKSLOTNUM_NAK *)pMsg; g_InterfaceManager.GetStringZoneError(pRecvMsg->m_dwErrorCode, szMessage, INTERFACE_STRING_LENGTH ); uiSystemMan * pSystemMan = (uiSystemMan *)g_InterfaceManager.GetUserInterfaceManager(UIMAN_SYSTEM); if(pSystemMan) pSystemMan->Sys_VerifyLock(szMessage); } } break; // ÆÀ º¯°æ case CG_ZONE_LOBBY_CHANGE_TEAM_ACK: { UnsetPKBool(PACKET_STATUS_SEND_CHANGE_TEAM); if(BattleScene::IsLobby()) { MSG_CG_ZONE_LOBBY_CHANGE_TEAM_ACK * pRecvMsg = (MSG_CG_ZONE_LOBBY_CHANGE_TEAM_ACK *)pMsg; if(g_pHero) { SetTeamUserSlot(g_pHero->GetObjectKey(), m_PendingiTeam); } } } break; case CG_ZONE_LOBBY_CHANGE_TEAM_BRD: { if(BattleScene::IsLobby()) { MSG_CG_ZONE_LOBBY_CHANGE_TEAM_BRD * pRecvMsg = (MSG_CG_ZONE_LOBBY_CHANGE_TEAM_BRD *)pMsg; SetTeamUserSlot(pRecvMsg->m_dwPlayerKey, pRecvMsg->m_Team); } } break; case CG_ZONE_LOBBY_CHANGE_TEAM_NAK: { UnsetPKBool(PACKET_STATUS_SEND_CHANGE_TEAM); if(BattleScene::IsLobby()) { MSG_CG_ZONE_LOBBY_CHANGE_TEAM_NAK * pRecvMsg = (MSG_CG_ZONE_LOBBY_CHANGE_TEAM_NAK *)pMsg; // ÆÀ±³Ã¼¸¦ ÇÒ ¼ö ¾ø´Â »óÅÂÀÔ´Ï´Ù. g_InterfaceManager.GetInterfaceString( 70421, szMessage, INTERFACE_STRING_LENGTH ); GlobalFunc::OutputMsg_Error(eOUTPUT_MSG_CHAT, szMessage); } } break; // pvp config case CG_ZONE_LOBBY_PVP_CONFIG_NAK: { this->UnsetPKBool(ePKBOOL_BATTLEZONE_CG_ZONE_LOBBY_PVP_CONFIG_SYN); if(BattleScene::IsLobby()) { MSG_CG_ZONE_LOBBY_PVP_CONFIG_NAK * pRecvMsg = (MSG_CG_ZONE_LOBBY_PVP_CONFIG_NAK *)pMsg; g_InterfaceManager.GetStringZoneError(pRecvMsg->m_dwErrorCode, szMessage, INTERFACE_STRING_LENGTH ); uiSystemMan * pSystemMan = (uiSystemMan *)g_InterfaceManager.GetUserInterfaceManager(UIMAN_SYSTEM); if(pSystemMan) pSystemMan->Sys_VerifyLock(szMessage); } } break; case CG_ZONE_CHUNTING_CREATE_NAK: { UnsetPKBool(PACKET_STATUS_SEND_CREATE); if(BattleScene::IsLobby()) { MSG_CG_ZONE_CHUNTING_CREATE_NAK * pRecvMsg = (MSG_CG_ZONE_CHUNTING_CREATE_NAK*)pMsg; g_InterfaceManager.GetStringZoneError( pRecvMsg->m_byErrorCode, szMessage, INTERFACE_STRING_LENGTH ); uiSystemMan * pSystemMan = (uiSystemMan *)g_InterfaceManager.GetUserInterfaceManager(UIMAN_SYSTEM); if(pSystemMan) pSystemMan->Sys_VerifyLock(szMessage); } } break; case CG_ZONE_LOBBY_PVP_CONFIG_BRD: { this->UnsetPKBool(ePKBOOL_BATTLEZONE_CG_ZONE_LOBBY_PVP_CONFIG_SYN); if(BattleScene::IsLobby()) { MSG_CG_ZONE_LOBBY_PVP_CONFIG_BRD * pRecvMsg = (MSG_CG_ZONE_LOBBY_PVP_CONFIG_BRD *)pMsg; const sMAPINFO * pMapInfo = GetBattleRoomEntry().GetCurMapInfo(); assert(pMapInfo); GetBattleRoomEntry().SetAdditionalPVPInfo(&pRecvMsg->m_AdditionalPVPInfo); for (int i = 0; i < pRecvMsg->m_Count; ++i) { SetTeamUserSlot(pRecvMsg->m_PlayerInfo[i]); if (g_pHero && pRecvMsg->m_PlayerInfo[i].m_dwPlayerKey == g_pHero->GetObjectKey()) { uiBattleScoreMan* pBattleScoreMan = static_cast(g_InterfaceManager.GetUserInterfaceManager(UIMAN_BATTLE_SCORE)); if(pBattleScoreMan) { pBattleScoreMan->SetHeroTeam(pRecvMsg->m_PlayerInfo[i].m_Team); } } } // È®ÀÎ const sFIELDINFO * pFieldInfo = GetBattleRoomEntry().GetCurFieldInfo(); assert(pFieldInfo); BattleScene::SetPendingBattleRoomEntry(&GetBattleRoomEntry()); } } break; case CG_ZONE_MISSION_CREATE_NAK: { UnsetPKBool(PACKET_STATUS_SEND_CREATE); if(BattleScene::IsLobby()) { MSG_CG_ZONE_MISSION_CREATE_NAK * pRecvMsg = (MSG_CG_ZONE_MISSION_CREATE_NAK *)pMsg; if (pRecvMsg->m_dwErrorCode == RC::RC_ROOM_INSUFFICIENT_USER_NUM) { if (GetBattleRoomEntry().GetCurMapInfo()) { TCHAR szNotice[512] = {0,}; // ÃÖ¼Ò %d ¸íÀÇ ÀοøÀÌ ÇÊ¿äÇÕ´Ï´Ù. g_InterfaceManager.GetInterfaceString( eST_MISSION_CREATE_NAK_MSG, szNotice, INTERFACE_STRING_LENGTH ); Snprintf(szMessage,INTERFACE_STRING_LENGTH-1, szNotice, GetBattleRoomEntry().GetCurMapInfo()->byMinUserNum); } else { g_InterfaceManager.GetStringZoneError(pRecvMsg->m_dwErrorCode, szMessage, INTERFACE_STRING_LENGTH ); } } else { g_InterfaceManager.GetStringZoneError(pRecvMsg->m_dwErrorCode, szMessage, INTERFACE_STRING_LENGTH ); } uiSystemMan * pSystemMan = (uiSystemMan *)g_InterfaceManager.GetUserInterfaceManager(UIMAN_SYSTEM); if(pSystemMan) pSystemMan->Sys_VerifyLock(szMessage); } } break; case CG_ZONE_PVP_CREATE_NAK: { UnsetPKBool(PACKET_STATUS_SEND_CREATE); if(BattleScene::IsLobby()) { MSG_CG_ZONE_PVP_CREATE_NAK * pRecvMsg = (MSG_CG_ZONE_PVP_CREATE_NAK *)pMsg; if (pRecvMsg->m_dwErrorCode == RC::RC_ROOM_INSUFFICIENT_USER_NUM) { if (GetBattleRoomEntry().GetCurMapInfo()) { TCHAR szNotice[512] = {0,}; // ÃÖ¼Ò %d ¸íÀÇ ÀοøÀÌ ÇÊ¿äÇÕ´Ï´Ù. g_InterfaceManager.GetInterfaceString( eST_MISSION_CREATE_NAK_MSG, szNotice, INTERFACE_STRING_LENGTH ); Snprintf(szMessage,INTERFACE_STRING_LENGTH-1, szNotice, GetBattleRoomEntry().GetCurMapInfo()->byMinUserNum); } else { g_InterfaceManager.GetStringZoneError(pRecvMsg->m_dwErrorCode, szMessage, INTERFACE_STRING_LENGTH ); } } else { g_InterfaceManager.GetStringZoneError(pRecvMsg->m_dwErrorCode, szMessage, INTERFACE_STRING_LENGTH ); } uiSystemMan * pSystemMan = (uiSystemMan *)g_InterfaceManager.GetUserInterfaceManager(UIMAN_SYSTEM); if(pSystemMan) pSystemMan->Sys_VerifyLock(szMessage); } } break; case CG_ZONE_MISSION_JOIN_ACK: // ¹æÀå/¸â¹ö µéÀÌ ÀÌÆÐŶÀ» ¹Þ°í ÇØ´ç ¹Ì¼ÇÀ¸·Î µé¾î°£´Ù. { #ifdef _DH_BATTLEZONE2_ //¹èƲÁ¸ ·Îºñ ij¸¯ÅÍ ¿ÀºêÁ§Æ® ÀúÀå uiBattlezone2Man* ui_battlezone2_manager_ = GET_DIALOG_MANAGER(uiBattlezone2Man, UIMAN_BATTLE_ZONE_MANAGER); if (ui_battlezone2_manager_) { ui_battlezone2_manager_->set_battlezone_room_state(uiBattlezone2Man::ROOM_STATE_MISSION); } #else if (BattleScene::IsLobby()) #endif//_DH_BATTLEZONE2_ { MSG_CG_ZONE_MISSION_JOIN_ACK* pRecvMsg = (MSG_CG_ZONE_MISSION_JOIN_ACK*)pMsg; #if defined( _JSH_ADD__PLAY_MOVIE_BEFORE_MISSION_ ) g_LoadScene.SetNextSceneAfterLoaded(SCENE_TYPE_MOVIEPLAY, pRecvMsg->m_MapCode, 0); #else g_LoadScene.SetNextSceneAfterLoaded(SCENE_TYPE_MISSION, pRecvMsg->m_MapCode, 0); #endif BattleScene::SetLobbyFlag(FALSE); BattleScene::SetLobbyInPending(FALSE); EventInfoParser::Instance()->InitPlayedEvent(); g_MissionScene.InitMissionTime(); UnsetPKBool(PACKET_STATUS_SEND_CREATE); GameFramework::ChangeScene(SCENE_TYPE_LOAD); } } break; case CG_ZONE_MISSION_JOIN_NAK: { WRITELOG(eLOG_LEVEL_ERR, c_wOUTPUT_LOG_FILE | c_wOUTPUT_LOG_CENTER, _T("recv CG_ZONE_MISSION_JOIN_NAK")); #ifdef _DH_BATTLEZONE2_ #else if (BattleScene::IsLobby()) #endif//_DH_BATTLEZONE2_ { MSG_CG_ZONE_MISSION_JOIN_NAK * pRecvMsg = (MSG_CG_ZONE_MISSION_JOIN_NAK *)pMsg; WRITELOG(eLOG_LEVEL_ERR, c_wOUTPUT_LOG_FILE | c_wOUTPUT_LOG_CENTER, _T("process CG_ZONE_MISSION_JOIN_NAK: errcode(%d)"), pRecvMsg->m_dwErrorCode); if ( pRecvMsg->m_dwErrorCode == RC::RC_ROOM_INSUFFICIENT_USER_NUM) { if (GetBattleRoomEntry().GetCurMapInfo()) { TCHAR szNotice[512] = {0,}; // ÃÖ¼Ò %d ¸íÀÇ ÀοøÀÌ ÇÊ¿äÇÕ´Ï´Ù. g_InterfaceManager.GetInterfaceString( eST_MISSION_CREATE_NAK_MSG, szNotice, INTERFACE_STRING_LENGTH ); Snprintf(szMessage,INTERFACE_STRING_LENGTH-1, szNotice, GetBattleRoomEntry().GetCurMapInfo()->byMinUserNum); } } else { g_InterfaceManager.GetStringZoneError(pRecvMsg->m_dwErrorCode, szMessage, INTERFACE_STRING_LENGTH ); } uiSystemMan * pSystemMan = (uiSystemMan *)g_InterfaceManager.GetUserInterfaceManager(UIMAN_SYSTEM); if(pSystemMan) pSystemMan->Sys_VerifyLock(szMessage); } } break; case CG_ZONE_PVP_JOIN_ACK: { UnsetPKBool(PACKET_STATUS_SEND_CREATE); #ifdef _DH_BATTLEZONE2_ //¹èƲÁ¸ ·Îºñ ij¸¯ÅÍ ¿ÀºêÁ§Æ® ÀúÀå uiBattlezone2Man* ui_battlezone2_manager_ = GET_DIALOG_MANAGER(uiBattlezone2Man, UIMAN_BATTLE_ZONE_MANAGER); if (ui_battlezone2_manager_) { ui_battlezone2_manager_->set_battlezone_room_state(uiBattlezone2Man::ROOM_STATE_MISSION); } #else if (BattleScene::IsLobby()) #endif//_DH_BATTLEZONE2_ { assert(g_pHero); MSG_CG_ZONE_PVP_JOIN_ACK* pRecvMsg = (MSG_CG_ZONE_PVP_JOIN_ACK*)pMsg; g_LoadScene.SetNextSceneAfterLoaded(SCENE_TYPE_PVP, pRecvMsg->m_MapCode, 0); BattleScene::SetLobbyFlag(FALSE); BattleScene::SetLobbyInPending(FALSE); GameFramework::ChangeScene(SCENE_TYPE_LOAD); } } break; case CG_ZONE_PVP_JOIN_NAK: { #ifdef _DH_BATTLEZONE2_ #else if (BattleScene::IsLobby()) #endif//_DH_BATTLEZONE2_ { MSG_CG_ZONE_PVP_JOIN_NAK * pRecvMsg = (MSG_CG_ZONE_PVP_JOIN_NAK *)pMsg; if ( pRecvMsg->m_dwErrorCode == RC::RC_ROOM_INSUFFICIENT_USER_NUM) { if (GetBattleRoomEntry().GetCurMapInfo()) { TCHAR szNotice[512] = {0,}; // ÃÖ¼Ò %d ¸íÀÇ ÀοøÀÌ ÇÊ¿äÇÕ´Ï´Ù. g_InterfaceManager.GetInterfaceString( eST_MISSION_CREATE_NAK_MSG, szNotice, INTERFACE_STRING_LENGTH ); Snprintf(szMessage,INTERFACE_STRING_LENGTH-1, szNotice, GetBattleRoomEntry().GetCurMapInfo()->byMinUserNum); } else { g_InterfaceManager.GetStringZoneError(pRecvMsg->m_dwErrorCode, szMessage, INTERFACE_STRING_LENGTH ); } } else { g_InterfaceManager.GetStringZoneError(pRecvMsg->m_dwErrorCode, szMessage, INTERFACE_STRING_LENGTH ); } uiSystemMan * pSystemMan = (uiSystemMan *)g_InterfaceManager.GetUserInterfaceManager(UIMAN_SYSTEM); if(pSystemMan) pSystemMan->Sys_VerifyLock(szMessage); } } break; case CG_ZONE_LOBBY_REQUEST_INFO_NAK: { if(BattleScene::IsLobby()) { MSG_CG_ZONE_LOBBY_REQUEST_INFO_NAK * pRecvMsg = (MSG_CG_ZONE_LOBBY_REQUEST_INFO_NAK *)pMsg; g_InterfaceManager.GetStringZoneError(pRecvMsg->m_dwErrorCode, szMessage, INTERFACE_STRING_LENGTH ); uiSystemMan * pSystemMan = (uiSystemMan *)g_InterfaceManager.GetUserInterfaceManager(UIMAN_SYSTEM); if(pSystemMan) pSystemMan->Sys_VerifyLock(szMessage); } } break; case CG_ZONE_LOBBY_PVP_INFO_BRD: { if(BattleScene::IsLobby()) { MSG_CG_ZONE_LOBBY_PVP_INFO_BRD * pRecvMsg = (MSG_CG_ZONE_LOBBY_PVP_INFO_BRD *)pMsg; SetTeamIndexUserSlot(pRecvMsg->m_dwPlayerKey, pRecvMsg->m_Team); } } break; case CG_ZONE_CHANGE_SPECIALTYPE_CMD: { MSG_CG_ZONE_CHANGE_SPECIALTYPE_CMD * pRecvMsg = (MSG_CG_ZONE_CHANGE_SPECIALTYPE_CMD * )pMsg; if( pRecvMsg->m_SpecialType == eROOM_SPECIAL_NORMAL ) { uiPartyMan * partyMan = static_cast(g_InterfaceManager.GetUserInterfaceManager(UIMAN_PARTY)); if(partyMan) { if(partyMan->GetPartyNum() > 1) // KEY_PARTY_ALONE : ÆÄƼ¿øÀÌ È¥ÀÚÀÌ¸é ¸Þ½ÃÁö¸¦ ¶ç¿ìÁö ¾Ê´Â´Ù. { g_InterfaceManager.GetInterfaceString(5861 , szMessage ,INTERFACE_STRING_LENGTH); GlobalFunc::OutputMsg_Notice(eOUTPUT_MSG_CHAT , szMessage ); } } } this->GetBattleRoomEntry().m_RoomInfo.m_SpecialType = pRecvMsg->m_SpecialType; } break; } } break; } } //------------------------------------------------------------------------------ // EOF //------------------------------------------------------------------------------