MMatchTransDataType.h
00001 #ifndef _MMATCHTRANSDATATYPE_H 00002 #define _MMATCHTRANSDATATYPE_H 00003 00004 #include "MMatchObject.h" 00005 #include "MMatchRule.h" // MMATCH_GAMETYPE, MMATCH_ROUNDSTATE, MMATCH_ROUNDRESULT 참조 -> 정리요망 00006 #include "MMatchStageSetting.h" 00007 #include "MMatchGameType.h" 00008 00009 #pragma pack(push, old) 00010 #pragma pack(1) 00011 00012 // 내 캐릭터 리스트 정보 - 캐릭터 선택시 사용 00013 struct MTD_AccountCharInfo 00014 { 00015 char szName[MATCHOBJECT_NAME_LENGTH]; 00016 char nCharNum; 00017 unsigned char nLevel; 00018 }; 00019 00020 00021 struct MTD_CharInfo 00022 { 00023 // 캐릭터 정보 00024 char szName[32]; 00025 char szClanName[CLAN_NAME_LENGTH]; 00026 MMatchClanGrade nClanGrade; 00027 unsigned short nClanContPoint; 00028 char nCharNum; 00029 unsigned short nLevel; 00030 char nSex; 00031 char nHair; 00032 char nFace; 00033 unsigned long int nXP; 00034 int nBP; 00035 float fBonusRate; 00036 unsigned short nPrize; 00037 unsigned short nHP; 00038 unsigned short nAP; 00039 unsigned short nMaxWeight; 00040 unsigned short nSafeFalls; 00041 unsigned short nFR; 00042 unsigned short nCR; 00043 unsigned short nER; 00044 unsigned short nWR; 00045 00046 // 아이템 정보 00047 unsigned long int nEquipedItemDesc[MMCIP_END]; 00048 00049 // account 의 정보 00050 MMatchUserGradeID nUGradeID; 00051 00052 // ClanCLID 00053 unsigned int nClanCLID; 00054 }; 00055 00056 // 내 캐릭터 정보의 추가 정보 00057 struct MTD_MyExtraCharInfo 00058 { 00059 char nLevelPercent; 00060 }; 00061 00062 // 현재 사용하지 않는다. 00063 struct MTD_SimpleCharInfo 00064 { 00065 char szName[32]; 00066 char nLevel; 00067 char nSex; 00068 char nHair; 00069 char nFace; 00070 unsigned long int nEquipedItemDesc[MMCIP_END]; 00071 }; 00072 00073 00074 struct MTD_MySimpleCharInfo 00075 { 00076 unsigned char nLevel; 00077 unsigned long int nXP; 00078 int nBP; 00079 }; 00080 00081 struct MTD_CharLevelInfo 00082 { 00083 unsigned char nLevel; 00084 unsigned long int nCurrLevelExp; 00085 unsigned long int nNextLevelExp; 00086 }; 00087 00088 struct MTD_RoundPeerInfo 00089 { 00090 MUID uidChar; 00091 unsigned char nHP; 00092 unsigned char nAP; 00093 }; 00094 00095 struct MTD_RoundKillInfo 00096 { 00097 MUID uidAttacker; 00098 MUID uidVictim; 00099 }; 00100 00101 struct MTD_ItemNode 00102 { 00103 MUID uidItem; 00104 unsigned long int nItemID; 00105 int nRentMinutePeriodRemainder; // 기간제 아이템 사용가능시간(초단위), RENT_MINUTE_PERIOD_UNLIMITED이면 무제한 00106 }; 00107 00108 struct MTD_AccountItemNode 00109 { 00110 int nAIID; 00111 unsigned long int nItemID; 00112 int nRentMinutePeriodRemainder; // 기간제 아이템 사용가능시간(초단위), RENT_MINUTE_PERIOD_UNLIMITED이면 무제한 00113 }; 00114 00115 // 게임안 상태 정보 00116 struct MTD_GameInfoPlayerItem 00117 { 00118 MUID uidPlayer; 00119 bool bAlive; 00120 int nKillCount; 00121 int nDeathCount; 00122 }; 00123 00124 struct MTD_GameInfo 00125 { 00126 char nRedTeamScore; // 팀전에서만 사용하는 레드팀정보 00127 char nBlueTeamScore; // 팀전에서만 사용하는 블루팀정보 00128 }; 00129 00130 struct MTD_RuleInfo 00131 { 00132 unsigned char nRuleType; 00133 }; 00134 00135 struct MTD_RuleInfo_Assassinate : public MTD_RuleInfo 00136 { 00137 MUID uidRedCommander; 00138 MUID uidBlueCommander; 00139 }; 00140 00141 enum MTD_PlayerFlags { 00142 MTD_PlayerFlags_AdminHide = 1, 00143 MTD_PlayerFlags_BridgePeer = 1<<1 00144 }; 00145 00146 struct MTD_ChannelPlayerListNode 00147 { 00148 MUID uidPlayer; 00149 char szName[MATCHOBJECT_NAME_LENGTH]; 00150 char szClanName[CLAN_NAME_LENGTH]; 00151 char nLevel; 00152 MMatchPlace nPlace; 00153 unsigned char nGrade; // 로비에서는 uid 로 캐릭터의 등급을 알수가 없어서.. 00154 unsigned char nPlayerFlags; // 플레이어 속성(운영자숨김등) - MTD_PlayerFlags 사용 00155 unsigned int nCLID; // ClanID 00156 unsigned int nEmblemChecksum;// Emblem Checksum 00157 }; 00158 00159 struct MTD_ClanMemberListNode 00160 { 00161 MUID uidPlayer; 00162 char szName[MATCHOBJECT_NAME_LENGTH]; 00163 char nLevel; 00164 MMatchClanGrade nClanGrade; 00165 MMatchPlace nPlace; 00166 }; 00167 00168 00169 // 아이템 스폰 정보 00170 struct MTD_WorldItem 00171 { 00172 unsigned short nUID; 00173 unsigned short nItemID; 00174 float x; 00175 float y; 00176 float z; 00177 }; 00178 00179 00180 // 바로게임하기 필터링 정보 00181 struct MTD_QuickJoinParam 00182 { 00183 unsigned long int nMapEnum; // 원하는 맵의 비트어레이 00184 unsigned long int nModeEnum; // 윈하는 게임모드의 비트어레이 00185 }; 00186 00187 00188 // 캐릭터의 클랜 업데이트 정보 00189 struct MTD_CharClanInfo 00190 { 00191 char szClanName[CLAN_NAME_LENGTH]; // 클랜 이름 00192 MMatchClanGrade nGrade; 00193 }; 00194 00195 00196 // 유저 정보보기 00197 struct MTD_CharInfo_Detail 00198 { 00199 char szName[32]; // 이름 00200 char szClanName[CLAN_NAME_LENGTH]; // 클랜이름 00201 MMatchClanGrade nClanGrade; // 클랜직책 00202 int nClanContPoint; // 클랜 기여도 00203 unsigned short nLevel; // 레벨 00204 char nSex; // 성별 00205 char nHair; // 머리 코스츔 00206 char nFace; // 얼굴 코스츔 00207 unsigned long int nXP; // xp 00208 int nBP; // bp 00209 00210 int nKillCount; 00211 int nDeathCount; 00212 00213 // 접속상황 00214 00215 unsigned long int nTotalPlayTimeSec; // 총 플레이 시간 00216 unsigned long int nConnPlayTimeSec; // 현재 접속 시간 00217 00218 00219 unsigned long int nEquipedItemDesc[MMCIP_END]; // 아이템 정보 00220 00221 MMatchUserGradeID nUGradeID; // account UGrade 00222 00223 // ClanCLID 00224 unsigned int nClanCLID; 00225 }; 00226 00227 00229 struct MTD_StageListNode 00230 { 00231 MUID uidStage; 00232 short nNo; 00233 char szStageName[STAGENAME_LENGTH]; 00234 char nPlayers; 00235 char nMaxPlayers; 00236 STAGE_STATE nState; 00237 MMATCH_GAMETYPE nGameType; 00238 char nMapIndex; 00239 int nSettingFlag; 00240 char nMasterLevel; 00241 char nLimitLevel; 00242 }; 00243 00245 struct MTD_ExtendInfo 00246 { 00247 char nTeam; 00248 unsigned char nPlayerFlags; // 플레이어 속성(운영자숨김등) - MTD_PlayerFlags 사용 00249 unsigned char nReserved1; // 여분 00250 unsigned char nReserved2; 00251 unsigned char nReserved3; 00252 }; 00253 00254 struct MTD_PeerListNode 00255 { 00256 MUID uidChar; 00257 char szIP[64]; 00258 unsigned int nPort; 00259 MTD_CharInfo CharInfo; 00260 MTD_ExtendInfo ExtendInfo; 00261 }; 00262 00263 00264 // 동의 답변자 00265 struct MTD_ReplierNode 00266 { 00267 char szName[MATCHOBJECT_NAME_LENGTH]; 00268 }; 00269 00270 00271 // 래더 게임 신청 팀 그룹 00272 struct MTD_LadderTeamMemberNode 00273 { 00274 char szName[MATCHOBJECT_NAME_LENGTH]; 00275 00276 }; 00277 00278 // 클랜 정보 00279 struct MTD_ClanInfo 00280 { 00281 char szClanName[CLAN_NAME_LENGTH]; // 클랜 이름 00282 short nLevel; // 레벨 00283 int nPoint; // 포인트 00284 int nTotalPoint; // 토탈포인트 00285 int nRanking; // 랭킹 00286 char szMaster[MATCHOBJECT_NAME_LENGTH]; // 클랜 마스터 00287 unsigned short nWins; // 전적 - 승수 00288 unsigned short nLosses; // 전적 - 패수 00289 unsigned short nTotalMemberCount; // 전체 클랜원수 00290 unsigned short nConnedMember; // 현재 접속된 클랜원수 00291 unsigned int nCLID; // ClanID 00292 unsigned int nEmblemChecksum; // Emblem Checksum 00293 }; 00294 00295 // 클랜전 대기중인 클랜 리스트 00296 struct MTD_StandbyClanList 00297 { 00298 char szClanName[CLAN_NAME_LENGTH]; // 클랜 이름 00299 short nPlayers; // 대기중인 인원수 00300 short nLevel; // 레벨 00301 int nRanking; // 랭킹 - 0이면 unranked 00302 unsigned int nCLID; // ClanID 00303 unsigned int nEmblemChecksum; // Emblem Checksum 00304 }; 00305 00306 00307 // 퀘스트, 서바이벌의 게임 정보 00308 struct MTD_QuestGameInfo 00309 { 00310 unsigned short nQL; // 퀘스트 레벨 00311 float fNPC_TC; // NPC 난이도 조절 계수 00312 unsigned short nNPCCount; // 섹터당 등장할 NPC개수 00313 00314 unsigned char nNPCInfoCount; // 등장할 NPC 종류 개수 00315 unsigned char nNPCInfo[MAX_QUEST_NPC_INFO_COUNT]; // 등장할 NPC 정보 00316 unsigned short nMapSectorCount; // 맵 노드 개수 00317 unsigned short nMapSectorID[MAX_QUEST_MAP_SECTOR_COUNT]; // 맵 노드 ID 00318 char nMapSectorLinkIndex[MAX_QUEST_MAP_SECTOR_COUNT]; // 맵 노드의 Link Index 00319 00320 }; 00321 00322 // 퀘스트, 보상 내용 00323 struct MTD_QuestReward 00324 { 00325 MUID uidPlayer; // 해당 플레이어 UID 00326 int nXP; // 해당 플레이어가 얻은 XP 00327 int nBP; // 해당 플레이어가 얻은 BP 00328 // 아이템 추가해야함 00329 }; 00330 00331 #ifdef _QUEST_ITEM 00332 struct MTD_QuestItemNode 00333 { 00334 int m_nItemID; 00335 int m_nCount; 00336 }; 00337 #endif 00338 00339 00340 #pragma pack(pop, old) 00341 00342 00343 // admin 전용 00344 enum ZAdminAnnounceType 00345 { 00346 ZAAT_CHAT = 0, 00347 ZAAT_MSGBOX 00348 }; 00349 00350 00352 void Make_MTDItemNode(MTD_ItemNode* pout, MUID& uidItem, unsigned long int nItemID, int nRentMinutePeriodRemainder); 00353 void Make_MTDAccountItemNode(MTD_AccountItemNode* pout, int nAIID, unsigned long int nItemID, int nRentMinutePeriodRemainder); 00354 00355 #ifdef _QUEST_ITEM 00356 void Make_MTDQuestItemNode( MTD_QuestItemNode* pOut, const unsigned long int nItemID, const int nCount ); 00357 #endif 00358 00359 00360 #endif
MAIET entertainment