From b42da850f0f8e8748b429acc3139be53b75a9589 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 09 九月 2025 16:28:56 +0800
Subject: [PATCH] 121 【武将】武将系统-服务端(上阵武将等级加成改为(等级 - 1)*LVAddPer )

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py |  156 +++++++++++++++++----------------------------------
 1 files changed, 53 insertions(+), 103 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py
index e67af45..bb56211 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py
@@ -15,15 +15,11 @@
 #"""Version = 2018-03-06 11:00"""
 #-------------------------------------------------------------------------------
 
-import ChConfig
 import GameWorld
 import ShareDefine
-import PlayerControl
-import OpenServerCampaign
 import ChPyNetSendPack
 import NetPackCommon
 import IpyGameDataPY
-import GameFuncComm
 import DBDataMgr
 
 import time
@@ -38,19 +34,13 @@
         
     billboardMgr = DBDataMgr.GetBillboardMgr()
     for billboardType in drBillboardTypeList:
-        if billboardType in [ShareDefine.Def_CBT_BossTrialSubmitBak, ShareDefine.Def_CBT_BossTrialSubmitFamilyBak, ShareDefine.Def_CBT_CrossRealmPK]:
+        if billboardType in []:
             continue
         groupList = billboardMgr.GetBillboardGroupList(billboardType)
         for billboardType, groupValue1, groupValue2 in groupList:
             billboardObj = billboardMgr.GetBillboard(billboardType, groupValue1, groupValue2)
             billboardObj.SaveDRData("OnDay")
             
-    return
-
-def DoBillboardOpen(curPlayer):
-    ## 排行榜开启时需要处理的
-    UpdatePlayerBillboardOnLeaveServer(curPlayer, True) # 主动同步一次榜单
-    OpenServerCampaign.DoBillboardOpen(curPlayer) # 同步开服活动榜单
     return
 
 def BillboardOnLogin(curPlayer):
@@ -71,35 +61,30 @@
         # 跨服服务器不用更新本服榜
         return
     
-    UpdatePlayerLVBillboard(curPlayer) # 等级榜
     UpdatePlayerFPTotalBillboard(curPlayer, True) # 战斗力榜
     UpdateHorseBillboard(curPlayer, True, False) # 坐骑榜
     UpdatePyPetBillboard(curPlayer, True, False) # 灵宠榜
     UpdateRealmBillboard(curPlayer) # 境界榜
-    
-    if isAll:
-        UpdateRuneTowerBillboard(curPlayer)
-        
     return
 
 def UpdatePlayerFPTotalBillboard(curPlayer, isForceUpdate=False, isCheckRule=True):
     ##更新玩家总战斗力
-    
-    playerFightPower = PlayerControl.GetFightPower(curPlayer)
-    if not __CheckFightPowerCanUpdate(curPlayer, ChConfig.Def_PDict_FightPower_Total, playerFightPower,
-                                      isForceUpdate, isCheckRule, ChConfig.Def_PDict_FightPower_TotalEx):
-        return
-    
-    fightPower = playerFightPower % ChConfig.Def_PerPointValue
-    fightPowerEx = playerFightPower / ChConfig.Def_PerPointValue
-    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FightPower_Total, fightPower,
-                                       ChConfig.Def_PDictType_FightPower)
-    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FightPower_TotalEx, fightPowerEx,
-                                       ChConfig.Def_PDictType_FightPower)
-    
-    GameWorld.DebugLog("更新总战斗力:playerFightPower=%s" % (playerFightPower), curPlayer.GetPlayerID())
-    
-    UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_FightPower, fightPowerEx, fightPower)
+#    
+#    playerFightPower = PlayerControl.GetFightPower(curPlayer)
+#    if not __CheckFightPowerCanUpdate(curPlayer, ChConfig.Def_PDict_FightPower_Total, playerFightPower,
+#                                      isForceUpdate, isCheckRule, ChConfig.Def_PDict_FightPower_TotalEx):
+#        return
+#    
+#    fightPower = playerFightPower % ChConfig.Def_PerPointValue
+#    fightPowerEx = playerFightPower / ChConfig.Def_PerPointValue
+#    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FightPower_Total, fightPower,
+#                                       ChConfig.Def_PDictType_FightPower)
+#    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FightPower_TotalEx, fightPowerEx,
+#                                       ChConfig.Def_PDictType_FightPower)
+#    
+#    GameWorld.DebugLog("更新总战斗力:playerFightPower=%s" % (playerFightPower), curPlayer.GetPlayerID())
+#    
+#    UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_FightPower, fightPowerEx, fightPower)
     
 #    if bType == ShareDefine.Def_BT_FightPower:
 #        playerID = bID
