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