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