ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
@@ -27,48 +27,22 @@
import PlayerCoin
import PlayerControl
import PlayerFamily
import PlayerLoginDayAward
import NPCCommon
import FunctionNPCCommon
import PlayerGoldGift
import PlayerActivity
import FBCommon
import PlayerFreeGoods
import ChItem
import GameLogic_Tianzi
import PlayerGoldInvest
import PlayerActCollectWords
import PlayerActTotalRecharge
import PlayerActGodGift
import PlayerActFamilyCTGAssist
import PlayerActManyDayRecharge
import PlayerActSingleRecharge
import PlayerActGrowupBuy
import PlayerActTurntable
import PlayerActBuyOne
import PlayerSpringSale
import PlayerFeastLogin
import PlayerFeastWish
import PlayerActTask
import PlayerActYunshi
import PlayerActLunhuidian
import PlayerActBuyCountGift
import PlayerActLoginNew
import PlayerActLogin
import PlayerFlashGiftbag
import PlayerDailyGiftbag
import PlayerOfflineSupport
import PlayerLuckyTreasure
import PlayerFlashSale
import PlayerWishingWell
import PlayerTreasure
import PlayerZhanling
import PlayerLove
import IpyGameDataPY
import PlayerArena
import PyGameData
import OpenServerActivity
import PlayerXiangong
import PlayerBillboard
import PlayerViewCache
import GameFuncComm
@@ -95,28 +69,16 @@
    
    # 其他跨服功能
    
    # 游戏服额外处理玩家
    if GameWorld.IsMainServer():
        playerManager = GameWorld.GetPlayerManager()
        for i in xrange(playerManager.OnlineCount()):
            curPlayer = playerManager.OnlineAt(i)
            if not GameWorld.IsNormalPlayer(curPlayer):
                continue
            PlayerOnCrossCenterEvent(curPlayer, centerEventValue)
    PlayerBillboard.OnDay(centerEventValue)
    return
def DoLogic_OnDay(tick):
    GameWorld.Log("MapServer -> OnDay!")
    #副本OnDay事件响应
    #FBLogic.OnDay(tick)
    
    OpenServerActivity.OnDay()
    #仙盟
    FBLogic.OnDay()
    PlayerFamily.FamilyOnDay()
    PlayerArena.OnDay()
    GameLogic_Tianzi.OnDay()
    
    PlayerOfflineSupport.OnDay()
    playerManager = GameWorld.GetPlayerManager()
@@ -162,6 +124,7 @@
def DoLogic_OnWeek(tick):
    GameWorld.Log("MapServer -> OnWeek!")
    
    FBLogic.OnWeek()
    PlayerArena.OnWeek()
    
    playerManager = GameWorld.GetPlayerManager()
@@ -173,8 +136,6 @@
        
        PlayerOnWeek(curPlayer)
        
    #副本OnWeek事件响应
    FBLogic.OnWeek(tick)
    return
def DoLogic_OnMonth(tick):
@@ -232,20 +193,22 @@
    return
#--------------------------------------------------------
def PlayerOnCrossCenterEvent(curPlayer, centerEventValue=0):
def PlayerOnCrossCenterEvent(curPlayer, centerEventValue=0, gmEvent=""):
    ## 跨服中心过天
    if not centerEventValue:
        centerEventValue = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_CrossCenterEvent)
    playerEventValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OnCrossEvent)
    if not playerEventValue:
        playerEventValue = centerEventValue
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnCrossEvent, centerEventValue)
    #第一次也要执行一次
    #if not playerEventValue:
    #    playerEventValue = centerEventValue
    #    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnCrossEvent, centerEventValue)
        
    if playerEventValue == centerEventValue:
    if playerEventValue == centerEventValue and not gmEvent:
        GameWorld.DebugLog("玩家与跨服中心事件值相同不处理! playerEventValue=%s,centerEventValue=%s" % (playerEventValue, centerEventValue))
        return
    
    centerEventTime = GameWorld.ChangeStrToDatetime("%s:%02d:%02d" % centerEventValue, ChConfig.TYPE_Time_Format_YmdHMS)
    playerEventTime = GameWorld.ChangeStrToDatetime("%s:%02d:%02d" % playerEventValue, ChConfig.TYPE_Time_Format_YmdHMS)
    centerEventTime = GameWorld.ChangeStrToDatetime("%s" % centerEventValue, ChConfig.TYPE_Time_Format_YmdH)
    playerEventTime = GameWorld.ChangeStrToDatetime("%s" % playerEventValue, ChConfig.TYPE_Time_Format_YmdH)
    
    center_Day = centerEventTime.day
    center_Month = centerEventTime.month
@@ -257,7 +220,7 @@
    
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnCrossEvent, centerEventValue)
    
    if (center_Day != player_Day or center_Month != player_Month or center_Year != player_Year):
    if (center_Day != player_Day or center_Month != player_Month or center_Year != player_Year or gmEvent == "GMOnDay"):
        PlayerCrossCenterOnDay(curPlayer, centerEventValue)
        
    return
