From 4e98d22cd12ed08cd1a2859141373afeca9e6bb2 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 18 九月 2023 14:39:54 +0800
Subject: [PATCH] 9887 【主干】【骨折1、2】【小7】【1元】【BT10】本服与跨服竞技场PK公式优化(PVP木桩None防范)
---
ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py | 203 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 201 insertions(+), 2 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
index 27cfd99..65f0b57 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
@@ -98,6 +98,13 @@
("list", "RandMailKeyList", 0),
),
+ "CrossDailyAction":(
+ ("DWORD", "DailyID", 1),
+ ("dict", "OpenTimeDict", 0),
+ ("DWORD", "Duration", 0),
+ ("dict", "NotifyInfo", 0),
+ ),
+
"DailyAction":(
("DWORD", "DailyID", 1),
("dict", "OpenTimeDict", 0),
@@ -285,6 +292,7 @@
("DWORD", "LimitLV", 0),
("DWORD", "LimitMagicWeapon", 0),
("WORD", "LimiRealmLV", 0),
+ ("BYTE", "LimitVIPLV", 0),
),
"ChinNPC":(
@@ -390,6 +398,19 @@
("BYTE", "IsDayReset", 0),
),
+ "ActBuyOne":(
+ ("DWORD", "CfgID", 1),
+ ("list", "PlatformList", 0),
+ ("list", "ServerGroupIDList", 0),
+ ("BYTE", "ActNum", 0),
+ ("char", "StartDate", 0),
+ ("char", "EndDate", 0),
+ ("dict", "NotifyInfoStart", 0),
+ ("dict", "NotifyInfoEnd", 0),
+ ("list", "NotifyInfoLoop", 0),
+ ("BYTE", "IsDayReset", 0),
+ ),
+
"ActCollectWords":(
("DWORD", "CfgID", 1),
("list", "PlatformList", 0),
@@ -426,6 +447,19 @@
("dict", "NotifyInfoEnd", 0),
("list", "NotifyInfoLoop", 0),
("BYTE", "ResetType", 0),
+ ),
+
+ "ActGodGift":(
+ ("DWORD", "CfgID", 1),
+ ("list", "PlatformList", 0),
+ ("list", "ServerGroupIDList", 0),
+ ("BYTE", "ActNum", 0),
+ ("char", "StartDate", 0),
+ ("char", "EndDate", 0),
+ ("dict", "NotifyInfoStart", 0),
+ ("dict", "NotifyInfoEnd", 0),
+ ("list", "NotifyInfoLoop", 0),
+ ("BYTE", "IsDayReset", 0),
),
"ActHorsePetFeast":(
@@ -788,6 +822,9 @@
("list", "ServerIDRangeList", 0),
("char", "StartDate", 0),
("char", "EndDate", 0),
+ ("list", "StartTimeList", 0),
+ ("list", "EndTimeList", 0),
+ ("list", "RoundMaxList", 0),
("WORD", "LVLimit", 0),
("list", "TemplateIDList", 0),
),
@@ -797,6 +834,27 @@
("list", "BaseAwardInfo", 0),
("list", "RandAwardWeightInfo", 0),
("list", "SuperItemWeightInfo", 0),
+ ),
+
+ "CrossActAllRecharge":(
+ ("DWORD", "CfgID", 1),
+ ("char", "ActGroupName", 0),
+ ("BYTE", "ZoneID", 0),
+ ("list", "ServerIDRangeList", 0),
+ ("char", "StartDate", 0),
+ ("char", "EndDate", 0),
+ ("dict", "NotifyInfoStart", 0),
+ ("dict", "NotifyInfoEnd", 0),
+ ("list", "NotifyInfoLoop", 0),
+ ("list", "TemplateIDList", 0),
+ ),
+
+ "CrossActAllRechargeTemplate":(
+ ("DWORD", "TemplateID", 1),
+ ("DWORD", "CTGNeed", 0),
+ ("WORD", "NeedPlayerCount", 0),
+ ("BYTE", "AwardIndex", 0),
+ ("list", "AwardItemList", 0),
),
"CrossActCTGBillboard":(
@@ -988,6 +1046,21 @@
def GetItemCountWeightList(self): return self.ItemCountWeightList # 指定上架随机件数权重列表, [[权重, 件数], ...]
def GetAuctionItemWeightList(self): return self.AuctionItemWeightList # 指定上架物品随机权重, [[权重, 物品ID],[权重, [阶,颜色,部位集合,是否套装,星级]] ...]
def GetRandMailKeyList(self): return self.RandMailKeyList # 指定上架随机邮件列表,有配置时上架的时候在线玩家会收到一封上架邮件提醒
+
+# 跨服日常活动表
+class IPY_CrossDailyAction():
+
+ def __init__(self):
+ self.DailyID = 0
+ self.OpenTimeDict = {}
+ self.Duration = 0
+ self.NotifyInfo = {}
+ return
+
+ def GetDailyID(self): return self.DailyID # 活动ID
+ def GetOpenTimeDict(self): return self.OpenTimeDict # 开启时间
+ def GetDuration(self): return self.Duration # 持续时间, 0为不限制
+ def GetNotifyInfo(self): return self.NotifyInfo # 广播提示信息
# 日常活动表
class IPY_DailyAction():
@@ -1379,13 +1452,15 @@
self.FuncId = 0
self.LimitLV = 0
self.LimitMagicWeapon = 0
- self.LimiRealmLV = 0
+ self.LimiRealmLV = 0
+ self.LimitVIPLV = 0
return
def GetFuncId(self): return self.FuncId # 功能标识
def GetLimitLV(self): return self.LimitLV # 开启等级
def GetLimitMagicWeapon(self): return self.LimitMagicWeapon # 需要解锁法宝ID
- def GetLimiRealmLV(self): return self.LimiRealmLV # 需要境界等级
+ def GetLimiRealmLV(self): return self.LimiRealmLV # 需要境界等级
+ def GetLimitVIPLV(self): return self.LimitVIPLV # 需要VIP等级
# NPC表
class IPY_ChinNPC():
@@ -1601,6 +1676,33 @@
def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
+# 买一送多活动表
+class IPY_ActBuyOne():
+
+ def __init__(self):
+ self.CfgID = 0
+ self.PlatformList = []
+ self.ServerGroupIDList = []
+ self.ActNum = 0
+ self.StartDate = ""
+ self.EndDate = ""
+ self.NotifyInfoStart = {}
+ self.NotifyInfoEnd = {}
+ self.NotifyInfoLoop = []
+ self.IsDayReset = 0
+ return
+
+ def GetCfgID(self): return self.CfgID # 配置ID
+ def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
+ def GetServerGroupIDList(self): return self.ServerGroupIDList # 服务器ID列表
+ def GetActNum(self): return self.ActNum # 活动分组编号, 活动类型 * 10 + 不同界面编号
+ def GetStartDate(self): return self.StartDate # 开启日期
+ def GetEndDate(self): return self.EndDate # 结束日期
+ def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
+ def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+ def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
+ def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
+
# 集字活动时间表
class IPY_ActCollectWords():
@@ -1679,6 +1781,33 @@
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
+
+# 天帝礼包活动时间表
+class IPY_ActGodGift():
+
+ def __init__(self):
+ self.CfgID = 0
+ self.PlatformList = []
+ self.ServerGroupIDList = []
+ self.ActNum = 0
+ self.StartDate = ""
+ self.EndDate = ""
+ self.NotifyInfoStart = {}
+ self.NotifyInfoEnd = {}
+ self.NotifyInfoLoop = []
+ self.IsDayReset = 0
+ return
+
+ def GetCfgID(self): return self.CfgID # 配置ID
+ def GetPlatformList(self): return self.PlatformList # 活动平台列表["平台A", "平台A", ...],配[]代表所有
+ def GetServerGroupIDList(self): return self.ServerGroupIDList # 服务器ID列表
+ def GetActNum(self): return self.ActNum # 活动分组编号, 活动类型 * 10 + 不同界面编号
+ def GetStartDate(self): return self.StartDate # 开启日期
+ def GetEndDate(self): return self.EndDate # 结束日期
+ def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
+ def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+ def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
+ def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
# 骑宠盛宴活动
class IPY_ActHorsePetFeast():
@@ -2428,6 +2557,9 @@
self.ServerIDRangeList = []
self.StartDate = ""
self.EndDate = ""
+ self.StartTimeList = []
+ self.EndTimeList = []
+ self.RoundMaxList = []
self.LVLimit = 0
self.TemplateIDList = []
return
@@ -2438,6 +2570,9 @@
def GetServerIDRangeList(self): return self.ServerIDRangeList # 活动的账号服务器ID范围列表 [[serverIDA, serverIDB], ...]
def GetStartDate(self): return self.StartDate # 开启日期
def GetEndDate(self): return self.EndDate # 结束日期
+ def GetStartTimeList(self): return self.StartTimeList # 开启时间列表, 支持多个时段
+ def GetEndTimeList(self): return self.EndTimeList # 结束时间列表, 支持多个时段
+ def GetRoundMaxList(self): return self.RoundMaxList # 开启轮次列表
def GetLVLimit(self): return self.LVLimit # 限制等级
def GetTemplateIDList(self): return self.TemplateIDList # 模板ID列表
@@ -2455,6 +2590,50 @@
def GetBaseAwardInfo(self): return self.BaseAwardInfo # 每次购买固定奖励 [[物品ID,个数,是否拍品], ...]
def GetRandAwardWeightInfo(self): return self.RandAwardWeightInfo # 每次购买随机奖励权重信息 [[权重,物品ID,个数,是否拍品], ...]
def GetSuperItemWeightInfo(self): return self.SuperItemWeightInfo # 大奖随机权重信息 [[权重,物品ID,个数,是否拍品,价值货币类型,货币值], ...]
+
+# 跨服全民充值时间表
+class IPY_CrossActAllRecharge():
+
+ def __init__(self):
+ self.CfgID = 0
+ self.ActGroupName = ""
+ self.ZoneID = 0
+ self.ServerIDRangeList = []
+ self.StartDate = ""
+ self.EndDate = ""
+ self.NotifyInfoStart = {}
+ self.NotifyInfoEnd = {}
+ self.NotifyInfoLoop = []
+ self.TemplateIDList = []
+ return
+
+ def GetCfgID(self): return self.CfgID # 配置ID
+ def GetActGroupName(self): return self.ActGroupName # 活动组名(同组活动的名字需相同)
+ def GetZoneID(self): return self.ZoneID # 组内分组编号
+ def GetServerIDRangeList(self): return self.ServerIDRangeList # 活动的账号服务器ID范围列表 [[serverIDA, serverIDB], ...]
+ def GetStartDate(self): return self.StartDate # 开启日期
+ def GetEndDate(self): return self.EndDate # 结束日期
+ def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
+ def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+ def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[循环分钟, 广播key, [广播参数列表可选]]
+ def GetTemplateIDList(self): return self.TemplateIDList # 模板ID列表
+
+# 跨服全民充值模板表
+class IPY_CrossActAllRechargeTemplate():
+
+ def __init__(self):
+ self.TemplateID = 0
+ self.CTGNeed = 0
+ self.NeedPlayerCount = 0
+ self.AwardIndex = 0
+ self.AwardItemList = []
+ return
+
+ def GetTemplateID(self): return self.TemplateID # 模板ID
+ def GetCTGNeed(self): return self.CTGNeed # 全民充值RMB
+ def GetNeedPlayerCount(self): return self.NeedPlayerCount # 所需充值达到该档玩家数
+ def GetAwardIndex(self): return self.AwardIndex # 奖励记录索引,从0开始,同个模板不可重复,不可变更
+ def GetAwardItemList(self): return self.AwardItemList # 奖励物品列表[[物品ID,个数,是否拍品], ...]
# 跨服充值排行活动时间表
class IPY_CrossActCTGBillboard():
@@ -2598,6 +2777,8 @@
self.ipyAuctionItemLen = len(self.ipyAuctionItemCache)
self.ipyAuctionSystemItemCache = self.__LoadFileData("AuctionSystemItem", IPY_AuctionSystemItem)
self.ipyAuctionSystemItemLen = len(self.ipyAuctionSystemItemCache)
+ self.ipyCrossDailyActionCache = self.__LoadFileData("CrossDailyAction", IPY_CrossDailyAction)
+ self.ipyCrossDailyActionLen = len(self.ipyCrossDailyActionCache)
self.ipyDailyActionCache = self.__LoadFileData("DailyAction", IPY_DailyAction)
self.ipyDailyActionLen = len(self.ipyDailyActionCache)
self.ipyDailyActionCustomCache = self.__LoadFileData("DailyActionCustom", IPY_DailyActionCustom)
@@ -2654,12 +2835,16 @@
self.ipyActExpRateLen = len(self.ipyActExpRateCache)
self.ipyActCostRebateCache = self.__LoadFileData("ActCostRebate", IPY_ActCostRebate)
self.ipyActCostRebateLen = len(self.ipyActCostRebateCache)
+ self.ipyActBuyOneCache = self.__LoadFileData("ActBuyOne", IPY_ActBuyOne)
+ self.ipyActBuyOneLen = len(self.ipyActBuyOneCache)
self.ipyActCollectWordsCache = self.__LoadFileData("ActCollectWords", IPY_ActCollectWords)
self.ipyActCollectWordsLen = len(self.ipyActCollectWordsCache)
self.ipyActGarbageSortingCache = self.__LoadFileData("ActGarbageSorting", IPY_ActGarbageSorting)
self.ipyActGarbageSortingLen = len(self.ipyActGarbageSortingCache)
self.ipyActXianXiaMJCache = self.__LoadFileData("ActXianXiaMJ", IPY_ActXianXiaMJ)
self.ipyActXianXiaMJLen = len(self.ipyActXianXiaMJCache)
+ self.ipyActGodGiftCache = self.__LoadFileData("ActGodGift", IPY_ActGodGift)
+ self.ipyActGodGiftLen = len(self.ipyActGodGiftCache)
self.ipyActHorsePetFeastCache = self.__LoadFileData("ActHorsePetFeast", IPY_ActHorsePetFeast)
self.ipyActHorsePetFeastLen = len(self.ipyActHorsePetFeastCache)
self.ipyActBossRebornCache = self.__LoadFileData("ActBossReborn", IPY_ActBossReborn)
@@ -2728,6 +2913,10 @@
self.ipyCrossActLuckyCloudBuyLen = len(self.ipyCrossActLuckyCloudBuyCache)
self.ipyCrossActLuckyCloudBuyTemplateCache = self.__LoadFileData("CrossActLuckyCloudBuyTemplate", IPY_CrossActLuckyCloudBuyTemplate)
self.ipyCrossActLuckyCloudBuyTemplateLen = len(self.ipyCrossActLuckyCloudBuyTemplateCache)
+ self.ipyCrossActAllRechargeCache = self.__LoadFileData("CrossActAllRecharge", IPY_CrossActAllRecharge)
+ self.ipyCrossActAllRechargeLen = len(self.ipyCrossActAllRechargeCache)
+ self.ipyCrossActAllRechargeTemplateCache = self.__LoadFileData("CrossActAllRechargeTemplate", IPY_CrossActAllRechargeTemplate)
+ self.ipyCrossActAllRechargeTemplateLen = len(self.ipyCrossActAllRechargeTemplateCache)
self.ipyCrossActCTGBillboardCache = self.__LoadFileData("CrossActCTGBillboard", IPY_CrossActCTGBillboard)
self.ipyCrossActCTGBillboardLen = len(self.ipyCrossActCTGBillboardCache)
self.ipyCrossActCTGBillboardOrderCache = self.__LoadFileData("CrossActCTGBillboardOrder", IPY_CrossActCTGBillboardOrder)
@@ -2920,6 +3109,8 @@
def GetAuctionItemByIndex(self, index): return self.ipyAuctionItemCache[index]
def GetAuctionSystemItemCount(self): return self.ipyAuctionSystemItemLen
def GetAuctionSystemItemByIndex(self, index): return self.ipyAuctionSystemItemCache[index]
+ def GetCrossDailyActionCount(self): return self.ipyCrossDailyActionLen
+ def GetCrossDailyActionByIndex(self, index): return self.ipyCrossDailyActionCache[index]
def GetDailyActionCount(self): return self.ipyDailyActionLen
def GetDailyActionByIndex(self, index): return self.ipyDailyActionCache[index]
def GetDailyActionCustomCount(self): return self.ipyDailyActionCustomLen
@@ -2976,12 +3167,16 @@
def GetActExpRateByIndex(self, index): return self.ipyActExpRateCache[index]
def GetActCostRebateCount(self): return self.ipyActCostRebateLen
def GetActCostRebateByIndex(self, index): return self.ipyActCostRebateCache[index]
+ def GetActBuyOneCount(self): return self.ipyActBuyOneLen
+ def GetActBuyOneByIndex(self, index): return self.ipyActBuyOneCache[index]
def GetActCollectWordsCount(self): return self.ipyActCollectWordsLen
def GetActCollectWordsByIndex(self, index): return self.ipyActCollectWordsCache[index]
def GetActGarbageSortingCount(self): return self.ipyActGarbageSortingLen
def GetActGarbageSortingByIndex(self, index): return self.ipyActGarbageSortingCache[index]
def GetActXianXiaMJCount(self): return self.ipyActXianXiaMJLen
def GetActXianXiaMJByIndex(self, index): return self.ipyActXianXiaMJCache[index]
+ def GetActGodGiftCount(self): return self.ipyActGodGiftLen
+ def GetActGodGiftByIndex(self, index): return self.ipyActGodGiftCache[index]
def GetActHorsePetFeastCount(self): return self.ipyActHorsePetFeastLen
def GetActHorsePetFeastByIndex(self, index): return self.ipyActHorsePetFeastCache[index]
def GetActBossRebornCount(self): return self.ipyActBossRebornLen
@@ -3050,6 +3245,10 @@
def GetCrossActLuckyCloudBuyByIndex(self, index): return self.ipyCrossActLuckyCloudBuyCache[index]
def GetCrossActLuckyCloudBuyTemplateCount(self): return self.ipyCrossActLuckyCloudBuyTemplateLen
def GetCrossActLuckyCloudBuyTemplateByIndex(self, index): return self.ipyCrossActLuckyCloudBuyTemplateCache[index]
+ def GetCrossActAllRechargeCount(self): return self.ipyCrossActAllRechargeLen
+ def GetCrossActAllRechargeByIndex(self, index): return self.ipyCrossActAllRechargeCache[index]
+ def GetCrossActAllRechargeTemplateCount(self): return self.ipyCrossActAllRechargeTemplateLen
+ def GetCrossActAllRechargeTemplateByIndex(self, index): return self.ipyCrossActAllRechargeTemplateCache[index]
def GetCrossActCTGBillboardCount(self): return self.ipyCrossActCTGBillboardLen
def GetCrossActCTGBillboardByIndex(self, index): return self.ipyCrossActCTGBillboardCache[index]
def GetCrossActCTGBillboardOrderCount(self): return self.ipyCrossActCTGBillboardOrderLen
--
Gitblit v1.8.0