From 84d41bd256d53ebafab1ca79b35a9f91d459366a Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 13 四月 2021 16:16:17 +0800 Subject: [PATCH] 8896 【BT2】【主干】【后端】特权令(同步冲突;及修改B209 B210 封包 为B211 B212) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini | 4 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py | 9 + ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py | 20 +- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 112 ++++++++++++++++++ ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 23 +++ ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py | 3 PySysDB/PySysDBPY.h | 9 + ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py | 20 +- ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py | 9 + ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFuncSysPrivilege.py | 6 ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 112 ++++++++++++++++++ ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py | 8 + 12 files changed, 305 insertions(+), 30 deletions(-) diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h index 208d3e6..d0ec7bf 100644 --- a/PySysDB/PySysDBPY.h +++ b/PySysDB/PySysDBPY.h @@ -2303,6 +2303,15 @@ list AssistPlayerAward; // 协助奖励物品 物品ID|个数 }; +//功能特权奖励表 + +struct tagFuncSysPrivilege +{ + BYTE _FuncSysID; //功能系统ID + BYTE DayNum; //第X天 + list DayAwardItemInfo; // 奖励物品信息 [[物品ID,个数,是否拍品], ...] +}; + //累计充值奖励表 struct tagHistoryRechargeAward diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py index 69ae6c7..ebff0fa 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py +++ b/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, diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py index 752a366..9764be9 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py +++ b/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): diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py index 5f7f9f0..38b4c10 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py +++ b/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, } # 高效战斗状态 diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini index 5078936..a14375b 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini +++ b/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 ;缥缈仙域 diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py index 72bf2bf..f9d82ad 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py +++ b/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, 默认格子数]} diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py index 69ae6c7..ebff0fa 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py +++ b/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, diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py index 752a366..9764be9 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py +++ b/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): diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py index d873b36..cd8d9f7 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py +++ b/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] diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py index 8c2515a..c5215ab 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py +++ b/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: diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFuncSysPrivilege.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFuncSysPrivilege.py index 3c0f713..805e524 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFuncSysPrivilege.py +++ b/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 #{ diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py index 5f7f9f0..38b4c10 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py +++ b/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, } # 高效战斗状态 -- Gitblit v1.8.0