hxp
2025-10-22 cc67f06bbf1bd011da40d20456d36ab2f0b667f9
16 卡牌服务端(删除家族仓库)
5个文件已修改
1个文件已删除
685 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py 179 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py 202 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyStore.py 276 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
@@ -274,22 +274,6 @@
PacketSubCMD_1=0x16
PacketCallFunc_1=OnZhenbaogeOP
;家族仓库
[PlayerFamilyStore]
ScriptName = Player\PlayerFamilyStore.py
Writer = hxp
Releaser = hxp
RegType = 0
RegisterPackCount = 2
PacketCMD_1=0xA6
PacketSubCMD_1=0x09
PacketCallFunc_1=OnFamilyStoreDonate
PacketCMD_2=0xA6
PacketSubCMD_2=0x10
PacketCallFunc_2=OnFamilyStoreExchange
;家族阵法
[PlayerFamilyZhenfa]
ScriptName = Player\PlayerFamilyZhenfa.py
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -3123,7 +3123,6 @@
Def_PlayerKey_BuyItemCnt = "BuyItemCnt"  # 购买物品数量
Def_PlayerKey_SpeedHorse = "SpeedHorse"  # 骑乘时附加移动速度值
Def_PlayerKey_QueryOpenServerAwardState = "QueryOpenServerAwardState"  # 查询开服奖励状态
Def_PlayerKey_QueryFamilyStoreTick = "QueryFamilyStoreTick"  # 战盟仓库操作tick
Def_PlayerKey_QueryMarkIdCardIndex = 'QueryMarkIdCardIndex'  # 指定账号生成卡类型
Def_PlayerKey_QueryNewGuyCardType = 'QueryNewGuyCardType'  # 查询的新手卡类型
@@ -4513,7 +4512,7 @@
ItemGive_OpenServerCampaign, # 开服活动
ItemGive_CTG, # CTG
ItemGive_DiceEx, # 我要天机 15
ItemGive_FamilyStore, # 仙盟宝库
ItemGive_16, # 仙盟宝库
ItemGive_Refine, # 炼丹
ItemGive_Chests, # 宝箱
ItemGive_TrialExchange, # 宗门兑换
@@ -4539,7 +4538,6 @@
                    ItemGive_OpenServerCampaign:"OpenServerCampaign",
                    ItemGive_CTG:"CTG",
                    ItemGive_DiceEx:"DiceEx",
                    ItemGive_FamilyStore:"FamilyStore",
                    ItemGive_Refine:"Refine",
                    ItemGive_Chests:"Chests",
                    ItemGive_TrialExchange:"TrialExchange",
@@ -4569,7 +4567,7 @@
ItemDel_AttrFruit, # 属性道具
ItemDel_AddBourseItem, # 上架交易所
ItemDel_EquipDecompose, # 装备分解
ItemDel_FamilyStore, # 捐献装备 20
ItemDel_20, # 捐献装备 20
ItemDel_Treasure, # 寻宝
ItemDel_WingExp, # 翅膀精炼经验
ItemDel_StoneUpgrade, # 宝石升级
@@ -4620,7 +4618,6 @@
                   ItemDel_AttrFruit:"AttrFruit",
                   ItemDel_AddBourseItem:"AddBourseItem",
                   ItemDel_EquipDecompose:"EquipDecompose",
                   ItemDel_FamilyStore:"FamilyStore",
                   ItemDel_Treasure:"Treasure",
                   ItemDel_WingExp:"WingExp",
                   ItemDel_StoneUpgrade:"StoneUpgrade",
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -4236,73 +4236,6 @@
#------------------------------------------------------
# A4 09 家族仓库删除物品 #tagCGFamilyStoreDel
class  tagCGFamilyStoreDel(Structure):
    Head = tagHead()
    IndexCount = 0    #(BYTE IndexCount)
    StoreItemIndex = list()    #(vector<BYTE> StoreItemIndex)// 仓库物品索引,1代表索引0的物品,与兑换一致
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA4
        self.Head.SubCmd = 0x09
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.IndexCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.IndexCount):
            value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
            self.StoreItemIndex.append(value)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA4
        self.Head.SubCmd = 0x09
        self.IndexCount = 0
        self.StoreItemIndex = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 1 * self.IndexCount
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.IndexCount)
        for i in range(self.IndexCount):
            data = CommFunc.WriteBYTE(data, self.StoreItemIndex[i])
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                IndexCount:%d,
                                StoreItemIndex:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.IndexCount,
                                "..."
                                )
        return DumpString
