From e478520b594ff7306884ce1fd5cbdd9bb67a0a53 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 27 二月 2025 22:48:34 +0800
Subject: [PATCH] 10350 【GM】【越南】【英文】【BT】【砍树】跨服竞技场优化(没有匹配到机器人时概率直接匹配到机器人)

---
 ServerPython/CoreServerGroup/GameServer/Script/ChConfig.py |  108 +++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 82 insertions(+), 26 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChConfig.py b/ServerPython/CoreServerGroup/GameServer/Script/ChConfig.py
index c6f4d3c..2b69f4f 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChConfig.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChConfig.py
@@ -58,6 +58,12 @@
     ##获取服务器根路径
     return GameServerPath.split("CoreServerGroup")[0]
 
+def GetSizeof(o, isAsize=True):
+    return 0
+    #if isAsize:
+    #    return asizeof.asizeof(o)
+    #return sys.getsizeof(0)
+    
 #------主角相关设定
 #主角发型列表 [职业:发型列表]
 Def_RoleHair = {
@@ -206,8 +212,9 @@
 Def_FamilySetting_LvUpCost,           #家族升级需要消耗升级所需资金
 Def_FamilySetting_WeekMissionMoneyMax,#每周任务最大可获得仙盟资金
 Def_FamilySetting_BossFBCnt,          #BOSS副本次数
+Def_FamilySetting_ZhenbaogeWeights,   #珍宝阁总权重
 Def_FamilySetting_Max,                #表长度异常(必须放最后)
-) = range(0, 6 + 1)
+) = range(0, 7 + 1)
 FamilySettingDict = {
                      Def_FamilySetting_MaxMemberCnt:'MemberCnt',
                      Def_FamilySetting_MaxHuFaCnt:'DeputyLeaderCnt',
@@ -215,6 +222,7 @@
                      Def_FamilySetting_LvUpCost:'NeedMoney',
                      Def_FamilySetting_WeekMissionMoneyMax:'WeekMissionMoneyMax',
                      Def_FamilySetting_BossFBCnt:'BossFBCnt',
+                     Def_FamilySetting_ZhenbaogeWeights:'ZhenbaogeWeights',
                      }
 
 #家族成员接口对应家族配置表索引
@@ -315,8 +323,6 @@
 TYPE_WorldBossOnlineCntTick = 26  # 定时世界BOSS刷新时间计算 在线玩家数量
 TYPE_TimeShopProcessTick = 27  # 定时商店处理间隔
 TYPE_WorldBossProcessTick = 28  # BOSS重生检查间隔
-TYPE_WorldBossGeTuiTick = 29  # BOSS个推
-TYPE_WorldNewGuyGeTuiTick = 30  # 低级新玩家离开5分钟后唤回
 
 TYPE_Tick_Time = [
                   1000 * 60 * 3 ,  #0 查看地图的活动人数 3分钟/次 
@@ -348,8 +354,6 @@
                   1000 * 60 * 5     ,  #26 定时世界BOSS刷新时间计算 在线玩家数量
                   1000 * 60     ,  #27 定时商店处理间隔
                   1000 * 1     ,  #28 BOSS重生检查间隔
-                  1000*45,      #29 BOSS个推
-                  1000*60,      #30 低级新玩家离开5分钟后唤回
                  ]
 
 TYPE_Tick_Count = len(TYPE_Tick_Time)
@@ -368,8 +372,8 @@
 Def_WorldKey_ExamSendSubjectCnt = 'ExamSendSubjectCnt'       #当前发题总数
 Def_WorldKey_BossIsAlive = 'BossIsAlive_%s'                  #boss是否活着
 Def_WorldKey_IsGameWorldInit = 'IsGameWorldInit'             #GameWold是否初始化完成
-Def_WorldKey_BossIsGeTui = "BossGeTui%s"                     #当前复活通知
 Def_WorldKey_OperationActionState = "State_%s"               #运营活动状态,参数为(运营活动名)
+Def_WorldKey_OperationActionStateJoin = "StateJoin_%s"       #运营活动可参与状态,参数为(运营活动名)
 Def_WorldKey_BossRebornNeedPoint = "BossRebornNeedPoint"     #boss复活需要总点数
 Def_WorldKey_CrossBossIsAlive = 'CrossBossIsAlive_%s_%s'     #跨服boss是否活着,参数(zoneID, bossID)
 Def_WorldKey_GameWorldInitOK = 'GameWorldInitOK'             #GameWold是否初始化完成OK
