From ec5de0b415bb3fd2c12367b1babfe0d4351a2827 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 17 三月 2026 15:03:38 +0800
Subject: [PATCH] 405 【公会】自动转让会长规则调整(优化优先传位配置;优化跨服邮件发送;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/UpdatePlayerName.py | 25 ++++++++++++++++++++-----
1 files changed, 20 insertions(+), 5 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 67c0d89..98438d3 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/UpdatePlayerName.py
+++ b/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)
--
Gitblit v1.8.0