#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#-------------------------------------------------------------------------------
|
#
|
#-------------------------------------------------------------------------------
|
#
|
##@package GM.Commands.SetMixServer
|
#
|
# @todo:ÉèÖúϷþ
|
# @author hxp
|
# @date 2014-12-02
|
# @version 1.1
|
#
|
# @change: "2014-12-03 18:30" hxp Ôö¼Ó¿ª·þ¡¢ºÏ·þ»î¶¯ÖØÖÃ
|
#
|
# ÏêϸÃèÊö: ÉèÖúϷþ
|
#
|
#--------------------------------------------------------------------
|
"""Version = 2014-12-03 18:30"""
|
|
import GameWorld
|
import PlayerDBGSEvent
|
import PlayerEventCounter
|
import GameWorldActionTeHui
|
import GameWorldMixServerCampaign
|
import PlayerBillboard
|
import ShareDefine
|
import GMCommon
|
#---------------------------------------------------------------------
|
|
## Ö´ÐÐÂß¼
|
# @param curPlayer µ±Ç°Íæ¼Ò
|
# @param cmdList ²ÎÊý
|
# @return None
|
# @remarks º¯ÊýÏêϸ˵Ã÷.
|
def OnExec(curPlayer, cmdList):
|
|
if len(cmdList) <= 0:
|
GameWorld.DebugAnswer(curPlayer, 'SetMixServer ºÏ·þ״̬(0-·ÇºÏ·þ,1-ºÏ·þ), ºÏ·þʱµÄ¿ª·þÌì(Ñ¡ÌîĬÈÏ15)')
|
return
|
|
isMix = cmdList[0]
|
curDay = cmdList[1] if len(cmdList) > 1 else 15
|
|
if isMix:
|
#(ÇåÊÀ½çµÈ¼¶)
|
PlayerDBGSEvent.SetDBGSTrig_ByKey(ShareDefine.Def_Notify_WorldKey_WorldAverageLv, 0)
|
#֪ͨµØÍ¼·þÎñÆ÷µ±Ç°ÊÀ½çµÈ¼¶
|
GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_WorldAverageLv, 0)
|
|
#ÉèÖúϷþ(ĬÈÏÉèÖÿª·þÌìΪ15Ìì)
|
PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_IsMixServer, 1)
|
PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_MixServerDay, 0)
|
PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_IsMixServerInitOK, 0)
|
else:
|
#ÖØÖÿª·þÌ죬ÉèÖ÷ǺϷþ
|
PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_IsMixServer, 0)
|
PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_MixServerDay, 0)
|
PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_ServerDay, curDay)
|
|
|
openDay = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_ServerDay)
|
isMixServer = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_IsMixServer)
|
mixServerDay = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_MixServerDay)
|
|
GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ServerDay, openDay)
|
GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_IsMixServer, isMixServer)
|
GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_MixServerDay, mixServerDay)
|
|
PlayerEventCounter.Sync_OpenServerDay(curPlayer)
|
|
GameWorldMixServerCampaign.UpdateMixServerCampaignState(True)
|
|
# Çå³ýºÏ·þ»î¶¯Ïà¹ØÅÅÐаñ
|
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)
|
|
# ÖØÖÃÊý¾Ý¼Ç¼¼°Á콱״̬
|
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)
|
|
# Çå³ýÌØ»Ý»î¶¯Êý¾Ý
|
GameWorldActionTeHui.OnGMClearTeHui()
|
|
# Ë¢ÐÂÒ»´Î»î¶¯
|
tick = GameWorld.GetGameWorld().GetTick()
|
GMCommon.ActionControlRefresh(tick)
|
|
GameWorld.DebugAnswer(curPlayer, 'ÉèÖúϷþ״̬³É¹¦£¡µ±Ç°¿ª·þÌìÊý:%s, ÊÇ·ñºÏ·þ:%s, µ±Ç°ºÏ·þÌìÊý:%s'
|
% (openDay, isMixServer, mixServerDay))
|
return
|
|