| | |
| | | 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 ChPlayer
|
| | |
|
| | | def OnPlayerLogin(curPlayer):
|
| | | if curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Rename):
|
| | |
| | |
|
| | | 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)
|
| | |
| | | clientPack.PlayerName = curPlayer.GetPlayerName()
|
| | | NetPackCommon.SendFakePack(curPlayer, clientPack)
|
| | |
|
| | | #同步其他功能玩家名
|
| | | PlayerFamily.RefreshFamilyMember(curPlayer)
|
| | | PlayerBillboard.UpdatePlayerBillboardName(curPlayer)
|
| | | #社交名待更新
|
| | | ChPlayer.OnPlayerBaseInfoChange(curPlayer, IPY_PlayerDefine.CDBPlayerRefresh_PlayerName) # 玩家名
|
| | |
|
| | | PlayerTask.AddTaskValue(curPlayer, ChConfig.TaskType_Rename, 1)
|
| | | PlayerTask.UpdTaskValue(curPlayer, ChConfig.TaskType_Rename)
|
| | | return
|
| | |
|
| | | def GetPlayerFullName(curPlayer, playerName):
|