8896 【BT2】【主干】【后端】特权令(同步冲突;及修改B209 B210 封包 为B211 B212)
12个文件已修改
335 ■■■■■ 已修改文件
PySysDB/PySysDBPY.h 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFuncSysPrivilege.py 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PySysDB/PySysDBPY.h
@@ -2303,6 +2303,15 @@
    list        AssistPlayerAward;    // 协助奖励物品 物品ID|个数
};
//功能特权奖励表
struct tagFuncSysPrivilege
{
    BYTE        _FuncSysID;    //功能系统ID
    BYTE        DayNum;        //第X天
    list        DayAwardItemInfo;    // 奖励物品信息 [[物品ID,个数,是否拍品], ...]
};
//累计充值奖励表
struct tagHistoryRechargeAward
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -15370,9 +15370,9 @@
#------------------------------------------------------
# B2 09 激活功能系统特权奖励 #tagMCActivateFuncSysPrivilege
# B2 11 激活功能系统特权奖励 #tagCMActivateFuncSysPrivilege
class  tagMCActivateFuncSysPrivilege(Structure):
class  tagCMActivateFuncSysPrivilege(Structure):
    Head = tagHead()
    ActivateCount = 0    #(BYTE ActivateCount)// 激活个数
    ActivateFuncSysIDList = list()    #(vector<BYTE> ActivateFuncSysIDList)// 激活功能系统ID列表,全部激活则需要发所有ID列表
@@ -15381,7 +15381,7 @@
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xB2
        self.Head.SubCmd = 0x09
        self.Head.SubCmd = 0x11
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
@@ -15397,7 +15397,7 @@
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xB2
        self.Head.SubCmd = 0x09
        self.Head.SubCmd = 0x11
        self.ActivateCount = 0
        self.ActivateFuncSysIDList = list()
        return
@@ -15432,8 +15432,8 @@
        return DumpString
m_NAtagMCActivateFuncSysPrivilege=tagMCActivateFuncSysPrivilege()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActivateFuncSysPrivilege.Head.Cmd,m_NAtagMCActivateFuncSysPrivilege.Head.SubCmd))] = m_NAtagMCActivateFuncSysPrivilege
m_NAtagCMActivateFuncSysPrivilege=tagCMActivateFuncSysPrivilege()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActivateFuncSysPrivilege.Head.Cmd,m_NAtagCMActivateFuncSysPrivilege.Head.SubCmd))] = m_NAtagCMActivateFuncSysPrivilege
#------------------------------------------------------
@@ -15622,7 +15622,7 @@
#------------------------------------------------------
# B2 10 领取功能系统特权奖励 #tagCMGetFuncSysPrivilegeAward
# B2 12 领取功能系统特权奖励 #tagCMGetFuncSysPrivilegeAward
class  tagCMGetFuncSysPrivilegeAward(Structure):
    _pack_ = 1
@@ -15636,7 +15636,7 @@
    def __init__(self):
        self.Clear()
        self.Cmd = 0xB2
        self.SubCmd = 0x10
        self.SubCmd = 0x12
        return
    def ReadData(self, stringData, _pos=0, _len=0):
@@ -15646,7 +15646,7 @@
    def Clear(self):
        self.Cmd = 0xB2
        self.SubCmd = 0x10
        self.SubCmd = 0x12
        self.FuncSysID = 0
        self.DayNum = 0
        return
