From e4c2a1b331ef0133a010bce5ccdcf3d19db12726 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 07 十一月 2025 14:46:31 +0800
Subject: [PATCH] 237 【福利内容】每日任务/每周任务/章节奖励-服务端(增加物品效果281-给活跃度;每日任务奖励改为配置物品;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py | 115 +++++++++++++--------------------------------------------
1 files changed, 26 insertions(+), 89 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 67ca5a6..b474f25 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py
@@ -64,78 +64,28 @@
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)
+def UpdatePlayerBillboardName(curPlayer):
+ ## 更新排行榜中的玩家名字记录
-# if bType == ShareDefine.Def_BT_FightPower:
-# playerID = bID
-# fightPowerTotal = cmpValue * ChConfig.Def_PerPointValue + cmpValue2
-# familyID = exInfo[0]
-# playerJob = bType2
-#
-# curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID)
-# if curPlayer:
-# PlayerControl.SetFightPower(curPlayer, fightPowerTotal)
-#
-# #更新战盟成员战力
-# PlayerFamily.UpdFamilyMemberFightPower(familyID, playerID, fightPowerTotal)
-#
-# #职业战力榜
-# job = playerJob % 10
-# if job in ShareDefine.JobFightPowerBillboardDict:
-# jobBType = ShareDefine.JobFightPowerBillboardDict[job]
-# UpdatePlayerBillboard(bID, bName, bName2, jobBType, bType2, value1, value2, cmpValue, autoSort, cmpValue2, **kwargs)
+ playerID = curPlayer.GetPlayerID()
+ updName = curPlayer.GetPlayerName()
+ billboardMgr = DBDataMgr.GetBillboardMgr()
+ for billboardType in ShareDefine.BillboardTypeList:
+ if billboardType in ShareDefine.FamilyBillboardList:
+ continue
+ groupList = billboardMgr.GetBillboardGroupList(billboardType)
+ for billboardType, groupValue1, groupValue2 in groupList:
+ billboardObj = billboardMgr.GetBillboard(billboardType, groupValue1, groupValue2)
+ billData = billboardObj.FindByID(playerID)
+ if not billData:
+ continue
+ billData.SetName1(updName)
+
+ # 跨服榜更新, 待处理
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 UpdateHorseBillboard(curPlayer, isForceUpdate=False, isUpdateTotal=True):
- ##更新玩家坐骑排行榜
+def UpdatePlayerFPTotalBillboard(curPlayer, isForceUpdate=False, isCheckRule=True):
+ ##更新玩家总战斗力
return
def UpdatePyPetBillboard(curPlayer, isForceUpdate=False, isUpdateTotal=True):
@@ -171,6 +121,7 @@
kwargs["value3"] = curPlayer.GetFace()
kwargs["value4"] = curPlayer.GetFacePic()
kwargs["value5"] = curPlayer.GetModelMark()
+ kwargs["value6"] = curPlayer.GetEquipShowSwitch()
groupValue1 = 0
UpdateBillboard(bType, groupValue1, playerID, playerName, playerOpInfo, playerJob, value1, value2,
@@ -200,19 +151,12 @@
cmpValueChange = isNewData or billboardData.GetCmpValue() != cmpValue or billboardData.GetCmpValue2() != cmpValue2 \
or (cmpValue3 and billboardData.GetCmpValue3() != cmpValue3)
- # 没设置值默认为时间time,先上榜的排前面
- if cmpValue3 == 0:
- # 时间权值仅在比较值变更的情况下才更新, 防止其他附属值更新时导致比较值相同的玩家名次间会变动的问题
- if cmpValueChange:
- calcTime = GameWorld.ChangeTimeStrToNum("2090-01-01 00:00:00")
- cmpValue3 = max(0, calcTime - int(time.time())) # 比较值3如果没指定值则默认存当前更新的time
- else:
- cmpValue3 = billboardData.GetCmpValue3()
-
billboardData.SetCmpValue(cmpValue)
billboardData.SetCmpValue2(cmpValue2)
billboardData.SetCmpValue3(cmpValue3)
-
+ if cmpValueChange or not billboardData.GetTime():
+ billboardData.SetTime(int(time.time()))
+
GameWorld.DebugLog("更新排行榜值: billboardType=%s,groupValue1=%s,groupValue2=%s,dataID=%s,cmpValueChange=%s,cmpValue=%s,cmpValue2=%s,cmpValue3=%s"
% (billboardType, groupValue1, groupValue2, dataID, cmpValueChange,
cmpValue, cmpValue2, cmpValue3), dataID)
@@ -274,15 +218,6 @@
cmpValueChange = isNewData or billboardData.GetCmpValue() != cmpValue or billboardData.GetCmpValue2() != cmpValue2 \
or (cmpValue3 and billboardData.GetCmpValue3() != cmpValue3)
- # 没设置值默认为时间time,先上榜的排前面
- if cmpValue3 == 0:
- # 时间权值仅在比较值变更的情况下才更新, 防止其他附属值更新时导致比较值相同的玩家名次间会变动的问题
- if cmpValueChange:
- calcTime = GameWorld.ChangeTimeStrToNum("2090-01-01 00:00:00")
- cmpValue3 = max(0, calcTime - int(time.time())) # 比较值3如果没指定值则默认存当前更新的time
- else:
- cmpValue3 = billboardData.GetCmpValue3()
-
# 更新所有值
billboardData.SetType(billboardType)
billboardData.SetGroupValue1(groupValue1)
@@ -304,7 +239,9 @@
billboardData.SetCmpValue(cmpValue)
billboardData.SetCmpValue2(cmpValue2)
billboardData.SetCmpValue3(cmpValue3)
-
+ if cmpValueChange or not billboardData.GetTime():
+ billboardData.SetTime(int(time.time()))
+
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)
--
Gitblit v1.8.0