From eda1e177e9227ce1a60423a77fa03e3a1f60e73d Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 17 三月 2021 17:34:29 +0800
Subject: [PATCH] 8835 【BT2】【主干】【后端】Part3-2 5)新增多日连充(领奖记录支持多个值)

---
 PySysDB/PySysDBPY.h |  364 +++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 331 insertions(+), 33 deletions(-)

diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h
index ed7b8c5..e466149 100644
--- a/PySysDB/PySysDBPY.h
+++ b/PySysDB/PySysDBPY.h
@@ -38,6 +38,7 @@
 struct	tagRealm
 {
 	WORD		_Lv;	//境界等级
+	BYTE		LvLarge;	//大境界
 	DWORD		NeedLV;	//需要等级
 	DWORD		NeedItemID;	//需要道具ID
 	WORD		NeedItemCnt;	//消耗的道具数量
@@ -48,6 +49,8 @@
 	DWORD		BuffID;	//给全服在线玩家增加buff
 	DWORD		ExpRate;	//修为池经验速率
 	DWORD		ExpLimit;	//修为池经验上限
+	dict		LearnSkillIDInfo;	//学习技能ID信息 {"职业":[技能ID, ...], ...}
+	BYTE		AddFreePoint;	//增加自由属性点
 };
 
 //神兵表 #tagGodWeapon
@@ -120,20 +123,37 @@
 	list		AttrType;	//属性类型
 	list		AttrValue;	//属性值
 	DWORD		CostCount;	//消耗铜钱
+	list		CostItemInfo;	//消耗物品材料及个数 [itemID, itemCount]
 	DWORD		AddExp;	//提升熟练度值
 	DWORD		TotalExp;	//升级所需熟练度总值
 };
 
+//装备总表
+
+struct tagEquipControl
+{
+	BYTE		ClassLV;	//阶
+	BYTE		NeedRealmLV;	//需要的境界
+};
+
+//装备强化大师表
+
+struct tagItemPlusMaster
+{
+	BYTE		_ClassLV;	//阶
+	WORD		MasterPlusLV;	//大师强化等级
+	list		MasterPlusAttrIDList;	//激活属性类型列表
+	list		MasterPlusAttrValueList;	//激活属性值列表
+};
 
 //装备强化等级上限
 
 struct tagItemPlusMax
 {
-	BYTE		_Type;		//按装备位对应类型查找
-	BYTE		_Star;	// 装备星数
-	WORD		LevelMax;	//强化等级上限
+	BYTE		_Type;	//强化类型
+	BYTE		_ClassLV;	//阶
+	WORD		PlusLVMax;	//最大强化等级
 };
-
 
 //装备全身星数属性
 
@@ -308,35 +328,28 @@
 	DWORD		FamilyStoreItemScore;	//仙盟宝库积分
 };
 
-
-//坐骑表
-
-struct tagHorse
-{
-	DWORD		_HorseID;	//坐骑编号ID
-	DWORD		ItemID;	//坐骑物品ID
-	DWORD		UnlockItemID;	//解锁坐骑物品编号
-	BYTE		UnlockItemCnt;	//解锁所需物品数量
-	BYTE		InitLV;	//坐骑初始等级
-	BYTE		MaxLV;	//坐骑最高等级
-	BYTE		UseNeedRank;	//多少阶可切换外观
-	BYTE		Quality;		//坐骑品质
-	DWORD		InitFightPower;	//初始战力
-	char		UnlockSys;	//解锁广播提示
-};
-
-
 //坐骑升级表
 
-struct tagHorseUp
+struct tagHorseLVUp
 {
-	DWORD		_HorseID;	//坐骑编号ID
-	BYTE		_LV;	//坐骑等级
-	DWORD		NeedExp;	//升级所需经验
+	BYTE		_HorseLV;	//坐骑等级
+	DWORD		HorseSkinID;	//外观物品ID
+	WORD		NeedEatCount;	//升级所需个数(非累计)
+	list		LVAttrType;	//每级额外属性类型(非累积)
+	list		LVAttrValue;	//每级额外属性值(非累积)
+};
+
+//坐骑幻化表
+
+struct tagHorseSkinPlus
+{
+	BYTE		_ID;	//幻化编号ID
+	DWORD		HorseSkinPlusID;	//外观物品ID
+	DWORD		UnlockItemID;	//解锁坐骑物品编号
+	BYTE		UnlockItemCnt;	//解锁所需物品数量
 	list		AttrType;	//激活加成属性类型
 	list		AttrValue;	//激活加成属性值
-	list		SkillID;	//可获得的技能ID
-	char		SysMark;	//广播提示
+	DWORD		InitFightPower;	//皮肤额外战力
 };
 
 //玩家等级表
