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