@@ -15658,7 +15658,7 @@
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B2 10 领取功能系统特权奖励 //tagCMGetFuncSysPrivilegeAward:
        DumpString = '''// B2 12 领取功能系统特权奖励 //tagCMGetFuncSysPrivilegeAward:
                                Cmd:%s,
                                SubCmd:%s,
                                FuncSysID:%d,
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -34159,6 +34159,118 @@
#------------------------------------------------------
# B1 11 功能系统特权信息 #tagMCFuncSysPrivilegeInfoList
class  tagMCFuncSysPrivilegeInfo(Structure):
    _pack_ = 1
    _fields_ = [
                  ("FuncSysID", c_ubyte),    # 功能系统ID
                  ("ActivateTime", c_int),    # 激活时间戳
                  ("AwardState", c_int),    # 领奖状态,按天对应二进制位计算是否领奖
                  ]
    def __init__(self):
        self.Clear()
        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.FuncSysID = 0
        self.ActivateTime = 0
        self.AwardState = 0
        return
    def GetLength(self):
        return sizeof(tagMCFuncSysPrivilegeInfo)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B1 11 功能系统特权信息 //tagMCFuncSysPrivilegeInfoList:
                                FuncSysID:%d,
                                ActivateTime:%d,
                                AwardState:%d
                                '''\
                                %(
                                self.FuncSysID,
                                self.ActivateTime,
                                self.AwardState
                                )
        return DumpString
class  tagMCFuncSysPrivilegeInfoList(Structure):
    Head = tagHead()
    PrivilegeCount = 0    #(BYTE PrivilegeCount)// 特权个数
    PrivilegeInfoList = list()    #(vector<tagMCFuncSysPrivilegeInfo> PrivilegeInfoList)// 特权信息列表
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xB1
        self.Head.SubCmd = 0x11
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.PrivilegeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.PrivilegeCount):
            temPrivilegeInfoList = tagMCFuncSysPrivilegeInfo()
            _pos = temPrivilegeInfoList.ReadData(_lpData, _pos)
            self.PrivilegeInfoList.append(temPrivilegeInfoList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xB1
        self.Head.SubCmd = 0x11
        self.PrivilegeCount = 0
        self.PrivilegeInfoList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        for i in range(self.PrivilegeCount):
            length += self.PrivilegeInfoList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.PrivilegeCount)
        for i in range(self.PrivilegeCount):
            data = CommFunc.WriteString(data, self.PrivilegeInfoList[i].GetLength(), self.PrivilegeInfoList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                PrivilegeCount:%d,
                                PrivilegeInfoList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.PrivilegeCount,
                                "..."
                                )
        return DumpString
m_NAtagMCFuncSysPrivilegeInfoList=tagMCFuncSysPrivilegeInfoList()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFuncSysPrivilegeInfoList.Head.Cmd,m_NAtagMCFuncSysPrivilegeInfoList.Head.SubCmd))] = m_NAtagMCFuncSysPrivilegeInfoList
#------------------------------------------------------
# B1 06 通知玩家向目标点移动 #tagMCNotifyPlayerMove
class  tagMCNotifyPlayerMove(Structure):
ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
@@ -947,7 +947,9 @@
CDBPlayerRefresh_SkillReducePer6,   # 受到技能伤害减少6
CDBPlayerRefresh_SkillReducePer7,   # 受到技能伤害减少7
CDBPlayerRefresh_ExAttr17,          # ExAttr17 
) = range(146, 230)
CDBPlayerRefresh_BossActScore, # boss 活动积分 230
CDBPlayerRefresh_FuncSysPrivilege, # 功能特权令 231
) = range(146, 232)
TYPE_Price_Gold_Paper_Money = 5    # 金钱类型,(先用礼券,再用金子)
TYPE_Price_Family_Contribution = 6 # 战盟贡献度(活跃度转换得来)
@@ -957,6 +959,7 @@
TYPE_Price_FamilyActivity = 15    # 仙盟活跃令
TYPE_Price_FBHelpPoint = 16    # 副本助战积分, 废弃
TYPE_Price_Honor = 18    # 荣誉
TYPE_Price_BossActScore = 19    # boss活动积分,bt版用
TYPE_Price_Rune = 23    # 符印精华点
TYPE_Price_RuneSplinters = 24    # 符印碎片
TYPE_Price_TreasureScore = 25    # 寻宝积分
@@ -965,7 +968,7 @@
TYPE_Price_SoulDust = 28    # 魂尘
TYPE_Price_SoulSplinters = 29    # 聚魂碎片
TYPE_Price_SoulCore = 30    # 核心环
TYPE_Price_FuncSysPrivilege = 31    # 功能系统特权令
#以下是旧的金钱类型
TYPE_Price_Magic_Integral = 101      # 魔方寻宝积分
@@ -988,6 +991,8 @@
                           TYPE_Price_SoulSplinters:CDBPlayerRefresh_SoulSplinters,
                           TYPE_Price_SoulCore:CDBPlayerRefresh_SoulCore,
                           TYPE_Price_Honor:CDBPlayerRefresh_Honor,
                           TYPE_Price_BossActScore:CDBPlayerRefresh_BossActScore,
                           TYPE_Price_FuncSysPrivilege:CDBPlayerRefresh_FuncSysPrivilege,
                           }
