From cdb001b8065cf4bcfe63b82bf8c03ae48b362e7b Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 19 三月 2026 12:02:09 +0800
Subject: [PATCH] 493 【活动内容】武将登场-服务端(招募武将非首次获得不广播设定仅针对常规招募;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/UpdatePlayerName.py |   40 +++++++++++++++++++++++++++-------------
 1 files changed, 27 insertions(+), 13 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/UpdatePlayerName.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/UpdatePlayerName.py
index 6f3b7c5..98438d3 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/UpdatePlayerName.py
+++ b/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

--
Gitblit v1.8.0