@@ -646,6 +659,7 @@
 	DWORD		Duration;	//持续时间, 0为不限制
 	DWORD		DayTimes;	//每日次数, 0为不限制
 	DWORD		DayBuyTimes;	//每日可购买次数
+	BYTE		BuyTimesPrivilegeID;	//购买次数VIP权限ID
 	DWORD		BuyNeedMoney;	//购买次数需要仙玉
 	DWORD		DayItemAddTimes;	//每日可用物品增加次数
 	DWORD		DayItemID;	//增加次数的物品ID
@@ -711,6 +725,7 @@
 	list		Condition;	//辅助条件
 	list		PreSuccess;	//需要达成前置成就
 	dict		AwardItem;	//奖励物品列表
+	dict		AwardItem2;	//通行证奖励物品列表
 	dict		Money;	//金钱
 	DWORD		Exp;	//经验
 	dict		AwardAttr;	//奖励属性
@@ -886,6 +901,19 @@
 	list		ItemBind;	//是否绑定
 };
 
+//日常活跃放置表
+
+struct tagActivityPlaceReward
+{
+	BYTE		_ID;	//ID
+	BYTE		PlaceCount;	//放置定制次数
+	WORD		PlaceMaxLV;	//最大等级
+	list		FixedItemRewardList;	//固定奖励 [[物品ID, 个数], ...]
+	BYTE		RandItemCountA;	//饼图奖励次数A
+	list		RandItemRewardListA;	//饼图奖励库A [[饼图概率,物品ID], ...]  物品ID支持0
+	BYTE		RandItemCountB;	//饼图奖励次数B
+	list		RandItemRewardListB;	//饼图奖励库B [[饼图概率,物品ID], ...]  物品ID支持0
+};
 
 //炼丹炉等级表
 
@@ -927,11 +955,14 @@
 {
 	DWORD		_NPCID;	//ID
 	DWORD		MapID;	//地图ID
+	BYTE		RefreshLine;	//刷新线路
 	BYTE		RefreshMark;	//刷新标识点
 	BYTE		IsNeedShunt;	//是否需要分流
 	BYTE		RelatedType;	//刷怪关联类型
-	WORD		RelatedID;	//关联ID
+	char		RelatedID;	//关联ID 日常活动ID 或 运营活动名
 	DWORD		StoneNPCID;	//墓碑NPCID
+	BYTE		CanAssist;	//是否可协助
+	BYTE		SkillResist;	//是否技能抵抗
 };
 
 //Boss首杀
@@ -1101,6 +1132,7 @@
 	BYTE		ShowType;		//前端表现类型0-无表现, >0有表现需同步结果,具体类型前端自定义
 	BYTE		IsBind;			//开出物品是否绑定
 	BYTE		AucionItemCanSell;	//开出拍品可否上架集市
+	list		AucionItemDiffSellIDList;	//可否上架差异拍品ID列表,即可上架代表不可上架的拍品ID列表,不可上架代表可上架的拍品ID列表
 };
 
 //宝箱表产出表
@@ -1197,6 +1229,7 @@
 	float		PayRMBNum;	//付费额度,元
 	DWORD		CTGID;	//对应充值ID
 	DWORD		GiftbagID;	//对应限时礼包编号
+	DWORD		CoinExp;	//对应转化经验
 };
 
 //充值表
@@ -1211,7 +1244,18 @@
 	WORD		GainGoldPrize;	//赠送仙玉数
 	WORD		FirstGoldPrize;	//首次充值该档位赠送仙玉
 	list		GainItemList;	//获得物品列表[[物品ID,个数,是否绑定], ...]
+	dict		ActWorldLVGainItemInfo;	//根据活动世界等级获得物品信息,活动专用 {"世界等级":[[物品ID,个数,是否绑定], ...], ...}
 	char		NotifyMark;	//广播提示
+	BYTE		PayType;	//充值类型
+};
+
+//首充表
+
+struct tagFirstGold
+{
+	BYTE		_Day;		//首充第几天
+	dict		JobItemInfo;	//职业物品奖励 {"职业":[[物品ID,个数], ...], ...}
+	list		CommItemList;	//通用物品奖励 [[物品ID,个数], ...]
 };
 
 //等级奖励表