@@ -121,91 +106,56 @@
 #            UpdatePlayerBillboard(bID, bName, bName2, jobBType, bType2, value1, value2, cmpValue, autoSort, cmpValue2, **kwargs)
     return
 
-def __CheckFightPowerCanUpdate(curPlayer, key, fightPower, isForceUpdate=False, isCheckRule=True, key2=None):
-    ''' 检查玩家可否更新战斗力
-    @param curPlayer 玩家实例
-    @param key 战斗力类型对应key
-    @param fightPower 当前战斗力
-    @param isForceUpdate 是否强制更新(若设置强制更新,在某些潜规则下也不一定能强制更新,如GM等)
-    @param isCheckRule 是否检查战力范围更新差值
-    @return True-可更新 
-    '''
-    if fightPower <= 0:
-        return False
-    
-    historyFightPower = curPlayer.NomalDictGetProperty(key, 0, ChConfig.Def_PDictType_FightPower)
-    if key2 != None:
-        historyFightPower += curPlayer.NomalDictGetProperty(key2, 0, ChConfig.Def_PDictType_FightPower) * ChConfig.Def_PerPointValue
-        
-    if not __CanPlayerBillboardComm(curPlayer):
-        return False
-    
-    if isForceUpdate:
-        GameWorld.DebugLog("战斗力更新检查:强制更新 key=%s,fightPower=%s,history=%s" 
-                           % (key, fightPower, historyFightPower), curPlayer.GetPlayerID())
-        return True
-    
-    if fightPower == historyFightPower:
-        GameWorld.DebugLog("战斗力更新检查:与上次相同,默认不更新 key=%s,fightPower=%s,history=%s" 
-                           % (key, fightPower, historyFightPower), curPlayer.GetPlayerID())
-        return False
-    
-    return True
+#def __CheckFightPowerCanUpdate(curPlayer, key, fightPower, isForceUpdate=False, isCheckRule=True, key2=None):
+#    ''' 检查玩家可否更新战斗力
+#    @param curPlayer 玩家实例
+#    @param key 战斗力类型对应key
+#    @param fightPower 当前战斗力
+#    @param isForceUpdate 是否强制更新(若设置强制更新,在某些潜规则下也不一定能强制更新,如GM等)
+#    @param isCheckRule 是否检查战力范围更新差值
+#    @return True-可更新 
+#    '''
+#    if fightPower <= 0:
+#        return False
+#    
+#    historyFightPower = curPlayer.NomalDictGetProperty(key, 0, ChConfig.Def_PDictType_FightPower)
+#    if key2 != None:
+#        historyFightPower += curPlayer.NomalDictGetProperty(key2, 0, ChConfig.Def_PDictType_FightPower) * ChConfig.Def_PerPointValue
+#        
+#    if not __CanPlayerBillboardComm(curPlayer):
+#        return False
+#    
+#    if isForceUpdate:
+#        GameWorld.DebugLog("战斗力更新检查:强制更新 key=%s,fightPower=%s,history=%s" 
+#                           % (key, fightPower, historyFightPower), curPlayer.GetPlayerID())
+#        return True
+#    
+#    if fightPower == historyFightPower:
+#        GameWorld.DebugLog("战斗力更新检查:与上次相同,默认不更新 key=%s,fightPower=%s,history=%s" 
+#                           % (key, fightPower, historyFightPower), curPlayer.GetPlayerID())
+#        return False
+#    
+#    return True
 
 def UpdateHorseBillboard(curPlayer, isForceUpdate=False, isUpdateTotal=True):
     ##更新玩家坐骑排行榜
