From 9cc951735a050ea8d5c8330af656dfdf2b6b5b7c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 23 三月 2021 10:37:45 +0800
Subject: [PATCH] 8803 【BT2】【后端】Part1 10、1元送30倍充值券(后端同步第X周 A005)

---
 ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py                            |    5 ++
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py |   44 ++++++++++++----------
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py |    1 
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerEventCounter.py            |    1 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py       |    4 ++
 ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py                      |   44 ++++++++++++----------
 6 files changed, 59 insertions(+), 40 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index 10b23a4..f8fea6c 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -346,6 +346,7 @@
                   ("NowMinute", c_ubyte),    
                   ("NowSecond", c_ubyte),    
                   ("NowMicSecond", c_int),    
+                  ("WeekOfYear", c_ubyte),    #一年中的第几周
                   ]
 
     def __init__(self):
@@ -373,6 +374,7 @@
         self.NowMinute = 0
         self.NowSecond = 0
         self.NowMicSecond = 0
+        self.WeekOfYear = 0
         return
 
     def GetLength(self):
@@ -395,7 +397,8 @@
                                 NowHour:%d,
                                 NowMinute:%d,
                                 NowSecond:%d,
-                                NowMicSecond:%d
+                                NowMicSecond:%d,
+                                WeekOfYear:%d
                                 '''\
                                 %(
                                 self.Cmd,
@@ -410,7 +413,8 @@
                                 self.NowHour,
                                 self.NowMinute,
                                 self.NowSecond,
-                                self.NowMicSecond
+                                self.NowMicSecond,
+                                self.WeekOfYear
                                 )
         return DumpString
 
@@ -829,7 +833,7 @@
     Head = tagHead()
     Type = 0    #(BYTE Type)//类型
     Count = 0    #(WORD Count)//数量
-    UniversalGameRec = list()    #(vector<tagUniversalGameRec> UniversalGameRec)///size = Count    
+    UniversalGameRec = list()    #(vector<tagUniversalGameRec> UniversalGameRec)///size = Count	
     data = None
 
     def __init__(self):
@@ -1133,7 +1137,7 @@
     FamilyID = 0    #(DWORD FamilyID)//家族ID
     ActionType = 0    #(BYTE ActionType)//类型
     Count = 0    #(WORD Count)//数量
-    FamilyActionList = list()    #(vector<tagGCFamilyAction> FamilyActionList)//size = Count    
+    FamilyActionList = list()    #(vector<tagGCFamilyAction> FamilyActionList)//size = Count	
     data = None
 
     def __init__(self):
@@ -3352,8 +3356,8 @@
     IsAlive = 0    #(BYTE IsAlive)// 是否存活
     RecordLen = 0    #(WORD RecordLen)// 长度
     KillRecord = ""    #(String KillRecord)// 最近击杀记录时间玩家名size = RecordLen
-    RefreshSecond = 0    #(DWORD RefreshSecond)// 刷新倒计时, 秒    
-    RefreshCD = 0    #(DWORD RefreshCD)// 刷新总CD时, 秒    
+    RefreshSecond = 0    #(DWORD RefreshSecond)// 刷新倒计时, 秒	
+    RefreshCD = 0    #(DWORD RefreshCD)// 刷新总CD时, 秒	
     data = None
 
     def __init__(self):
@@ -4318,7 +4322,7 @@
     Count = 0    #(DWORD Count)//数量
     IsBind = 0    #(BYTE IsBind)//是否绑定
     UserDataLen = 0    #(DWORD UserDataLen)
-    UserData = ""    #(String UserData)//自定义数据    
+    UserData = ""    #(String UserData)//自定义数据	
     data = None
 
     def __init__(self):
@@ -4559,7 +4563,7 @@
     Name = ""    #(char Name[33])
     LV = 0    #(DWORD LV)//等级
     Job = 0    #(BYTE Job)
-    RealmLV = 0    #(WORD RealmLV)//境界    
+    RealmLV = 0    #(WORD RealmLV)//境界	
     data = None
 
     def __init__(self):
@@ -6650,7 +6654,7 @@
 class  tagFamilyArrestOverStateInfo(Structure):
     Head = tagHead()
     Count = 0    #(WORD Count)
-    ArrestOverStateInfo = list()    #(vector<tagFamilyArrestOverState> ArrestOverStateInfo)///size = Count    
+    ArrestOverStateInfo = list()    #(vector<tagFamilyArrestOverState> ArrestOverStateInfo)///size = Count	
     data = None
 
     def __init__(self):
@@ -7717,7 +7721,7 @@
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
                   ("PlayerID", c_int),    
-                  ("RefreshType", c_ubyte),    #参考CDBPlayerRefresh__    
+                  ("RefreshType", c_ubyte),    #参考CDBPlayerRefresh__	
                   ("Value", c_int),    
                   ]
 
@@ -7773,7 +7777,7 @@
 
 class  tagGCVoiceChat(Structure):
     Head = tagHead()
-    ChannelType = 0    #(BYTE ChannelType)// 1 世界 2 仙盟 3 私聊(好友) 4 队伍 5 区域    
+    ChannelType = 0    #(BYTE ChannelType)// 1 世界 2 仙盟 3 私聊(好友) 4 队伍 5 区域	
     SrcNameLen = 0    #(BYTE SrcNameLen)
     SrcName = ""    #(String SrcName)//size = SrcNameLen
     PlayerID = 0    #(DWORD PlayerID)
@@ -9513,7 +9517,7 @@
     ItemGUID = ""    #(char ItemGUID[40])
     AuctionType = 0    #(BYTE AuctionType)//拍品类型,0-全服拍品,1-仙盟拍品
     AddTime = ""    #(char AddTime[19])//上架时间
-    BidderID = 0    #(DWORD BidderID)//最高竞拍玩家ID,也就是当前最高竞价玩家ID    
+    BidderID = 0    #(DWORD BidderID)//最高竞拍玩家ID,也就是当前最高竞价玩家ID	
     BidderPrice = 0    #(DWORD BidderPrice)//最高竞拍价格
     BiddingTime = ""    #(char BiddingTime[19])//竞价时间 yyyy-MM-dd hh:mm:ss
     data = None
@@ -11379,8 +11383,8 @@
 
 class  tagGCCrossRealmPKBillboardInfo(Structure):
     Head = tagHead()
-    ZoneID = 0    #(BYTE ZoneID)// 赛区ID    
-    SeasonID = 0    #(BYTE SeasonID)// 赛季ID    
+    ZoneID = 0    #(BYTE ZoneID)// 赛区ID	
+    SeasonID = 0    #(BYTE SeasonID)// 赛季ID	
     Count = 0    #(WORD Count)
     PKBillboardList = list()    #(vector<tagGCCrossRealmPKBillboardData> PKBillboardList)
     data = None
@@ -12397,7 +12401,7 @@
     BackpackLV = 0    #(BYTE BackpackLV)//背包等级
     WarehouseLV = 0    #(BYTE WarehouseLV)//仓库等级
     TeamID = 0    #(DWORD TeamID)//队伍ID
-    UseGoldType = 0    #(BYTE UseGoldType)//默认用金子/金票        类型为MoneyType
+    UseGoldType = 0    #(BYTE UseGoldType)//默认用金子/金票		类型为MoneyType
     UseSilverType = 0    #(BYTE UseSilverType)//默认用的银子/银票
     AttackMode = 0    #(BYTE AttackMode)//攻击模式
     LastWeekOnlineTime = 0    #(DWORD LastWeekOnlineTime)//上周在线时间
@@ -15591,7 +15595,7 @@
 
 
 class  tagMCEquipPartXLAttr(Structure):
-    EquipPlace = 0    #(BYTE EquipPlace)// 装备位    
+    EquipPlace = 0    #(BYTE EquipPlace)// 装备位	
     XLAttrLV = 0    #(BYTE XLAttrLV)// 洗练等级
     XLAttrCnt = 0    #(BYTE XLAttrCnt)// 属性条数
     XLAttrList = list()    #(vector<tagMCEquipPartXLAttrValue> XLAttrList)// 属性列表,索引0的代表属性1,依次递增
@@ -18169,7 +18173,7 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("Record", c_ubyte),    #0-未领取 1-已领取    
+                  ("Record", c_ubyte),    #0-未领取 1-已领取	
                   ]
 
     def __init__(self):
@@ -22810,7 +22814,7 @@
     PlayerID = 0    #(DWORD PlayerID)//玩家ID
     EquipClassLV = 0    #(BYTE EquipClassLV)
     ItemDataSize = 0    #(WORD ItemDataSize)
-    ItemData = ""    #(String ItemData)//物品记录    
+    ItemData = ""    #(String ItemData)//物品记录	
     data = None
 
     def __init__(self):
@@ -23109,7 +23113,7 @@
     ItemDataSize = 0    #(DWORD ItemDataSize)
     ItemData = ""    #(String ItemData)//物品记录
     PlusDataSize = 0    #(DWORD PlusDataSize)
-    PlusData = ""    #(String PlusData)//扩展记录    
+    PlusData = ""    #(String PlusData)//扩展记录	
     data = None
 
     def __init__(self):
@@ -23606,7 +23610,7 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("MakeType", c_ubyte),    #类型        TMakeItemType
+                  ("MakeType", c_ubyte),    #类型		TMakeItemType
                   ("Result", c_ubyte),    #是否成功
                   ("MakeItemID", c_int),    #合成的物品ID
                   ]
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py
index 363a530..d019343 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorld.py
@@ -570,6 +570,11 @@
 # @remarks 获得系统时间
 def GetServerTime():
     return datetime.datetime.today()
+
+def GetWeekOfYear():
+    ## 一年中的第几周, 1代表第1周
+    return datetime.datetime.isocalendar(datetime.datetime.today())[1]
+
 #---------------------------------------------------------------------
 ##获取2个时间之间差异的TimeDelta类实例
 # @param compareTimeStr 比较的时间字符, 如"2010-05-26 11:21:25"
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerEventCounter.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerEventCounter.py
index 5d0a9db..8390752 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerEventCounter.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerEventCounter.py
@@ -307,6 +307,7 @@
     packData.NowMinute = serverTime.minute
     packData.NowSecond = serverTime.second
     packData.NowMicSecond = serverTime.microsecond
+    packData.WeekOfYear = GameWorld.GetWeekOfYear()
     NetPackCommon.SendFakePack(curPlayer, packData)
     return
 
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index 10b23a4..f8fea6c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -346,6 +346,7 @@
                   ("NowMinute", c_ubyte),    
                   ("NowSecond", c_ubyte),    
                   ("NowMicSecond", c_int),    
+                  ("WeekOfYear", c_ubyte),    #一年中的第几周
                   ]
 
     def __init__(self):
@@ -373,6 +374,7 @@
         self.NowMinute = 0
         self.NowSecond = 0
         self.NowMicSecond = 0
+        self.WeekOfYear = 0
         return
 
     def GetLength(self):
@@ -395,7 +397,8 @@
                                 NowHour:%d,
                                 NowMinute:%d,
                                 NowSecond:%d,
-                                NowMicSecond:%d
+                                NowMicSecond:%d,
+                                WeekOfYear:%d
                                 '''\
                                 %(
                                 self.Cmd,
@@ -410,7 +413,8 @@
                                 self.NowHour,
                                 self.NowMinute,
                                 self.NowSecond,
-                                self.NowMicSecond
+                                self.NowMicSecond,
+                                self.WeekOfYear
                                 )
         return DumpString
 
