From eda1c4429db2e7a3b1b79eee0cba0fc7abec7290 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 04 七月 2024 19:12:34 +0800
Subject: [PATCH] 10198 【香港】【越南】【主干】【砍树】【后端】BOSS凭证优化

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)

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 a5bd730..deeb53e 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -6084,6 +6084,32 @@
     return
 
 #---------------------------------------------------------------------
+def IsInOperationAction(curPlayer, actName, actIDKey, crossActName="", crossActIDKey=""):
+    ## 玩家是否有正在参与中的活动中运营活动
+    
+    if crossActName and crossActIDKey:
+        playerActID = curPlayer.NomalDictGetProperty(crossActIDKey)
+        actInfo = CrossRealmPlayer.GetPlayerCrossActInfo(curPlayer, crossActName)
+        actID = actInfo.get(ShareDefine.ActKey_ID, 0)
+        cfgID = actInfo.get(ShareDefine.ActKey_CfgID, 0)
+        stateJoin = actInfo.get(ShareDefine.ActKey_StateJoin, 0)
+        if stateJoin == ShareDefine.ActStateJoin_Start and actID == playerActID:
+            GameWorld.DebugLog("%s活动玩家正在参与中! cfgID=%s,actID=%s,stateJoin=%s" 
+                               % (crossActName, cfgID, actID, stateJoin), curPlayer.GetPlayerID())
+            return True
+        
+    for actInfo in PyGameData.g_operationActionDict.get(actName, {}).values():
+        actNum = actInfo.get(ShareDefine.ActKey_ActNum, 0)
+        actID = actInfo.get(ShareDefine.ActKey_ID, 0)
+        stateJoin = actInfo.get(ShareDefine.ActKey_StateJoin, 0)
+        playerActID = curPlayer.NomalDictGetProperty(actIDKey % actNum)
+        if stateJoin == ShareDefine.ActStateJoin_Start and actID == playerActID:
+            GameWorld.DebugLog("%s玩家正在参与中! actNum=%s,actID=%s,stateJoin=%s" 
+                               % (actName, actNum, actID, stateJoin), curPlayer.GetPlayerID())
+            return True
+        
+    return False
+
 def RefreshOperationAction_ExpRate():
     playerManager = GameWorld.GetPlayerManager()
     for i in xrange(playerManager.GetPlayerCount()):

--
Gitblit v1.8.0