From 03f617028885a2e8840500bb520f3418d54eb791 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 30 一月 2019 18:09:20 +0800
Subject: [PATCH] 2968 【1.6】本服打boss,中途传送到跨服,未清空本服归属
---
ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py | 300 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 298 insertions(+), 2 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
index f717018..ecae682 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
@@ -173,6 +173,21 @@
("BYTE", "MoneyType", 0),
("BYTE", "PacketCnt", 0),
("BYTE", "LeaderOwn", 0),
+ ("char", "PacketOpenTime", 0),
+ ("BYTE", "ValidMinutes", 0),
+ ),
+
+ "ActFeastRedPacket":(
+ ("DWORD", "CfgID", 1),
+ ("char", "ActMark", 0),
+ ("list", "PlatformList", 0),
+ ("list", "ServerIDList", 0),
+ ("char", "StartDate", 0),
+ ("char", "EndDate", 0),
+ ("BYTE", "IsDayReset", 0),
+ ("BYTE", "ResetType", 0),
+ ("list", "RedPacketIDList", 0),
+ ("WORD", "LVLimit", 0),
),
"FuncOpenLV":(
@@ -395,6 +410,78 @@
("BYTE", "DanLV", 1),
("WORD", "LVUpScore", 0),
("list", "MatchRange", 0),
+ ),
+
+ "CrossPenglaiZone":(
+ ("BYTE", "ZoneID", 0),
+ ("list", "ServerGroupIDList", 0),
+ ("DWORD", "MapID", 1),
+ ("DWORD", "DataMapID", 1),
+ ("BYTE", "CopyMapID", 1),
+ ),
+
+ "ActWeekParty":(
+ ("DWORD", "CfgID", 1),
+ ("char", "ActMark", 0),
+ ("list", "PlatformList", 0),
+ ("list", "ServerIDList", 0),
+ ("char", "StartDate", 0),
+ ("char", "EndDate", 0),
+ ("WORD", "AdvanceMinutes", 0),
+ ("BYTE", "IsDayReset", 0),
+ ("BYTE", "ResetType", 0),
+ ("dict", "NotifyInfoStart", 0),
+ ("dict", "NotifyInfoEnd", 0),
+ ("WORD", "LVLimit", 0),
+ ),
+
+ "ActLoginAward":(
+ ("DWORD", "CfgID", 1),
+ ("char", "ActMark", 0),
+ ("list", "PlatformList", 0),
+ ("list", "ServerIDList", 0),
+ ("char", "StartDate", 0),
+ ("char", "EndDate", 0),
+ ("WORD", "AdvanceMinutes", 0),
+ ("BYTE", "IsDayReset", 0),
+ ("BYTE", "ResetType", 0),
+ ("dict", "NotifyInfoStart", 0),
+ ("dict", "NotifyInfoEnd", 0),
+ ("WORD", "LVLimit", 0),
+ ),
+
+ "ActFeastWeekParty":(
+ ("DWORD", "CfgID", 1),
+ ("char", "ActMark", 0),
+ ("list", "PlatformList", 0),
+ ("list", "ServerIDList", 0),
+ ("char", "StartDate", 0),
+ ("char", "EndDate", 0),
+ ("WORD", "AdvanceMinutes", 0),
+ ("BYTE", "IsDayReset", 0),
+ ("BYTE", "ResetType", 0),
+ ("dict", "NotifyInfoStart", 0),
+ ("dict", "NotifyInfoEnd", 0),
+ ("WORD", "LVLimit", 0),
+ ),
+
+ "ActNewFairyCeremony":(
+ ("DWORD", "CfgID", 1),
+ ("char", "ActMark", 0),
+ ("list", "PlatformList", 0),
+ ("list", "ServerIDList", 0),
+ ("char", "StartDate", 0),
+ ("char", "EndDate", 0),
+ ("BYTE", "ResetType", 0),
+ ("dict", "NotifyInfoStart", 0),
+ ("dict", "NotifyInfoEnd", 0),
+ ("WORD", "LVLimit", 0),
+ ),
+
+ "NewUniquenessArrive":(
+ ("BYTE", "WorldLvNum", 1),
+ ("DWORD", "Rank", 1),
+ ("dict", "Award", 0),
),
}
@@ -691,7 +778,9 @@
self.MoneyNum = 0
self.MoneyType = 0
self.PacketCnt = 0
- self.LeaderOwn = 0
+ self.LeaderOwn = 0
+ self.PacketOpenTime = ""
+ self.ValidMinutes = 0
return
def GetID(self): return self.ID # ID
@@ -699,7 +788,36 @@
def GetMoneyNum(self): return self.MoneyNum # 红包额度
def GetMoneyType(self): return self.MoneyType # 金钱类型
def GetPacketCnt(self): return self.PacketCnt # 红包个数
- def GetLeaderOwn(self): return self.LeaderOwn # 是否归属盟主
+ def GetLeaderOwn(self): return self.LeaderOwn # 是否归属盟主
+ def GetPacketOpenTime(self): return self.PacketOpenTime # 发放红包时间yyyy-MM-dd hh:mm
+ def GetValidMinutes(self): return self.ValidMinutes # 红包有效时长(分)
+
+# 节日红包时间表
+class IPY_ActFeastRedPacket():
+
+ def __init__(self):
+ self.CfgID = 0
+ self.ActMark = ""
+ self.PlatformList = []
+ self.ServerIDList = []
+ self.StartDate = ""
+ self.EndDate = ""
+ self.IsDayReset = 0
+ self.ResetType = 0
+ self.RedPacketIDList = []
+ self.LVLimit = 0
+ return
+
+ def GetCfgID(self): return self.CfgID # 配置ID
+ def GetActMark(self): return self.ActMark # 活动组标记
+ def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
+ def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
+ def GetStartDate(self): return self.StartDate # 开启日期
+ def GetEndDate(self): return self.EndDate # 结束日期
+ def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
+ def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
+ def GetRedPacketIDList(self): return self.RedPacketIDList # 每日对应红包ID列表[[第一天红包ID列表], ...]
+ def GetLVLimit(self): return self.LVLimit # 限制等级
# 等级开启功能
class IPY_FuncOpenLV():
@@ -1163,6 +1281,156 @@
def GetDanLV(self): return self.DanLV # 段位等级
def GetLVUpScore(self): return self.LVUpScore # 升段位所需积分
def GetMatchRange(self): return self.MatchRange # 可匹配到的玩家段位区间 [从段位A, 到段位B],配[]代表只匹配本段位的
+
+# 跨服Boss蓬莱仙境分区表
+class IPY_CrossPenglaiZone():
+
+ def __init__(self):
+ self.ZoneID = 0
+ self.ServerGroupIDList = []
+ self.MapID = 0
+ self.DataMapID = 0
+ self.CopyMapID = 0
+ return
+
+ def GetZoneID(self): return self.ZoneID # 分区ID
+ def GetServerGroupIDList(self): return self.ServerGroupIDList # 服务器组ID列表
+ def GetMapID(self): return self.MapID # 场景地图ID
+ def GetDataMapID(self): return self.DataMapID # 数据地图ID
+ def GetCopyMapID(self): return self.CopyMapID # 虚拟线路ID
+
+# 周狂欢活动时间表
+class IPY_ActWeekParty():
+
+ def __init__(self):
+ self.CfgID = 0
+ self.ActMark = ""
+ self.PlatformList = []
+ self.ServerIDList = []
+ self.StartDate = ""
+ self.EndDate = ""
+ self.AdvanceMinutes = 0
+ self.IsDayReset = 0
+ self.ResetType = 0
+ self.NotifyInfoStart = {}
+ self.NotifyInfoEnd = {}
+ self.LVLimit = 0
+ return
+
+ def GetCfgID(self): return self.CfgID # 配置ID
+ def GetActMark(self): return self.ActMark # 活动组标记
+ def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
+ def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
+ def GetStartDate(self): return self.StartDate # 开启日期
+ def GetEndDate(self): return self.EndDate # 结束日期
+ def GetAdvanceMinutes(self): return self.AdvanceMinutes # 前端提前X分钟展示活动
+ def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
+ def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
+ def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
+ def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+ def GetLVLimit(self): return self.LVLimit # 限制等级
+
+# 登录奖励时间表
+class IPY_ActLoginAward():
+
+ def __init__(self):
+ self.CfgID = 0
+ self.ActMark = ""
+ self.PlatformList = []
+ self.ServerIDList = []
+ self.StartDate = ""
+ self.EndDate = ""
+ self.AdvanceMinutes = 0
+ self.IsDayReset = 0
+ self.ResetType = 0
+ self.NotifyInfoStart = {}
+ self.NotifyInfoEnd = {}
+ self.LVLimit = 0
+ return
+
+ def GetCfgID(self): return self.CfgID # 配置ID
+ def GetActMark(self): return self.ActMark # 活动组标记
+ def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
+ def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
+ def GetStartDate(self): return self.StartDate # 开启日期
+ def GetEndDate(self): return self.EndDate # 结束日期
+ def GetAdvanceMinutes(self): return self.AdvanceMinutes # 前端提前X分钟展示活动
+ def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
+ def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
+ def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
+ def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+ def GetLVLimit(self): return self.LVLimit # 限制等级
+
+# 节日巡礼活动时间表
+class IPY_ActFeastWeekParty():
+
+ def __init__(self):
+ self.CfgID = 0
+ self.ActMark = ""
+ self.PlatformList = []
+ self.ServerIDList = []
+ self.StartDate = ""
+ self.EndDate = ""
+ self.AdvanceMinutes = 0
+ self.IsDayReset = 0
+ self.ResetType = 0
+ self.NotifyInfoStart = {}
+ self.NotifyInfoEnd = {}
+ self.LVLimit = 0
+ return
+
+ def GetCfgID(self): return self.CfgID # 配置ID
+ def GetActMark(self): return self.ActMark # 活动组标记
+ def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
+ def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
+ def GetStartDate(self): return self.StartDate # 开启日期
+ def GetEndDate(self): return self.EndDate # 结束日期
+ def GetAdvanceMinutes(self): return self.AdvanceMinutes # 前端提前X分钟展示活动
+ def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
+ def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
+ def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
+ def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+ def GetLVLimit(self): return self.LVLimit # 限制等级
+
+# 新仙界盛典活动时间表
+class IPY_ActNewFairyCeremony():
+
+ def __init__(self):
+ self.CfgID = 0
+ self.ActMark = ""
+ self.PlatformList = []
+ self.ServerIDList = []
+ self.StartDate = ""
+ self.EndDate = ""
+ self.ResetType = 0
+ self.NotifyInfoStart = {}
+ self.NotifyInfoEnd = {}
+ self.LVLimit = 0
+ return
+
+ def GetCfgID(self): return self.CfgID # 配置ID
+ def GetActMark(self): return self.ActMark # 活动组标记
+ def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
+ def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
+ def GetStartDate(self): return self.StartDate # 开启日期
+ def GetEndDate(self): return self.EndDate # 结束日期
+ def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置;2-5点开始0点结束
+ def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
+ def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+ def GetLVLimit(self): return self.LVLimit # 限制等级
+
+# 新仙界盛典-绝版降临表
+class IPY_NewUniquenessArrive():
+
+ def __init__(self):
+ self.WorldLvNum = 0
+ self.Rank = 0
+ self.Award = {}
+ return
+
+ def GetWorldLvNum(self): return self.WorldLvNum # 世界等级档
+ def GetRank(self): return self.Rank # 排名
+ def GetAward(self): return self.Award # 奖励 {"职业":[[物品ID,个数,是否绑定],...], ...}
def Log(msg, playerID=0, par=0):
@@ -1220,6 +1488,8 @@
self.ipyQuestionBankLen = len(self.ipyQuestionBankCache)
self.ipyFamilyRedPackCache = self.__LoadFileData("FamilyRedPack", IPY_FamilyRedPack)
self.ipyFamilyRedPackLen = len(self.ipyFamilyRedPackCache)
+ self.ipyActFeastRedPacketCache = self.__LoadFileData("ActFeastRedPacket", IPY_ActFeastRedPacket)
+ self.ipyActFeastRedPacketLen = len(self.ipyActFeastRedPacketCache)
self.ipyFuncOpenLVCache = self.__LoadFileData("FuncOpenLV", IPY_FuncOpenLV)
self.ipyFuncOpenLVLen = len(self.ipyFuncOpenLVCache)
self.ipyChinNPCCache = self.__LoadFileData("ChinNPC", IPY_ChinNPC)
@@ -1258,6 +1528,18 @@
self.ipyCrossRealmPKSeasonLen = len(self.ipyCrossRealmPKSeasonCache)
self.ipyCrossRealmPKDanCache = self.__LoadFileData("CrossRealmPKDan", IPY_CrossRealmPKDan)
self.ipyCrossRealmPKDanLen = len(self.ipyCrossRealmPKDanCache)
+ self.ipyCrossPenglaiZoneCache = self.__LoadFileData("CrossPenglaiZone", IPY_CrossPenglaiZone)
+ self.ipyCrossPenglaiZoneLen = len(self.ipyCrossPenglaiZoneCache)
+ self.ipyActWeekPartyCache = self.__LoadFileData("ActWeekParty", IPY_ActWeekParty)
+ self.ipyActWeekPartyLen = len(self.ipyActWeekPartyCache)
+ self.ipyActLoginAwardCache = self.__LoadFileData("ActLoginAward", IPY_ActLoginAward)
+ self.ipyActLoginAwardLen = len(self.ipyActLoginAwardCache)
+ self.ipyActFeastWeekPartyCache = self.__LoadFileData("ActFeastWeekParty", IPY_ActFeastWeekParty)
+ self.ipyActFeastWeekPartyLen = len(self.ipyActFeastWeekPartyCache)
+ self.ipyActNewFairyCeremonyCache = self.__LoadFileData("ActNewFairyCeremony", IPY_ActNewFairyCeremony)
+ self.ipyActNewFairyCeremonyLen = len(self.ipyActNewFairyCeremonyCache)
+ self.ipyNewUniquenessArriveCache = self.__LoadFileData("NewUniquenessArrive", IPY_NewUniquenessArrive)
+ self.ipyNewUniquenessArriveLen = len(self.ipyNewUniquenessArriveCache)
Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict))
Log("IPY_DataMgr InitOK!")
return
@@ -1456,6 +1738,8 @@
def GetQuestionBankByIndex(self, index): return self.ipyQuestionBankCache[index]
def GetFamilyRedPackCount(self): return self.ipyFamilyRedPackLen
def GetFamilyRedPackByIndex(self, index): return self.ipyFamilyRedPackCache[index]
+ def GetActFeastRedPacketCount(self): return self.ipyActFeastRedPacketLen
+ def GetActFeastRedPacketByIndex(self, index): return self.ipyActFeastRedPacketCache[index]
def GetFuncOpenLVCount(self): return self.ipyFuncOpenLVLen
def GetFuncOpenLVByIndex(self, index): return self.ipyFuncOpenLVCache[index]
def GetChinNPCCount(self): return self.ipyChinNPCLen
@@ -1494,6 +1778,18 @@
def GetCrossRealmPKSeasonByIndex(self, index): return self.ipyCrossRealmPKSeasonCache[index]
def GetCrossRealmPKDanCount(self): return self.ipyCrossRealmPKDanLen
def GetCrossRealmPKDanByIndex(self, index): return self.ipyCrossRealmPKDanCache[index]
+ def GetCrossPenglaiZoneCount(self): return self.ipyCrossPenglaiZoneLen
+ def GetCrossPenglaiZoneByIndex(self, index): return self.ipyCrossPenglaiZoneCache[index]
+ def GetActWeekPartyCount(self): return self.ipyActWeekPartyLen
+ def GetActWeekPartyByIndex(self, index): return self.ipyActWeekPartyCache[index]
+ def GetActLoginAwardCount(self): return self.ipyActLoginAwardLen
+ def GetActLoginAwardByIndex(self, index): return self.ipyActLoginAwardCache[index]
+ def GetActFeastWeekPartyCount(self): return self.ipyActFeastWeekPartyLen
+ def GetActFeastWeekPartyByIndex(self, index): return self.ipyActFeastWeekPartyCache[index]
+ def GetActNewFairyCeremonyCount(self): return self.ipyActNewFairyCeremonyLen
+ def GetActNewFairyCeremonyByIndex(self, index): return self.ipyActNewFairyCeremonyCache[index]
+ def GetNewUniquenessArriveCount(self): return self.ipyNewUniquenessArriveLen
+ def GetNewUniquenessArriveByIndex(self, index): return self.ipyNewUniquenessArriveCache[index]
IPYData = IPY_DataMgr()
def IPY_Data(): return IPYData
--
Gitblit v1.8.0