hxp
2024-07-04 eda1c4429db2e7a3b1b79eee0cba0fc7abec7290
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()):