From 5e13d408700fcdd8c10c7adb0ab407738523f584 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 23 九月 2022 14:35:49 +0800
Subject: [PATCH] 9701 【后端】【越南】【BT7】【主干】跨服竞技64位排位赛(封包)

---
 ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKOver.des          |    1 
 ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKZoneGroupInfo.des |    1 
 ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKOver              |    0 
 ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKOver.h            |   16 ++++++++
 ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKZoneGroupInfo.h   |   45 ++++++++++++++++++++++
 ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKZoneGroupInfo     |    0 
 6 files changed, 63 insertions(+), 0 deletions(-)

diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKOver b/ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKOver
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKOver
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKOver.des b/ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKOver.des
new file mode 100644
index 0000000..981c523
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKOver.des
@@ -0,0 +1 @@
+C0 16 跨服排位战斗结果 #tagGCCrossChampionshipPKOver
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKOver.h b/ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKOver.h
new file mode 100644
index 0000000..7cdd952
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKOver.h
@@ -0,0 +1,16 @@
+// C0 16 跨服排位战斗结果 #tagGCCrossChampionshipPKOver
+
+struct	tagGCCrossChampionshipPKOver
+{
+	tagHead		Head;
+	DWORD		GroupMark; // 分组标识:64、32、16、8 - 64、32、16、8强赛;4 - 半决赛; 2 - 决赛
+	char		TimeStr[19]; // 结算时间,格式 yyyy-MM-dd HH:mm:ss
+	BYTE		OverType; // 0-正常,1-有人离线
+	DWORD		WinnerID; // 胜方ID
+	DWORD		LoserID; // 败方ID
+	BYTE		RoundCount; // PK回合数
+	DWORD		RoundWinnerID[RoundCount]; // 回合获胜ID列表
+	BYTE		TagNameLen;
+	char		TagName[TagNameLen];
+	BYTE		Rank;	// 最终名次,决赛才有
+};
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKZoneGroupInfo b/ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKZoneGroupInfo
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKZoneGroupInfo
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKZoneGroupInfo.des b/ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKZoneGroupInfo.des
new file mode 100644
index 0000000..b859bf8
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKZoneGroupInfo.des
@@ -0,0 +1 @@
+C0 15 跨服排位分区分组信息 #tagGCCrossChampionshipPKZoneGroupInfo
diff --git a/ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKZoneGroupInfo.h b/ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKZoneGroupInfo.h
new file mode 100644
index 0000000..e8a4967
--- /dev/null
+++ b/ServerPack/GameServerPack/HC0_CrossRealm/CrossChampionshipPKZoneGroupInfo.h
@@ -0,0 +1,45 @@
+// C0 15 跨服排位分区分组信息 #tagGCCrossChampionshipPKZoneGroupInfo
+
+struct	tagGCCrossChampionshipPKBattlePlayer
+{
+	DWORD		PlayerID;		// 玩家ID
+	WORD		SuperPlayerCount;	// 总支持人数
+};
+
+struct	tagGCCrossChampionshipPKBattle
+{
+	BYTE		BattleNum;	// 对战组编号 1~n
+	DWORD		WinPlayerID;	// 获胜玩家ID
+	BYTE		PlayerCount;	// 对战玩家数
+	tagGCCrossChampionshipPKBattlePlayer	PlayerList[PlayerCount];	// 玩家列表
+};
+
+struct	tagGCCrossChampionshipPKGroup
+{
+	DWORD		GroupMark;	// 战斗分区mark, 如 64、32、16、8、4-半决赛、2-决赛;
+	BYTE		BattleCount;	// 对战组数
+	tagGCCrossChampionshipPKBattle	BattleList[BattleCount];	// 对战组列表
+};
+
+struct	tagGCCrossChampionshipPKPlayer
+{
+	DWORD		PlayerID;		// 玩家ID
+	BYTE		NameLen;
+	char		PlayerName[NameLen];
+	BYTE		Job;
+	WORD		LV;
+	DWORD		FightPower;
+	WORD		RealmLV;
+};
+
+struct	tagGCCrossChampionshipPKZoneGroupInfo
+{
+	tagHead		Head;
+	DWORD		ActID;		// 活动ID,活动ID不同则可重置前端排位赛相关缓存数据
+	BYTE		StateError;	// 本次活动是否已经出现流程状态异常;如服务器异常或维护服务器导致跳过步骤,则会废弃该次比赛,直到下次新活动;
+	BYTE		ZoneID;		// 分区ID
+	BYTE		PlayerCount;	// 参赛玩家数
+	tagGCCrossChampionshipPKPlayer	PlayerList[PlayerCount];
+	WORD		GroupCount;
+	tagGCCrossChampionshipPKGroup	GroupList[GroupCount];
+};

--
Gitblit v1.8.0