#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
#-------------------------------------------------------------------------------  
 | 
#  
 | 
##@package GM.Commands.GMT_AddTitle  
 | 
#  
 | 
# @todo:¼¤»î³ÆºÅ  
 | 
# @author hxp  
 | 
# @date 2020-10-30  
 | 
# @version 1.0  
 | 
#  
 | 
# ÏêϸÃèÊö: ¼¤»î³ÆºÅ  
 | 
#  
 | 
#-------------------------------------------------------------------------------  
 | 
#"""Version = 2020-10-30 17:30"""  
 | 
#-------------------------------------------------------------------------------  
 | 
  
 | 
  
 | 
#µ¼Èë  
 | 
import GMCommon  
 | 
import ChConfig  
 | 
import GameWorld  
 | 
#import GMShell  
 | 
  
 | 
  
 | 
## Ö´ÐÐÂß¼  
 | 
#  @param curPlayer µ±Ç°Íæ¼Ò  
 | 
#  @param gmCmdDict: ÃüÁî×Öµä  
 | 
#  @return None  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.  
 | 
def OnExec(orderId, gmCmdDict):  
 | 
    queryType = gmCmdDict.get(GMCommon.Def_GMKey_QueryType, '')  
 | 
    playerFind = gmCmdDict.get(GMCommon.Def_GMKey_PlayerFind, '')  
 | 
    titleID = GameWorld.ToIntDef(gmCmdDict.get('titleID', ''), 0)  
 | 
    expireTime = GameWorld.ToIntDef(gmCmdDict.get('expireTime', ''), 0)  
 | 
    opType = gmCmdDict.get('opType', '')  
 | 
      
 | 
    if titleID <= 0:  
 | 
        GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_ParamErr)  
 | 
        return  
 | 
      
 | 
    tagPlayer = None  
 | 
    playerManager = GameWorld.GetPlayerManager()  
 | 
      
 | 
    if queryType == GMCommon.Def_GMKey_PlayerAccID:  
 | 
        queryType = ChConfig.queryType_sqtPlayerByAccID  
 | 
        tagPlayer = playerManager.FindPlayerByAccID(str(playerFind))  
 | 
      
 | 
    elif queryType == GMCommon.Def_GMKey_PlayerName:  
 | 
        queryType = ChConfig.queryType_sqtPlayerByName  
 | 
        tagPlayer = playerManager.FindPlayerByName(str(playerFind))  
 | 
      
 | 
    else:  
 | 
        GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_ParamErr)  
 | 
        return  
 | 
      
 | 
    if not tagPlayer:  
 | 
        GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_PlayerOfLine)  
 | 
#        # Íæ¼Ò²»ÔÚÏߣ¬ÏȼǼ£¬µÈÍæ¼ÒÉÏÏߺó´¦Àí  
 | 
#        GMShell.AddOfflinePlayerGMTInfo(orderId, queryType, playerFind, gmCmdDict)  
 | 
        return  
 | 
      
 | 
    isOnlineGMT = True # ÊÇ·ñÊÇÔÚÏß½ÓÊÕµÄGM¹¤¾ßÃüÁî  
 | 
    GMCommon.GMTool_MapServer_Query(queryType, orderId, playerFind, gmCmdDict, "GMTAddTitle", [orderId, isOnlineGMT, titleID, expireTime, opType], False)  
 | 
    return  
 | 
  
 | 
#def OnOfflineGMTInfo(curPlayer, tagMapID, gmCmdDict):  
 | 
#    orderId = gmCmdDict.get('orderId', '')  
 | 
#    titleID = GameWorld.ToIntDef(gmCmdDict.get('titleID', ''), 0)  
 | 
#    expireTime = GameWorld.ToIntDef(gmCmdDict.get('expireTime', ''), 0)  
 | 
#    isOnlineGMT = False # ÊÇ·ñÊÇÔÚÏß½ÓÊÕµÄGM¹¤¾ßÃüÁî  
 | 
#    cmdStr = str([orderId, isOnlineGMT, titleID, expireTime])  
 | 
#    GameWorld.GetPlayerManager().MapServer_QueryPlayer(0, 0, curPlayer.GetPlayerID(), tagMapID, 'GMTAddTitle',  
 | 
#                                                       cmdStr, len(cmdStr), curPlayer.GetRouteServerIndex())  
 | 
#    return  
 | 
  
 | 
  
 |