@@ -436,6 +440,12 @@
 
 Def_PlayerKey_PrivateTalk = 'PrivateTalk'          #追踪密频(1:开启 0:关闭)
 #---------------------------------------------------------------------
+# GameWorld.GetGameWorld().SendDBLogic(BYTE queryType, DWORD id, char* sData, int nDataLen)
+# GameServer请求db逻辑类型,db接受 OnGameServerToDBLogic,回调 RecvDGDBLogicResult
+(
+gstDBLogic_PlayerPackData, # 请求打包玩家数据 0
+) = range(1)
+
 #GM工具回复值
 Def_GMTool_Succeed = 1
 Def_GMTool_Fail = 250
@@ -519,6 +529,18 @@
 #查询无限制家族的行为类型列表
 Def_QueryNoLimit_ActionTypeList = [ShareDefine.Def_ActionType_OfficerModelEquip]
 #------------------------------------------------------------------------------ 
+#DBPlayerRecData、DBGameRecData表中UserData数据通用自定义key
+Def_RecDataKey_ServerIDList = "ServerIDList"
+Def_RecDataKey_PlayerInfo = "PlayerInfo"
+Def_RecDataKey_RobValueList = "RobValueList"
+
+#玩家记录上线需要直接同步给前端的类型
+Def_PlayerRecLoginNotifyList = [ShareDefine.Def_PlayerRecType_PayCoin]
+
+#玩家记录类型每人限制条数,没有配置的类型不限制,由功能自行控制
+Def_PlayerRecCountDict = {
+                          ShareDefine.Def_PlayerRecType_PayCoin:100,
+                          }
 
 #玩家通用信息记录类型保存的条数
 UniversalGameRecTypeSaveCnt = {
@@ -574,19 +596,19 @@
             ShareDefine.Def_BT_Realm                    : 100,           #境界榜
             ShareDefine.Def_BT_TotalRecharge            : 100,           #充值榜
             
-            ShareDefine.Def_BT_Campaign_Plus            : 100,           #强化战力(开服活动榜)
-            ShareDefine.Def_BT_Campaign_Horse           : 100,           #坐骑战力(开服活动榜)  
-            ShareDefine.Def_BT_Campaign_StoneLV         : 100,           #宝石等级(开服活动榜)
-            ShareDefine.Def_BT_Campaign_LV              : 100,           #冲级排行(开服活动榜)
-            ShareDefine.Def_BT_Campaign_RealmLV         : 100,           #境界等级(开服活动榜)
-            ShareDefine.Def_BT_Campaign_FightPower      : 100,           #战力排行(开服活动榜)
-            ShareDefine.Def_BT_Campaign_RuneLV          : 100,           #符印等级(开服活动榜)
-            ShareDefine.Def_BT_Campaign_GodWeaponLV     : 100,           #神兵等级(开服活动榜)
-            ShareDefine.Def_BT_Campaign_Recharge        : 100,           #累计充值(开服活动榜)
-            ShareDefine.Def_BT_Campaign_PetLV           : 100,           #灵宠等级(开服活动榜)  
-            ShareDefine.Def_BT_Campaign_LingGen         : 100,           #灵根总点(开服活动榜)  
-            ShareDefine.Def_BT_Campaign_StarLV          : 100,           #升星等级(开服活动榜)  
-            ShareDefine.Def_BT_Campaign_Wash            : 100,           #洗练战力(开服活动榜)
+            ShareDefine.Def_BT_Campaign_Plus            : 500,           #强化战力(开服活动榜)
+            ShareDefine.Def_BT_Campaign_Horse           : 500,           #坐骑战力(开服活动榜)  
+            ShareDefine.Def_BT_Campaign_StoneLV         : 500,           #宝石等级(开服活动榜)
+            ShareDefine.Def_BT_Campaign_LV              : 500,           #冲级排行(开服活动榜)
+            ShareDefine.Def_BT_Campaign_RealmLV         : 500,           #境界等级(开服活动榜)
+            ShareDefine.Def_BT_Campaign_FightPower      : 500,           #战力排行(开服活动榜)
+            ShareDefine.Def_BT_Campaign_RuneLV          : 500,           #符印等级(开服活动榜)
+            ShareDefine.Def_BT_Campaign_GodWeaponLV     : 500,           #神兵等级(开服活动榜)
+            ShareDefine.Def_BT_Campaign_Recharge        : 500,           #累计充值(开服活动榜)
+            ShareDefine.Def_BT_Campaign_PetLV           : 500,           #灵宠等级(开服活动榜)  
+            ShareDefine.Def_BT_Campaign_LingGen         : 500,           #灵根总点(开服活动榜)  
+            ShareDefine.Def_BT_Campaign_StarLV          : 500,           #升星等级(开服活动榜)  
+            ShareDefine.Def_BT_Campaign_Wash            : 500,           #洗练战力(开服活动榜)
             ShareDefine.Def_BT_FCCostGold               : 5,             #消费排行榜(仙界盛典)
             ShareDefine.Def_BT_NewFCCostGold            : 5,             #消费排行榜(仙界盛典)
             
@@ -595,6 +617,14 @@
             ShareDefine.Def_BT_CharmTotal               : 100,           #魅力总榜
             ShareDefine.Def_BT_CharmWeek                : 100,           #魅力周榜
             ShareDefine.Def_BT_CharmDay                 : 100,           #魅力日榜
+            ShareDefine.Def_BT_BossTrialSubmit          : 200,           #boss凭证 (boss历练活动)
+            ShareDefine.Def_BT_BossTrialSubmitBak       : 200,           #boss凭证 (boss历练活动 - 上一期)
+            ShareDefine.Def_BT_BossTrialSubmitFamily    : 100,           #boss凭证仙盟 (boss历练活动)
+            ShareDefine.Def_BT_BossTrialSubmitFamilyBak : 100,           #boss凭证仙盟 (boss历练活动 - 上一期)
+            ShareDefine.Def_BT_XianXiaMJScore           : 200,           #仙匣秘境积分榜 (仙匣秘境活动)
+            ShareDefine.Def_BT_HorsePetTrainScore       : 200,           #骑宠养成积分榜 (骑宠养成活动)
+            ShareDefine.Def_BT_GubaoScore               : 200,           #古宝养成积分榜 (古宝养成活动)
+            ShareDefine.Def_BT_AlineInvade              : 1000,          #异兽入侵
             }
 
 #排行榜保存类型(和BillboardType匹配), 默认保存, 如果不保存,可配置进去