@@ -829,7 +833,7 @@
     Head = tagHead()
     Type = 0    #(BYTE Type)//类型
     Count = 0    #(WORD Count)//数量
-    UniversalGameRec = list()    #(vector<tagUniversalGameRec> UniversalGameRec)///size = Count    
+    UniversalGameRec = list()    #(vector<tagUniversalGameRec> UniversalGameRec)///size = Count	
     data = None
 
     def __init__(self):
@@ -1133,7 +1137,7 @@
     FamilyID = 0    #(DWORD FamilyID)//家族ID
     ActionType = 0    #(BYTE ActionType)//类型
     Count = 0    #(WORD Count)//数量
-    FamilyActionList = list()    #(vector<tagGCFamilyAction> FamilyActionList)//size = Count    
+    FamilyActionList = list()    #(vector<tagGCFamilyAction> FamilyActionList)//size = Count	
     data = None
 
     def __init__(self):
@@ -3352,8 +3356,8 @@
     IsAlive = 0    #(BYTE IsAlive)// 是否存活
     RecordLen = 0    #(WORD RecordLen)// 长度
     KillRecord = ""    #(String KillRecord)// 最近击杀记录时间玩家名size = RecordLen
-    RefreshSecond = 0    #(DWORD RefreshSecond)// 刷新倒计时, 秒    
-    RefreshCD = 0    #(DWORD RefreshCD)// 刷新总CD时, 秒    
+    RefreshSecond = 0    #(DWORD RefreshSecond)// 刷新倒计时, 秒	
+    RefreshCD = 0    #(DWORD RefreshCD)// 刷新总CD时, 秒	
     data = None
 
     def __init__(self):
