hxp
2019-09-22 8a8329e10d9003867939df1e55bc93e84ebed55f
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
@@ -38,9 +38,7 @@
import GameLogInfo
import GameServerRefresh
import ShareDefine
import ReadCaptchaImage
import PlayerGameWallow
import ItemCommon
import Operate_PlayerBuyZhenQi
import PlayerSignDay
import PlayerCoin
@@ -52,52 +50,52 @@
import PlayerHorse
import PlayerLoginDayAward
import NPCCommon
import GameLogic_MergeBoss
import GameLogic_ManorWar
import FunctionNPCCommon
import PlayerGoldGift
import PlayerActivity
import PlayerTeHui
import PlayerBindJadeWheel
import PlayerAction
import PlayerTruck
import FBCommon
import PlayerDienstgrad
import PlayerSuccess
import PlayerMixLoginDayAward
import PlayerFreeGoods
import PlayerMagicWeapon
import ShopItemManage
import ChItem
import PlayerGoldInvest
import PlayerNewGuyCard
import PlayerMergeKing
import PlayerMergePK
import PlayerCrossRealmPK
import PlayerPet
import ReloadModule
import BossHurtMng
import PlayerRecover
import GameLogic_FamilyParty
import PlayerFamilyRedPacket
import GameLogic_FamilyInvade
import GameLogic_ElderBattlefield
import GameLogic_AllFamilyBoss
import GameLogic_HorsePetBoss
import GameLogic_FamilyBoss
import GameLogic_FamilyWar
import GameLogic_Dogz
import OpenServerCampaign
import PlayerCostRebate
import PlayerActTotalRecharge
import PlayerSpringSale
import PlayerBossReborn
import PlayerWeekParty
import PlayerFeastWeekParty
import PlayerActLogin
import PlayerFlashGiftbag
import PlayerFairyCeremony
import PlayerNewFairyCeremony
import PlayerFeastRedPacket
import PlayerLuckyTreasure
import PlayerAuctionHouse
import PlayerRefineStove
import PlayerFlashSale
import PlayerWishingWell
import PlayerFairyDomain
import PlayerVip
import PlayerDiceEx
import IpyGameDataPY
import FamilyRobBoss
import FBHelpBattle
import QuestManager
import PyGameData
import PlayerTJG
@@ -161,9 +159,6 @@
    
    #副本OnDay事件响应
    FBLogic.OnDay(tick)
    #重置跨服活动副本人数分配情况信息
    PlayerControl.ResetMergeFBPlayerCntInfo(0)
    
    #删除所有的任务发布
    missionPubManager = GameWorld.GetGameWorld().GetDBMissionPubManager()
@@ -478,6 +473,9 @@
    
def __DoPlayerOnDay(curPlayer, onEventType):
    
    if GameWorld.IsCrossServer():
        return
    # 常规过天
    if onEventType == ShareDefine.Def_OnEventType:
        
@@ -527,16 +525,17 @@
        PlayerBindJadeWheel.OnDay(curPlayer)
    # 特殊时间点X点过天
    elif onEventType == ShareDefine.Def_OnEventTypeEx:
        # 资源找回
        PlayerRecover.RecoverOnDay(curPlayer)
        #触发每日任务重置脚本
        EventShell.EventResponse_OnDay(curPlayer)
        #购买次数清空
        Operate_PlayerBuyZhenQi.PlayerOnDay(curPlayer)
        # 世界boss
        BossHurtMng.OnDay(curPlayer)
        #我要太极过天
        PlayerDiceEx.OnDay(curPlayer)
        # 资源找回
        PlayerRecover.RecoverOnDay(curPlayer)
        # 世界boss
        BossHurtMng.OnDay(curPlayer)
        # 仙盟过天
        PlayerFamily.FamilyPlayerOnDay(curPlayer)
        # 重置物品每日使用次数
@@ -545,6 +544,14 @@
        PlayerFreeGoods.OnDay(curPlayer)
        #采集次数重置
        NPCCommon.CollNPCTimeOnDay(curPlayer)
        #副本助战
        FBHelpBattle.DoPlayerOnDay(curPlayer)
        #跨服竞技场
        PlayerCrossRealmPK.DoPlayerOnDay(curPlayer)
        #缥缈仙域
        PlayerFairyDomain.OnDay(curPlayer)
        #仙盟宴会
        GameLogic_FamilyParty.OnDayFamilyPartyPlayer(curPlayer)
        
    PlayerTJG.TJGOnDay(curPlayer, onEventType)
    # 以下为支持两种重置模式切换配置的
