From aeaea61638d86f166c24a8826df4b6be83ade16b Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 24 二月 2025 17:18:49 +0800
Subject: [PATCH] 10407 【越南】【英语】【BT】【GM】【砍树】周末BUG汇总(模块战力支持超20亿;开服活动榜同步修改支持超20亿;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerChatBox.py | 2
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerBillboard.py | 42 ++++++++++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py | 4
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/ClearOpenServerAward.py | 1
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 20 +++-
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGodWeapon.py | 2
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py | 16 +--
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py | 4
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py | 2
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 20 +++-
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerDBGSEvent.py | 3
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyTech.py | 2
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PrintFightPower.py | 2
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetOSCRecordData.py | 12 --
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py | 1
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py | 2
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFace.py | 4
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/OpenServerCampaign.py | 29 +++++-
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoat.py | 2
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 56 ++++++++-----
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerShentong.py | 2
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDienstgrad.py | 2
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py | 10 +-
23 files changed, 157 insertions(+), 83 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index 0abe7df..3bffc00 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -25965,7 +25965,8 @@
_pack_ = 1
_fields_ = [
("MfpType", c_ubyte), #模块编号类型
- ("FightPower", c_int), #本模块战斗力
+ ("FightPower", c_int), #本模块战斗力,求余亿部分
+ ("FightPowerEx", c_int), #本模块战斗力,整除亿部分,1代表1亿
]
def __init__(self):
@@ -25980,6 +25981,7 @@
def Clear(self):
self.MfpType = 0
self.FightPower = 0
+ self.FightPowerEx = 0
return
def GetLength(self):
@@ -25991,11 +25993,13 @@
def OutputString(self):
DumpString = '''//A3 A1 各功能模块战斗力信息 //tagMCModuleFightPowerInfo:
MfpType:%d,
- FightPower:%d
+ FightPower:%d,
+ FightPowerEx:%d
'''\
%(
self.MfpType,
- self.FightPower
+ self.FightPower,
+ self.FightPowerEx
)
return DumpString
@@ -50510,7 +50514,8 @@
("CampaignType", c_ubyte), #奖励类型
("BillAwardRecord", c_ubyte), #排行奖励是否已领取
("TagAwardRecord", c_int), #目标奖励索引位领取记录:0-未领;1-已领
- ("RecordData", c_int), #活动时的记录值
+ ("RecordData", c_int), #活动时的记录值,求余亿部分,为了统一逻辑,其他非战力榜的也使用此规则
+ ("RecordDataEx", c_int), #活动时的记录值,整除亿部分,1代表1亿
]
def __init__(self):
@@ -50527,6 +50532,7 @@
self.BillAwardRecord = 0
self.TagAwardRecord = 0
self.RecordData = 0
+ self.RecordDataEx = 0
return
def GetLength(self):
@@ -50540,13 +50546,15 @@
CampaignType:%d,
BillAwardRecord:%d,
TagAwardRecord:%d,
- RecordData:%d
+ RecordData:%d,
+ RecordDataEx:%d
'''\
%(
self.CampaignType,
self.BillAwardRecord,
self.TagAwardRecord,
- self.RecordData
+ self.RecordData,
+ self.RecordDataEx
)
return DumpString
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
index 61c2dfb..6f9ee27 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
@@ -1286,6 +1286,7 @@
GameWorld.GetFamilyManager().SetFamilyUpperLimitCount(ChConfig.Def_Family_MaxCnt)
#排序元宝交易平台
GameWorld.GetGameWorld().GetDBGoldOrderFormMgr().Sort()
+ PlayerBillboard.FixBillboardBigCmpValue()
#排序排行榜
PlayerBillboard.SortServerBillboard()
#功能队伍
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerBillboard.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerBillboard.py
index 400a510..e68a555 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerBillboard.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerBillboard.py
@@ -154,6 +154,43 @@
return
+def FixBillboardBigCmpValue():
+ ## 修正部分榜单大比较值,支持超20亿,主要为了模块战力等支持超20亿
+ if PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_FixBillboardBigCmpValue):
+ GameWorld.Log("修正部分榜单大比较值支持超20亿已经处理过")
+ return
+ PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_FixBillboardBigCmpValue, 1)
+ fixBillTypeList = [ShareDefine.Def_BT_FightPower_Horse]
+ fixBillTypeList += ShareDefine.Def_Campaign_Billboard_Dict.values()
+ GameWorld.Log("修正部分榜单大比较值支持超20亿: %s" % fixBillTypeList)
+
+ billboardMgr = GameWorld.GetBillboard()
+ for billboardType in fixBillTypeList:
+ billBoard = billboardMgr.FindBillboard(billboardType)
+ dataCount = billBoard.GetCount()
+ if not dataCount:
+ continue
+ DataRecordPack.DR_BillboardData(billboardType, "FixBillboardBigCmpValue")
+ GameWorld.Log("修正榜单大比较值: billboardType=%s" % billboardType)
+ for index in range(dataCount):
+ boardData = billBoard.At(index)
+ if not boardData:
+ continue
+ dataID = boardData.GetID()
+ cmpValue = boardData.GetCmpValue()
+ cmpValue2 = boardData.GetCmpValue2()
+ if cmpValue2:
+ GameWorld.Log(" index=%s,dataID=%s, keep CmpValue=%s,CmpValue2=%s" % (index, dataID, cmpValue, cmpValue2))
+ continue
+ boardData.SetCmpValue(0)
+ boardData.SetCmpValue2(cmpValue)
+
+ cmpValue = boardData.GetCmpValue()
+ cmpValue2 = boardData.GetCmpValue2()
+ GameWorld.Log(" index=%s,dataID=%s, Update CmpValue=%s,CmpValue2=%s" % (index, dataID, cmpValue, cmpValue2))
+
+ return
+
def SortServerBillboard():
##排序所有排行榜
billboardMgr = GameWorld.GetBillboard()
@@ -748,6 +785,9 @@
else:
cmpValue3 = playerBillBoardData.GetCmpValue3()
+ GameWorld.DebugLog("更新排行榜值 index=%s,type2=%s,value1=%s,value2=%s,cmpValue=%s,cmpValue2==%s,cmpValue3==%s,isNewData=%s,cmpValueChange=%s,%s"
+ % (billboardIndex, type2, value1, value2, cmpValue, cmpValue2, cmpValue3, isNewData, cmpValueChange, kwargs), curPlayerID)
+
#设置排行榜数据
playerBillBoardData.SetType(billboardIndex)
#附属类型
@@ -773,8 +813,6 @@
if cmpValue3 > 0:
playerBillBoardData.SetCmpValue3(cmpValue3)
- GameWorld.DebugLog("更新排行榜值 index=%s,type2=%s,value1=%s,value2=%s,cmpValue=%s,cmpValue2==%s,cmpValue3==%s,isNewData=%s,cmpValueChange=%s,%s"
- % (billboardIndex, type2, value1, value2, cmpValue, cmpValue2, cmpValue3, isNewData, cmpValueChange, kwargs), curPlayerID)
if not cmpValueChange:
return True
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerDBGSEvent.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerDBGSEvent.py
index fa6239e..674d42a 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerDBGSEvent.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerDBGSEvent.py
@@ -121,6 +121,9 @@
#服务器开服自动逻辑处理 小时
Def_Server_Hour = 'Def_Server_Hour'
+# 排行榜大数值比较值修正标记
+Def_FixBillboardBigCmpValue = "FixBillboardBigCmpValue"
+
# 交易所开关
Def_BourseState = "BourseState"
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index c27d053..f5268d8 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -3333,8 +3333,10 @@
Def_PlayerKey_AttrXPRestorePer = "AttrXPRestorePer" #自动恢复XP值比率
Def_PlayerKey_MarkLoadMapTick = "LoadMapTickVIP" #记录切换地图后的tick,VIP
Def_PlayerKey_MTFreeOnlineRefreshTick = "MTFreeOnlineRTick" # 寻宝在线计算时间
-Def_PlayerKey_MFPFightPower = "MFPFightPower_%s" #模块战斗力, 参数(模块类型索引)
+Def_PlayerKey_MFPFightPower = "MFPFightPower_%s" #模块战斗力, 求余亿部分,参数(模块类型索引)
+Def_PlayerKey_MFPFightPowerPoint = "MFPFightPowerPoint_%s" #模块战斗力, 整除亿部分,参数(模块类型索引)
Def_PlayerKey_MFPSkill = "MFPSkill_%s" #技能附加战斗力, 参数(模块类型索引)
+Def_PlayerKey_MFPSkillEx = "MFPSkillEx_%s" #技能附加战斗力, 参数(模块类型索引)
Def_PlayerKey_MFPEx = "MFPEx_%s" #模块附加战斗力, 参数(模块类型索引)
Def_PlayerKey_MFPExPoint = "MFPExPoint_%s" #模块附加战斗力, 参数(模块类型索引)
Def_PlayerKey_AtkWithoutBuff = "AtkWithoutBuff" #玩家无buff状态下的攻击值
@@ -4228,7 +4230,8 @@
#奖励记录 - 从低位到高位,每位表示:0-不可领;1-可领取;2-已领
Def_PDict_OSC_BillAwardRecord = "OSCBillAwardRecord" # 开服活动排行奖励记录, 按活动类型位存储是否领取/处理过
Def_PDict_OSC_TagAwardRecord = "OSCTagAwardRecord_%s" # 开服活动目标奖励记录, 参数(活动类型), 按奖励位存储是否领取
-Def_PDict_OSC_RecordData = "OSCRecordData_%s" # 开服活动记录数值, 参数(活动类型)
+Def_PDict_OSC_RecordData = "OSCRecordData_%s" # 开服活动记录数值, 求余亿部分,参数(活动类型)
+Def_PDict_OSC_RecordDataEx = "OSCRecordDataEx_%s" # 开服活动记录数值, 整除亿部分,参数(活动类型)
Def_PDict_OSC_EndMailState = "EndMailState" # 开服活动结束发放邮件处理状态, 记录该状态的目的是防止开服活动版本变更导致旧号重复补发奖励;
# 法器
@@ -4282,9 +4285,8 @@
Def_PDict_FightPower_HighestEx = "FightPower_HighestEx" # 历史最高总战斗力
Def_PDict_FightPower_Total = "FightPower_Total" # 总战斗力
Def_PDict_FightPower_TotalEx = "FightPower_TotalEx" # 总战斗力
-Def_PDict_FightPower_Horse = "FightPower_Horse" # 坐骑战斗力
-Def_PDict_FightPower_List = [Def_PDict_FightPower_Total, Def_PDict_FightPower_TotalEx, Def_PDict_FightPower_Horse]
+Def_PDict_FightPower_List = [Def_PDict_FightPower_Total, Def_PDict_FightPower_TotalEx]
# 每日活跃度
Def_PDict_Activity_FinishCnt = "Activity_FinishCnt_%s" # 活跃度类型对应完成次数
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index 0abe7df..3bffc00 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -25965,7 +25965,8 @@
_pack_ = 1
_fields_ = [
("MfpType", c_ubyte), #模块编号类型
- ("FightPower", c_int), #本模块战斗力
+ ("FightPower", c_int), #本模块战斗力,求余亿部分
+ ("FightPowerEx", c_int), #本模块战斗力,整除亿部分,1代表1亿
]
def __init__(self):
@@ -25980,6 +25981,7 @@
def Clear(self):
self.MfpType = 0
self.FightPower = 0
+ self.FightPowerEx = 0
return
def GetLength(self):
@@ -25991,11 +25993,13 @@
def OutputString(self):
DumpString = '''//A3 A1 各功能模块战斗力信息 //tagMCModuleFightPowerInfo:
MfpType:%d,
- FightPower:%d
+ FightPower:%d,
+ FightPowerEx:%d
'''\
%(
self.MfpType,
- self.FightPower
+ self.FightPower,
+ self.FightPowerEx
)
return DumpString
@@ -50510,7 +50514,8 @@
("CampaignType", c_ubyte), #奖励类型
("BillAwardRecord", c_ubyte), #排行奖励是否已领取
("TagAwardRecord", c_int), #目标奖励索引位领取记录:0-未领;1-已领
- ("RecordData", c_int), #活动时的记录值
+ ("RecordData", c_int), #活动时的记录值,求余亿部分,为了统一逻辑,其他非战力榜的也使用此规则
+ ("RecordDataEx", c_int), #活动时的记录值,整除亿部分,1代表1亿
]
def __init__(self):
@@ -50527,6 +50532,7 @@
self.BillAwardRecord = 0
self.TagAwardRecord = 0
self.RecordData = 0
+ self.RecordDataEx = 0
return
def GetLength(self):
@@ -50540,13 +50546,15 @@
CampaignType:%d,
BillAwardRecord:%d,
TagAwardRecord:%d,
- RecordData:%d
+ RecordData:%d,
+ RecordDataEx:%d
'''\
%(
self.CampaignType,
self.BillAwardRecord,
self.TagAwardRecord,
- self.RecordData
+ self.RecordData,
+ self.RecordDataEx
)
return DumpString
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/ClearOpenServerAward.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/ClearOpenServerAward.py
index 7f0c88c..540987c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/ClearOpenServerAward.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/ClearOpenServerAward.py
@@ -74,7 +74,6 @@
def __DoOSCReset(curPlayer, campaignType):
# 更新领奖记录
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OSC_TagAwardRecord % campaignType, 0)
- #PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OSC_RecordData % campaignType, 0)
GameWorld.DebugAnswer(curPlayer, 'OSCReset %s OK!'%campaignType)
return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PrintFightPower.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PrintFightPower.py
index aae630b..4921090 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PrintFightPower.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PrintFightPower.py
@@ -52,7 +52,7 @@
GameWorld.DebugAnswer(curPlayer, "===== 总战力: %s" % PlayerControl.GetFightPower(curPlayer))
for mfpType in ChConfig.MFPTypeAttrFuncIndexDict.keys():
fightPower = PlayerControl.GetMFPFightPower(curPlayer, mfpType)
- mfpSkillFP = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MFPSkill % mfpType)
+ mfpSkillFP = PlayerControl.GetMFPSkillFightPower(curPlayer, mfpType)
mfpEx = PlayerControl.GetMFPExFightPower(curPlayer, mfpType)
name = mfpTypeName.get(mfpType, "模块%s" % mfpType)
if mfpSkillFP or mfpEx:
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetOSCRecordData.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetOSCRecordData.py
index b7051b7..39f186d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetOSCRecordData.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetOSCRecordData.py
@@ -46,14 +46,6 @@
ShareDefine.Def_Campaign_Type_Wash:"洗练",
}
- if len(cmdList) == 1:
- recordData = cmdList[0]
- for oscType, name in oscTypeDict.items():
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OSC_RecordData % oscType, recordData)
- GameWorld.DebugAnswer(curPlayer, "设置[%s]活动数值: %s OK!" % (name, recordData))
- OpenServerCampaign.Sync_OpenServerCampaignAward(curPlayer)
- return
-
if len(cmdList) != 2:
__AnswerHelp(curPlayer, oscTypeDict)
return
@@ -64,7 +56,7 @@
__AnswerHelp(curPlayer, oscTypeDict)
return
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OSC_RecordData % campaignType, recordData)
+ recordData = OpenServerCampaign.SetOSCRecordData(curPlayer, campaignType, recordData)
OpenServerCampaign.Sync_OpenServerCampaignAward(curPlayer, campaignType)
GameWorld.DebugAnswer(curPlayer, "设置[%s]活动数值: %s OK!" % (oscTypeDict.get(campaignType), recordData))
return
@@ -75,7 +67,7 @@
for oscType, name in oscTypeDict.items():
helpTypeStr += "%s-%s," % (oscType, name)
- GameWorld.DebugAnswer(curPlayer, "SetOSCRecordData [活动类型, 数值]")
+ GameWorld.DebugAnswer(curPlayer, "SetOSCRecordData 活动类型 数值")
GameWorld.DebugAnswer(curPlayer, "活动类型:%s" % helpTypeStr)
return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/OpenServerCampaign.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/OpenServerCampaign.py
index 0b7b80c..a0e2da1 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/OpenServerCampaign.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/OpenServerCampaign.py
@@ -35,7 +35,7 @@
def DoBillboardOpen(curPlayer):
for campaignType, billBoardType in ShareDefine.Def_Campaign_Billboard_Dict.items():
- value = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OSC_RecordData % campaignType)
+ value = GetOSCRecordData(curPlayer, campaignType)
GameWorld.DebugLog("排行榜开启,同步开服活动记录!campaignType=%s,billBoardType=%s,value=%s" % (campaignType, billBoardType, value))
if CanUpdOSCBillboard(curPlayer, campaignType, value):
PlayerBillboard.UpdatePlayerBillboard(curPlayer, billBoardType, value)
@@ -64,9 +64,20 @@
def CanUpdOSCBillboard(curPlayer, campaignType, curValue): return __CanUpdOSCRecordData(campaignType, curValue)
def IsNeedSaveOpenServerCampaignRecordData(campaignType): return __CanUpdOSCRecordData(campaignType)
+def GetOSCRecordData(curPlayer, campaignType):
+ return curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OSC_RecordData % campaignType) + \
+ curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OSC_RecordDataEx % campaignType) * ChConfig.Def_PerPointValue
+
+def SetOSCRecordData(curPlayer, campaignType, updRecordData):
+ recordData = updRecordData % ChConfig.Def_PerPointValue
+ recordDataEx = updRecordData / ChConfig.Def_PerPointValue
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OSC_RecordData % campaignType, recordData)
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OSC_RecordDataEx % campaignType, recordDataEx)
+ return GetOSCRecordData(curPlayer, campaignType)
+
def AddOpenServerCampaignRecordData(curPlayer, campaignType, addValue):
## 增加开服活动数据记录(外调函数)
- recordData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OSC_RecordData % campaignType)
+ recordData = GetOSCRecordData(curPlayer, campaignType)
recordData += addValue
UpdOpenServerCampaignRecordData(curPlayer, campaignType, recordData)
@@ -78,7 +89,7 @@
#GameWorld.DebugLog(" 非开服活动记录数据时机, campaignType=%s" % campaignType)
return
- recordData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OSC_RecordData % campaignType)
+ recordData = GetOSCRecordData(curPlayer, campaignType)
if value == recordData:
GameWorld.DebugLog(" 开服活动数据等于历史记录, 不更新 campaignType=%s,recordData=%s,updValue=%s"
@@ -92,18 +103,21 @@
return
# 更新开服活动时的记录数值
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OSC_RecordData % campaignType, value)
+ value = SetOSCRecordData(curPlayer, campaignType, value)
Sync_OpenServerCampaignAward(curPlayer, campaignType)
GameWorld.DebugLog(" 更新开服活动数据记录 campaignType=%s,recordData=%s,updValue=%s"
% (campaignType, recordData, value), curPlayer.GetPlayerID())
canUpdOSCBill = CanUpdOSCBillboard(curPlayer, campaignType, value)
if campaignType in ShareDefine.Def_Campaign_Billboard_Dict and (value <= recordData or canUpdOSCBill):
+ cmpValue = value / ChConfig.Def_PerPointValue
+ cmpValue2 = value % ChConfig.Def_PerPointValue
if not canUpdOSCBill:
- value = -1
+ cmpValue = -1
+ cmpValue2 = 0
GameWorld.DebugLog(" 不能上榜降数据的,设置该榜单数据为-1,删除该数据!", curPlayer.GetPlayerID())
billBoardType = ShareDefine.Def_Campaign_Billboard_Dict[campaignType]
- PlayerBillboard.UpdatePlayerBillboard(curPlayer, billBoardType, value)
+ PlayerBillboard.UpdatePlayerBillboard(curPlayer, billBoardType, cmpValue, cmpValue2)
return
##==================================================================================================
@@ -230,7 +244,7 @@
return
condition = tagAwardIpyData.GetTagCondition()
- recordData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OSC_RecordData % campaignType)
+ recordData = GetOSCRecordData(curPlayer, campaignType)
if recordData < condition:
GameWorld.DebugLog(" 未达到该开服活动目标条件奖励!campaignType=%s,index=%s,recordData=%s < condition=%s"
% (campaignType, index, recordData, condition), curPlayer.GetPlayerID())
@@ -356,6 +370,7 @@
oscAward.BillAwardRecord = 1 if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OSC_BillAwardRecord) & pow(2, syncOSCType) else 0
oscAward.TagAwardRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OSC_TagAwardRecord % syncOSCType)
oscAward.RecordData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OSC_RecordData % syncOSCType)
+ oscAward.RecordDataEx = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OSC_RecordDataEx % syncOSCType)
oscAwardListPack.OSCAwardList.append(oscAward)
oscAwardListPack.OSCAwardCnt = len(oscAwardListPack.OSCAwardList)
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 a3100ef..b07fc85 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py
@@ -110,7 +110,7 @@
bData["UserData"] = kwargs["userData"]
sendMsg = "%s" % (bData)
GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, "UpdateBillboard", sendMsg, len(sendMsg))
- GameWorld.DebugLog("同步GameServer排行榜:bType=%s,cmpValue=%s, %s" % (bType, cmpValue, sendMsg), bID)
+ GameWorld.DebugLog("同步GameServer排行榜:bType=%s,cmpValue=%s,cmpValue2=%s %s" % (bType, cmpValue, cmpValue2, sendMsg), bID)
return
def UpdatePlayerCrossBillboard(curPlayer, bType, groupValue1, cmpValue, cmpValue2=0, cmpValue3=0, value1=0, value2=0,
@@ -212,23 +212,17 @@
return True
-def __GetUpdFightPower(curPlayer, key, fightPower):
- ##获取更新排行榜的战力
- #暂定更新实际战力
- PlayerControl.NomalDictSetProperty(curPlayer, key, fightPower, ChConfig.Def_PDictType_FightPower)
- return fightPower
-
def UpdateHorseBillboard(curPlayer, isForceUpdate=False, isUpdateTotal=True):
##更新玩家坐骑排行榜
HorseFightPower = PlayerControl.GetMFPFightPower(curPlayer, ShareDefine.Def_MFPType_Horse)
- if not __CheckFightPowerCanUpdate(curPlayer, ChConfig.Def_PDict_FightPower_Horse,
- HorseFightPower, isForceUpdate):
+ if not HorseFightPower:
return
- HorseFightPower = __GetUpdFightPower(curPlayer, ChConfig.Def_PDict_FightPower_Horse, HorseFightPower)
+ fightPower = HorseFightPower % ChConfig.Def_PerPointValue
+ fightPowerEx = HorseFightPower / ChConfig.Def_PerPointValue
- UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_FightPower_Horse, HorseFightPower)
+ UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_FightPower_Horse, fightPowerEx, fightPower)
if isUpdateTotal:
UpdatePlayerFPTotalBillboard(curPlayer, isForceUpdate)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerChatBox.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerChatBox.py
index eec6f21..13fd627 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerChatBox.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerChatBox.py
@@ -218,7 +218,7 @@
# 保存计算值
PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_ChatBox, allAttrList)
- curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_ChatBox, fightPowerEx)
+ PlayerControl.SetMFPExFightPower(curPlayer, ShareDefine.Def_MFPType_ChatBox, fightPowerEx)
return
#// A2 30 设置聊天气泡框 #tagCMSetChatBubbleBox
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoat.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoat.py
index e068582..a9da587 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoat.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoat.py
@@ -193,7 +193,7 @@
PlayerControl.CalcAttrDict_Type(int(attrID), attrValue, allAttrList)
# 保存计算值
- curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_Coat, initFPAdd)
+ PlayerControl.SetMFPExFightPower(curPlayer, ShareDefine.Def_MFPType_Coat, initFPAdd)
PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Coat, allAttrList)
return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
index 997baef..1870ff8 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -4033,7 +4033,7 @@
#GameWorld.DebugLog("MfpType=%s,FightPower=%s, %s" % (self.mfpType, totalFightPower, self.GetMFPAttrStr()))
if totalFightPower > ShareDefine.Def_UpperLimit_DWord:
GameWorld.ErrLog("模块战力超过数值上限, MfpType=%s,fightPower=%s, %s" % (self.mfpType, totalFightPower, self.GetMFPAttrStr()))
- totalFightPower = ShareDefine.Def_UpperLimit_DWord
+ #totalFightPower = ShareDefine.Def_UpperLimit_DWord 模块战力支持超20亿,日志暂保留用于输出提醒
return totalFightPower
def __GetAttrFightPowerParamDiff(self, job):
@@ -4581,7 +4581,7 @@
#GameWorld.DebugLog("等级属性点加属性: %s" % allAttrList)
#GameWorld.DebugLog("灵根品阶等级属性: %s" % lingGenQualityAttrList)
#GameWorld.DebugLog("灵根点数附加战力: %s" % pointFightPowerEx)
- curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_Role, pointFightPowerEx)
+ SetMFPExFightPower(curPlayer, ShareDefine.Def_MFPType_Role, pointFightPowerEx)
SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_RoleBase, allAttrList)
SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_LingGenQuailty, lingGenQualityAttrList)
return hasChange_Qualitylv
@@ -5026,11 +5026,10 @@
# 因为计算战力需要取到总属性,所以等各功能点属性累加完后再计算
for mfpType, mfpObj in mfpObjDict.items():
mfpValue = 0 if not fpParam else mfpObj.GetModuleFightPower(fpParam, curPlayer)
- mfpSkill = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MFPSkill % mfpObj.mfpType)
- mfpEx = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MFPEx % mfpObj.mfpType)
+ mfpSkill = GetMFPSkillFightPower(curPlayer, mfpObj.mfpType)
mfpEx = GetMFPExFightPower(curPlayer, mfpType)
mfpTotal = mfpValue + mfpSkill + mfpEx
- mfpDict[mfpObj.mfpType] = min(mfpTotal, ChConfig.Def_UpperLimit_DWord)
+ mfpDict[mfpObj.mfpType] = mfpTotal
if mfpType == ShareDefine.Def_MFPType_Plus:
OpenServerCampaign.UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_Plus, mfpTotal)
@@ -5336,15 +5335,15 @@
# 重置模块技能战斗力
for mfpType in ShareDefine.ModuleFightPowerTypeList:
- curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPSkill % mfpType, 0)
+ SetMFPSkillFightPower(curPlayer, mfpType, 0)
for i in range(0, skillManager.GetSkillCount()):
curSkill = skillManager.GetSkillByIndex(i)
mfpType = ChConfig.Def_SkillFuncType_MFPType.get(curSkill.GetFuncType(), ShareDefine.Def_MFPType_Role)
-
- skillMFP = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MFPSkill % mfpType)
- curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPSkill % mfpType, skillMFP + curSkill.GetFightPower())
+
+ skillMFP = GetMFPSkillFightPower(curPlayer, mfpType)
+ SetMFPSkillFightPower(curPlayer, mfpType, skillMFP + curSkill.GetFightPower())
return
@@ -5357,9 +5356,9 @@
return
mfpType = ChConfig.Def_SkillFuncType_MFPType.get(curSkill.GetFuncType(), ShareDefine.Def_MFPType_Role)
- addFightPower = curSkill.GetFightPower() - beforeFightPower
- skillMFP = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MFPSkill % mfpType)
- curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPSkill % mfpType, max(0, skillMFP + addFightPower))
+ addFightPower = curSkill.GetFightPower() - beforeFightPower
+ skillMFP = GetMFPSkillFightPower(curPlayer, mfpType)
+ SetMFPSkillFightPower(curPlayer, mfpType, max(0, skillMFP + addFightPower))
GameWorld.DebugLog("刷新技能附加战斗力: skillID=%s,beforeFightPower=%s,mfpType=%s,skillMFP=%s,updMFP=%s"
% (skillID, beforeFightPower, mfpType, skillMFP, skillMFP + addFightPower), curPlayer.GetPlayerID())
@@ -5377,8 +5376,8 @@
return
delFightPower = curSkill.GetFightPower()
mfpType = ChConfig.Def_SkillFuncType_MFPType.get(curSkill.GetFuncType(), ShareDefine.Def_MFPType_Role)
- skillMFP = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MFPSkill % mfpType)
- curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPSkill % mfpType, max(0, skillMFP - delFightPower))
+ skillMFP = GetMFPSkillFightPower(curPlayer, mfpType)
+ SetMFPSkillFightPower(curPlayer, mfpType, max(0, skillMFP - delFightPower))
GameWorld.DebugLog("刷新技能附加战斗力: delSkillID=%s,mfpType=%s,skillMFP=%s,delFightPower=%s"
% (delSkillID, mfpType, skillMFP, delFightPower), curPlayer.GetPlayerID())
@@ -5414,7 +5413,8 @@
mfpData = ChPyNetSendPack.tagMCModuleFightPower()
mfpData.Clear()
mfpData.MfpType = mfpType
- mfpData.FightPower = fightPower # 当前模块战斗力数值
+ mfpData.FightPower = fightPower % ChConfig.Def_PerPointValue # 当前模块战斗力数值
+ mfpData.FightPowerEx = fightPower / ChConfig.Def_PerPointValue # 当前模块战斗力数值
mfpDataList.append(mfpData)
totalFightPower += fightPower # 累加总战斗力
@@ -5443,8 +5443,8 @@
ChConfig.Def_PDictType_FightPower)
GameWorld.DebugLog("总战力: %s, 历史最高战力: %s, beforeFightPower=%s" % (totalFightPower, highestFightPower, beforeFightPower), playerID)
PlayerBillboard.UpdatePlayerFPTotalBillboard(curPlayer)
- # 记录开服活动数据,开服活动前X天理论上不会超过20E,暂不处理
- OpenServerCampaign.UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_FightPower, min(totalFightPower, ChConfig.Def_UpperLimit_DWord))
+ # 记录开服活动数据
+ OpenServerCampaign.UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_FightPower, totalFightPower)
if beforeFightPower != totalFightPower:
CrossPlayerData.OnPlayerFightPowerChange(curPlayer)
return
@@ -6586,20 +6586,22 @@
def GetPrestige(curPlayer): return 0
def SetPrestige(curPlayer, value): return
-##总战斗力,支持超过20E
+##总战斗力,支持超过20E = 各模块战力总和
def GetFightPower(curPlayer): return curPlayer.GetFightPowerEx() * ChConfig.Def_PerPointValue + curPlayer.GetFightPower()
def SetFightPower(curPlayer, value):
curPlayer.SetFightPower(value % ChConfig.Def_PerPointValue, value / ChConfig.Def_PerPointValue, False) # 不通知GameServer bNotifyGameServer False
return
-## 设置模块战斗力,最大20E
+## 设置模块战斗力,支持超过20E = 模块公式战力 + 技能附加战力 + 其他附加战力
def SetMFPFightPower(curPlayer, mfpType, fightPower):
- curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPFightPower % mfpType, min(fightPower, ChConfig.Def_UpperLimit_DWord))
+ curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPFightPower % mfpType, fightPower % ChConfig.Def_PerPointValue)
+ curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPFightPowerPoint % mfpType, fightPower / ChConfig.Def_PerPointValue)
return
## 获取模块战斗力
def GetMFPFightPower(curPlayer, mfpType):
- return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MFPFightPower % mfpType)
+ return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MFPFightPowerPoint % mfpType) * ChConfig.Def_PerPointValue + \
+ curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MFPFightPower % mfpType)
## 设置模块附加战斗力,支持超过20E
def SetMFPExFightPower(curPlayer, mfpType, fightPower):
@@ -6611,6 +6613,18 @@
def GetMFPExFightPower(curPlayer, mfpType):
return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MFPExPoint % mfpType) * ChConfig.Def_PerPointValue + \
curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MFPEx % mfpType)
+
+## 设置模块技能附加战斗力,支持超过20E
+def SetMFPSkillFightPower(curPlayer, mfpType, fightPower):
+ curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPSkill % mfpType, fightPower % ChConfig.Def_PerPointValue)
+ curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPSkillEx % mfpType, fightPower / ChConfig.Def_PerPointValue)
+ return
+
+## 获取模块技能附加战斗力
+def GetMFPSkillFightPower(curPlayer, mfpType):
+ return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MFPSkillEx % mfpType) * ChConfig.Def_PerPointValue + \
+ curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MFPSkill % mfpType)
+
#===============================================================================
##获取玩家分线信息
# @param curPlayer 玩家实例
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDienstgrad.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDienstgrad.py
index 38cf5a0..f1bdd07 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDienstgrad.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDienstgrad.py
@@ -585,7 +585,7 @@
PlayerControl.CalcAttrDict_Type(attrID, attrValue, allAttrListStar)
# 保存计算值
- curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_Dienstgrad, initFPAdd)
+ PlayerControl.SetMFPExFightPower(curPlayer, ShareDefine.Def_MFPType_Dienstgrad, initFPAdd)
PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Dienstgrad, allAttrList)
PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_TitleStar, allAttrListStar)
return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py
index f7398cf..b0d3e90 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py
@@ -602,7 +602,7 @@
equipFightPowerEx = eval(IpyGameDataPY.GetFuncCompileCfg("FightpowerFormula", 2))
#GameWorld.DebugLog("神兽装备评分战力: equipScoreTotal=%s,equipFightPowerEx=%s" % (equipScoreTotal, equipFightPowerEx))
fightPowerEx += equipFightPowerEx
- curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_Dogz, fightPowerEx)
+ PlayerControl.SetMFPExFightPower(curPlayer, ShareDefine.Def_MFPType_Dogz, fightPowerEx)
# 技能属性,从Def_CalcAttrFunc_Dogz获取
skillAttrList = CalcDogzBattleSkillAttr(curPlayer)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFace.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFace.py
index e93b2bb..c93652b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFace.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFace.py
@@ -320,7 +320,7 @@
# 保存计算值
PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Face, allAttrList)
- curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_Face, fightPowerEx)
+ PlayerControl.SetMFPExFightPower(curPlayer, ShareDefine.Def_MFPType_Face, fightPowerEx)
return
def CalcFacePicAttr(curPlayer):
@@ -356,7 +356,7 @@
# 保存计算值
PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_FacePic, allAttrList)
- curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_FacePic, fightPowerEx)
+ PlayerControl.SetMFPExFightPower(curPlayer, ShareDefine.Def_MFPType_FacePic, fightPowerEx)
return
#// B2 26 头像幻化 #tagCMFaceChange
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyTech.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyTech.py
index 135f069..3ae6e80 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyTech.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyTech.py
@@ -149,7 +149,7 @@
# 保存计算值
PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_FamilyTech, allAttrList)
- curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_Other, skillFPEx)
+ PlayerControl.SetMFPExFightPower(curPlayer, ShareDefine.Def_MFPType_Other, skillFPEx)
return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGodWeapon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGodWeapon.py
index f48e16f..b30eb98 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGodWeapon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGodWeapon.py
@@ -122,7 +122,7 @@
# 附加战力
- curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_GodWeapon, fightPowerEx)
+ PlayerControl.SetMFPExFightPower(curPlayer, ShareDefine.Def_MFPType_GodWeapon, fightPowerEx)
#GameWorld.DebugLog("神兵属性:%s" % allAttrList)
# 保存计算值
PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_GodWeapon, allAttrList)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py
index a82f78b..4d86f4f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py
@@ -542,7 +542,7 @@
attrValue = eatItemAttrValueList[i]
PlayerControl.CalcAttrDict_Type(attrID, attrValue * attrMultiple, allAttrListTrain)
- curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_Horse, initFPAdd)
+ PlayerControl.SetMFPExFightPower(curPlayer, ShareDefine.Def_MFPType_Horse, initFPAdd)
#GameWorld.DebugLog("坐骑功能属性: horseLV=%s,horseSpeed=%s,totalItemCount=%s,initFPAdd=%s" % (horseLV, horseSpeed, totalItemCount, initFPAdd))
@@ -551,7 +551,7 @@
# 果实对坐骑的加成, 魂石果实算附加属性层,单独计算
fightPowerEx = PlayerAttrFruit.CalcAttrFruitAddAtrr(curPlayer, allAttrListHorseSoul, ShareDefine.Def_AttrFruitFunc_Horse)
- curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_HorseSoul, fightPowerEx)
+ PlayerControl.SetMFPExFightPower(curPlayer, ShareDefine.Def_MFPType_HorseSoul, fightPowerEx)
# 保存计算值
PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Horse, allAttrList, customAttrDict=customAttrDictHorse)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py
index bddb711..0fddd13 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py
@@ -887,7 +887,7 @@
totalSignNum = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalSignNum) # 总签到天数
# 果实给人物加属性, 魂石果实算附加属性层,单独计算
fightPowerEx = PlayerAttrFruit.CalcAttrFruitAddAtrr(curPlayer, allAttrListPetSoul, ShareDefine.Def_AttrFruitFunc_Pet)
- curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_PetSoul, fightPowerEx)
+ PlayerControl.SetMFPExFightPower(curPlayer, ShareDefine.Def_MFPType_PetSoul, fightPowerEx)
#灵兽技能给人物加的属性
learnSkillList, passiveSkillList = GetPetLearnSkill(curPlayer)
@@ -991,7 +991,7 @@
PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_PetSkin, allAttrListPetSkin)
PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_PetStar, allAttrListStar)
- curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_Pet, fpExTotal)
+ PlayerControl.SetMFPExFightPower(curPlayer, ShareDefine.Def_MFPType_Pet, fpExTotal)
# GameWorld.DebugLog("宠物榜NPCID: %s, petDict=%s" % (billPetNPCID, str(billPetDict)))
return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py
index 50930c2..761950d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py
@@ -334,7 +334,7 @@
allAttrYaoList = [{} for _ in range(4)]
fightPowerEx = PlayerAttrFruit.CalcAttrFruitAddAtrr(curPlayer, allAttrYaoList, ShareDefine.Def_AttrFruitFunc_Stove)
PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_StoveYao, allAttrYaoList)
- curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_StoveYao, fightPowerEx)
+ PlayerControl.SetMFPExFightPower(curPlayer, ShareDefine.Def_MFPType_StoveYao, fightPowerEx)
return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerShentong.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerShentong.py
index 3372899..58e01bd 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerShentong.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerShentong.py
@@ -270,7 +270,7 @@
customAttrDictShentong["shentongSkillInfo"] = shentongSkillInfo
# 附加战力
- curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_Shentong, fightPowerEx)
+ PlayerControl.SetMFPExFightPower(curPlayer, ShareDefine.Def_MFPType_Shentong, fightPowerEx)
# 保存计算值
PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Shentong, allAttrList, customAttrDict=customAttrDictShentong)
return
--
Gitblit v1.8.0