CSCommon: MMatchTransDataType.h 소스 파일

MAIET

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