# 高效战斗状态
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
@@ -1519,11 +1519,11 @@
RegisterPackCount = 2
PacketCMD_1=0xB2
PacketSubCMD_1=0x09
PacketSubCMD_1=0x11
PacketCallFunc_1=OnActivateFuncSysPrivilege
PacketCMD_2=0xB2
PacketSubCMD_2=0x10
PacketSubCMD_2=0x12
PacketCallFunc_2=OnGetFuncSysPrivilegeAward
;缥缈仙域
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -287,9 +287,11 @@
Def_ItemID_SoulSplinters = 701               # 直接给聚魂碎片
Def_ItemID_SoulCore = 702               # 直接给核心环
Def_ItemID_Honor = 2141               # 直接给荣誉
Def_ItemID_FuncSysPrivilege = 894               # 直接给功能特权令
Def_TransformItemIDList = [Def_ItemID_FamilyContribution, Def_ItemID_FamilyActive, Def_ItemID_SP, Def_ItemID_GoldPaper, 
                           Def_ItemID_RealmPoint, Def_ItemID_SilverMoney, Def_ItemID_BossReborn, Def_ItemID_Ysog,
                           Def_ItemID_SoulDust, Def_ItemID_SoulSplinters, Def_ItemID_SoulCore, Def_ItemID_Honor, Def_ItemID_GoldMoney]
                           Def_ItemID_SoulDust, Def_ItemID_SoulSplinters, Def_ItemID_SoulCore, Def_ItemID_Honor, Def_ItemID_GoldMoney,
                           Def_ItemID_FuncSysPrivilege]
#---------------------------------------------------------------------
#写死的物品类型都放这边
Def_ItemType_All = -1             #所有类型
@@ -4094,6 +4096,10 @@
Def_PDict_ArenaItemAddCount = "ArenaItemAddCount" # 今日已使用物品增加次数
Def_PDict_ArenaBattleTagID = "ArenaBattleTagID" # 当前对战的对手ID
#功能系统特权
Def_PDict_FuncSysPrivilegeActTime = "FuncSysPrivilegeActTime_%s" # 系统功能特权激活时间戳,参数(系统功能ID)
Def_PDict_FuncSysPrivilegeAward = "FuncSysPrivilegeAward_%s" # 系统功能特权领奖记录,参数(系统功能ID)
#-------------------------------------------------------------------------------
#可以从07 41封包购买的背包类型,和对应字典{背包类型:[字典key, 默认格子数]}
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -15370,9 +15370,9 @@
#------------------------------------------------------
# B2 09 激活功能系统特权奖励 #tagMCActivateFuncSysPrivilege
# B2 11 激活功能系统特权奖励 #tagCMActivateFuncSysPrivilege
class  tagMCActivateFuncSysPrivilege(Structure):
class  tagCMActivateFuncSysPrivilege(Structure):
    Head = tagHead()
    ActivateCount = 0    #(BYTE ActivateCount)// 激活个数
    ActivateFuncSysIDList = list()    #(vector<BYTE> ActivateFuncSysIDList)// 激活功能系统ID列表,全部激活则需要发所有ID列表