@@ -4318,7 +4322,7 @@
     Count = 0    #(DWORD Count)//数量
     IsBind = 0    #(BYTE IsBind)//是否绑定
     UserDataLen = 0    #(DWORD UserDataLen)
-    UserData = ""    #(String UserData)//自定义数据    
+    UserData = ""    #(String UserData)//自定义数据	
     data = None
 
     def __init__(self):
@@ -4559,7 +4563,7 @@
     Name = ""    #(char Name[33])
     LV = 0    #(DWORD LV)//等级
     Job = 0    #(BYTE Job)
-    RealmLV = 0    #(WORD RealmLV)//境界    
+    RealmLV = 0    #(WORD RealmLV)//境界	
     data = None
 
     def __init__(self):
@@ -6650,7 +6654,7 @@
 class  tagFamilyArrestOverStateInfo(Structure):
     Head = tagHead()
     Count = 0    #(WORD Count)
-    ArrestOverStateInfo = list()    #(vector<tagFamilyArrestOverState> ArrestOverStateInfo)///size = Count    
+    ArrestOverStateInfo = list()    #(vector<tagFamilyArrestOverState> ArrestOverStateInfo)///size = Count	
     data = None
 
     def __init__(self):
@@ -7717,7 +7721,7 @@
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
                   ("PlayerID", c_int),    
