From 01a0e539b786ae0f1c46646874502367f5410aca Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 04 二月 2026 18:18:51 +0800
Subject: [PATCH] 66 【公会】基础主体-服务端(优化游戏服及跨服启动、通讯逻辑;服务器类型增加跨服中心、跨服事件、时间管理;跨服玩家在线状态、基础信息、玩家资源增减管理、发送跨服个人邮件等;跨服公会初版,修复公会成员审核、成员战力刷新等bug,增加公会名次同步;跨服公会暂未测试;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py |  111 +++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 86 insertions(+), 25 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
index 9875d4c..650e9f8 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -15,6 +15,8 @@
 #"""Version = 2013-10-30 15:20"""
 #---------------------------------------------------------------------
 
+import IPY_GameWorld
+
 # 游戏默认编码
 Def_Game_Character_Encoding = 'gbk'
 
@@ -31,6 +33,7 @@
 Def_MixServerDay = 'MixServerDay' #服务器已经合服多少天
 Def_IsMixServerInitOK = 'IsMixServerInitOK' #服务器合服首次启动OK
 Def_LastMixServerDay = 'LastMixServerDay' #上次合服时的开服天数
+Def_CrossCenterEvent = 'CrossCenterEvent' # 跨服中心事件值
 #首次开服时间,注意不要用该日期做开服天相关的功能逻辑,如果要用开服天,请用 Def_ServerDay
 ''' 原因: 
 因为目前开服天的逻辑大部分是用 Def_ServerDay,当出现服务器宕机超过24小时时,就会导致 Def_ServerDay 与 Def_InitOpenServerTime 不对应
@@ -40,9 +43,9 @@
 Def_InitOpenServerTime = 'InitOpenServerTime'
 Def_SetOpenServerTime = 'SetOpenServerTime' # GM工具预定的开服时间
 
-
+Def_FamilyCrossState = 'FamilyCrossState' # 本服公会跨服状态, 0-未跨服;1-已跨服
+Def_FamilyTransDataTime = 'FamilyTransDataTime' # 本服公会首次跨服互通数据开始传输时间戳,不为0代表传输数据中
 Def_OSAAwardState = 'OSAAwardState' #开服冲榜活动结算状态
-# ------------------------- WorldKey ------------------------- 
 
 #---奇迹, 职业枚举定义---
 (
@@ -419,7 +422,9 @@
     Def_mitGatherSoulCompound,# 聚魂合成
     Def_mitGatherSoulDecompose,# 聚魂分解
     Def_mitMainDropItemOP,# 主线装备操作 25
-) = range(1, 1 + 25)
+    Def_mitMGTuiyan,          # 命格推演 26
+    Def_mitMinggeEquip,       # 命格装备 27
+) = range(1, 1 + 27)
 
 #---写死的技能ID---
 
@@ -815,6 +820,7 @@
 GameFuncID_OSA_MainLevel = 45   # 开服关卡榜
 GameFuncID_OSA_HeroCall = 46    # 开服招募榜
 GameFuncID_OSA_Celebration = 47 # 开服庆典
+GameFuncID_Mingge = 54          # 命格
 
 # 以下为暂时无用的
 GameFuncID_Pet = -1             # 宠物,灵宠 6
@@ -829,8 +835,10 @@
 rptDogzEquip,       # 神兽装备背包 33
 rptGarbage,         # 垃圾分类背包 34
 rptHero,            # 武将英雄背包 35
+rptMGGuayu,         # 命格卦玉背包 36
+rptMGTuiyan,        # 命格推演背包 37
 rptMax,             # 最大背包类型数量,放在最后一个
-) = range(28, 28 + 9)  #C++定义的枚举到27
+) = range(28, 28 + 11)  #C++定义的枚举到27
 
 #虚拟背包类型, 从255递减
 Def_VPack_TypeList = (
@@ -838,6 +846,7 @@
 rptRune,            # 符印背包 255
 ) = range(256 - 2, 256)
 
+NeedRecordRPType = [IPY_GameWorld.rptItem, rptTreasure, rptHero, IPY_GameWorld.rptIdentify, rptMGTuiyan]
 
 #武器的手持形式
 (
@@ -880,13 +889,17 @@
                        Def_GameRecType_TalkCache, # 聊天缓存,频道 306
                        Def_GameRecType_PlayerOfflineUnprocessed, # 离线玩家待处理事件,playerID 307
                        Def_GameRecType_ArenaRecord, # 演武场玩家挑战记录,playerID 308
-                       ) = range(300, 1 + 308)
+                       Def_GameRecType_BatPreset, # 战斗方案预设额外存储信息,playerID 309
+                       ) = range(300, 1 + 309)
 #通用信息记录新 - 字典key配置,如果有配置,则可额外按对应记录Value值存储字典,方便快速取值,可配置Value编号 1~8,配空默认 Value1
 Def_GameRecValueKeyDict = {
                            Def_GameRecType_Xiangong:[1],
                            }
 #仅查看自己的记录
-Def_ViewGameRecSelfList = [Def_GameRecType_ArenaRecord]
+Def_ViewGameRecSelfList = [Def_GameRecType_ArenaRecord, Def_GameRecType_BatPreset]
+
+#UserData不使用json的记录类型
+UserDataNOJsonRecTypeList = []
 
 #通用信息记录类型
 Def_UniversalGameRecTypeList = (
@@ -976,7 +989,7 @@
 
 #家族行为类型 在GameServer.ChConfig.ActionTypeSaveCnt 中配置最高存储条数
 Def_ActionTypeList = (
-                      Def_ActionType_FamilyData, #仙盟额外记录信息0
+                      Def_ActionType_0,
                       Def_ActionType_1,
                       Def_ActionType_2,
                       Def_ActionType_FamilyAdd,    #申请进入家族3
@@ -1050,11 +1063,19 @@
 CampType_Evil,       #邪恶(与 Def_ID2Win 一致)
 ] = range(3)
 
-# json里的配表 服务器类型(0主服,1子服,2跨服,3战斗服)]
+# serverJosn里配置索引 ServersConfig.json目前配置规则{SeverID:[GroupName,MapID,服务器类型(0主服,1子服,2跨服)], ...}
+(
+serverCfgIndex_GroupName, # 所属 GroupName
+serverCfgIndex_MapID, # 服务器对应的地图ID
+serverCfgIndex_ServerType, # 服务器类型
+) = range(3)
+
+# json里的配表 服务器类型(0主服,1子服,2跨服,3战斗服,4跨服中心)]
 serverType_Main = 0 # 0主服
 serverType_Child = 1 # 1子服
 serverType_Cross = 2 # 2跨服
 serverType_Battle = 3 # 3战斗服
+serverType_CrossCenter = 4 # 4跨服中心,只允许最多1台
 
 # dirType //0全广播,1通知主服务器排除合服子服,2通知服务器包含合服子服, 3通知跨服服务器 ,4通知战斗服务器
 dirType_All = 0 # 0全广播
@@ -1062,10 +1083,47 @@
 dirType_Child = 2 # 2通知服务器包含合服子服
 dirType_Cross = 3 # 3通知跨服服务器
 dirType_Battle = 4 # 4通知战斗服务器
+dirType_MainAndCross = 5 # 通知主服务器+跨服
+
+# 服务器间连接状态
+(
+ssConn_Unknown, # 未知 0
+ssConn_Normal, # 正常连接 1
+ssConn_Disconnected, # 断开 2
+) = range(3)
 
 # 服务器间的信息定义
-SSMsg_BattleRequest = "SS_BattleRequest"
-SSMsg_BattleResult = "SS_BattleResult"
+# 服务器类型简写: C - 跨服/跨服中心; CC - 跨服中心;S - 游戏服; B - 战斗服
+
+# 跨服中心 -> 其他跨服
+CC2C_FamilyCrossCfg = "CC2C_FamilyCrossCfg"             # 公会分区配置
+
+# 跨服  -> 游戏服
+#C2S_PlayerLoginOK = "C2S_PlayerLoginOK"                 # 跨服玩家处理登录成功
+C2S_SendFakePack = "C2S_SendFakePack"                   # 给玩家发送封包
+C2S_FamilyCrossInfo = "C2S_FamilyCrossInfo"             # 跨服同步给游戏服的公会信息
+C2S_FamilyDataRet = "C2S_FamilyDataRet"                 # 公会首次跨服互通时同步数据结果回复
+C2S_FamilyMapPlayer = "C2S_FamilyMapPlayer"             # 给公会玩家处理地图服务器逻辑
+C2S_FamilyPyPackRet = "C2S_FamilyPyPackRet"             # 公会功能玩家请求包处理结束回包,一般用于重置请求cd等
+C2S_NotifyCode = "C2S_NotifyCode"                       # 给玩家发送信息提示
+C2S_CostPlayerResources = "C2S_CostPlayerResources"     # 扣除玩家资源,货币、物品等
+C2S_GivePlayerResources = "C2S_GivePlayerResources"     # 奖励玩家资源,货币、物品等
+C2S_SetPlayerNomalDict = "C2S_SetPlayerNomalDict"       # 设置玩家字典值
+C2S_SendPlayerMail = "C2S_SendPlayerMail"               # 发送玩家个人邮件
+
+# 游戏服  -> 跨服
+S2C_OnlineState = "S2C_OnlineState"                     # 玩家在线状态同步
+S2C_PlayerBaseInfo = "S2C_PlayerBaseInfo"               # 玩家基础信息同步
+S2C_FamilyData = "S2C_FamilyData"                       # 公会首次跨服互通时同步数据
+S2C_FamilyPyPack = "S2C_FamilyPyPack"                   # 公会功能玩家请求包
+S2C_GMCMD = "S2C_GMCMD"                                 # GM命令
+
+# 其他
+S2B_BattleRequest = "S2B_BattleRequest"                 # 战斗请求
+B2S_BattleResult = "B2S_BattleResult"                   # 战斗结果
+
+# Debug日志不输出通讯数据明细的类型,debug模式下看,一些纯数据类的可不输出通讯数据明细
+NoLogDataSSMsgTypes = [S2B_BattleRequest, B2S_BattleResult, S2C_FamilyData, C2S_SendFakePack]
 
 # 跨服服务器发送子服信息定义
 CrossServerMsg_CrossServerState = "CrossServerState"    # 跨服服务器状态变更
@@ -1214,18 +1272,13 @@
 Def_IudetItemDecompound = 33  # 拆解返还物品列表 [装备ID,材料1ID,个数,是否绑定,材料2ID,个数,是否绑定,...]
 Def_IudetLiantaiItemID = 35  # 合成该莲台的所有莲台ID [itemID, itemID, ...]
 Def_IudetAddSkillID = 37  # 可添加的技能ID列表  [skillID, skillID, ...]
-Def_IudetLegendAttrIDShen = 51  # 物品传奇属性ID列表 - 神
-Def_IudetLegendAttrValueShen = 61  # 物品传奇属性值列表 - 神
-Def_IudetLegendAttrIDXian = 53  # 物品传奇属性ID列表 - 仙
-Def_IudetLegendAttrValueXian = 63  # 物品传奇属性值列表 - 仙
-Def_IudetLegendAttrIDJi = 55  # 物品传奇属性ID列表 - 极
-Def_IudetLegendAttrValueJi = 65  # 物品传奇属性值列表 - 极
 Def_IudetHeroTalentID = 71  # 英雄天赋ID列表
 Def_IudetHeroTalentIDLV = 73  # 英雄天赋ID等级列表
 Def_IudetHeroTalentWashLock = 75  # 英雄天赋洗炼锁定索引列表
 Def_IudetHeroTalentWashID = 77  # 英雄天赋洗炼随机ID列表
 Def_IudetHeroTalentIDAwakeRand = 79  # 英雄觉醒时随机天赋选项ID列表
 Def_IudetHeroLineup = 81 # 所在阵容信息列表 [阵容类型*10000+阵型类型*100+位置编号, ...]
+Def_IudetHeroEffPresetID = 83 # 卡牌有生效的预设ID [预设ID, ...]
 
 Def_IudetItemColor = 16  # 物品颜色,如果该值没有就取物品
 #Def_IudetItemCount = 18  # 物品个数,支持20亿,目前仅特殊转化物品会用到
@@ -1247,7 +1300,7 @@
 Def_IudetHeroBreakLV = 74 # 英雄突破等级
 Def_IudetHeroAwakeLV = 76 # 英雄觉醒等级
 Def_IudetHeroSkin = 78 # 英雄使用的皮肤索引
-Def_IudetHeroCardEffective = 80 # 卡牌加成是否生效的,每个武将仅有一张卡牌生效
+Def_IudetHeroCardEffective = 80 # 卡牌在主线预设中生效标识,每个武将在某一阵容预设中仅有一张卡牌生效,废弃,使用 Def_IudetHeroEffPresetID 代替
 
 # 200~300 宠物数据用
 Def_IudetPet_NPCID = 200  # npcID
@@ -1264,15 +1317,23 @@
 
 LineupObjMax = 6 # 阵容最大上阵武将数
 
-# 阵容定义,主动进攻阵容只使用主阵容,功能可以有指定的阵容,如防守阵容、系统PK阵容等
-LineupList = (
-Lineup_Main, # 主阵容 1
-Lineup_2, # 废弃
-Lineup_ArenaDef, # 竞技场防守阵容 3
-) = range(1, 1 + 3)
+# 战斗功能预设定义
+BatPresetList = (
+BatPreset_Main, # 主线战斗 1
+BatPreset_ArenaDef, # 演武场防守 2
+) = range(1, 1 + 2)
 
-# 需要存储查看缓存的阵容ID列表,一般只存储主阵容及各功能所需的防守阵容
-NeedViewCacheLineupIDList = [Lineup_Main, Lineup_ArenaDef]
+# 需要缓存的战斗功能预设,一般只要主线+防守功能预设,主动攻击的PVE功能可以不用,如某个副本的主动攻击预设
+NeedCacheBatPresetList = [BatPreset_Main, BatPreset_ArenaDef]
+
+BatPresetName = {BatPreset_Main:"主线", BatPreset_ArenaDef:"演武场防守"}
+
+# 功能预设定义
+FuncPresetList = (
+FuncPreset_Battle,  # 全局战斗预设 1
+FuncPreset_Hero,    # 武将预设 2
+FuncPreset_Mingge,  # 命格预设 3
+) = range(1, 1 + 3)
 
 # 宠物物品数据状态
 Def_PetStateList = (

--
Gitblit v1.8.0