@@ -273,9 +236,10 @@
def PlayerOnDay(curPlayer):
    #记录玩家字典值,待初始化后执行
    if not curPlayer.GetGameServerInitOK():
        GameServerRefresh.Set_PlayerGameServerInitOK_OnDay(curPlayer , 1)
        return
    #GameServer已废弃,不再验证
    #if not curPlayer.GetGameServerInitOK():
    #    GameServerRefresh.Set_PlayerGameServerInitOK_OnDay(curPlayer , 1)
    #    return
    
    ondayValue = __Get_Can_OnDay(curPlayer)
    if not ondayValue:
@@ -306,8 +270,6 @@
    
    #OnDay时清除每日签到的信息
    PlayerSignDay.SignDayOnDay(curPlayer)
    # 累计登陆礼包登陆次数刷新
    PlayerLoginDayAward.NotePlayerLoginDayCnt(curPlayer)
    
    #------------------------------------------------------------------------------ 
    
@@ -320,12 +282,6 @@
    #寻宝
    PlayerTreasure.OnDay(curPlayer)
    PlayerGoldGift.OnDay(curPlayer)
    #转盘
    PlayerActTurntable.PlayerOnDay(curPlayer)
    #情缘
    PlayerLove.DoPlayerOnDay(curPlayer)
    #仙宫
    PlayerXiangong.PlayerOnDay(curPlayer)
    PlayerControl.PlayerOnDay(curPlayer)
    ChPlayer.PlayerOnDay(curPlayer)
    PlayerActivity.OnDay(curPlayer)
@@ -340,8 +296,6 @@
    PlayerFamily.PlayerOnDay(curPlayer)
    # 重置物品每日使用次数
    ChItem.ResetItemUseCntToday(curPlayer)
    # 极品白拿
    PlayerFreeGoods.OnDay(curPlayer)
    #采集次数重置
    NPCCommon.PlayerOnDay(curPlayer)
    #竞技场
@@ -349,12 +303,8 @@
    
    # 以下为支持两种重置模式切换配置的
    FBCommon.FBOnDay(curPlayer, onEventType)
    #许愿池
    PlayerWishingWell.OnDay(curPlayer)
    #任务活动
    PlayerActTask.OnDay(curPlayer)
    #登录活动
    PlayerActLoginNew.OnDay(curPlayer)
    #购买次数礼包
    PlayerActBuyCountGift.OnDay(curPlayer, onEventType)
    return
@@ -398,9 +348,10 @@
#  @remarks 函数详细说明.
def PlayerOnWeek(curPlayer):
    #记录玩家字典值,待初始化后执行
    if not curPlayer.GetGameServerInitOK():
        GameServerRefresh.Set_PlayerGameServerInitOK_OnWeek(curPlayer , 1)
        return
    #GameServer已废弃,不再验证
    #if not curPlayer.GetGameServerInitOK():
    #    GameServerRefresh.Set_PlayerGameServerInitOK_OnWeek(curPlayer , 1)
    #    return
    
    onWeekValue = __Get_Can_OnWeek(curPlayer)
    if not onWeekValue:
@@ -455,9 +406,10 @@
#  @remarks 函数详细说明.
def PlayerOnMonth(curPlayer):
    #记录玩家字典值,待初始化后执行
    if not curPlayer.GetGameServerInitOK():
        GameServerRefresh.Set_PlayerGameServerInitOK_OnMonth(curPlayer , 1)
        return
    #GameServer已废弃,不再验证
    #if not curPlayer.GetGameServerInitOK():
    #    GameServerRefresh.Set_PlayerGameServerInitOK_OnMonth(curPlayer , 1)
    #    return
    
    onMonthValue = __Get_Can_OnMonth(curPlayer)
    if not onMonthValue:
@@ -495,9 +447,10 @@
#  @remarks 函数详细说明.
def PlayerOnYear(curPlayer):
    #记录玩家字典值,待初始化后执行
    if not curPlayer.GetGameServerInitOK():
        GameServerRefresh.Set_PlayerGameServerInitOK_OnYear(curPlayer , 1)
        return
    #GameServer已废弃,不再验证
    #if not curPlayer.GetGameServerInitOK():
    #    GameServerRefresh.Set_PlayerGameServerInitOK_OnYear(curPlayer , 1)
    #    return
    
    curPlayerID = curPlayer.GetPlayerID()
    
@@ -519,9 +472,10 @@
#  @remarks 函数详细说明.
def PlayerOnHour(curPlayer):
    #记录玩家字典值,待初始化后执行
    if not curPlayer.GetGameServerInitOK():
        GameServerRefresh.Set_PlayerGameServerInitOK_OnHour(curPlayer , 1)
        return
    #GameServer已废弃,不再验证
    #if not curPlayer.GetGameServerInitOK():
    #    GameServerRefresh.Set_PlayerGameServerInitOK_OnHour(curPlayer , 1)
    #    return
    
    curPlayerID = curPlayer.GetPlayerID()
    