@@ -15381,7 +15381,7 @@
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xB2
        self.Head.SubCmd = 0x09
        self.Head.SubCmd = 0x11
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
@@ -15397,7 +15397,7 @@
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xB2
        self.Head.SubCmd = 0x09
        self.Head.SubCmd = 0x11
        self.ActivateCount = 0
        self.ActivateFuncSysIDList = list()
        return
@@ -15432,8 +15432,8 @@
        return DumpString
m_NAtagMCActivateFuncSysPrivilege=tagMCActivateFuncSysPrivilege()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActivateFuncSysPrivilege.Head.Cmd,m_NAtagMCActivateFuncSysPrivilege.Head.SubCmd))] = m_NAtagMCActivateFuncSysPrivilege
m_NAtagCMActivateFuncSysPrivilege=tagCMActivateFuncSysPrivilege()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActivateFuncSysPrivilege.Head.Cmd,m_NAtagCMActivateFuncSysPrivilege.Head.SubCmd))] = m_NAtagCMActivateFuncSysPrivilege
#------------------------------------------------------
@@ -15622,7 +15622,7 @@
#------------------------------------------------------
# B2 10 领取功能系统特权奖励 #tagCMGetFuncSysPrivilegeAward
# B2 12 领取功能系统特权奖励 #tagCMGetFuncSysPrivilegeAward
class  tagCMGetFuncSysPrivilegeAward(Structure):
    _pack_ = 1
@@ -15636,7 +15636,7 @@
    def __init__(self):
        self.Clear()
        self.Cmd = 0xB2
        self.SubCmd = 0x10
        self.SubCmd = 0x12
        return
    def ReadData(self, stringData, _pos=0, _len=0):
@@ -15646,7 +15646,7 @@
    def Clear(self):
        self.Cmd = 0xB2
        self.SubCmd = 0x10
        self.SubCmd = 0x12
        self.FuncSysID = 0
        self.DayNum = 0
        return
@@ -15658,7 +15658,7 @@
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B2 10 领取功能系统特权奖励 //tagCMGetFuncSysPrivilegeAward:
        DumpString = '''// B2 12 领取功能系统特权奖励 //tagCMGetFuncSysPrivilegeAward:
                                Cmd:%s,
                                SubCmd:%s,
                                FuncSysID:%d,
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -34159,6 +34159,118 @@
#------------------------------------------------------
# B1 11 功能系统特权信息 #tagMCFuncSysPrivilegeInfoList
class  tagMCFuncSysPrivilegeInfo(Structure):
    _pack_ = 1
    _fields_ = [
                  ("FuncSysID", c_ubyte),    # 功能系统ID
                  ("ActivateTime", c_int),    # 激活时间戳
                  ("AwardState", c_int),    # 领奖状态,按天对应二进制位计算是否领奖
                  ]
    def __init__(self):
        self.Clear()
        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.FuncSysID = 0
        self.ActivateTime = 0
        self.AwardState = 0
        return
    def GetLength(self):
        return sizeof(tagMCFuncSysPrivilegeInfo)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B1 11 功能系统特权信息 //tagMCFuncSysPrivilegeInfoList:
                                FuncSysID:%d,
                                ActivateTime:%d,
                                AwardState:%d
                                '''\
                                %(
                                self.FuncSysID,
                                self.ActivateTime,
                                self.AwardState
                                )
        return DumpString