@@ -1234,6 +1278,7 @@
 	BYTE		Type;	//投资类型
 	BYTE		NeedDay;	//需要天数
 	WORD		NeedLV;	//需要等级
+	DWORD		NeedNPCID;	//需要NPCID
 	dict		Reward;	//奖励 {"key":[[物品ID,个数,是否绑定],...], ...}
 };
 
@@ -1300,11 +1345,32 @@
 {
 	DWORD		_GiftbagID;	//礼包编号
 	WORD		GiftbagType;	//礼包类型
-	DWORD		OriginalRMB;	//原价(RMB)
+	float		OriginalRMB;	//原价(RMB)
 	WORD		BuyCountLimit;		//限购次数,0不限购
 	list		GiftItemList;	//礼包物品信息列表 [(物品ID,个数,是否绑定),...]
 	DWORD		MainItemID;	//标的物品ID
 	char		NotifyKey;		//全服广播key,默认两个参数(玩家名, 档位额度)
+};
+
+//每日礼包活动表
+
+struct tagActDailyGiftbag
+{
+	DWORD		_CfgID;	//配置ID
+	char		StartDate;	//开启日期
+	char		EndDate;	//结束日期
+	WORD		LVLimit;	//限制等级
+	WORD		GiftbagType;	//礼包模板类型
+};
+
+//每日礼包模板表
+
+struct tagDailyGiftbag
+{
+	WORD		_GiftbagType;	//礼包模板类型
+	DWORD		_GiftbagID;	//礼包编号
+	WORD		BuyCountLimit;		//限购次数,0不限购
+	list		GiftItemList;	//礼包物品信息列表 [(物品ID,个数,是否绑定),...]
 };
 
 //双倍经验活动表
@@ -1337,6 +1403,33 @@
 	BYTE		AwardIndex;		//返利奖励索引0~31,同个模板中不重复
 	dict		AwardItemList;	//返利物品信息列表 {世界等级范围:[({职业:物品ID,..},个数,是否绑定), ...]}
 	char		NotifyKey;		//全服广播key,默认两个参数(玩家名, 档位额度)
+};
+
+//集字活动时间表
+
+struct tagActCollectWords
+{
+	DWORD		_CfgID;	//配置ID
+	char		StartDate;	//开启日期
+	char		EndDate;	//结束日期
+	WORD		LVLimit;	//限制等级
+	BYTE		LastDayOnlyExchange;	//最后一天是否仅兑换
+	WORD		TemplateID;	//兑换模板编号
+	WORD		DropDiffLVLimit;	//掉落等级差值限制
+	list		DropItemRateList;	//小怪掉落饼图概率
+	list		DropItemRateListBoss;	//Boss掉落饼图概率
+};
+
+//集字活动兑换模板表
+
+struct tagCollectWordsExchange
+{
+	DWORD		_TemplateID;	//模板ID
+	BYTE		ExchangeNum;	//兑换编号(同个模板中需唯一不可变)
+	list		ExchangeItemInfo;	//兑换目标物品[物品ID,个数,是否绑定]
+	BYTE		ExchangeCountMax;		//最大兑换次数(0不限制)
+	list		NeedItemList;	//所需物品信息列表 [[物品ID,个数,是否绑定], ...]
+	BYTE		NeedNotify;		//是否需要广播
 };
 
 //BOSS复活活动时间表
@@ -1485,6 +1578,27 @@
 	BYTE		NeedVIPLVGift;	//所需购买VIP等级礼包
 };
 
+//充值返利活动表
+
+struct tagActRechargePrize
+{
+	DWORD		_CfgID;	//配置ID
+	char		StartDate;	//开启日期
+	char		EndDate;	//结束日期
+	WORD		LVLimit;	//限制等级
+	BYTE		IsDayReset;	//是否每天重置
+	list		TemplateIDList;	//模板ID列表
+};
+
+//充值返利模板表
+
+struct tagRechargePrizeTemplate
+{
+	DWORD		_TemplateID;	//模板ID
+	WORD		CTGID;	//充值表充值ID
+	DWORD		GoldPrize;		//返利仙玉数
+	BYTE		PrizeCountLimit;	//最大赠送次数
+};
 
 //累计充值活动表
 
