| #!/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  | 
|   |