ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/UpdatePlayerName.py
@@ -23,6 +23,7 @@
import NetPackCommon
import IpyGameDataPY
import PyMongoMain
import ItemCommon
import PlayerTask
import DirtyList
import ChPlayer
@@ -64,16 +65,30 @@
    
    renameState = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Rename)
    if renameState:
        moneyType, moneyCount = IpyGameDataPY.GetFuncEvalCfg("PlayerRename", 3)
        if not PlayerControl.HaveMoney(curPlayer, moneyType, moneyCount):
            return
        needItemID = IpyGameDataPY.GetFuncCfg("PlayerRename", 4)
        needItemCnt = 1
        lackCnt = needItemCnt
        if needItemID:
            costItemIndexList, bindCnt, unBindCnt = ItemCommon.GetPackItemBindStateIndexInfo(curPlayer, needItemID, needItemCnt)
            lackCnt = needItemCnt - bindCnt - unBindCnt
            if lackCnt > 0:
                GameWorld.DebugLog("改名卡不足! needItemID=%s,needItemCnt=%s,lackCnt=%s" % (needItemID, needItemCnt, lackCnt))
        # 道具不足时消耗货币
        if lackCnt > 0:
            moneyType, moneyCount = IpyGameDataPY.GetFuncEvalCfg("PlayerRename", 3)
            if not PlayerControl.HaveMoney(curPlayer, moneyType, moneyCount):
                return
    GameWorld.DebugLog("玩家改名: %s" % GameWorld.CodeToGbk(newName), playerID)
    if not ctrlDB.updateDBPlayerName(playerID, newName):
        return
    
    if renameState:
        PlayerControl.PayMoney(curPlayer, moneyType, moneyCount, "Rename")
        if lackCnt > 0:
            PlayerControl.PayMoney(curPlayer, moneyType, moneyCount, "Rename")
        else:
            ItemCommon.DelCostItemByBind(curPlayer, costItemIndexList, bindCnt, unBindCnt, needItemCnt, "Rename")
    else:
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Rename, 1)
        Sync_UpdatePlayerNameCount(curPlayer)