From 8e25bc7b9ca60ea789374fa70e0ddae4a5adc79a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 28 十二月 2023 16:41:57 +0800
Subject: [PATCH] 10077 游戏代币方案
---
ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py | 227 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 227 insertions(+), 0 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
index 1758c54..fbf5d9e 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
@@ -61,6 +61,19 @@
("BYTE", "BossFBCnt", 0),
),
+ "FamilyBossHurtAward":(
+ ("BYTE", "AwardType", 1),
+ ("BYTE", "RecordIndex", 1),
+ ("DWORD", "NeedHurtTotal", 0),
+ ("list", "AwardItemList", 0),
+ ),
+
+ "FamilyZhenfa":(
+ ("BYTE", "ZhenfaType", 1),
+ ("WORD", "ZhenfaLV", 1),
+ ("DWORD", "LVUpNeedExp", 0),
+ ),
+
"MarketQuery":(
("WORD", "QueryType", 1),
("dict", "LimitInfo", 0),
@@ -96,6 +109,13 @@
("list", "ItemCountWeightList", 0),
("list", "AuctionItemWeightList", 0),
("list", "RandMailKeyList", 0),
+ ),
+
+ "CrossDailyAction":(
+ ("DWORD", "DailyID", 1),
+ ("dict", "OpenTimeDict", 0),
+ ("DWORD", "Duration", 0),
+ ("dict", "NotifyInfo", 0),
),
"DailyAction":(
@@ -391,6 +411,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),
@@ -414,6 +447,27 @@
("dict", "NotifyInfoEnd", 0),
("list", "NotifyInfoLoop", 0),
("BYTE", "ResetType", 0),
+ ),
+
+ "ActBossTrial":(
+ ("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),
+ ("BYTE", "ResetType", 0),
+ ("list", "TemplateIDList", 0),
+ ),
+
+ "ActBossTrialTemplate":(
+ ("DWORD", "TemplateID", 1),
+ ("BYTE", "Rank", 0),
+ ("list", "AwardItemList", 0),
),
"ActXianXiaMJ":(
@@ -696,6 +750,13 @@
("BYTE", "CopyMapID", 1),
),
+ "CrossFamilyFlagwarZoneMap":(
+ ("BYTE", "ZoneID", 0),
+ ("DWORD", "MapID", 1),
+ ("DWORD", "DataMapID", 1),
+ ("BYTE", "CopyMapID", 1),
+ ),
+
"ActWeekParty":(
("DWORD", "CfgID", 1),
("char", "ActMark", 0),
@@ -802,6 +863,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),
),
@@ -947,6 +1011,34 @@
def GetWeekMissionMoneyMax(self): return self.WeekMissionMoneyMax # 每周任务最大可获得仙盟资金
def GetBossFBCnt(self): return self.BossFBCnt # BOSS副本次数
+# 仙盟试炼伤血奖励表
+class IPY_FamilyBossHurtAward():
+
+ def __init__(self):
+ self.AwardType = 0
+ self.RecordIndex = 0
+ self.NeedHurtTotal = 0
+ self.AwardItemList = []
+ return
+
+ def GetAwardType(self): return self.AwardType # 奖励类型 1-个人;2-仙盟
+ def GetRecordIndex(self): return self.RecordIndex # 奖励记录索引,同奖励类型时记录索引不可重复
+ def GetNeedHurtTotal(self): return self.NeedHurtTotal # 所需总伤血
+ def GetAwardItemList(self): return self.AwardItemList # 奖励物品列表[[物品ID,个数,是否拍品], ...]
+
+# 仙盟阵法表
+class IPY_FamilyZhenfa():
+
+ def __init__(self):
+ self.ZhenfaType = 0
+ self.ZhenfaLV = 0
+ self.LVUpNeedExp = 0
+ return
+
+ def GetZhenfaType(self): return self.ZhenfaType # 阵法类型
+ def GetZhenfaLV(self): return self.ZhenfaLV # 阵法等级
+ def GetLVUpNeedExp(self): return self.LVUpNeedExp # 升下一级所需经验
+
# 集市查询表
class IPY_MarketQuery():
@@ -1023,6 +1115,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():
@@ -1638,6 +1745,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():
@@ -1689,6 +1823,50 @@
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
+
+# Boss历练活动表
+class IPY_ActBossTrial():
+
+ 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
+ self.ResetType = 0
+ self.TemplateIDList = []
+ 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 # 是否每天重置
+ def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
+ def GetTemplateIDList(self): return self.TemplateIDList # 榜单模板编号列表
+
+# Boss历练榜单模版表
+class IPY_ActBossTrialTemplate():
+
+ def __init__(self):
+ self.TemplateID = 0
+ self.Rank = 0
+ self.AwardItemList = []
+ return
+
+ def GetTemplateID(self): return self.TemplateID # 模板编号
+ def GetRank(self): return self.Rank # 名次
+ def GetAwardItemList(self): return self.AwardItemList # 奖励物品信息列表 [[物品ID,个数,是否拍品], ...]
# 仙匣秘境活动时间表
class IPY_ActXianXiaMJ():
@@ -2276,6 +2454,21 @@
def GetDataMapID(self): return self.DataMapID # 数据地图ID
def GetCopyMapID(self): return self.CopyMapID # 虚拟线路ID
+# 跨服分区地图逐鹿万界
+class IPY_CrossFamilyFlagwarZoneMap():
+
+ def __init__(self):
+ self.ZoneID = 0
+ self.MapID = 0
+ self.DataMapID = 0
+ self.CopyMapID = 0
+ return
+
+ def GetZoneID(self): return self.ZoneID # 分区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():
@@ -2492,6 +2685,9 @@
self.ServerIDRangeList = []
self.StartDate = ""
self.EndDate = ""
+ self.StartTimeList = []
+ self.EndTimeList = []
+ self.RoundMaxList = []
self.LVLimit = 0
self.TemplateIDList = []
return
@@ -2502,6 +2698,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列表
@@ -2700,12 +2899,18 @@
self.ipyWorldLVLen = len(self.ipyWorldLVCache)
self.ipyFamilyCache = self.__LoadFileData("Family", IPY_Family)
self.ipyFamilyLen = len(self.ipyFamilyCache)
+ self.ipyFamilyBossHurtAwardCache = self.__LoadFileData("FamilyBossHurtAward", IPY_FamilyBossHurtAward)
+ self.ipyFamilyBossHurtAwardLen = len(self.ipyFamilyBossHurtAwardCache)
+ self.ipyFamilyZhenfaCache = self.__LoadFileData("FamilyZhenfa", IPY_FamilyZhenfa)
+ self.ipyFamilyZhenfaLen = len(self.ipyFamilyZhenfaCache)
self.ipyMarketQueryCache = self.__LoadFileData("MarketQuery", IPY_MarketQuery)
self.ipyMarketQueryLen = len(self.ipyMarketQueryCache)
self.ipyAuctionItemCache = self.__LoadFileData("AuctionItem", IPY_AuctionItem)
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)
@@ -2762,10 +2967,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.ipyActBossTrialCache = self.__LoadFileData("ActBossTrial", IPY_ActBossTrial)
+ self.ipyActBossTrialLen = len(self.ipyActBossTrialCache)
+ self.ipyActBossTrialTemplateCache = self.__LoadFileData("ActBossTrialTemplate", IPY_ActBossTrialTemplate)
+ self.ipyActBossTrialTemplateLen = len(self.ipyActBossTrialTemplateCache)
self.ipyActXianXiaMJCache = self.__LoadFileData("ActXianXiaMJ", IPY_ActXianXiaMJ)
self.ipyActXianXiaMJLen = len(self.ipyActXianXiaMJCache)
self.ipyActGodGiftCache = self.__LoadFileData("ActGodGift", IPY_ActGodGift)
@@ -2818,6 +3029,8 @@
self.ipyCrossPenglaiZoneMapLen = len(self.ipyCrossPenglaiZoneMapCache)
self.ipyCrossDemonLandZoneMapCache = self.__LoadFileData("CrossDemonLandZoneMap", IPY_CrossDemonLandZoneMap)
self.ipyCrossDemonLandZoneMapLen = len(self.ipyCrossDemonLandZoneMapCache)
+ self.ipyCrossFamilyFlagwarZoneMapCache = self.__LoadFileData("CrossFamilyFlagwarZoneMap", IPY_CrossFamilyFlagwarZoneMap)
+ self.ipyCrossFamilyFlagwarZoneMapLen = len(self.ipyCrossFamilyFlagwarZoneMapCache)
self.ipyActWeekPartyCache = self.__LoadFileData("ActWeekParty", IPY_ActWeekParty)
self.ipyActWeekPartyLen = len(self.ipyActWeekPartyCache)
self.ipyActLoginAwardCache = self.__LoadFileData("ActLoginAward", IPY_ActLoginAward)
@@ -3028,12 +3241,18 @@
def GetWorldLVByIndex(self, index): return self.ipyWorldLVCache[index]
def GetFamilyCount(self): return self.ipyFamilyLen
def GetFamilyByIndex(self, index): return self.ipyFamilyCache[index]
+ def GetFamilyBossHurtAwardCount(self): return self.ipyFamilyBossHurtAwardLen
+ def GetFamilyBossHurtAwardByIndex(self, index): return self.ipyFamilyBossHurtAwardCache[index]
+ def GetFamilyZhenfaCount(self): return self.ipyFamilyZhenfaLen
+ def GetFamilyZhenfaByIndex(self, index): return self.ipyFamilyZhenfaCache[index]
def GetMarketQueryCount(self): return self.ipyMarketQueryLen
def GetMarketQueryByIndex(self, index): return self.ipyMarketQueryCache[index]
def GetAuctionItemCount(self): return self.ipyAuctionItemLen
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
@@ -3090,10 +3309,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 GetActBossTrialCount(self): return self.ipyActBossTrialLen
+ def GetActBossTrialByIndex(self, index): return self.ipyActBossTrialCache[index]
+ def GetActBossTrialTemplateCount(self): return self.ipyActBossTrialTemplateLen
+ def GetActBossTrialTemplateByIndex(self, index): return self.ipyActBossTrialTemplateCache[index]
def GetActXianXiaMJCount(self): return self.ipyActXianXiaMJLen
def GetActXianXiaMJByIndex(self, index): return self.ipyActXianXiaMJCache[index]
def GetActGodGiftCount(self): return self.ipyActGodGiftLen
@@ -3146,6 +3371,8 @@
def GetCrossPenglaiZoneMapByIndex(self, index): return self.ipyCrossPenglaiZoneMapCache[index]
def GetCrossDemonLandZoneMapCount(self): return self.ipyCrossDemonLandZoneMapLen
def GetCrossDemonLandZoneMapByIndex(self, index): return self.ipyCrossDemonLandZoneMapCache[index]
+ def GetCrossFamilyFlagwarZoneMapCount(self): return self.ipyCrossFamilyFlagwarZoneMapLen
+ def GetCrossFamilyFlagwarZoneMapByIndex(self, index): return self.ipyCrossFamilyFlagwarZoneMapCache[index]
def GetActWeekPartyCount(self): return self.ipyActWeekPartyLen
def GetActWeekPartyByIndex(self, index): return self.ipyActWeekPartyCache[index]
def GetActLoginAwardCount(self): return self.ipyActLoginAwardLen
--
Gitblit v1.8.0