class  tagMCFuncSysPrivilegeInfoList(Structure):
    Head = tagHead()
    PrivilegeCount = 0    #(BYTE PrivilegeCount)// 特权个数
    PrivilegeInfoList = list()    #(vector<tagMCFuncSysPrivilegeInfo> PrivilegeInfoList)// 特权信息列表
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xB1
        self.Head.SubCmd = 0x11
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.PrivilegeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.PrivilegeCount):
            temPrivilegeInfoList = tagMCFuncSysPrivilegeInfo()
            _pos = temPrivilegeInfoList.ReadData(_lpData, _pos)
            self.PrivilegeInfoList.append(temPrivilegeInfoList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xB1
        self.Head.SubCmd = 0x11
        self.PrivilegeCount = 0
        self.PrivilegeInfoList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        for i in range(self.PrivilegeCount):
            length += self.PrivilegeInfoList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.PrivilegeCount)
        for i in range(self.PrivilegeCount):
            data = CommFunc.WriteString(data, self.PrivilegeInfoList[i].GetLength(), self.PrivilegeInfoList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                PrivilegeCount:%d,
                                PrivilegeInfoList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.PrivilegeCount,
                                "..."
                                )
        return DumpString
m_NAtagMCFuncSysPrivilegeInfoList=tagMCFuncSysPrivilegeInfoList()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFuncSysPrivilegeInfoList.Head.Cmd,m_NAtagMCFuncSysPrivilegeInfoList.Head.SubCmd))] = m_NAtagMCFuncSysPrivilegeInfoList
#------------------------------------------------------
# B1 06 通知玩家向目标点移动 #tagMCNotifyPlayerMove
class  tagMCNotifyPlayerMove(Structure):
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -1779,6 +1779,12 @@
                        ("list", "AssistPlayerAward", 0),
                        ),
                "FuncSysPrivilege":(
                        ("BYTE", "FuncSysID", 1),
                        ("BYTE", "DayNum", 0),
                        ("list", "DayAwardItemInfo", 0),
                        ),
                "HistoryRechargeAward":(
                        ("BYTE", "ID", 1),
                        ("float", "NeedRMB", 0),
@@ -5462,6 +5468,19 @@
    def GetRequestPlayerAward(self): return self.RequestPlayerAward #  发布奖励物品 物品ID|个数
    def GetAssistPlayerAward(self): return self.AssistPlayerAward #  协助奖励物品 物品ID|个数
# 功能特权奖励表
class IPY_FuncSysPrivilege():
    def __init__(self):
        self.FuncSysID = 0
        self.DayNum = 0
        self.DayAwardItemInfo = []
        return
    def GetFuncSysID(self): return self.FuncSysID # 功能系统ID
    def GetDayNum(self): return self.DayNum # 第X天
    def GetDayAwardItemInfo(self): return self.DayAwardItemInfo #  奖励物品信息 [[物品ID,个数,是否拍品], ...]
# 累计充值奖励表
class IPY_HistoryRechargeAward():
    
@@ -5861,6 +5880,8 @@
        self.ipyHorsePetSkinLen = len(self.ipyHorsePetSkinCache)
        self.ipyAssistThanksGiftCache = self.__LoadFileData("AssistThanksGift", IPY_AssistThanksGift)
        self.ipyAssistThanksGiftLen = len(self.ipyAssistThanksGiftCache)
        self.ipyFuncSysPrivilegeCache = self.__LoadFileData("FuncSysPrivilege", IPY_FuncSysPrivilege)
        self.ipyFuncSysPrivilegeLen = len(self.ipyFuncSysPrivilegeCache)
        self.ipyHistoryRechargeAwardCache = self.__LoadFileData("HistoryRechargeAward", IPY_HistoryRechargeAward)
        self.ipyHistoryRechargeAwardLen = len(self.ipyHistoryRechargeAwardCache)
        Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict))
