#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#-------------------------------------------------------------------------------
|
#
|
##@package GM.Commands.GMT_CrossServerMaintain
|
#
|
# @todo:¿ç·þ·þÎñÆ÷ά»¤
|
# @author hxp
|
# @date 2018-12-29
|
# @version 1.0
|
#
|
# ÏêϸÃèÊö: ¿ç·þ·þÎñÆ÷ά»¤
|
#
|
#-------------------------------------------------------------------------------
|
#"""Version = 2018-12-29 02:30"""
|
#-------------------------------------------------------------------------------
|
|
import DataRecordPack
|
import CrossRealmPlayer
|
import ShareDefine
|
import GameWorld
|
import GMCommon
|
|
#---------------------------------------------------------------------
|
|
## Ö´ÐÐÂß¼
|
# @param curPlayer µ±Ç°Íæ¼Ò
|
# @param gmCmdDict: ÃüÁî×Öµä
|
# @return None
|
# @remarks º¯ÊýÏêϸ˵Ã÷.
|
def OnExec(orderId, gmCmdDict):
|
|
GameWorld.Log("GMT_CrossServerMaintain gmCmdDict=%s" % str(gmCmdDict))
|
|
if not GameWorld.IsCrossServer():
|
GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_IsNotCrossServer)
|
return
|
|
operate = gmCmdDict.get('operate', '')
|
|
# ״̬²éѯ
|
if operate == "query":
|
isOpen = GameWorld.GetGameWorld().GetDictByKey(ShareDefine.Def_Notify_WorldKey_CrossServerOpen)
|
GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_ServerOpen if isOpen else GMCommon.Def_ServerClose)
|
return
|
|
# ״̬¸ü¸Ä
|
if operate == "on":
|
isOpen = 1
|
elif operate == "off":
|
isOpen = 0
|
else:
|
GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_ParamErr)
|
return
|
|
# ±ä¸ü·þÎñÆ÷ά»¤
|
CrossRealmPlayer.DoChangeCrossServerState(isOpen)
|
|
# ¼Ç¼Á÷Ïò
|
DataRecordPack.DR_ToolGMOperate(0, '', '', 'GMT_CrossServerMaintain', str(gmCmdDict))
|
# »Ø¸´
|
GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_Success)
|
return
|
|