-    
-    HorseFightPower = PlayerControl.GetMFPFightPower(curPlayer, ShareDefine.Def_MFPType_Horse)
-    if not HorseFightPower:
-        return
-    
-    fightPower = HorseFightPower % ChConfig.Def_PerPointValue
-    fightPowerEx = HorseFightPower / ChConfig.Def_PerPointValue
-    
-    UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_FightPower_Horse, fightPowerEx, fightPower)
-    
-    if isUpdateTotal:
-        UpdatePlayerFPTotalBillboard(curPlayer, isForceUpdate)
     return
 
 def UpdatePyPetBillboard(curPlayer, isForceUpdate=False, isUpdateTotal=True):
     ## 更新宠物排行榜
-    petMaxAtk = PlayerControl.GetPetMaxAtk(curPlayer)
-    if not petMaxAtk:
-        return
-    UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_FightPower_Pet, petMaxAtk) 
-       
-    if isUpdateTotal:
-        UpdatePlayerFPTotalBillboard(curPlayer, isForceUpdate)
-    return
-
-def UpdatePlayerLVBillboard(curPlayer, isForceUpdate=True):
-    ##更新玩家等级排行榜
-    UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_LV, curPlayer.GetLV())
-    return
-
-def UpdateRuneTowerBillboard(curPlayer):
-    ##更新玩家符印塔排行榜
-    passLV = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_TrialTower_PassLV)
-    if not passLV:
-        return
-    UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_TrialTower, passLV) 
     return
 
 def UpdateRealmBillboard(curPlayer):
     ##境界榜
-    if not curPlayer.GetOfficialRank():
-        return
-    UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_Realm, curPlayer.GetOfficialRank())
     return
 
 def __CanPlayerBillboardComm(curPlayer):
     ## 玩家可否上榜通用检查
     if not GameWorld.IsNormalPlayer(curPlayer):
         return False
-    if not GameFuncComm.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Billboard):
-        GameWorld.DebugLog("排行榜未开启,无法上榜!curLV=%s" % (curPlayer.GetLV()), curPlayer.GetPlayerID())
-        return False
+    #if not GameFuncComm.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Billboard):
+    #    GameWorld.DebugLog("排行榜未开启,无法上榜!curLV=%s" % (curPlayer.GetLV()), curPlayer.GetPlayerID())
+    #    return False
     
     return True
 
@@ -234,7 +184,7 @@
 
 def UpdateBillboard(billboardType, groupValue1, dataID, name1, name2, type2, value1, value2, cmpValue,
                     cmpValue2=0, cmpValue3=0, groupValue2=0, id2=0, autoSort=True, **kwargs):
-    ''' 更新跨服排行榜
+    ''' 更新排行榜
     @param billboardType: 排行榜索引类型,同个榜单类型可以有多个分组榜单数据,独立排序
     @param groupValue1: 榜单分组1
     @param dataID: 榜单唯一数据ID,如玩家ID等
@@ -276,7 +226,7 @@
             billboardData = lastBillBoardData
             billboardData.Clear()
         else:
-            billboardData = billboardObj.AddNewBillboardData()
+            billboardData = billboardObj.AddNewBillboardData(dataID)
             if not billboardData:
                 return
             
@@ -314,7 +264,7 @@
     billboardData.SetCmpValue2(cmpValue2)
     billboardData.SetCmpValue3(cmpValue3)
     
-    GameWorld.DebugLog("更新跨服排行榜值: billboardType=%s,groupValue1=%s,groupValue2=%s,dataID=%s,isNewData=%s,cmpValueChange=%s,type2=%s,value1=%s,value2=%s,cmpValue=%s,cmpValue2=%s,cmpValue3=%s,%s" 
+    GameWorld.DebugLog("更新排行榜值: billboardType=%s,groupValue1=%s,groupValue2=%s,dataID=%s,isNewData=%s,cmpValueChange=%s,type2=%s,value1=%s,value2=%s,cmpValue=%s,cmpValue2=%s,cmpValue3=%s,%s" 
                        % (billboardType, groupValue1, groupValue2, dataID, isNewData, cmpValueChange,
                           type2, value1, value2, cmpValue, cmpValue2, cmpValue3, kwargs), dataID)
     if not autoSort:

--
Gitblit v1.8.0