@@ -6391,6 +6412,8 @@
    def GetHorsePetSkinByIndex(self, index): return self.ipyHorsePetSkinCache[index]
    def GetAssistThanksGiftCount(self): return self.ipyAssistThanksGiftLen
    def GetAssistThanksGiftByIndex(self, index): return self.ipyAssistThanksGiftCache[index]
    def GetFuncSysPrivilegeCount(self): return self.ipyFuncSysPrivilegeLen
    def GetFuncSysPrivilegeByIndex(self, index): return self.ipyFuncSysPrivilegeCache[index]
    def GetHistoryRechargeAwardCount(self): return self.ipyHistoryRechargeAwardLen
    def GetHistoryRechargeAwardByIndex(self, index): return self.ipyHistoryRechargeAwardCache[index]
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -117,6 +117,7 @@
import PlayerLuckyTreasure
import Item_ResetAttrPoint
import CrossActCTGBillboard
import PlayerFuncSysPrivilege
import CrossRealmPlayer
import ChNetSendPack
import FamilyRobBoss
@@ -756,6 +757,8 @@
    GY_Query_BossFirstKill.OnPlayerLogin(curPlayer)
    #创角奖励
    Sync_CreateRoleAwardInfo(curPlayer)
    #功能系统特权
    PlayerFuncSysPrivilege.OnPlayerLogin(curPlayer)
    #每日分享奖励
    shareGameAwardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ShareGameAwardState)
    if shareGameAwardState:
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFuncSysPrivilege.py
@@ -31,9 +31,9 @@
    Sync_FuncSysPrivilege(curPlayer)
    return
#// B2 09 激活功能系统特权奖励 #tagMCActivateFuncSysPrivilege
#// B2 11 激活功能系统特权奖励 #tagCMActivateFuncSysPrivilege
#
#struct    tagMCActivateFuncSysPrivilege
#struct    tagCMActivateFuncSysPrivilege
#{
#    tagHead         Head;
#    BYTE        ActivateCount;    // 激活个数
@@ -90,7 +90,7 @@
    Sync_FuncSysPrivilege(curPlayer, canActivateList)
    return
#// B2 10 领取功能系统特权奖励 #tagCMGetFuncSysPrivilegeAward
#// B2 12 领取功能系统特权奖励 #tagCMGetFuncSysPrivilegeAward
#
#struct    tagCMGetFuncSysPrivilegeAward
#{
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -947,7 +947,9 @@
CDBPlayerRefresh_SkillReducePer6,   # 受到技能伤害减少6
CDBPlayerRefresh_SkillReducePer7,   # 受到技能伤害减少7
CDBPlayerRefresh_ExAttr17,          # ExAttr17 
) = range(146, 230)
CDBPlayerRefresh_BossActScore, # boss 活动积分 230
CDBPlayerRefresh_FuncSysPrivilege, # 功能特权令 231
) = range(146, 232)
TYPE_Price_Gold_Paper_Money = 5    # 金钱类型,(先用礼券,再用金子)
TYPE_Price_Family_Contribution = 6 # 战盟贡献度(活跃度转换得来)
@@ -957,6 +959,7 @@
TYPE_Price_FamilyActivity = 15    # 仙盟活跃令
TYPE_Price_FBHelpPoint = 16    # 副本助战积分, 废弃
TYPE_Price_Honor = 18    # 荣誉
TYPE_Price_BossActScore = 19    # boss活动积分,bt版用
TYPE_Price_Rune = 23    # 符印精华点
TYPE_Price_RuneSplinters = 24    # 符印碎片
TYPE_Price_TreasureScore = 25    # 寻宝积分
@@ -965,7 +968,7 @@
TYPE_Price_SoulDust = 28    # 魂尘
TYPE_Price_SoulSplinters = 29    # 聚魂碎片
TYPE_Price_SoulCore = 30    # 核心环
TYPE_Price_FuncSysPrivilege = 31    # 功能系统特权令
#以下是旧的金钱类型
TYPE_Price_Magic_Integral = 101      # 魔方寻宝积分
@@ -988,6 +991,8 @@
                           TYPE_Price_SoulSplinters:CDBPlayerRefresh_SoulSplinters,
                           TYPE_Price_SoulCore:CDBPlayerRefresh_SoulCore,
                           TYPE_Price_Honor:CDBPlayerRefresh_Honor,
                           TYPE_Price_BossActScore:CDBPlayerRefresh_BossActScore,
                           TYPE_Price_FuncSysPrivilege:CDBPlayerRefresh_FuncSysPrivilege,
                           }
# 高效战斗状态