@@ -647,6 +654,9 @@
def __DoPlayerOnWeek(curPlayer, onEventType):
    
    if GameWorld.IsCrossServer():
        return
    if onEventType == ShareDefine.Def_OnEventType:
        #记录上周工资相关流向
        lastWeekOnlineTime = curPlayer.GetLastWeekOnlineTime()
@@ -724,6 +734,8 @@
def __DoPlayerOnMonth(curPlayer, onEventType):
    
    if GameWorld.IsCrossServer():
        return
    
    if onEventType == ShareDefine.Def_OnEventType:
        pass
@@ -797,6 +809,8 @@
    
    #触发每小时任务重置脚本
    EventShell.EventResponse_OnHour(curPlayer)
    #缥缈仙域
    PlayerFairyDomain.OnHour(curPlayer)
    return
    
#---------------------------------------------------------------------
@@ -1220,7 +1234,7 @@
    pack = IPY_GameWorld.IPY_MBroadcastMsg()
    msg = pack.GetMsg()
    
    if not msg.startswith(ShareDefine.Def_Notify_WorldKey_GameWorldBossReborn[:-2]):
    if not msg.startswith(ShareDefine.Def_Notify_WorldKey_GameWorldBossReborn[:-3]):
        GameWorld.Log('GameServer_BroadcastMsg msg = %s'%(msg))
    #---接收世界服务器发来的消息---
@@ -1271,6 +1285,32 @@
                PyGameData.g_familyPartyInfo = eval(msgValue)
            return
        
        if key == ShareDefine.Def_Notify_WorldKey_FamilyPartyAddFamilyActivity:
            mapID, familyID, addFamilyActivity = eval(msgValue)
            if GameWorld.GetMap().GetMapID() == mapID:
                GameLogic_FamilyParty.DoAddFamilyMemberFamilyActivity(familyID, addFamilyActivity)
            return
        if key == ShareDefine.Def_Notify_WorldKey_AddFamilyAuctionItem:
            mapID, familyAuctionItemDict = eval(msgValue)
            if GameWorld.GetMap().GetMapID() == mapID:
                PlayerAuctionHouse.DoAddFamilyAuctionItem(familyAuctionItemDict)
            return
        if key == ShareDefine.Def_Notify_WorldKey_AddSystemAuctionItem:
            mapID, sysAuctionItemList = eval(msgValue)
            if GameWorld.GetMap().GetMapID() == mapID:
                PlayerAuctionHouse.DoAddSystemAuctionItem(sysAuctionItemList)
            return
        if key == ShareDefine.Def_Notify_WorldKey_FairyDomainLimit:
            isAdd, limitList = eval(msgValue)
            if isAdd:
                PyGameData.g_fairyDomainLimit += limitList
            else:
                PyGameData.g_fairyDomainLimit = limitList
            return
        if key.startswith(ShareDefine.Def_Notify_WorldKey_OperationActionInfo[:-2]): 
            keyHead = ShareDefine.Def_Notify_WorldKey_OperationActionInfo[:-2]
            actionName = key[len(keyHead):]
@@ -1294,13 +1334,34 @@
            
            elif actionName == ShareDefine.OperationActionName_FairyCeremony:
                PlayerFairyCeremony.RefreshOperationAction_FairyCeremony()
            elif actionName == ShareDefine.OperationActionName_NewFairyCeremony:
                PlayerNewFairyCeremony.RefreshOperationAction_NewFairyCeremony()
            elif actionName == ShareDefine.OperationActionName_FlashSale:
                PlayerFlashSale.RefreshflashSaleActionInfo()
                
            elif actionName == ShareDefine.OperationActionName_WishingWell:
                PlayerWishingWell.RefreshWishingWellAction()
                
            elif actionName == ShareDefine.OperationActionName_WeekParty:
                PlayerWeekParty.RefreshOperationAction_WeekParty()
            elif actionName == ShareDefine.OperationActionName_LoginAward:
                PlayerActLogin.RefreshOperationAction_LoginAward()
            elif actionName == ShareDefine.OperationActionName_FeastWeekParty:
                PlayerFeastWeekParty.RefreshOperationAction_FeastWeekParty()
            elif actionName == ShareDefine.OperationActionName_FeastRedPacket:
                PlayerFeastRedPacket.RefreshOperationAction_FeastRedPacket()
            elif actionName == ShareDefine.OperationActionName_LuckyTreasure:
                PlayerLuckyTreasure.RefreshLuckyTreasureAction()
            return
        if key == ShareDefine.Def_Notify_WorldKey_CrossZoneName:
            PyGameData.g_crossZoneName = msgValue
            return
        
        if msgValue.isdigit():
