From 88a9eda1278acaa0b0f66b35e2319d59a3e38eca Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 29 八月 2025 16:03:35 +0800 Subject: [PATCH] 129 【战斗】战斗系统-服务端(修复主线战斗中重登时会自动重新开始战斗bug;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py | 14 +++++++++++--- 1 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py index 445c636..134fed7 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py @@ -554,11 +554,16 @@ if not heroIpyData: return quality = heroIpyData.GetQuality() + heroLV = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroLV) breakLV = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroBreakLV) - GameWorld.DebugLog("请求武将突破: itemIndex=%s,heroID=%s,quality=%s,breakLV=%s" - % (itemIndex, heroID, quality, breakLV), playerID) + GameWorld.DebugLog("请求武将突破: itemIndex=%s,heroID=%s,quality=%s,heroLV=%s,breakLV=%s" + % (itemIndex, heroID, quality, heroLV, breakLV), playerID) ipyData = IpyGameDataPY.GetIpyGameData("HeroQualityBreak", quality, breakLV) if not ipyData: + return + LVMax = ipyData.GetLVMax() + if heroLV < LVMax: + GameWorld.DebugLog("未满级,无法突破: heroLV=%s < %s" % (heroLV, LVMax), playerID) return nextBreakLV = breakLV + 1 if not IpyGameDataPY.GetIpyGameData("HeroQualityBreak", quality, nextBreakLV): @@ -1134,6 +1139,9 @@ __calcHeroBreakReturnitem(quality, breakLV, returnItemDict) __calcHeroAwakeReturnitem(quality, awakeLV, returnItemDict) + if moneyType and costMoney and not PlayerControl.PayMoney(curPlayer, moneyType, costMoney, "HeroRebirth"): + return + # 执行重生 item = heroItem.GetItem() item.SetUserAttr(ShareDefine.Def_IudetHeroLV, 1) @@ -1205,7 +1213,7 @@ #struct tagCSHeroDismiss #{ # tagHead Head; -# BYTE Count; +# WORD Count; # WORD ItemIndexList[Count]; // 武将物品所在武将背包位置索引列表 #}; def OnHeroDismiss(index, clientData, tick): -- Gitblit v1.8.0