hxp
5 天以前 d5c268fa56e84359541b82f48fd657846dfd63c1
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/UpdatePlayerName.py
@@ -19,13 +19,14 @@
import GameWorld
import PlayerControl
import ChPyNetSendPack
import PlayerBillboard
import IPY_PlayerDefine
import NetPackCommon
import IpyGameDataPY
import PlayerFamily
import PyMongoMain
import ItemCommon
import PlayerTask
import DirtyList
import ObjPool
import ChPlayer
def OnPlayerLogin(curPlayer):
    if curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Rename):
@@ -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)
@@ -88,10 +103,9 @@
    clientPack.PlayerName = curPlayer.GetPlayerName()
    NetPackCommon.SendFakePack(curPlayer, clientPack)
    
    #同步其他功能玩家名
    PlayerFamily.RefreshFamilyMember(curPlayer)
    PlayerBillboard.UpdatePlayerBillboardName(curPlayer)
    #社交名待更新
    ChPlayer.OnPlayerBaseInfoChange(curPlayer, IPY_PlayerDefine.CDBPlayerRefresh_PlayerName) # 玩家名
    PlayerTask.UpdTaskValue(curPlayer, ChConfig.TaskType_Rename)
    return
def GetPlayerFullName(curPlayer, playerName):
@@ -113,7 +127,7 @@
    return fullName
def Sync_UpdatePlayerNameCount(curPlayer):
    clientPack = ObjPool.GetPoolMgr().acquire(ChPyNetSendPack.tagUpdatePlayerNameCount)
    clientPack = ChPyNetSendPack.tagUpdatePlayerNameCount()
    clientPack.Count = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Rename)
    NetPackCommon.SendFakePack(curPlayer, clientPack)
    return