-                  ("RefreshType", c_ubyte),    #参考CDBPlayerRefresh__    
+                  ("RefreshType", c_ubyte),    #参考CDBPlayerRefresh__	
                   ("Value", c_int),    
                   ]
 
@@ -7773,7 +7777,7 @@
 
 class  tagGCVoiceChat(Structure):
     Head = tagHead()
-    ChannelType = 0    #(BYTE ChannelType)// 1 世界 2 仙盟 3 私聊(好友) 4 队伍 5 区域    
+    ChannelType = 0    #(BYTE ChannelType)// 1 世界 2 仙盟 3 私聊(好友) 4 队伍 5 区域	
     SrcNameLen = 0    #(BYTE SrcNameLen)
     SrcName = ""    #(String SrcName)//size = SrcNameLen
     PlayerID = 0    #(DWORD PlayerID)
@@ -9513,7 +9517,7 @@
     ItemGUID = ""    #(char ItemGUID[40])
     AuctionType = 0    #(BYTE AuctionType)//拍品类型,0-全服拍品,1-仙盟拍品
     AddTime = ""    #(char AddTime[19])//上架时间
-    BidderID = 0    #(DWORD BidderID)//最高竞拍玩家ID,也就是当前最高竞价玩家ID    
+    BidderID = 0    #(DWORD BidderID)//最高竞拍玩家ID,也就是当前最高竞价玩家ID	
     BidderPrice = 0    #(DWORD BidderPrice)//最高竞拍价格
     BiddingTime = ""    #(char BiddingTime[19])//竞价时间 yyyy-MM-dd hh:mm:ss
     data = None