@@ -1503,10 +1617,66 @@
 struct tagTotalRechargeTemplate
 {
 	DWORD		_TemplateID;	//模板ID
-	DWORD		NeedGold;	//需要充值仙玉数
+	float		NeedGold;	//需要充值RMB,元
 	BYTE		AwardIndex;		//返利奖励索引0~31,同个模板中不重复
 	dict		AwardItem;	//返利物品信息列表 {职业:[(物品ID,个数,是否绑定),...]}
 	char		NotifyKey;		//全服广播key,默认两个参数(玩家名, 档位额度)
+};
+
+//累计充值返利仙玉活动表
+
+struct tagActRechargeRebateGold
+{
+	DWORD		_CfgID;	//配置ID
+	char		StartDate;	//开启日期
+	char		EndDate;	//结束日期
+	WORD		LVLimit;	//限制等级
+	BYTE		IsDayReset;	//是否每天重置
+	list		TemplateIDList;	//模板ID列表
+};
+
+//累计充值返利仙玉模板表
+
+struct tagRechargeRebateGoldTemplate
+{
+	DWORD		_TemplateID;	//模板ID
+	DWORD		RMBMin;	//充值RMB最小值
+	DWORD		RMBMax;	//充值RMB最大值
+	WORD		RebateRate;	//返利仙玉比例百分比
+};
+
+//成长必买活动表
+
+struct tagActGrowupBuy
+{
+	DWORD		_CfgID;	//配置ID
+	char		StartDate;	//开启日期
+	char		EndDate;	//结束日期
+	WORD		LVLimit;	//限制等级
+	list		CTGIDGroupList;	//充值编号组列表 [[ctgID, ...], ...]
+};
+
+//多日连充活动表
+
+struct tagActManyDayRecharge
+{
+	DWORD		_CfgID;	//配置ID
+	char		StartDate;	//开启日期
+	char		EndDate;	//结束日期
+	WORD		LVLimit;	//限制等级
+	WORD		TemplateID;	//模板编号
+};
+
+//多日连充模板表
+
+struct tagActManyDayRechargeAward
+{
+	DWORD		_TemplateID;	//模板ID
+	float		NeedRMB;	//所需充值额度
+	BYTE		NeedDays;	//所需充值天数
+	BYTE		AwardIndex;	//奖励索引
+	dict		AwardItemInfo;	//奖励物品信息  {世界等级范围:[[物品ID,个数,是否拍品], ...]}
+	char 		NotifyKey;	//广播
 };
 
 //法宝副本表
@@ -1703,6 +1873,95 @@
 	char		Reward;	//奖励物品
 };
 
+//节日登录奖励时间表
+
+struct tagActFeastLogin
+{
+	DWORD		_CfgID;	//配置ID
+	char		StartDate;	//开启日期
+	char		EndDate;	//结束日期
+	WORD		LVLimit;	//限制等级
+	dict		TemplateIDInfo;	//模板信息 {(世界等级A,B):奖励模板编号, ...}
+};
+
+//节日登录奖励模板表
+
+struct tagActFeastLoginAward
+{
+	BYTE		_TemplateID;	//模板ID
+	BYTE		DayNum;	//第X天从1开始
+	list		LoginAwardItemList;	//奖励列表[[物品ID,个数,是否拍品], ...]
+};
+
+//节日祝福时间表
+
+struct tagActFeastWish
+{
+	DWORD		_CfgID;	//配置ID
+	char		StartDate;	//开启日期
+	char		EndDate;	//结束日期
+	WORD		LVLimit;	//限制等级
+	BYTE		ResetType;	//重置类型,0-0点重置;1-5点重置
+	dict		TemplateIDInfo;	//模板信息 {(世界等级A,B):模板编号, ...}
+};
+
+//节日祝福瓶模板表
+
+struct tagActFeastWishBottle
+{
+	BYTE		_TemplateID;	//模板ID
+	BYTE		WishBottleNum;	//祝福瓶编号
+	WORD		NeedWishValue;	//单次领奖所需祝福值
+	BYTE		ChooseTimeMax;	//最大可领奖次数
+	dict		ChoosePrizeItem;	//选择奖励物品信息,选完为止 {记录索引:[物品ID,个数,是否拍品], ...}
+	list		GoodItemIDList;	//需要广播的物品ID列表 [物品ID, ...]
+	char		WorldNotifyKey;	//全服广播key,参数(玩家名, 物品ID, 物品数据, 个数,)
+};
+
+//节日祝福池模板表
+
+struct tagActFeastWishPool
+{
+	BYTE		_TemplateID;	//模板ID
+	list		WishPoolItemWeightInfo;	//祝福池产出物品权重 [[权重, [物品ID,个数]], ..]
+	list		WishPoolClientItemShow;	//前端展示物品列表 [物品ID, ...]
+	list		GoodItemIDList;	//需要广播的物品ID列表 [物品ID, ...]
+	char		WorldNotifyKey;	//全服广播key,参数(玩家名, 物品ID, 物品数据, 个数,)
+};
+
+//节日游历时间表
+
+struct tagActFeastTravel
+{
+	DWORD		_CfgID;	//配置ID
+	char		StartDate;	//开启日期
+	char		EndDate;	//结束日期
+	WORD		LVLimit;	//限制等级
+	BYTE		ResetType;	//重置类型,0-0点重置;1-5点重置
+	dict		TemplateIDInfo;	//模板信息 {(世界等级A,B):模板编号, ...}
+};
+
+//节日游历任务表
+
+struct tagActFeastTravelTask
+{
+	BYTE		_TraveTasklD;	//游历ID
+	WORD		FinishNeedValue;	//完成所需进度值
+	WORD		FinishTimeMax;	//总可完成次数,0不限
+	BYTE		AddTravelPoint;	//完成次数获得游历值
+};
+
+//节日游历奖励表
+
+struct tagActFeastTravelAward
+{
+	BYTE		_TemplatelD;	//奖励模板ID
+	BYTE		RecordIndex;	//奖励记录索引
+	WORD		NeedTravelPoint;	//领奖所需游历值
+	BYTE		AwardCountMax;	//可领取次数,0代表不限
+	list		TravelAwardInfo;	//游历奖励 [[物品ID,个数,是否拍品], ...]
+};
+
 //诛仙BOSS表
 
 struct tagZhuXianBoss
