#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
#-------------------------------------------------------------------------------  
 | 
#  
 | 
##@package GM.Commands.GMT_FamilyTransfer  
 | 
#  
 | 
# @todo:°ïÖ÷תÈà  
 | 
# @author hxp  
 | 
# @date 2016-09-07  
 | 
# @version 1.0  
 | 
#  
 | 
# ÏêϸÃèÊö: °ïÖ÷תÈà  
 | 
#  
 | 
#-------------------------------------------------------------------------------  
 | 
#"""Version = 2016-09-07 03:00"""  
 | 
#-------------------------------------------------------------------------------  
 | 
  
 | 
import GMCommon  
 | 
import GameWorld  
 | 
import PlayerFamily  
 | 
import IPY_GameServer  
 | 
  
 | 
## Ö´ÐÐÂß¼  
 | 
#  @param curPlayer µ±Ç°Íæ¼Ò  
 | 
#  @param gmList [cmdIndex gmAccID forbidAcc]  
 | 
#  @return None  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.  
 | 
def OnExec(orderId, gmCmdDict):  
 | 
    queryType = gmCmdDict.get(GMCommon.Def_GMKey_QueryType, '')        
 | 
    familyName = gmCmdDict.get(GMCommon.Def_GMKey_FamilyName, '')  
 | 
      
 | 
    if familyName == '':  
 | 
        GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_ParamErr)  
 | 
        return  
 | 
      
 | 
    if queryType == "FamilyID":  
 | 
        familyID = GameWorld.ToIntDef(familyName)  
 | 
        if not familyID:  
 | 
            GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_ParamErr)  
 | 
            return  
 | 
          
 | 
        curFamily = GameWorld.GetFamilyManager().FindFamily(familyID)  
 | 
    else:  
 | 
        curFamily = GameWorld.GetFamilyManager().FindFamilyByName(familyName)  
 | 
          
 | 
    if not curFamily:  
 | 
        GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_NoTag)  
 | 
        return  
 | 
      
 | 
    tagPlayer = None  
 | 
    queryTagType = gmCmdDict.get("queryTagType", '')    
 | 
    queryTag = gmCmdDict.get("queryTag", '')  
 | 
    if queryTagType == "PlayerName":  
 | 
        tagPlayer = GameWorld.GetPlayerManager().FindPlayerByName(queryTag)  
 | 
    else:  
 | 
        tagPlayer = GameWorld.GetPlayerManager().FindPlayerByID(GameWorld.ToIntDef(queryTag))  
 | 
          
 | 
    if not tagPlayer:  
 | 
        GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_NoTag)  
 | 
        return  
 | 
      
 | 
    isOK = PlayerFamily.DoChangeFamilyMemberLV(curFamily, tagPlayer, tagPlayer.GetPlayerID(), IPY_GameServer.fmlLeader, True)  
 | 
    if not isOK:  
 | 
        GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_Unknow)  
 | 
        return  
 | 
      
 | 
    #Ö´Ðгɹ¦  
 | 
    GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_Success, int(isOK))          
 | 
    return  
 | 
  
 |