@@ -11379,8 +11383,8 @@
 
 class  tagGCCrossRealmPKBillboardInfo(Structure):
     Head = tagHead()
-    ZoneID = 0    #(BYTE ZoneID)// 赛区ID    
-    SeasonID = 0    #(BYTE SeasonID)// 赛季ID    
+    ZoneID = 0    #(BYTE ZoneID)// 赛区ID	
+    SeasonID = 0    #(BYTE SeasonID)// 赛季ID	
     Count = 0    #(WORD Count)
     PKBillboardList = list()    #(vector<tagGCCrossRealmPKBillboardData> PKBillboardList)
     data = None
@@ -12397,7 +12401,7 @@
     BackpackLV = 0    #(BYTE BackpackLV)//背包等级
     WarehouseLV = 0    #(BYTE WarehouseLV)//仓库等级
     TeamID = 0    #(DWORD TeamID)//队伍ID
-    UseGoldType = 0    #(BYTE UseGoldType)//默认用金子/金票        类型为MoneyType
+    UseGoldType = 0    #(BYTE UseGoldType)//默认用金子/金票		类型为MoneyType
     UseSilverType = 0    #(BYTE UseSilverType)//默认用的银子/银票
     AttackMode = 0    #(BYTE AttackMode)//攻击模式
     LastWeekOnlineTime = 0    #(DWORD LastWeekOnlineTime)//上周在线时间
@@ -15591,7 +15595,7 @@
 
 
 class  tagMCEquipPartXLAttr(Structure):
-    EquipPlace = 0    #(BYTE EquipPlace)// 装备位    
+    EquipPlace = 0    #(BYTE EquipPlace)// 装备位	
     XLAttrLV = 0    #(BYTE XLAttrLV)// 洗练等级
     XLAttrCnt = 0    #(BYTE XLAttrCnt)// 属性条数
     XLAttrList = list()    #(vector<tagMCEquipPartXLAttrValue> XLAttrList)// 属性列表,索引0的代表属性1,依次递增
@@ -18169,7 +18173,7 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("Record", c_ubyte),    #0-未领取 1-已领取    
+                  ("Record", c_ubyte),    #0-未领取 1-已领取	
                   ]
 
     def __init__(self):
@@ -22810,7 +22814,7 @@
     PlayerID = 0    #(DWORD PlayerID)//玩家ID
     EquipClassLV = 0    #(BYTE EquipClassLV)
     ItemDataSize = 0    #(WORD ItemDataSize)
-    ItemData = ""    #(String ItemData)//物品记录    
+    ItemData = ""    #(String ItemData)//物品记录	
     data = None
 
     def __init__(self):
@@ -23109,7 +23113,7 @@
     ItemDataSize = 0    #(DWORD ItemDataSize)
     ItemData = ""    #(String ItemData)//物品记录
     PlusDataSize = 0    #(DWORD PlusDataSize)
-    PlusData = ""    #(String PlusData)//扩展记录    
+    PlusData = ""    #(String PlusData)//扩展记录	
     data = None
 
     def __init__(self):
@@ -23606,7 +23610,7 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("MakeType", c_ubyte),    #类型        TMakeItemType
+                  ("MakeType", c_ubyte),    #类型		TMakeItemType
                   ("Result", c_ubyte),    #是否成功
                   ("MakeItemID", c_int),    #合成的物品ID
                   ]
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
index aa6a61e..dfff203 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
@@ -655,6 +655,10 @@
 #        
 #    return returnTime
 
+def GetWeekOfYear():
+    ## 一年中的第几周, 1代表第1周
+    return datetime.datetime.isocalendar(datetime.datetime.today())[1]
+
 #---------------------------------------------------------------------
 ##获得系统时间
 # @param timeStr 输入的字符串
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 0cbe1d1..1fe5657 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -5735,6 +5735,7 @@
     packData.NowMinute = serverTime.minute
     packData.NowSecond = serverTime.second
     packData.NowMicSecond = serverTime.microsecond
+    packData.WeekOfYear = GameWorld.GetWeekOfYear()
     NetPackCommon.SendFakePack(curPlayer, packData)
     return
 

--
Gitblit v1.8.0