From 0684a9b035835b1e97e7ebc2ff9b949e72181e8c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 21 一月 2025 14:15:18 +0800
Subject: [PATCH] 10263 【越南】【英文】【BT】【砍树】后端支持NPC仿真实玩家战斗和快速战斗(优化镜像玩家移动)
---
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActBossTrial.py | 23 +++++++++++++++++++----
1 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActBossTrial.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActBossTrial.py
index b90fac9..6be7dd4 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActBossTrial.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActBossTrial.py
@@ -27,6 +27,8 @@
import CrossBillboard
import PlayerFamily
import PyDataManager
+import GameXiangong
+import GameWorship
def OnActStart(actNum):
## 活动开启
@@ -269,6 +271,8 @@
accID = curPlayer.GetAccID()
playerName = curPlayer.GetName()
job = curPlayer.GetJob()
+ face = curPlayer.GetFace()
+ facePic = curPlayer.GetFacePic()
realmLV = curPlayer.GetOfficialRank()
familyID = curPlayer.GetFamilyID()
submitCount, updSubmitCount = dataMsg
@@ -284,7 +288,7 @@
#同步跨服
playerInfo = {"playerID":playerID, "playerName":playerName, "accID":accID, "job":job, "realmLV":realmLV,
- "playerSubmitTotal":updSubmitCount}
+ "playerSubmitTotal":updSubmitCount, "face":face, "facePic":facePic}
SyncBossTrialSubmitToCrossServer(curPlayer, playerInfo, familyBillInfo)
return
@@ -465,13 +469,15 @@
accID = playerInfo["accID"]
realmLV = playerInfo["realmLV"]
playerSubmitTotal = playerInfo["playerSubmitTotal"]
+ face = playerInfo.get("face", 0)
+ facePic = playerInfo.get("facePic", 0)
groupValue1 = zoneID
if playerSubmitTotal >= personlLimit:
name2, type2, value1, value2 = accID, job, realmLV, 0
CrossBillboard.UpdCrossBillboard(ShareDefine.Def_CBT_BossTrialSubmit, groupValue1, playerID, playerName,
- name2, type2, value1, value2, playerSubmitTotal)
+ name2, type2, value1, value2, playerSubmitTotal, value3=face, value4=facePic)
if familyInfo and familyInfo.get("familySubmitTotal", 0) >= familyLimit:
familySubmitTotal = familyInfo["familySubmitTotal"]
@@ -565,13 +571,14 @@
PersonalTemplateID = ipyData.GetPersonalTemplateID()
FamilyTemplateID = ipyData.GetFamilyTemplateID()
+ serverIDRangeList = ipyData.GetServerIDRangeList()
- __GiveCrossOrderAwardPersonal(cfgID, zoneID, PersonalTemplateID, ShareDefine.Def_CBT_BossTrialSubmit)
+ __GiveCrossOrderAwardPersonal(cfgID, zoneID, PersonalTemplateID, ShareDefine.Def_CBT_BossTrialSubmit, serverIDRangeList)
__GiveCrossOrderAwardFamily(cfgID, zoneID, FamilyTemplateID, ShareDefine.Def_CBT_BossTrialSubmitFamily)
GameWorld.Log("=================================================================================")
return
-def __GiveCrossOrderAwardPersonal(cfgID, zoneID, templateID, billboardType):
+def __GiveCrossOrderAwardPersonal(cfgID, zoneID, templateID, billboardType, serverIDRangeList):
groupValue1 = zoneID
#billboardType = ShareDefine.Def_CBT_BossTrialSubmit #榜单类型改为参数传入,异常情况下可特殊处理用备份榜单发奖励
@@ -593,6 +600,9 @@
if not orderIpyDataList:
return
+ worshipType = ShareDefine.Def_WorshipType_CrossBossTrial
+ syncNewWorshipList = []
+ syncNewXiangongDict = {}
rankPre = 0
billboardIndex = 0
for ipyData in orderIpyDataList:
@@ -602,6 +612,7 @@
scoreAwardExList = scoreAwardEx.keys()
scoreAwardExList.sort()
awardItemList = ipyData.GetAwardItemList()
+ xiangongID = ipyData.GetXiangongID()
orderCountTotal = rank - rankPre # 奖励名次数量
rankPre = rank
@@ -632,6 +643,10 @@
orderCountTotal -= 1
billboardIndex += 1
+ GameXiangong.AddXiangongPlayer(xiangongID, playerID, serverIDRangeList, playerRank, syncNewXiangongDict)
+ GameWorship.AddWorshipPlayer(worshipType, playerRank, playerID, serverIDRangeList, syncList=syncNewWorshipList)
+ GameWorship.SendNewWorshipPlayer(syncNewWorshipList)
+ GameXiangong.SendNewXiangongPlayerToClientServer(syncNewXiangongDict)
return
def __GiveCrossOrderAwardFamily(cfgID, zoneID, templateID, billboardType):
--
Gitblit v1.8.0