@@ -1330,30 +1391,10 @@
    #    ReloadModule.DoMapServerScriptReload(value, tick)
    #===============================================================================================
    
    #领地争夺战
    elif key == ShareDefine.Def_Notify_WorldKey_ManorWar:
        GameLogic_ManorWar.OnManorWarStateChange(value, tick)
    #定时商店刷新
    elif key.startswith(ShareDefine.Def_Notify_WorldKey_TimeShopRefreshTime[:-2]):
        ShopItemManage.OnTimeShopRefresh(key, value, tick)
    # 跨服PK
    elif key == ShareDefine.Def_Notify_WorldKey_CrossPKSeasonID:
        PlayerCrossRealmPK.OnCrossRealmPKSeasonChange(value)
        
    #跨服boss
    elif key == ShareDefine.Def_Notify_WorldKey_MergeBoss:
        GameLogic_MergeBoss.OnMergeBossStateChange(value, tick)
    # 跨服PK, 赛季开始时间不用处理,仅存储即可
    elif key in [ShareDefine.Def_Notify_WorldKey_MergePKDayID, ShareDefine.Def_Notify_WorldKey_MergePKSeasonID]:
        PlayerMergePK.OnMergePKActionChange(key, value)
    # 跨服王者争霸
    elif key in [ShareDefine.Def_Notify_WorldKey_Merge_KingStartID, ShareDefine.Def_Notify_WorldKey_Merge_KingOverID]:
        PlayerMergeKing.OnMergeKingActionChange(key, value)
    # 仙盟宴会
    elif key == ShareDefine.Def_Notify_WorldKey_FBFuncState % ChConfig.Def_FBMapID_FamilyParty:
        if gameWorldMgr.GetGameWorldDictByKey(key) != value:
            GameLogic_FamilyParty.OnFamilyPartyStateChange(value, tick)
    # 守卫人皇
    elif key == ShareDefine.Def_Notify_WorldKey_FBFuncState % ChConfig.Def_FBMapID_FamilyInvade:
        if gameWorldMgr.GetGameWorldDictByKey(key) != value:
@@ -1362,6 +1403,15 @@
    elif key == ShareDefine.Def_Notify_WorldKey_FBFuncState % ChConfig.Def_FBMapID_ElderBattlefield:
        if gameWorldMgr.GetGameWorldDictByKey(key) != value:
            GameLogic_ElderBattlefield.OnElderBattlefieldStateChange(value, tick)
    # 多仙盟BOSS
    elif key in [ShareDefine.Def_Notify_WorldKey_DailyActionState % ShareDefine.DailyActionID_FamilyBoss1]:
        if gameWorldMgr.GetGameWorldDictByKey(key) != value:
            GameLogic_AllFamilyBoss.OnAllFamilyBossStateChange(value, tick)
    # 骑宠BOSS
    elif key == ShareDefine.Def_Notify_WorldKey_DailyActionState % ShareDefine.DailyActionID_HorsePetBoss:
        if gameWorldMgr.GetGameWorldDictByKey(key) != value:
            GameLogic_HorsePetBoss.OnHorsePetBossStateChange(value, tick)
    # OnDayEx
    elif key == ShareDefine.Def_Notify_WorldKey_OnDayEx:
        if value and gameWorldMgr.GetGameWorldDictByKey(key) != value:
@@ -1394,6 +1444,7 @@
            NPCCustomRefresh.ResetActivityBossRefreshCount()
            
    #通用设置
    befValue = gameWorldMgr.GetGameWorldDictByKey(key)
    gameWorldMgr.SetGameWorldDict(key, value)
    
    #-------在设置了字典值以后处理---------------------------------
@@ -1404,17 +1455,12 @@
    # 王者仙盟
    elif key == ShareDefine.Def_Notify_WorldKey_ChampionFamilyID:
        GameLogic_FamilyWar.OnChampionFamilyIDChange()
    # 特惠活动
    elif key in ShareDefine.TeHuiTypeKeyDict.values():
        PlayerTeHui.ChangeTeHuiActionState(key)
    # 活动buff状态变更
    elif key.startswith(ShareDefine.Def_Notify_WorldKey_ActionBuffState[:-2]):
        PlayerAction.OnActionBuffStateChange(key, tick)
    #boss刷新时间参数
    elif key.startswith(ShareDefine.Def_Notify_WorldKey_BossOnlineHeroCnt[:-2]):
        GameLogic_Dogz.OnOnlineCntChange(key, tick)
    # 仙盟宴会
    elif key == ShareDefine.Def_Notify_WorldKey_DailyActionState % ShareDefine.DailyActionID_FamilyParty:
        if befValue != value:
            GameLogic_FamilyParty.OnFamilyPartyStateChange(value, tick)
#===============================================================================
#    ---修改为上述的 统一字典处理
#    if msg == ChConfig.Def_Notify_Key_PurTalk: