ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/ClearOpenServerDay.py
@@ -13,11 +13,9 @@
#
# @change: "2012-07-20 19:00" whx 世界等级和开服天书有关,也要清除
# @change: "2013-12-06 15:00" hxp 增加通知MapServer开服天数
# @change: "2014-11-27 16:30" hxp 增加开服活动数据重置相关; 增加清除竞技场数据
# @change: "2014-12-02 11:30" hxp 增加合服状态及天数;强制刷新全服活动
# @change: "2014-12-03 14:30" hxp 增加合服活动重置
# @change: "2015-01-21 16:00" hxp 增加重置合服寻宝活动
# @change: "2015-06-16 15:00" hxp 屏蔽清除竞技场数据; 玩家允许None
#
#------------------------------------------------------------------------------ 
#"""Version = 2015-06-16 15:00"""
@@ -27,10 +25,9 @@
import PlayerEventCounter
import ShareDefine
import PlayerBillboard
import GameWorldMixServerCampaign
import PlayerUniversalGameRec
import GameWorldActionTeHui
import GameWorldProcess
import GameWorldArena
import GameWorldBoss
import GMCommon
@@ -66,33 +63,15 @@
    PlayerDBGSEvent.SetInitOpenServerTime(curTime)
    openServerWeekday = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_OpenServerWeekday)
    GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_OpenServerWeekday, openServerWeekday)
    # 重置数据记录及领奖状态
    for campaignType in ShareDefine.Def_Campaign_Type_List:
        GameWorld.GetGameWorld().SetDict(ShareDefine.Def_Notify_WorldKey_MixServerCampaignSaveData % campaignType, 0)
        GameWorld.GetGameWorld().SetDict(ShareDefine.Def_Notify_WorldKey_MixServerCampaignGetAward % campaignType, 0)
    
    # 通知开服活动状态
    GameWorldMixServerCampaign.UpdateMixServerCampaignState(True)
    # 清除开服活动相关排行榜
    PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_OSCBillAwardVerDay, 0)
    PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_OSCBillAwardRecord, 0)
    for oscBillboardType in ShareDefine.Def_Campaign_Billboard_Dict.values():
        PlayerBillboard.ClearBillboardByIndex(oscBillboardType)
    # 清除合服活动相关排行榜
    for copyType in GameWorldMixServerCampaign.Def_MixAward_Billboard_Copy_Dict.values():
        PlayerBillboard.ClearBillboardByIndex(copyType)
    for billboardCampaignType in ShareDefine.Def_MixCampaign_Billboard_Dict.values():
        PlayerBillboard.ClearBillboardByIndex(billboardCampaignType)
    # 清除竞技场数据
#    GameWorld.GetHightLadderMgr().ClearAllPlayer()
#    HighLadder.Sync_HightLadderCanFightPlayer(curPlayer, curPlayer.GetPlayerID())
#    curPlayer.Sync_HightLadderTopPlayer(3)
    # 清除特惠活动数据
    GameWorldActionTeHui.OnGMClearTeHui()
    
    # 清除Rec
    delRecTypeList = []
    delRecTypeList = [ShareDefine.Def_UniversalGameRecType_BossFirstKill]
    universalRecMgr = GameWorld.GetUniversalRecMgr()
    for recType in delRecTypeList:
        universalRecMgr.Delete(recType)
@@ -105,6 +84,10 @@
    # 广播分流boss状态
    GameWorldBoss.Sync_BossShuntLineInfo()
    
    # 竞技场重置
    PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_ArenaOSSeasonState, 0)
    GameWorldArena.__DoArenaSeasonReset("GMReset")
    if curPlayer:
        PlayerEventCounter.Sync_OpenServerDay(curPlayer)
        GameWorld.DebugAnswer(curPlayer, '开服星期%s, 天数:%s 是否合服:%s, 合服天数:%s'%\