hxp
2026-01-19 382970c301ea90a70a0cb585e3648b6fa6e063d6
438 【方案】方案预设-服务端(B412 B124 删除 ShapeType)
3个文件已修改
19 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -14106,7 +14106,6 @@
class  tagCSHeroPresetSave(Structure):
    Head = tagHead()
    PresetID = 0    #(BYTE PresetID)//阵容方案预设ID
    ShapeType = 0    #(BYTE ShapeType)//本阵容阵型,0为默认阵型,可扩展不同的阵型
    PosCnt = 0    #(BYTE PosCnt)
    HeroPosList = list()    #(vector<tagCSHeroPresetPos> HeroPosList)// 保存的阵容,只发送最终的阵容武将位置即可
    data = None
@@ -14121,7 +14120,6 @@
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.PresetID,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.ShapeType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.PosCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.PosCnt):
            temHeroPosList = tagCSHeroPresetPos()
@@ -14135,7 +14133,6 @@
        self.Head.Cmd = 0xB4
        self.Head.SubCmd = 0x12
        self.PresetID = 0
        self.ShapeType = 0
        self.PosCnt = 0
        self.HeroPosList = list()
        return
@@ -14143,7 +14140,6 @@
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 1
        length += 1
        for i in range(self.PosCnt):
@@ -14155,7 +14151,6 @@
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.PresetID)
        data = CommFunc.WriteBYTE(data, self.ShapeType)
        data = CommFunc.WriteBYTE(data, self.PosCnt)
        for i in range(self.PosCnt):
            data = CommFunc.WriteString(data, self.HeroPosList[i].GetLength(), self.HeroPosList[i].GetBuffer())
@@ -14165,14 +14160,12 @@
        DumpString = '''
                                Head:%s,
                                PresetID:%d,
                                ShapeType:%d,
                                PosCnt:%d,
                                HeroPosList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.PresetID,
                                self.ShapeType,
                                self.PosCnt,
                                "..."
                                )
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -31931,7 +31931,6 @@
class  tagSCHeroPreset(Structure):
    PresetID = 0    #(BYTE PresetID)//阵容方案预设ID
    ShapeType = 0    #(BYTE ShapeType)// 阵型
    HeroCnt = 0    #(BYTE HeroCnt)
    HeroItemIndexList = list()    #(vector<WORD> HeroItemIndexList)// 所在武将背包索引+1列表 [站位1物品索引+1, 站位2, ...],站位无武将时为0
    data = None
@@ -31943,7 +31942,6 @@
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.PresetID,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.ShapeType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.HeroCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.HeroCnt):
            value,_pos=CommFunc.ReadWORD(_lpData,_pos)
@@ -31952,14 +31950,12 @@
    def Clear(self):
        self.PresetID = 0
        self.ShapeType = 0
        self.HeroCnt = 0
        self.HeroItemIndexList = list()
        return
    def GetLength(self):
        length = 0
        length += 1
        length += 1
        length += 1
        length += 2 * self.HeroCnt
@@ -31969,7 +31965,6 @@
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteBYTE(data, self.PresetID)
        data = CommFunc.WriteBYTE(data, self.ShapeType)
        data = CommFunc.WriteBYTE(data, self.HeroCnt)
        for i in range(self.HeroCnt):
            data = CommFunc.WriteWORD(data, self.HeroItemIndexList[i])
@@ -31978,13 +31973,11 @@
    def OutputString(self):
        DumpString = '''
                                PresetID:%d,
                                ShapeType:%d,
                                HeroCnt:%d,
                                HeroItemIndexList:%s
                                '''\
                                %(
                                self.PresetID,
                                self.ShapeType,
                                self.HeroCnt,
                                "..."
                                )
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py
@@ -1409,14 +1409,13 @@
#{
#    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 = {}
@@ -1790,7 +1789,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)