m_NAtagCGFamilyStoreDel=tagCGFamilyStoreDel()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGFamilyStoreDel.Head.Cmd,m_NAtagCGFamilyStoreDel.Head.SubCmd))] = m_NAtagCGFamilyStoreDel
#------------------------------------------------------
#A4 03 加入家族审核情况 #tagCGJoinFamilyReply
class  tagCGJoinFamilyReply(Structure):
@@ -8613,118 +8546,6 @@
m_NAtagCMFamilyMoneyDonate=tagCMFamilyMoneyDonate()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFamilyMoneyDonate.Cmd,m_NAtagCMFamilyMoneyDonate.SubCmd))] = m_NAtagCMFamilyMoneyDonate
#------------------------------------------------------
# A6 09  家族仓库捐赠物品 #tagCMFamilyStoreDonate
class  tagCMFamilyStoreDonate(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("ItemIndex", c_ubyte),    # 捐赠物品在背包中的索引
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA6
        self.SubCmd = 0x09
        return
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.Cmd = 0xA6
        self.SubCmd = 0x09
        self.ItemIndex = 0
        return
    def GetLength(self):
        return sizeof(tagCMFamilyStoreDonate)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A6 09  家族仓库捐赠物品 //tagCMFamilyStoreDonate:
                                Cmd:%s,
                                SubCmd:%s,
                                ItemIndex:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.ItemIndex
                                )
        return DumpString
m_NAtagCMFamilyStoreDonate=tagCMFamilyStoreDonate()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFamilyStoreDonate.Cmd,m_NAtagCMFamilyStoreDonate.SubCmd))] = m_NAtagCMFamilyStoreDonate
#------------------------------------------------------
# A6 10  家族仓库兑换物品 #tagCMFamilyStoreExchange
class  tagCMFamilyStoreExchange(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("StoreItemIndex", c_ubyte),    # 0-兑换口粮;>0-兑换仓库物品,1代表索引0的物品
                  ("ItemID", c_int),    # 兑换的物品ID
                  ("ExcangeCount", c_ushort),    # 兑换个数
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA6
        self.SubCmd = 0x10
        return
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.Cmd = 0xA6
        self.SubCmd = 0x10
        self.StoreItemIndex = 0
        self.ItemID = 0
        self.ExcangeCount = 0
        return
    def GetLength(self):
        return sizeof(tagCMFamilyStoreExchange)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A6 10  家族仓库兑换物品 //tagCMFamilyStoreExchange:
                                Cmd:%s,
                                SubCmd:%s,
                                StoreItemIndex:%d,
                                ItemID:%d,
                                ExcangeCount:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.StoreItemIndex,
                                self.ItemID,
                                self.ExcangeCount
                                )
        return DumpString
m_NAtagCMFamilyStoreExchange=tagCMFamilyStoreExchange()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFamilyStoreExchange.Cmd,m_NAtagCMFamilyStoreExchange.SubCmd))] = m_NAtagCMFamilyStoreExchange
#------------------------------------------------------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -10631,208 +10631,6 @@
#------------------------------------------------------
# A4 06 家族仓库物品信息 #tagGCFamilyStoreItemInfo
class  tagGCFamilyStoreItem(Structure):
    Index = 0    #(BYTE Index)// 仓库格子索引,从0开始代表第一格
    ItemID = 0    #(DWORD ItemID)// 物品ID
    ItemDataLen = 0    #(WORD ItemDataLen)
    ItemData = ""    #(String ItemData)//size = ItemDataLen
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.Index,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ItemDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.ItemData,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataLen)
        return _pos
    def Clear(self):
        self.Index = 0
        self.ItemID = 0
        self.ItemDataLen = 0
        self.ItemData = ""
        return
    def GetLength(self):
        length = 0
        length += 1
        length += 4
        length += 2
        length += len(self.ItemData)
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteBYTE(data, self.Index)
        data = CommFunc.WriteDWORD(data, self.ItemID)
        data = CommFunc.WriteWORD(data, self.ItemDataLen)
        data = CommFunc.WriteString(data, self.ItemDataLen, self.ItemData)
        return data
    def OutputString(self):
        DumpString = '''
                                Index:%d,
                                ItemID:%d,
                                ItemDataLen:%d,
                                ItemData:%s
                                '''\
                                %(
                                self.Index,
                                self.ItemID,
                                self.ItemDataLen,
                                self.ItemData
                                )
        return DumpString