@@ -639,7 +669,6 @@
 Def_PlayerKey_CrossRegisterMap = "CrossRegisterMap"  #跨服注册活动地图, dataMapID
 Def_PlayerKey_MergeRegisterRoomID = "MergeRegisterRoomID"  #当前上传数据的roomID
 Def_PlayerKey_IsLoginToMergeServer = "IsLoginToMergeServer"  #是否要登陆跨服服务器
-Def_PlayerKey_IsCrossPKMatching = "IsCrossPKMatching"  #是否跨服匹配中
 
 Def_PlayerKey_PlayerFromPID = "PlayerFromPID"  #pid
 
@@ -652,11 +681,6 @@
 
 Def_ForbiddenTalk = "ForbiddenTalk"   # 禁言
 Def_TalkTick = "ForbiddenTalk"   # 聊天间隔
-
-Def_PDict_GeTuiSet = "GetuiSet"     # 推送提醒的设置
-Def_PDict_NoGeTuiTime = "NoGetuiTime"     # 推送提醒免打扰时间,将字符串组合数字
-
-Def_PlayerKey_ViewCrossPKBillboardTick = "ViewCrossPKBillboardTick_%s_%s"  #查询PK排行榜tick,参数(zoneID, seasonID)
 
 #主城地图、缥缈宗
 Def_FBMapID_MainCity = 10010
@@ -688,8 +712,12 @@
 Def_FBMapID_QueenRelics = 51010
 #跨服竞技场
 Def_FBMapID_CrossRealmPK = 32010
+#跨服排位
+Def_FBMapID_CrossChampionship = 32070
 #跨服蓬莱仙境
 Def_FBMapID_CrossPenglai = 32020
+#跨服魔化之地
+Def_FBMapID_CrossDemonLand = 32080
 #跨服妖王
 Def_FBMapID_CrossDemonKing = 32030
 #本服妖王
@@ -700,29 +728,45 @@
 Def_FBMapID_CrossGrasslandLing = 32040
 #跨服仙草园
 Def_FBMapID_CrossGrasslandXian = 32050
+#跨服战场
+Def_FBMapID_CrossBattlefield = 32060
+#竞技场战斗
+Def_FBMapID_ArenaBattle = 31290
 #情缘副本
 Def_FBMapID_Love = 31300
+
+#回合战斗自定义地图ID
+Def_TFMapID_MineArea = 1 # 福地 1
 
 #需要刷世界BOSS的副本
 WorldBossFBMapIDList = [Def_FBMapID_SealDemon, Def_FBMapID_ZhuXianBoss, Def_FBMapID_DemonKing]
 #跨服地图
-Def_CrossMapIDList = [Def_FBMapID_CrossRealmPK, Def_FBMapID_CrossPenglai, Def_FBMapID_CrossDemonKing, Def_FBMapID_CrossGrasslandLing, Def_FBMapID_CrossGrasslandXian]
+Def_CrossMapIDList = [Def_FBMapID_CrossRealmPK, Def_FBMapID_CrossPenglai, Def_FBMapID_CrossDemonLand, Def_FBMapID_CrossDemonKing, Def_FBMapID_CrossGrasslandLing, Def_FBMapID_CrossGrasslandXian]
 #跨服分区类型配置, 没配置的默认 CrossZoneComm
 Def_CrossZoneTypeName = {0:"CrossZoneComm", # 特殊0,默认常规分区
                          Def_FBMapID_CrossPenglai:"CrossZoneComm",
+                         Def_FBMapID_CrossDemonLand:"CrossZoneComm",
                          Def_FBMapID_CrossRealmPK:"CrossZonePK",
                          Def_FBMapID_CrossDemonKing:"CrossZonePK",
                          Def_FBMapID_CrossGrasslandLing:"CrossZonePK",
                          Def_FBMapID_CrossGrasslandXian:"CrossZonePK",
+                         Def_FBMapID_CrossBattlefield:"CrossZoneBattlefield",
+                         Def_FBMapID_CrossChampionship:"CrossZonePK",
                          }
 #跨服分区对应地图配置表名 - 仅适用于固定地图及虚拟分线的跨服玩法
 Def_CrossZoneMapTableName = {Def_FBMapID_CrossPenglai:"CrossPenglaiZoneMap",
+                             Def_FBMapID_CrossDemonLand:"CrossDemonLandZoneMap",
                              }
 #需要动态分配线路的跨服地图
 Def_CrossDynamicLineMap = [Def_FBMapID_CrossDemonKing, Def_FBMapID_CrossGrasslandLing, Def_FBMapID_CrossGrasslandXian]
 
 #需要统计副本功能线路ID人数的跨服地图
 Def_NeedCountFBFuncLinePlayerCrossMap = [Def_FBMapID_CrossDemonKing]
+
+# 回合战斗目标类型
+TurnBattle_TagType_NPC = 0
+TurnBattle_TagType_Player = 1
+TurnBattle_TagType_Team = 2
 
 #同系职业枚举
 JOB_TYPY_COUNT = 5
@@ -853,3 +897,15 @@
 Def_GiveMoney_AuctionBidReturn, #拍卖竞价返还
 Def_GiveMoney_AuctionGain, #拍卖获得利润
 ) = range(1000, 1000 + 29)
+
+Def_ItemID_GoldMoney = 20               # 直接给仙玉
+Def_ItemID_GoldPaper = 30               # 直接给绑玉/灵石
+Def_ItemID_SilverPaper = 500               # 直接给金票物品
+Def_ItemID_GongdePoint = 530               # 直接给功德点
+# 货币类型对应直接给货币物品ID
+MoneyItemIDDict = {IPY_GameServer.TYPE_Price_Gold_Money:Def_ItemID_GoldMoney,
+                   IPY_GameServer.TYPE_Price_Gold_Paper:Def_ItemID_GoldPaper,
+                   IPY_GameServer.TYPE_Price_Silver_Paper:Def_ItemID_SilverPaper,
+                   ShareDefine.TYPE_Price_GongdePoint:Def_ItemID_GongdePoint,
+                   }
+

--
Gitblit v1.8.0