From c3bbd3b0263fc6c2127cd9f072f497f46f98758b Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 07 二月 2026 21:43:20 +0800
Subject: [PATCH] 389 流向记录(简化战斗流向记录,只统计出场的武将ID;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py | 26 +++++++++++++++++---------
1 files changed, 17 insertions(+), 9 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 e783b37..fbeee25 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py
@@ -1409,31 +1409,39 @@
#{
# tagHead Head;
# BYTE PresetID; //阵容方案预设ID
-# BYTE ShapeType; //本阵容阵型,0为默认阵型,可扩展不同的阵型
# BYTE PosCnt;
# tagCSHeroPresetPos HeroPosList[PosCnt]; // 保存的阵容,只发送最终的阵容武将位置即可
#};
def OnHeroPresetSave(index, clientData, tick):
curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
presetID = clientData.PresetID
- shapeType = clientData.ShapeType
+ shapeType = 0#clientData.ShapeType
heroPosList = clientData.HeroPosList
- heroPosDict = {}
- indexList = []
+ itemIndexPosDict = {}
for posInfo in heroPosList:
posNum = posInfo.PosNum
itemIndex = posInfo.ItemIndex
+ itemIndexPosDict[itemIndex] = posNum
+
+ DoSaveHeroPreset(curPlayer, presetID, itemIndexPosDict, shapeType)
+ return
+
+def DoSaveHeroPreset(curPlayer, presetID, itemIndexPosDict, shapeType=0):
+
+ if not PlayerPreset.GetFuncPresetIDState(curPlayer, presetID, ShareDefine.FuncPreset_Hero):
+ GameWorld.DebugLog("该武将阵容预设不可用! presetID=%s" % presetID)
+ return
+
+ heroPosDict = {}
+ indexList = []
+ for itemIndex, posNum in itemIndexPosDict.items():
if itemIndex in indexList:
# 单武将只能一个位置,一个位置只能对应唯一武将单位
continue
indexList.append(itemIndex)
heroPosDict[posNum] = itemIndex
- if not PlayerPreset.GetFuncPresetIDState(curPlayer, presetID, ShareDefine.FuncPreset_Hero):
- GameWorld.DebugLog("该武将阵容预设不可用! presetID=%s" % presetID)
- return
-
GameWorld.DebugLog("保存武将预设阵容: presetID=%s, %s" % (presetID, heroPosDict), curPlayer.GetPlayerID())
curPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptHero)
# 直接重置旧阵型
@@ -1790,7 +1798,7 @@
heroItemIndexList.append(0)
preset = ChPyNetSendPack.tagSCHeroPreset()
preset.PresetID = heroPresetID
- preset.ShapeType = heroPreset.shapeType
+ #preset.ShapeType = heroPreset.shapeType
preset.HeroItemIndexList = heroItemIndexList
preset.HeroCnt = len(preset.HeroItemIndexList)
presetList.append(preset)
--
Gitblit v1.8.0