@@ -904,93 +858,8 @@
                PlayerControl.SetCoupleInfo(playerID, coupleInfo)
            return
        
        if key.startswith(ShareDefine.Def_Notify_WorldKey_OperationActionInfo[:-2]):
            keyHead = ShareDefine.Def_Notify_WorldKey_OperationActionInfo[:-2]
            actionName = key[len(keyHead):]
            actInfo = eval(msgValue)
            actNum = actInfo.get(ShareDefine.ActKey_ActNum, 0)
            if actionName in ShareDefine.MultiActNumOperationActNameList:
                if not actNum:
                    GameWorld.ErrLog('MultiActNumOperation can not found actNum. actionName=%s,msg = %s' % (actionName, msg))
                    return
                if actionName not in PyGameData.g_operationActionDict:
                    PyGameData.g_operationActionDict[actionName] = {}
                PyGameData.g_operationActionDict[actionName][actNum] = actInfo
            else:
                PyGameData.g_operationActionDict[actionName] = actInfo
            if actionName == ShareDefine.OperationActionName_ExpRate:
                PlayerControl.RefreshOperationAction_ExpRate()
            elif actionName == ShareDefine.OperationActionName_TotalRecharge:
                PlayerActTotalRecharge.RefreshTotalRechargeActionInfo(actNum)
            elif actionName == ShareDefine.OperationActionName_GodGift:
                PlayerActGodGift.RefreshGodGiftActionInfo(actNum)
            elif actionName == ShareDefine.OperationActionName_ManyDayRecharge:
                PlayerActManyDayRecharge.RefreshManyDayRechargeActionInfo(actNum)
            elif actionName == ShareDefine.OperationActionName_SingleRecharge:
                PlayerActSingleRecharge.RefreshSingleRechargeActionInfo(actNum)
            elif actionName == ShareDefine.OperationActionName_Turntable:
                PlayerActTurntable.RefreshTurntableActionInfo(actNum)
            elif actionName == ShareDefine.OperationActionName_SpringSale:
                PlayerSpringSale.RefreshSpringSaleActionInfo(actNum)
            elif actionName == ShareDefine.OperationActionName_FlashGiftbag:
                PlayerFlashGiftbag.RefreshFlashGiftbagActionInfo(actNum)
            elif actionName == ShareDefine.OperationActionName_DailyGiftbag:
                PlayerDailyGiftbag.RefreshDailyGiftbagActionInfo()
            elif actionName == ShareDefine.OperationActionName_BuyOne:
                PlayerActBuyOne.RefreshBuyOneActionInfo(actNum)
            elif actionName == ShareDefine.OperationActionName_FamilyCTGAssist:
                PlayerActFamilyCTGAssist.RefreshFamilyCTGAssistActionInfo(actNum)
            elif actionName == ShareDefine.OperationActionName_FlashSale:
                PlayerFlashSale.RefreshflashSaleActionInfo(actNum)
            elif actionName == ShareDefine.OperationActionName_WishingWell:
                PlayerWishingWell.RefreshWishingWellAction()
            elif actionName == ShareDefine.OperationActionName_CollectWords:
                PlayerActCollectWords.RefreshActCollectWordsInfo(actNum)
            elif actionName == ShareDefine.OperationActionName_BuyCountGift:
                PlayerActBuyCountGift.RefreshBuyCountGiftActionInfo(actNum)
            elif actionName == ShareDefine.OperationActionName_ActTask:
                PlayerActTask.RefreshActTaskActionInfo(actNum)
            elif actionName == ShareDefine.OperationActionName_Yunshi:
                PlayerActYunshi.RefreshActYunshiActionInfo(actNum)
            elif actionName == ShareDefine.OperationActionName_Lunhuidian:
                PlayerActLunhuidian.RefreshActLunhuidianActionInfo(actNum)
            elif actionName == ShareDefine.OperationActionName_LoginAward:
                PlayerActLogin.RefreshOperationAction_LoginAward()
            elif actionName == ShareDefine.OperationActionName_ActLoginNew:
                PlayerActLoginNew.RefreshActLoginActionInfo(actNum)
            elif actionName == ShareDefine.OperationActionName_FeastLogin:
                PlayerFeastLogin.RefreshFeastLoginActionInfo()
            elif actionName == ShareDefine.OperationActionName_FeastWish:
                PlayerFeastWish.RefreshFeastWishActionInfo()
            elif actionName == ShareDefine.OperationActionName_LuckyTreasure:
                PlayerLuckyTreasure.RefreshLuckyTreasureAction()
            elif actionName == ShareDefine.OperationActionName_GrowupBuy:
                PlayerActGrowupBuy.RefreshGrowupBuyActionInfo()
        if key.startswith(ShareDefine.Def_Notify_WorldKey_OperationActionInfo[:-2]):
            # 运营活动改为通过 GameWorldAction.OnMapOperationActionRefresh 触发刷新
            return
        
        if key.startswith(ShareDefine.Def_Notify_WorldKey_CrossActInfo[:-2]):