class  tagGCFamilyStoreItemInfo(Structure):
    Head = tagHead()
    Count = 0    #(BYTE Count)//数量
    StoreItemList = list()    #(vector<tagGCFamilyStoreItem> StoreItemList)//size = Count
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA4
        self.Head.SubCmd = 0x06
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.Count):
            temStoreItemList = tagGCFamilyStoreItem()
            _pos = temStoreItemList.ReadData(_lpData, _pos)
            self.StoreItemList.append(temStoreItemList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA4
        self.Head.SubCmd = 0x06
        self.Count = 0
        self.StoreItemList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        for i in range(self.Count):
            length += self.StoreItemList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.Count)
        for i in range(self.Count):
            data = CommFunc.WriteString(data, self.StoreItemList[i].GetLength(), self.StoreItemList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                Count:%d,
                                StoreItemList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.Count,
                                "..."
                                )
        return DumpString
m_NAtagGCFamilyStoreItemInfo=tagGCFamilyStoreItemInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCFamilyStoreItemInfo.Head.Cmd,m_NAtagGCFamilyStoreItemInfo.Head.SubCmd))] = m_NAtagGCFamilyStoreItemInfo
#------------------------------------------------------
# A4 07 家族仓库物品清除 #tagGCFamilyStoreItemClear
class  tagGCFamilyStoreItemClear(Structure):
    Head = tagHead()
    ClearType = 0    #(BYTE ClearType)//0-指定格子清除; 1-所有物品清除
    IndexCount = 0    #(BYTE IndexCount)
    IndexList = list()    #(vector<BYTE> IndexList)//清除的格子索引, 仅指定格子清除时有效,从0开始代表第一格
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA4
        self.Head.SubCmd = 0x07
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.ClearType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.IndexCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.IndexCount):
            value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
            self.IndexList.append(value)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA4
        self.Head.SubCmd = 0x07
        self.ClearType = 0
        self.IndexCount = 0
        self.IndexList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 1
        length += 1 * self.IndexCount
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.ClearType)
        data = CommFunc.WriteBYTE(data, self.IndexCount)
        for i in range(self.IndexCount):
            data = CommFunc.WriteBYTE(data, self.IndexList[i])
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                ClearType:%d,
                                IndexCount:%d,
                                IndexList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.ClearType,
                                self.IndexCount,
                                "..."
                                )
        return DumpString
m_NAtagGCFamilyStoreItemClear=tagGCFamilyStoreItemClear()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCFamilyStoreItemClear.Head.Cmd,m_NAtagGCFamilyStoreItemClear.Head.SubCmd))] = m_NAtagGCFamilyStoreItemClear
#------------------------------------------------------
# A4 09 家族守卫人皇信息通知 #tagGCFamilySWRHInfo
class  tagGCFamilySWRHInfo(Structure):
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyStore.py
File was deleted
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -611,7 +611,7 @@
CDBPlayerRefresh_ProDefHPPer,           # 生命上限换算为防护值的百分比 165
CDBPlayerRefresh_ProDefAbsorb,          # 防护盾吸收伤害百分比
CDBPlayerRefresh_FamilyContribution,    # 战盟贡献度
CDBPlayerRefresh_FamilyStoreScore,      # 战盟仓库积分
CDBPlayerRefresh_168,                   # 战盟仓库积分
CDBPlayerRefresh_Rune,                  # 符印精华点
CDBPlayerRefresh_RuneSplinters,         # 符印碎片 170
CDBPlayerRefresh_RealmPoint,            # 境界修炼点
@@ -734,7 +734,7 @@
TYPE_Price_Gold_Paper_Money = 5    # 金钱类型,(先用礼券,再用金子)
TYPE_Price_FamilyExp = 6 # 战盟经验
TYPE_Price_FamilyStoreScore = 10    # 战盟仓库积分
TYPE_Price_10 = 10    # 战盟仓库积分
TYPE_Price_RealmPoint = 13    # 境界修炼点
TYPE_Price_Ysog = 14    # 魔精
TYPE_Price_FamilyCoin = 15    # 仙盟公会贡献币
@@ -794,7 +794,6 @@
# 自定义积分及通知字典 {货币类型:通知客户端刷新类型, ...} , 如果不通知的话刷新类型则配置 None
TYPE_Price_CurrencyDict = {
                           TYPE_Price_FamilyStoreScore:CDBPlayerRefresh_FamilyStoreScore,
                           TYPE_Price_Rune:CDBPlayerRefresh_Rune,
                           TYPE_Price_RuneSplinters:CDBPlayerRefresh_RuneSplinters,
                           TYPE_Price_TreasureScore:CDBPlayerRefresh_TreasureScore,