@@ -1782,6 +2041,27 @@
 	WORD		ItemCnt;	//物品数量
 	BYTE		IsBind;	//是否绑定
 	DWORD		Weight;	//权重
+};
+
+//跨服充值排行模板达标奖励表
+
+struct tagCrossActCTGBillboardDabiao
+{
+	DWORD		_TemplateID;	//模板ID
+	float		CTGNeed;	//需充值RMB
+	BYTE		AwardIndex;	//奖励记录索引,从0开始,同个模板不可重复,不可变更
+	list		AwardItemList;	//奖励物品列表[[物品ID,个数,是否拍品], ...]
+};
+
+//跨服充值排行模板名次奖励表
+
+struct tagCrossActCTGBillboardOrder
+{
+	DWORD		_TemplateID;	//模板ID
+	WORD		OrderA;	//名次A
+	WORD		OrderB;	//至名次B
+	float		CTGAtleast;	//至少充值RMB
+	list		AwardItemList;	//奖励物品列表[[物品ID,个数,是否拍品], ...]
 };
 
 //神秘商店表
@@ -1942,6 +2222,7 @@
 struct tagSkillElement
 {
 	DWORD		_ElementSkillID;	//专精技能ID
+	BYTE		ElementSkillNum;	//专精技能编号
 	DWORD		MainSkillID;	//主技能ID
 	DWORD		NeedLV;	//选择需要等级
 };
@@ -1956,6 +2237,15 @@
 	WORD		NeedLV;	//要求等级
 	DWORD		FightPower;	//推荐战力
 	BYTE		IsNotify;	//是否广播
+};
+
+//天星塔全服挑战表
+
+struct tagSkyTowerServerChallenge
+{
+	DWORD		_FloorID;	//层
+	BYTE		RewardRecordIndex;	//奖励记录位索引
+	dict		Reward;	//奖励
 };
 
 //灵根特效表
@@ -1979,12 +2269,20 @@
 	BYTE		SkinIndex;	//外观
 };
 
+//协助感谢礼盒表
+
+struct tagAssistThanksGift
+{
+	DWORD		_GiftID;	//礼盒物品ID
+	list		RequestPlayerAward;	// 发布奖励物品 物品ID|个数
+	list		AssistPlayerAward;	// 协助奖励物品 物品ID|个数
+};
 
 //累计充值奖励表
 
 struct tagHistoryRechargeAward
 {
 	BYTE		_ID;	//id
-	DWORD		Recharge;	//所需充值元
+	float		NeedRMB;	//所需充值元
 	dict		Reward;	//职业对应的奖励内容,每个职业4组数据,物品ID和物品数量(1.枪豪2.道师3.剑修)
-};
\ No newline at end of file
+};

--
Gitblit v1.8.0