From fb30a62bca5aa44399c1e8e9aa3dc2e5c250bbf2 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 18 十月 2024 18:00:07 +0800
Subject: [PATCH] 10263 【越南】【英文】后端支持NPC仿真实玩家战斗和快速战斗
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBackup.py | 2 +-
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGuaji.py | 2 +-
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/MirrorAttack.py | 5 ++++-
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py | 2 ++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py | 2 ++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py | 2 ++
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerPackData.py | 8 ++++----
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PlayerMirror.py | 8 +++++---
8 files changed, 21 insertions(+), 10 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerPackData.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerPackData.py
index ce8f7c9..11fb6b1 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerPackData.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerPackData.py
@@ -318,6 +318,7 @@
packObj = packDataMgr.GetPlayerPackObj(playerID)
# 已经有的数据先推送回去
if packObj:
+ GameWorld.DebugLog("跨服有缓存玩家打包数据,直接推给子服! playerID=%s" % playerID)
packDataDict[playerID] = packObj.PackData
dataMsg = {"playerID":playerID, "packData":packObj.PackData, "msgInfo":msgInfo}
CrossRealmMsg.SendMsgToClientServer(ShareDefine.CrossServerMsg_PushPlayerPackData, dataMsg, [serverGroupID])
@@ -349,18 +350,16 @@
msgInfo = msgData["msgInfo"]
pullPlayerIDList = msgData["pullPlayerIDList"]
- needPullPlayerIDList = []
packDataMgr = PyDataManager.GetDBPlayerPackDataManager()
for playerID in pullPlayerIDList:
packObj = packDataMgr.GetPlayerPackObj(playerID)
if packObj:
- # 本服有数据,直接推给跨服
+ GameWorld.DebugLog("本服有缓存玩家打包数据,直接推给跨服! playerID=%s" % playerID)
dataMsg = {"playerID":playerID, "packData":packObj.PackData, "msgInfo":msgInfo}
CrossRealmMsg.SendMsgToCrossServer(ShareDefine.ClientServerMsg_PlayerPackData, dataMsg)
else:
- needPullPlayerIDList.append(playerID)
+ DoPullPlayerPackData(playerID, msgInfo)
- DoPullPlayerPackData(needPullPlayerIDList, msgInfo)
return
def CrossServerMsg_PushPlayerPackData(msgData):
@@ -415,6 +414,7 @@
CrossRealmMsg.SendMsgToCrossServer(ShareDefine.ClientServerMsg_PlayerPackData, dataMsg)
return
+ PyDataManager.GetDBPlayerPackDataManager().UpdPlayerPackData(playerID, packData)
# 本服需要,汇总结果
ReuestPlayerPackDataRet(msgInfo, playerID, packData)
return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/MirrorAttack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/MirrorAttack.py
index bd53a0c..e2b4736 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/MirrorAttack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/MirrorAttack.py
@@ -446,6 +446,9 @@
playerID = 0
if curPlayer:
playerID = curPlayer.GetPlayerID()
+ if curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MirrorBattleID):
+ GameWorld.DebugLog("镜像战斗场景中,无法请求!", playerID)
+ return
curTime = int(time.time())
# 请求cd验证
requestTime = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MirrorBattleTime)
@@ -476,7 +479,7 @@
"requestTime":requestTime, "requestID":requestID, "requestMapID":requestMapID, "playerID":playerID})
GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, "ReuestPlayerPackData", sendMsg, len(sendMsg))
GameWorld.DebugLog("请求创建镜像战斗: %s" % sendMsg, playerID)
- return
+ return True
def OnMirrorBattleInit(msgInfo, packDataDict, curPlayer=None):
''' 镜像战斗初始化
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py
index b828710..593dd42 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py
@@ -121,6 +121,8 @@
def SendEventPack(eventTypeStr, dataDict, curPlayer=None):
if curPlayer:
+ if not GameWorld.IsNormalPlayer(curPlayer):
+ return
pid = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_PlayerFromPID)
dataDict["pid"] = pid
dataDict["fightPower"] = PlayerControl.GetFightPower(curPlayer)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py
index 29008ad..6fdfaca 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.py
@@ -127,6 +127,8 @@
playerInfo = ""
if curPlayer:
+ if not GameWorld.IsNormalPlayer(curPlayer):
+ return
#UTF8 需要转成url编码才可用
playerInfo = urllib.urlencode({"RoleID": curPlayer.GetName(),
"AccountID": GameWorld.GetPlatformAccID(curPlayer.GetAccID()),
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PlayerMirror.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PlayerMirror.py
index 0e0d977..a6272b7 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PlayerMirror.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PlayerMirror.py
@@ -72,10 +72,12 @@
for i, batPlayerID in enumerate(factionIDListB):
battlePlayerList.append({"playerID":batPlayerID, "faction":2, "posX":posX + 5, "posY":posY + i * 5})
- GameWorld.DebugAnswer(curPlayer, "创建镜像: %s VS %s" % (factionIDListA, factionIDListB))
requestID = playerID
- MirrorAttack.OnRequestCreateMirrorBattle(mapID, lineID, requestID, battlePlayerList, isSysbg, curPlayer)
-
+ if MirrorAttack.OnRequestCreateMirrorBattle(mapID, lineID, requestID, battlePlayerList, isSysbg, curPlayer):
+ GameWorld.DebugAnswer(curPlayer, "请求创建镜像: %s VS %s" % (factionIDListA, factionIDListB))
+ else:
+ GameWorld.DebugAnswer(curPlayer, "请求创建镜像失败: %s VS %s" % (factionIDListA, factionIDListB))
+
elif value1 == "s":
battle = MirrorAttack.GetMirrorBattle(curPlayer)
if battle:
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBackup.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBackup.py
index efc2b37..24bdd9c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBackup.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBackup.py
@@ -30,7 +30,7 @@
#GameWorld.DebugLog("未启用备档")
return
- if curPlayer.GetRealPlayerID() != 0:
+ if not GameWorld.IsNormalPlayer(curPlayer):
return
curTime = int(time.time())
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 982de22..a3100ef 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py
@@ -62,6 +62,8 @@
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
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGuaji.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGuaji.py
index c0e21fd..f737e3d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGuaji.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGuaji.py
@@ -59,7 +59,7 @@
if GameWorld.IsCrossServer():
return
- if curPlayer.GetRealPlayerID() != 0:
+ if not GameWorld.IsNormalPlayer(curPlayer):
return
if not GameFuncComm.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Guaji):
--
Gitblit v1.8.0