16 卡牌服务端(删除不需要的旧活动:成长必买、限时特惠、限时礼包、每日礼包、限时抢购、极品白拿、运势活动、天帝礼包、转盘、许愿池、幸运鉴宝;)
| | |
| | | DWORD UnlockValue; //解锁所需值
|
| | | };
|
| | |
|
| | | //限时特惠表
|
| | |
|
| | | struct tagActSpringSale
|
| | | {
|
| | | DWORD _CfgID; //配置ID
|
| | | char StartDate; //开启日期
|
| | | char EndDate; //结束日期
|
| | | list StartTimeList; //开启时间列表, 支持多个时段
|
| | | list EndTimeList; //结束时间列表, 支持多个时段
|
| | | WORD AdvanceMinutes; //前端提前X分钟展示活动
|
| | | WORD LVLimit; //限制等级
|
| | | BYTE IsDayReset; //是否每天重置
|
| | | dict ShopTypeList; //商店类型列表
|
| | | char MailKey; //活动更新时发送邮件key
|
| | | list MailItemPrize; //活动更新时发送邮件奖励物品
|
| | | };
|
| | |
|
| | | //每日任务表
|
| | |
|
| | | struct DailyTask
|
| | |
| | | list AwardItemList; //奖励物品信息列表 [[物品ID,个数,是否拍品],...]
|
| | | };
|
| | |
|
| | | //极品白拿表
|
| | |
|
| | | struct tagFreeGoods
|
| | | {
|
| | | BYTE _ID; //ID
|
| | | dict AwardItem; //奖励 {"职业":[[物品ID,个数],...], ...}
|
| | | WORD NeedMoney; //需要仙玉
|
| | | DWORD ReturnDays; //返还所需天
|
| | | };
|
| | |
|
| | | //限时礼包活动表
|
| | |
|
| | | struct tagActFlashGiftbag
|
| | | {
|
| | | DWORD _CfgID; //配置ID
|
| | | char StartDate; //开启日期
|
| | | char EndDate; //结束日期
|
| | | list StartTimeList; //开启时间列表, 支持多个时段
|
| | | list EndTimeList; //结束时间列表, 支持多个时段
|
| | | WORD AdvanceMinutes; //前端提前X分钟展示活动
|
| | | WORD LVLimit; //限制等级
|
| | | BYTE IsDayReset; //是否每天重置
|
| | | BYTE IsJueban; //是否绝版礼包
|
| | | dict GiftbagTypeList; //礼包类型列表
|
| | | char MailKey; //活动更新时发送邮件key
|
| | | list MailItemPrize; //活动更新时发送邮件奖励物品
|
| | | };
|
| | |
|
| | | //限时礼包模板表
|
| | |
|
| | | struct tagFlashGiftbag
|
| | | {
|
| | | DWORD _GiftbagID; //礼包编号
|
| | | WORD GiftbagType; //礼包类型
|
| | | 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不限购
|
| | | eval GiftItemList; //礼包物品信息列表 [(物品ID,个数,是否绑定),...]
|
| | | WORD Discount; //折扣百分比
|
| | | };
|
| | |
|
| | | //双倍经验活动表
|
| | |
|
| | | struct tagActExpRate
|
| | | {
|
| | | DWORD _CfgID; //配置ID
|
| | | WORD LVLimit; //限制等级
|
| | | DWORD AddExpRate; //经验倍率加成,万分率
|
| | | };
|
| | |
|
| | | //买一送多活动表
|
| | |
|
| | | struct tagActBuyOne
|
| | |
| | | list LayerWeightItemList; //通关该层额外随机奖励 [[权重,物品ID,个数], ...]
|
| | | };
|
| | |
|
| | | //天帝礼包活动时间表
|
| | |
|
| | | struct tagActGodGift
|
| | | {
|
| | | DWORD _CfgID; //配置ID
|
| | | char StartDate; //开启日期
|
| | | char EndDate; //结束日期
|
| | | BYTE IsDayReset; //是否每天重置
|
| | | WORD LVLimit; //限制等级
|
| | | BYTE UseMoneyType; //消耗货币类型
|
| | | list UseGoldList; //抽奖消耗货币列表
|
| | | BYTE PrizeMoneyType; //奖励货币类型
|
| | | list PrizeMoneyList; //奖励货币列表
|
| | | BYTE ResetLimitTimes; //至少抽几次可重置
|
| | | BYTE ResetCountMax; //可重置次数
|
| | | dict TemplateIDInfo; //奖池模板信息 {(世界等级A,B):[模板编号列表, ...], ...}
|
| | | };
|
| | |
|
| | | //天帝礼包奖池表
|
| | |
|
| | | struct tagActGodGiftAward
|
| | | {
|
| | | DWORD _TemplateID; //奖池模板编号
|
| | | BYTE AwardLibType; //奖励库类型
|
| | | BYTE UnlockAwardLimitTimes; //抽X次后可产出本库
|
| | | BYTE ChooseItemCount; //选择个数
|
| | | dict LibItemInfo; //物品编号对应物品信息 {物品编号:[物品ID,个数,是否拍品,可选次数], ...} 0不限次数
|
| | | list NotifyItemNumList; //需要广播的编号列表
|
| | | };
|
| | |
|
| | | //多倍修行点活动时间表
|
| | |
|
| | | struct tagActRealmPoint
|
| | | {
|
| | | DWORD _CfgID; //配置ID
|
| | | WORD Multiple; //倍数
|
| | | WORD LVLimit; //限制等级
|
| | | DWORD PointLimit; //限制额外修行点
|
| | | };
|
| | |
|
| | | //宗门试炼兑换表
|
| | |
|
| | | struct tagTrialExchange
|
| | |
| | | DWORD CostItemCount; //消耗物品个数
|
| | | };
|
| | |
|
| | | //仙界盛典-全民来嗨表
|
| | |
|
| | | struct tagAllPeopleParty
|
| | | {
|
| | | BYTE _ID; //ID
|
| | | WORD TotalTimes; //总次数
|
| | | WORD AddPoint; //每完成次数获得嗨点
|
| | | };
|
| | |
|
| | | //仙界盛典-全民来嗨奖励表
|
| | |
|
| | | struct tagAllPeoplePartyAward
|
| | | {
|
| | | BYTE _WorldLvNum; //世界等级档
|
| | | DWORD _Index; //索引
|
| | | DWORD NeedPoint; //需要点数
|
| | | dict Award; //奖励 {"职业":[[物品ID,个数,是否绑定],...], ...}
|
| | | };
|
| | |
|
| | | //地图NPC配置表-挂机点
|
| | |
|
| | | struct tagMapEventPoint
|
| | |
| | | WORD LowLV; // 推荐最低等级
|
| | | WORD HighestLV; // 推荐最高等级
|
| | | DWORD Defense; // 推荐防御
|
| | | };
|
| | |
|
| | | //限时抢购表
|
| | |
|
| | | struct tagActFlashSale
|
| | | {
|
| | | DWORD _CfgID; //配置ID
|
| | | char StartDate; //开启日期
|
| | | char EndDate; //结束日期
|
| | | list StartTimeList; //开启时间列表, 支持多个时段
|
| | | list EndTimeList; //结束时间列表, 支持多个时段
|
| | | WORD AdvanceMinutes; //前端提前X分钟展示活动
|
| | | WORD LVLimit; //限制等级
|
| | | BYTE IsDayReset; //是否每天重置
|
| | | dict ShopTypeList; //商店类型列表
|
| | | char MailKey; //活动更新时发送邮件key
|
| | | list MailItemPrize; //活动更新时发送邮件奖励物品
|
| | | };
|
| | |
|
| | | //许愿池活动时间表
|
| | |
|
| | | struct tagActWishingWell
|
| | | {
|
| | | DWORD _CfgID; //配置ID
|
| | | char StartDate; //开启日期
|
| | | char EndDate; //结束日期
|
| | | BYTE IsDayReset; //是否每天重置
|
| | | BYTE ResetType; //重置类型,0-0点重置;1-5点重置
|
| | | WORD LVLimit; //限制等级
|
| | | BYTE TemplateID; //模板编号
|
| | | };
|
| | |
|
| | | //许愿池库模板表
|
| | |
|
| | | struct tagWishingWell
|
| | | {
|
| | | BYTE _TemplateID; //模板ID
|
| | | BYTE IsFree; //是否免费库
|
| | | list WorldLVLimit; //世界等级范围
|
| | | DWORD ItemID; //物品ID
|
| | | WORD ItemCnt; //物品数量
|
| | | BYTE IsBind; //是否绑定
|
| | | DWORD Weight; //权重
|
| | | DWORD Mark; //排序用标识
|
| | | BYTE Rare; //珍稀值
|
| | | };
|
| | |
|
| | | //表情包表
|
| | |
| | | char NotifyKey; //全服广播key,默认两个参数(玩家名, 档位额度)
|
| | | };
|
| | |
|
| | | //成长必买活动表
|
| | |
|
| | | struct tagActGrowupBuy
|
| | | {
|
| | | DWORD _CfgID; //配置ID
|
| | | char StartDate; //开启日期
|
| | | char EndDate; //结束日期
|
| | | WORD LVLimit; //限制等级
|
| | | list CTGIDGroupList; //充值编号组列表 [[ctgID, ...], ...]
|
| | | };
|
| | |
|
| | | //多日连充活动表
|
| | |
|
| | | struct tagActManyDayRecharge
|
| | |
| | | BYTE AwardIndex; //奖励索引
|
| | | dict AwardItemInfo; //奖励物品信息 {世界等级范围:[[物品ID,个数,是否拍品], ...]}
|
| | | char NotifyKey; //广播
|
| | | };
|
| | |
|
| | | //转盘活动表
|
| | |
|
| | | struct tagActTurntable
|
| | | {
|
| | | DWORD _CfgID; //配置ID
|
| | | char StartDate; //开启日期
|
| | | char EndDate; //结束日期
|
| | | WORD LVLimit; //限制等级
|
| | | BYTE IsDayReset; //是否每天重置
|
| | | BYTE CTGTypeEffValue; //充值有效类型值
|
| | | list CTGPrizeList; //累计充值奖励次数
|
| | | BYTE UseMoneyType; //累计消费货币类型
|
| | | list UseMoneyPrizeList; //累计消费X货币奖励次数
|
| | | list LibChooseCountList; //各道具库选择个数
|
| | | list SuperItemLimitRule; //终极库产出万分率|至少X次后可产出
|
| | | dict CommItemLib; //普通道具库 {(世界等级A,世界等级B):[[可选物品ID, 个数, 是否拍品], ...], ...}
|
| | | dict GoodItemLib; //极品道具库 {(世界等级A,世界等级B):[[可选物品ID, 个数, 是否拍品], ...], ...}
|
| | | dict SuperItemLib; //超级道具库 {(世界等级A,世界等级B):[[可选物品ID, 个数, 是否拍品], ...], ...}
|
| | | char WorldNotifyKey; //好物品全服广播mark,极品及超级道具默认全服广播
|
| | | };
|
| | |
|
| | | //单笔累充活动表
|
| | |
| | | WORD PosY; //坐标Y
|
| | | };
|
| | |
|
| | | //运势活动时间表
|
| | |
|
| | | struct tagActYunshi
|
| | | {
|
| | | DWORD _CfgID; //配置ID
|
| | | char StartDate; //开启日期
|
| | | char EndDate; //结束日期
|
| | | WORD LVLimit; //限制等级
|
| | | BYTE ResetType; //重置类型,0-0点重置;1-5点重置
|
| | | DWORD TreasureType; //商城类型
|
| | | };
|
| | |
|
| | | //轮回殿活动时间表
|
| | |
|
| | | struct ActLunhuidian
|
| | |
| | | BYTE DayNum; //第X天从1开始
|
| | | list LoginAwardItemList; //奖励列表[[物品ID,个数,是否拍品], ...]
|
| | | list LoginAwardItemListEx; //扩展奖励列表[[物品ID,个数,是否拍品], ...]
|
| | | };
|
| | |
|
| | | //新仙界盛典-全民来嗨表
|
| | |
|
| | | struct tagNewAllPeopleParty
|
| | | {
|
| | | BYTE _ID; //ID
|
| | | WORD TotalTimes; //总次数
|
| | | WORD AddPoint; //每完成次数获得嗨点
|
| | | };
|
| | |
|
| | | //新仙界盛典-全民来嗨奖励表
|
| | |
|
| | | struct tagNewAllPeoplePartyAward
|
| | | {
|
| | | BYTE _WorldLvNum; //世界等级档
|
| | | DWORD _Index; //索引
|
| | | DWORD NeedPoint; //需要点数
|
| | | dict Award; //奖励 {"职业":[[物品ID,个数,是否绑定],...], ...}
|
| | | };
|
| | |
|
| | | //幸运鉴宝活动时间表
|
| | |
|
| | | struct tagActLuckyTreasure
|
| | | {
|
| | | DWORD _CfgID; //配置ID
|
| | | char StartDate; //开启日期
|
| | | char EndDate; //结束日期
|
| | | BYTE ResetType; //重置类型,0-0点重置;1-5点重置
|
| | | WORD LVLimit; //限制等级
|
| | | BYTE TemplateID; //模板编号
|
| | | WORD LuckyPoint; //总幸运值
|
| | | };
|
| | |
|
| | | //幸运鉴宝库模板表
|
| | |
|
| | | struct tagLuckyTreasureTemplate
|
| | | {
|
| | | BYTE _TemplateID; //模板ID
|
| | | list WorldLVLimit; //世界等级范围
|
| | | DWORD ItemID; //物品ID
|
| | | WORD ItemCnt; //物品数量
|
| | | BYTE IsBind; //是否绑定
|
| | | DWORD Weight; //权重
|
| | | };
|
| | |
|
| | | //装备位背包索引映射表
|
| | |
| | | PacketSubCMD_4=0x06
|
| | | PacketCallFunc_4=OnQueryRecharge
|
| | |
|
| | | ;限时抢购
|
| | | [PlayerFlashSale]
|
| | | ScriptName = Player\PlayerFlashSale.py
|
| | | Writer = xdh
|
| | | Releaser = xdh
|
| | | RegType = 0
|
| | | RegisterPackCount = 1
|
| | |
|
| | | PacketCMD_1=0xAA
|
| | | PacketSubCMD_1=0x05
|
| | | PacketCallFunc_1=OnFlashSaleAppointment
|
| | |
|
| | | ;许愿池
|
| | | [PlayerWishingWell]
|
| | | ScriptName = Player\PlayerWishingWell.py
|
| | | Writer = xdh
|
| | | Releaser = xdh
|
| | | RegType = 0
|
| | | RegisterPackCount = 2
|
| | |
|
| | | PacketCMD_1=0xAA
|
| | | PacketSubCMD_1=0x07
|
| | | PacketCallFunc_1=OnActWishingRefresh
|
| | |
|
| | | PacketCMD_2=0xAA
|
| | | PacketSubCMD_2=0x06
|
| | | PacketCallFunc_2=OnActWishingDrag
|
| | |
|
| | | ;天帝礼包活动
|
| | | [PlayerActGodGift]
|
| | | ScriptName = Player\PlayerActGodGift.py
|
| | | Writer = hxp
|
| | | Releaser = hxp
|
| | | RegType = 0
|
| | | RegisterPackCount = 3
|
| | |
|
| | | PacketCMD_1=0xAA
|
| | | PacketSubCMD_1=0x20
|
| | | PacketCallFunc_1=OnActGodGiftChooseItem
|
| | |
|
| | | PacketCMD_2=0xAA
|
| | | PacketSubCMD_2=0x21
|
| | | PacketCallFunc_2=OnActGodGiftlottery
|
| | |
|
| | | PacketCMD_3=0xAA
|
| | | PacketSubCMD_3=0x22
|
| | | PacketCallFunc_3=OnActGodGiftReset
|
| | |
|
| | | ;炼器活动
|
| | | [PlayerActLianqi]
|
| | | ScriptName = Player\PlayerActLianqi.py
|
| | |
| | | PacketCMD_1=0xAA
|
| | | PacketSubCMD_1=0x09
|
| | | PacketCallFunc_1=OnActCollectWordsExchange
|
| | |
|
| | | ;幸运鉴宝
|
| | | [PlayerLuckyTreasure]
|
| | | ScriptName = Player\PlayerLuckyTreasure.py
|
| | | Writer = xdh
|
| | | Releaser = xdh
|
| | | RegType = 0
|
| | | RegisterPackCount = 1
|
| | |
|
| | | PacketCMD_1=0xAA
|
| | | PacketSubCMD_1=0x08
|
| | | PacketCallFunc_1=OnStartLuckyTreasure
|
| | |
|
| | | ;转盘活动
|
| | | [PlayerActTurntable]
|
| | | ScriptName = Player\PlayerActTurntable.py
|
| | | Writer = hxp
|
| | | Releaser = hxp
|
| | | RegType = 0
|
| | | RegisterPackCount = 2
|
| | |
|
| | | PacketCMD_1=0xAA
|
| | | PacketSubCMD_1=0x12
|
| | | PacketCallFunc_1=OnTurntableChooseItem
|
| | |
|
| | | PacketCMD_2=0xAA
|
| | | PacketSubCMD_2=0x13
|
| | | PacketCallFunc_2=OnTurntableStart
|
| | |
|
| | | ;竞技场
|
| | | [PlayerArena]
|
| | |
| | | #物品个数
|
| | | Def_PDict_ItemCount = "ItemCount_%s" # 存储不放在背包的物品个数, 参数(物品ID)
|
| | |
|
| | | #极品白拿
|
| | | Def_PDict_FreeGoodsOpenTime = "FreeGoodsOpenTime" #极品白拿开启时间
|
| | | Def_PDict_FreeGoodsBuyState = "FreeGoodsBuyState_%s" #极品白拿购买状态,参数编号 0-未买 time值-购买时间 1-已返还
|
| | |
|
| | | #累计充值活动
|
| | | Def_PDict_TotalRechargeID = "TotalRechargeID_%s" # 玩家身上的累计充值活动ID,唯一标识,取活动开始日期time值,参数:(活动编号)
|
| | | Def_PDict_TotalRechargeTemplateID = "TotalRechargeTemplateID_%s" # 玩家身上的累计充值模板ID,参数:(活动编号)
|
| | | Def_PDict_TotalRechargeGold = "TotalRechargeGold_%s" # 消费返利总累计充值X元,参数:(活动编号)
|
| | | Def_PDict_TotalRechargeAwardRecord = "TotalRechargeAwardRecord_%s" # 累计充值领奖记录,参数:(活动编号)
|
| | | Def_PDict_TotalRechargeWorldLV = "TotalRechargeWorldLV_%s" #累计充值活动开启时世界等级,参数:(活动编号)
|
| | |
|
| | | #成长必买活动
|
| | | Def_PDict_GrowupBuyID = "GrowupBuyID" # 玩家身上的重置成长必买活动ID,唯一标识,取活动开始日期time值
|
| | | Def_PDict_GrowupBuyState = "GrowupBuyState" # 当前可购买的活动充值ID索引状态,按组索引位存储对应组可购买的充值ID所对应的索引
|
| | |
|
| | | #买一送多
|
| | | Def_PDict_BuyOneID = "BuyOneID_%s" # 玩家身上的活动ID,唯一标识,取活动开始日期time,参数(活动编号)
|
| | |
| | | Def_PDict_FamilyCTGAssistID = "FamilyCTGAssistID_%s" # 玩家身上的活动ID,唯一标识,取活动开始日期time,参数(活动编号)
|
| | | Def_PDict_FamilyCTGAssistAward = "FamilyCTGAssistAward_%s" # 玩家领取记录,参数(活动编号)
|
| | |
|
| | | #限时特惠活动
|
| | | Def_PDict_SpringSaleID = "SpringSaleID_%s" # 玩家身上的限时特惠活动ID,唯一标识,取活动开始日期time,参数(活动编号)
|
| | | Def_PDict_SpringSaleMailState = "SpringSaleMailState_%s" # 玩家身上的活动更新提醒邮件状态,参数(活动编号)
|
| | |
|
| | | #限时礼包活动
|
| | | Def_PDict_FlashGiftbagID = "FlashGiftbagID_%s" # 玩家身上的限时礼包活动ID,唯一标识,取活动开始日期time,参数(活动编号)
|
| | | Def_PDict_FlashGiftbagBuyCount = "FlashGiftbagBuy_%s_%s" # 限时礼包已购买次数,参数(活动编号, 礼包ID)
|
| | | Def_PDict_FlashGiftbagMailState = "FlashGiftbagMail_%s" # 玩家身上的活动更新提醒邮件状态,参数(活动编号)
|
| | |
|
| | | #每日礼包活动
|
| | | Def_PDict_DailyGiftbagID = "DailyGiftbagID" # 玩家身上的每日礼包活动ID,唯一标识,取活动开始日期time
|
| | | Def_PDict_DailyGiftbagBuyCount = "DailyGiftbagBuyCount_%s" # 每日礼包已购买次数,参数(礼包ID)
|
| | |
|
| | | #集字活动
|
| | | Def_PDict_CollectWordsID = "CollectWordsID_%s" # 玩家身上的活动ID,唯一标识,取活动开始日期time值,参数(活动编号 1 或 2)
|
| | | Def_PDict_CollectWordsExchangeCount = "CollectWordsCount_%s_%s" # 兑换编号对应已兑换次数,参数(活动编号, 兑换编号)
|
| | | Def_PDict_CollectWordsGJSeconds = "CollectWordsGJSeconds_%s" # 挂机未处理收益的秒数,参数(活动编号)
|
| | |
|
| | | #限时抢购活动
|
| | | Def_PDict_FlashSaleID = "FlashSaleID_%s" # 玩家身上的限时抢购活动ID,唯一标识,取活动开始日期time,参数(活动编号)
|
| | | Def_PDict_FlashSaleState = "FlashSaleState_%s" # 玩家身上的限时抢购活动state,参数(活动编号)
|
| | | Def_PDict_FlashSaleMailState = "FlashSaleMailState_%s" # 玩家身上的活动更新提醒邮件状态,参数(活动编号)
|
| | | Def_PDict_FlashSaleYY = "FlashSaleYY_%s_%s" # 玩家预约限时抢购商品,参数(活动编号, 商品标识)
|
| | |
|
| | | #许愿池活动
|
| | | Def_PDict_WishingWellID = "WishingWellID" # 玩家身上的许愿池活动ID,唯一标识,取活动开始日期time值
|
| | | Def_PDict_WishingWellFreeTime = "WishingWellFreeTime" # 许愿池免费开始计时时间
|
| | | Def_PDict_WishingWellAwardTime = "WishingWellAwardTime" # 许愿池许愿时间
|
| | | Def_PDict_WishingWellRefreshCnt = "WishingWellRefreshCnt" # 付费刷新次数
|
| | | Def_PDict_WishingWellItem = "WishingWellItem_%s_%s" # 物品ID,是否极品、是否绑定信息 参数(类型,物品数据)
|
| | | Def_PDict_WishingWellItemCnt = "WishingWellItemCnt_%s_%s" # 物品数量记录 参数(类型,物品数据)
|
| | |
|
| | | # 称号
|
| | | Def_PDict_TitleState = "TitleState_%s" # 称号状态,参数(key编号)
|
| | |
| | | Def_PDict_TravelGridInfo = "TravelGridInfo_%s_%s" # 格子信息,参数(行, 列) 事件ID*100+是否双倍*10+开启状态
|
| | | Def_PDict_TravelState = "TravelState" # 本盘游历记录,1-已领取景观奖励
|
| | |
|
| | | #幸运鉴宝
|
| | | Def_PDict_LuckyTreasureID = "LuckyTreasureID" # 玩家身上的活动ID,唯一标识,取活动开始日期time值
|
| | | Def_PDict_LuckyTreasureFree = "LuckyTreasureFree" #是否免费过
|
| | | Def_PDict_LuckyTreasurePoint = "LuckyTreasurePoint" #幸运值
|
| | | Def_PDict_LuckyTreasureCnt = "LuckyTreasureCnt" #鉴宝次数
|
| | |
|
| | | #多日连充活动
|
| | | Def_PDict_ManyDayRechargeID = "ManyDayRechargeID_%s" # 玩家身上的活动ID,唯一标识,取活动开始日期time值,参数:(活动编号)
|
| | | Def_PDict_ManyDayRechargeTempID = "ManyDayRechargeTempID_%s" # 玩家身上的模板ID,参数:(活动编号)
|
| | |
| | | Def_PDict_SingleRechargeWorldLV = "SingleRechargeWorldLV_%s" #玩家身上的活动世界等级,参数:(活动编号)
|
| | | Def_PDict_SingleRechargeValue = "SingleRechargeValue_%s_%s" # 领奖值,已领奖次数*1000+可领奖次数,参数:(活动编号,档位索引)
|
| | |
|
| | | #转盘活动
|
| | | Def_PDict_TurntableID = "TurntableID_%s" # 玩家身上的活动ID,唯一标识,取活动开始日期time值,参数:(活动编号)
|
| | | Def_PDict_TurntableWorldLV = "TurntableWorldLV_%s" #玩家身上的活动世界等级,参数:(活动编号)
|
| | | Def_PDict_TurntableLoginState = "TurntableLoginState_%s" # 登录加次数状态,参数:(活动编号)
|
| | | Def_PDict_TurntableCTGValue = "TurntableCTGValue_%s" # 累计充值,参数:(活动编号)
|
| | | Def_PDict_TurntableUseGold = "TurntableUseGold_%s" # 累计消费仙玉,参数:(活动编号)
|
| | | Def_PDict_TurntableCanUseCount = "TurntableCanUseCount_%s" # 可使用转盘次数,参数:(活动编号)
|
| | | Def_PDict_TurntableItemID = "TurntableItemID_%s_%s" # 转盘物品ID*10+物品库类型,参数:(活动编号, 物品编号)
|
| | | Def_PDict_TurntableItemCount = "TurntableCount_%s_%s" # 转盘物品个数,参数:(活动编号, 物品编号)
|
| | | Def_PDict_TurntableItemState = "TurntableItemState_%s" # 转盘物品是否已抽中,按物品编号二进制位代表是否已抽中,参数:(活动编号)
|
| | |
|
| | | #炼器活动
|
| | | Def_PDict_CA_LianqiID = "CA_LianqiID" # 玩家身上的活动ID,唯一标识,取活动开始日期time值
|
| | | Def_PDict_LianqiScore = "LianqiScore" # 当前积分
|
| | |
| | | Def_PDict_LianqiItemUse = "LianqiItemUse_%s" # 辅助道具单局已使用次数,参数:(物品ID)
|
| | | Def_PDict_LianqiLVAwardMax = "LianqiLVAwardMax" # 激活的最大合成奖励等级
|
| | | Def_PDict_LianqiLVAwardState = "LianqiLVAwardState" # 最大合成等级奖励领取记录,按二进制位存储是否已领取
|
| | |
|
| | | #天帝礼包活动
|
| | | Def_PDict_GodGiftID = "ActGodGiftID_%s" # 玩家身上的活动ID,唯一标识,取活动开始日期time值,参数:(活动编号)
|
| | | Def_PDict_GodGiftWorldLV = "ActGodGiftWorldLV_%s" #玩家身上的活动世界等级,参数:(活动编号)
|
| | | Def_PDict_GodGiftResetCount = "ActGodGiftResetCount_%s" #已重置次数,参数:(活动编号)
|
| | | Def_PDict_GodGiftAwardPool = "ActGodGiftAwardPool_%s" #奖池状态,参数:(活动编号) 0-未选择;1-已选择;2-已抽完
|
| | | Def_PDict_GodGiftItemState = "ActGodGiftItemState_%s_%s_%s" #库物品状态,参数:(活动编号, 库, 编号) 已被选择次数*100+本奖池是否被选择*10+本奖池是否已被抽中
|
| | |
|
| | | #每日打包直购礼包
|
| | | Def_PDict_DailyPackBuyGiftBuy = "DailyPackBuyGiftBuy" # 每日打包直购礼包 - 今日购买状态,按索引位记录今日是否已购买
|
| | |
| | | Def_PDict_ActTaskValue = "ActTaskValue_%s_%s" # 任务活动当前任务进度值,参数:(活动编号, 任务类型)
|
| | | Def_PDict_ActTaskAward = "ActTaskAward_%s_%s" # 任务活动奖励记录,按位记录任务ID是否已领取,参数:(活动编号,key编号)
|
| | | Def_PDict_ActTaskRound = "ActTaskRound_%s" # 任务轮次,参数:(活动编号)
|
| | |
|
| | | #运势活动
|
| | | Def_PDict_ActYunshiID = "ActYunshiID_%s" # 玩家身上的活动ID,唯一标识,取活动开始日期time值,参数:(活动编号)
|
| | | Def_PDict_ActYunshiTreasureType = "ActYunshiTreasureType_%s" # 活动寻宝类型,参数:(活动编号)
|
| | |
|
| | | #轮回殿活动
|
| | | Def_PDict_ActLunhuidianID = "ActLunhuidianID_%s" # 玩家身上的活动ID,唯一标识,取活动开始日期time值,参数:(活动编号)
|
| | |
| | | Def_Cost_28, # 发家族钻石红包
|
| | | Def_Cost_EnterFB, # 进入副本
|
| | | Def_Cost_GameServer, # GameServer 30
|
| | | Def_Cost_FreeGoods, # 极品白拿
|
| | | Def_Cost_31, # 极品白拿
|
| | | Def_Cost_DogzEquipPlus, # 神兽装备强化
|
| | | Def_Cost_RuneHole, # 符印孔解锁
|
| | | Def_Cost_AlchemyPray, # 丹药祈福
|
| | | Def_Cost_ResetGreatMasterSkill, # 重置天赋技能 35
|
| | | Def_Cost_BindJadeWheel, # 绑玉转盘
|
| | | Def_Cost_WishingWell, # 许愿池刷新
|
| | | Def_Cost_37, # 许愿池刷新
|
| | | Def_Cost_38, # 神兵
|
| | | Def_Cost_FBHelpBattle, # 副本助战
|
| | | Def_Cost_FBGatherSoulBoss, # 聚魂副本BOSS召唤 40
|
| | | Def_Cost_CrossRealmPK, # 跨服PK
|
| | | Def_Cost_LuckyTreasure, #幸运鉴宝
|
| | | Def_Cost_42, #幸运鉴宝
|
| | | Def_Cost_43, # 神秘商店刷新
|
| | | Def_Cost_AuctionBid, # 拍卖行竞价
|
| | | Def_Cost_45, # 购买活动次数 45
|
| | |
| | | Def_Cost_FaQi, # 法器
|
| | | Def_Cost_Love, # 情缘
|
| | | Def_Cost_BuyOrderInfo, # 购买充值商品
|
| | | Def_Cost_ActGodGift, # 天帝礼包活动
|
| | | Def_Cost_54, # 天帝礼包活动
|
| | | Def_Cost_CrossBattlefield, # 跨服战场
|
| | | Def_Cost_TongTianLing, # 通天令
|
| | | Def_Cost_LianTi, # 炼体
|
| | |
| | | Def_Cost_Reason_SonKey = "reason_name_son" # 消费点原因子类说明key
|
| | |
|
| | | # 消费返利不处理的消费类型列表
|
| | | CostRebate_DisableType = [Def_Cost_BourseBuy, Def_Cost_BourseCharge, Def_Cost_FreeGoods,
|
| | | CostRebate_DisableType = [Def_Cost_BourseBuy, Def_Cost_BourseCharge,
|
| | | Def_Cost_Unknown, "GMSetMoney", "Warehouse", Def_Cost_AuctionBid]
|
| | |
|
| | | # 可在跨服中消费的类型列表
|
| | |
| | | Def_Cost_Rename:"Rename",
|
| | | Def_Cost_SkillLvUp:"SkillLvUp",
|
| | | Def_Cost_FamilyBroadcast:"FamilyBroadcast",
|
| | | Def_Cost_FreeGoods:"FreeGoods",
|
| | | Def_Cost_DogzEquipPlus:"DogzEquipPlus",
|
| | | Def_Cost_RuneHole:"RuneHole",
|
| | | Def_Cost_AlchemyPray:"AlchemyPray",
|
| | | Def_Cost_BindJadeWheel:"BindJadeWheel",
|
| | | Def_Cost_WishingWell:"WishingWell",
|
| | | Def_Cost_FBHelpBattle:"FBHelpBattle",
|
| | | Def_Cost_FBGatherSoulBoss:"FBGatherSoulBoss",
|
| | | Def_Cost_CrossRealmPK:"CrossRealmPK",
|
| | | Def_Cost_LuckyTreasure:"LuckyTreasure",
|
| | | Def_Cost_AuctionBid:"AuctionBid",
|
| | | Def_Cost_CreatFamily:"CreatFamily",
|
| | | Def_Cost_BuyKillBossCnt:"BuyKillBossCnt",
|
| | |
| | | Def_Cost_FaQi:"FaQi",
|
| | | Def_Cost_Love:"Love",
|
| | | Def_Cost_BuyOrderInfo:"BuyOrderInfo",
|
| | | Def_Cost_ActGodGift:"ActGodGift",
|
| | | Def_Cost_CrossBattlefield:"CrossBattlefield",
|
| | | Def_Cost_LianTi:"LianTi",
|
| | | }
|
| | |
| | | Def_GiveMoney_21,
|
| | | Def_GiveMoney_Trade, # 交易
|
| | | Def_GiveMoney_23,
|
| | | Def_GiveMoney_FreeGoods, # 极品白拿 |
| | | Def_GiveMoney_24, # 极品白拿 |
| | | Def_GiveMoney_BindJadeWheel, # 绑玉转盘 25
|
| | | Def_GiveMoney_GatherSoulDecompose, #聚魂分解 26
|
| | | Def_GiveMoney_AuctionBidReturn, #拍卖竞价返还
|
| | | Def_GiveMoney_AuctionGain, #拍卖获得利润
|
| | | Def_GiveMoney_TransformItem, #物品直接转化
|
| | | Def_GiveMoney_ActGodGift, #天帝礼包
|
| | | Def_GiveMoney_30, #天帝礼包
|
| | | Def_GiveMoney_BuyOrderInfo, #购买充值商品编号
|
| | | ) = range(1000, 1000 + 32)
|
| | |
|
| | |
| | | Def_GiveMoney_SellPackItem:"SellPackItem",
|
| | | Def_GiveMoney_CollectNPC:"CollectNPC",
|
| | | Def_GiveMoney_Trade:"Trade",
|
| | | Def_GiveMoney_FreeGoods:"FreeGoods",
|
| | | Def_GiveMoney_BindJadeWheel:"BindJadeWheel",
|
| | | Def_GiveMoney_GatherSoulDecompose:"GatherSoulDecompose",
|
| | | Def_GiveMoney_AuctionBidReturn:"AuctionBidReturn",
|
| | | Def_GiveMoney_AuctionGain:"AuctionGain",
|
| | | Def_GiveMoney_TransformItem:"TransformItem",
|
| | | Def_GiveMoney_ActGodGift:"ActGodGift",
|
| | | Def_GiveMoney_BuyOrderInfo:"BuyOrderInfo",
|
| | | }
|
| | |
|
| | |
| | | ItemGive_Refine, # 炼丹
|
| | | ItemGive_Chests, # 宝箱
|
| | | ItemGive_TrialExchange, # 宗门兑换
|
| | | ItemGive_LuckyTreasure, #幸运鉴宝
|
| | | ItemGive_20, #幸运鉴宝
|
| | | ItemGive_LingQiEquipBreak, #灵器突破
|
| | | ) = range(1000, 1000 + 22)
|
| | |
|
| | |
| | | ItemGive_Refine:"Refine",
|
| | | ItemGive_Chests:"Chests",
|
| | | ItemGive_TrialExchange:"TrialExchange",
|
| | | ItemGive_LuckyTreasure:"LuckyTreasure",
|
| | | ItemGive_LingQiEquipBreak:"LingQiEquipBreak",
|
| | | }
|
| | |
|
| | |
| | | Def_RewardType_LineupRecommend, # 阵容推荐奖励 4
|
| | | Def_RewardType_LVAward, # 玩家等级奖励5
|
| | | Def_RewardType_BeautyLVAward, # 红颜等级奖励 6
|
| | | Def_RewardType_DayRealmPoint, # 每日任务修行点奖励7
|
| | | Def_RewardType_7, # 每日任务修行点奖励7
|
| | | Def_RewardType_FirstCharge, # 首充礼包奖励8
|
| | | Def_RewardType_OSACelebrationPointAward, # 开服庆典积分阶段奖励 9
|
| | | Def_RewardType_FreeGoods, # 极品白拿10
|
| | | Def_RewardType_10, # 极品白拿10
|
| | | Def_RewardType_CostRebate, # 消费返利11
|
| | | Def_RewardType_BossReborn, # BOSS复活12
|
| | | Def_RewardType_FCRecharge, # 仙界盛典充值大礼13
|
| | | Def_RewardType_FCParty, # 仙界盛典全民来嗨14
|
| | | Def_RewardType_13, # 仙界盛典充值大礼13
|
| | | Def_RewardType_14, # 仙界盛典全民来嗨14
|
| | | Def_RewardType_DownLoad, # 分包下载奖励15
|
| | | Def_RewardType_WishingWell, # 许愿池奖励16
|
| | | Def_RewardType_16,
|
| | | Def_RewardType_OpenFunc, # 功能开启奖励17
|
| | | Def_RewardType_TotalRecharge, # 累计充值奖励18
|
| | | Def_RewardType_IceLodeStar, # 冰晶矿脉星级奖励19
|
| | | Def_RewardType_20,
|
| | | Def_RewardType_21,
|
| | | Def_RewardType_ActLoginAwardAct, # 领取登录奖励活动奖励22
|
| | | Def_RewardType_NewFairyCRecharge, # 新仙界盛典充值大礼23
|
| | | Def_RewardType_NewFairyCParty, # 新仙界盛典全民来嗨24
|
| | | Def_RewardType_23, # 新仙界盛典充值大礼23
|
| | | Def_RewardType_24, # 新仙界盛典全民来嗨24
|
| | | Def_RewardType_25,
|
| | | Def_RewardType_26,
|
| | | Def_RewardType_FairyAdventuresAward, #缥缈奇遇领取27
|
| | | Def_RewardType_27, #缥缈奇遇领取27
|
| | | Def_RewardType_HistoryChargeAward, #历史累计充值领取28
|
| | | Def_RewardType_DayFreeGoldGift, #每日免费直购礼包29
|
| | | Def_RewardType_ActivityPlace, #活跃放置奖励30
|
| | |
| | | Def_RewardType_ADAward, # 广告奖励 81
|
| | | Def_RewardType_TreeFreeTime, # 仙树免费减时 82
|
| | | )= range(83)
|
| | |
|
| | | #全民来嗨活动定义(仙界盛典)
|
| | | PeoplePartyActIDList = (
|
| | | Def_PPAct_Fireworks, #购买烟花 1
|
| | | Def_PPAct_Treasure, #极品寻宝 2
|
| | | Def_PPAct_RuneTreasure, #符印寻宝 3
|
| | | Def_PPAct_GodArea, #古神禁地 4
|
| | | Def_PPAct_XJMJ, #仙界秘境 5
|
| | | Def_PPAct_RunTask, #师门悬赏 6
|
| | | Def_PPAct_WorldBoss, #世界BOSS 7
|
| | | Def_PPAct_FMT, #封魔坛 8
|
| | | Def_PPAct_FamilyParty, #仙盟宴会 9
|
| | | Def_PPAct_RefineStove, #炼丹 10
|
| | | Def_PPAct_Pray, #祈愿 11
|
| | | Def_PPAct_BossHome, #boss之家 12
|
| | | Def_PPAct_VIPBoss, #vipBOSS 13
|
| | | Def_PPAct_RunFamilyTask, #仙盟任务 14
|
| | | Def_PPAct_FamilyBoss, #仙盟Boss 15
|
| | | Def_PPAct_FairyDomain, #缥缈仙域 16 |
| | | Def_PPAct_JSTreasure, #绝世寻宝 17 |
| | | ) = range(1, 17+1)
|
| | |
|
| | | #登录奖励活动定义
|
| | | LoginAwardActIDList = (
|
| | | Def_LoginAct_Login, #每日登录1
|
| | | Def_LoginAct_Pray, #祈愿2
|
| | | Def_LoginAct_TowerSweep, #符印塔扫荡 3
|
| | | Def_LoginAct_KirinHome, #麒麟之府 4
|
| | | Def_LoginAct_RunTask, #师门悬赏5
|
| | | Def_LoginAct_XJMJ, #仙境秘境 6
|
| | | Def_LoginAct_FMT, #封魔坛7
|
| | | Def_LoginAct_MunekadoTrial, #宗门试炼8
|
| | | Def_LoginAct_FamilyParty, #仙盟宴会9
|
| | | Def_LoginAct_WorldBOSS, #世界boss 10
|
| | | Def_LoginAct_QueenRelices, #娲皇遗迹 11
|
| | | Def_LoginAct_IceLode, #冰晶矿脉 12
|
| | | Def_LoginAct_GodArea, #古神禁地 13
|
| | | Def_LoginAct_ZhuXianTower, #诛仙塔挑战 14
|
| | | Def_LoginAct_ZhuXianBOSS, #诛仙boss 15
|
| | | Def_LoginAct_Alchemy, #炼丹 16
|
| | | Def_LoginAct_EquipPlus, #强化 17
|
| | | Def_LoginAct_EquipWash, #洗炼 18
|
| | | ) = range(1, 18+1)
|
| | |
|
| | | #任务活动 - 任务类型
|
| | | ActTaskTypeList = (
|
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # AA 20 天帝礼包选择物品 #tagCMActGodGiftChooseItem
|
| | |
|
| | | class tagCMActGodGiftChooseItemInfo(Structure):
|
| | | ItemLibType = 0 #(BYTE ItemLibType)//物品库类型
|
| | | Count = 0 #(BYTE Count)//选择个数
|
| | | ItemNumList = list() #(vector<BYTE> ItemNumList)//选择物品编号列表
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | return
|
| | |
|
| | | def ReadData(self, _lpData, _pos=0, _Len=0):
|
| | | self.Clear()
|
| | | self.ItemLibType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | for i in range(self.Count):
|
| | | value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
|
| | | self.ItemNumList.append(value)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | | self.ItemLibType = 0
|
| | | self.Count = 0
|
| | | self.ItemNumList = list()
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | length = 0
|
| | | length += 1
|
| | | length += 1
|
| | | length += 1 * self.Count
|
| | |
|
| | | return length
|
| | |
|
| | | def GetBuffer(self):
|
| | | data = ''
|
| | | data = CommFunc.WriteBYTE(data, self.ItemLibType)
|
| | | data = CommFunc.WriteBYTE(data, self.Count)
|
| | | for i in range(self.Count):
|
| | | data = CommFunc.WriteBYTE(data, self.ItemNumList[i])
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''
|
| | | ItemLibType:%d,
|
| | | Count:%d,
|
| | | ItemNumList:%s
|
| | | '''\
|
| | | %(
|
| | | self.ItemLibType,
|
| | | self.Count,
|
| | | "..."
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | class tagCMActGodGiftChooseItem(Structure):
|
| | | Head = tagHead()
|
| | | ActNum = 0 #(BYTE ActNum)//活动编号
|
| | | ChooseLibCount = 0 #(BYTE ChooseLibCount)//选择库个数 |
| | | ChooseItemList = list() #(vector<tagCMActGodGiftChooseItemInfo> ChooseItemList)//选择库物品信息列表
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Head.Cmd = 0xAA
|
| | | self.Head.SubCmd = 0x20
|
| | | return
|
| | |
|
| | | def ReadData(self, _lpData, _pos=0, _Len=0):
|
| | | self.Clear()
|
| | | _pos = self.Head.ReadData(_lpData, _pos)
|
| | | self.ActNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.ChooseLibCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | for i in range(self.ChooseLibCount):
|
| | | temChooseItemList = tagCMActGodGiftChooseItemInfo()
|
| | | _pos = temChooseItemList.ReadData(_lpData, _pos)
|
| | | self.ChooseItemList.append(temChooseItemList)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | | self.Head = tagHead()
|
| | | self.Head.Clear()
|
| | | self.Head.Cmd = 0xAA
|
| | | self.Head.SubCmd = 0x20
|
| | | self.ActNum = 0
|
| | | self.ChooseLibCount = 0
|
| | | self.ChooseItemList = list()
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | length = 0
|
| | | length += self.Head.GetLength()
|
| | | length += 1
|
| | | length += 1
|
| | | for i in range(self.ChooseLibCount):
|
| | | length += self.ChooseItemList[i].GetLength()
|
| | |
|
| | | return length
|
| | |
|
| | | def GetBuffer(self):
|
| | | data = ''
|
| | | data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
|
| | | data = CommFunc.WriteBYTE(data, self.ActNum)
|
| | | data = CommFunc.WriteBYTE(data, self.ChooseLibCount)
|
| | | for i in range(self.ChooseLibCount):
|
| | | data = CommFunc.WriteString(data, self.ChooseItemList[i].GetLength(), self.ChooseItemList[i].GetBuffer())
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''
|
| | | Head:%s,
|
| | | ActNum:%d,
|
| | | ChooseLibCount:%d,
|
| | | ChooseItemList:%s
|
| | | '''\
|
| | | %(
|
| | | self.Head.OutputString(),
|
| | | self.ActNum,
|
| | | self.ChooseLibCount,
|
| | | "..."
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagCMActGodGiftChooseItem=tagCMActGodGiftChooseItem()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActGodGiftChooseItem.Head.Cmd,m_NAtagCMActGodGiftChooseItem.Head.SubCmd))] = m_NAtagCMActGodGiftChooseItem
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # AA 21 天帝礼包抽奖 #tagCMActGodGiftlottery
|
| | |
|
| | | class tagCMActGodGiftlottery(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("ActNum", c_ubyte), #活动编号
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Cmd = 0xAA
|
| | | self.SubCmd = 0x21
|
| | | return
|
| | |
|
| | | def ReadData(self, stringData, _pos=0, _len=0):
|
| | | self.Clear()
|
| | | memmove(addressof(self), stringData[_pos:], self.GetLength())
|
| | | return _pos + self.GetLength()
|
| | |
|
| | | def Clear(self):
|
| | | self.Cmd = 0xAA
|
| | | self.SubCmd = 0x21
|
| | | self.ActNum = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagCMActGodGiftlottery)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''// AA 21 天帝礼包抽奖 //tagCMActGodGiftlottery:
|
| | | Cmd:%s,
|
| | | SubCmd:%s,
|
| | | ActNum:%d
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd,
|
| | | self.ActNum
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagCMActGodGiftlottery=tagCMActGodGiftlottery()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActGodGiftlottery.Cmd,m_NAtagCMActGodGiftlottery.SubCmd))] = m_NAtagCMActGodGiftlottery
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # AA 22 天帝礼包重置 #tagCMActGodGiftReset
|
| | |
|
| | | class tagCMActGodGiftReset(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("ActNum", c_ubyte), #活动编号
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Cmd = 0xAA
|
| | | self.SubCmd = 0x22
|
| | | return
|
| | |
|
| | | def ReadData(self, stringData, _pos=0, _len=0):
|
| | | self.Clear()
|
| | | memmove(addressof(self), stringData[_pos:], self.GetLength())
|
| | | return _pos + self.GetLength()
|
| | |
|
| | | def Clear(self):
|
| | | self.Cmd = 0xAA
|
| | | self.SubCmd = 0x22
|
| | | self.ActNum = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagCMActGodGiftReset)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''// AA 22 天帝礼包重置 //tagCMActGodGiftReset:
|
| | | Cmd:%s,
|
| | | SubCmd:%s,
|
| | | ActNum:%d
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd,
|
| | | self.ActNum
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagCMActGodGiftReset=tagCMActGodGiftReset()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActGodGiftReset.Cmd,m_NAtagCMActGodGiftReset.SubCmd))] = m_NAtagCMActGodGiftReset
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # AA 25 炼器操作 #tagCMActLianqiOP
|
| | |
|
| | | class tagCMActLianqiOP(Structure):
|
| | |
| | |
|
| | | m_NAtagCMActLianqiOP=tagCMActLianqiOP()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActLianqiOP.Cmd,m_NAtagCMActLianqiOP.SubCmd))] = m_NAtagCMActLianqiOP
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # AA 12 选择转盘活动物品 #tagCMActTurntableChooseItem
|
| | |
|
| | | class tagCMActTurntableChooseItem(Structure):
|
| | | Head = tagHead()
|
| | | ActNum = 0 #(BYTE ActNum)// 活动编号
|
| | | GoodItemNumCount = 0 #(BYTE GoodItemNumCount)
|
| | | GoodItemNumList = list() #(vector<BYTE> GoodItemNumList)// 选择的极品物品编号列表
|
| | | SuperItemNumCount = 0 #(BYTE SuperItemNumCount)
|
| | | SuperItemNumList = list() #(vector<BYTE> SuperItemNumList)// 选择的终极物品编号列表
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Head.Cmd = 0xAA
|
| | | self.Head.SubCmd = 0x12
|
| | | return
|
| | |
|
| | | def ReadData(self, _lpData, _pos=0, _Len=0):
|
| | | self.Clear()
|
| | | _pos = self.Head.ReadData(_lpData, _pos)
|
| | | self.ActNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.GoodItemNumCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | for i in range(self.GoodItemNumCount):
|
| | | value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
|
| | | self.GoodItemNumList.append(value)
|
| | | self.SuperItemNumCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | for i in range(self.SuperItemNumCount):
|
| | | value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
|
| | | self.SuperItemNumList.append(value)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | | self.Head = tagHead()
|
| | | self.Head.Clear()
|
| | | self.Head.Cmd = 0xAA
|
| | | self.Head.SubCmd = 0x12
|
| | | self.ActNum = 0
|
| | | self.GoodItemNumCount = 0
|
| | | self.GoodItemNumList = list()
|
| | | self.SuperItemNumCount = 0
|
| | | self.SuperItemNumList = list()
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | length = 0
|
| | | length += self.Head.GetLength()
|
| | | length += 1
|
| | | length += 1
|
| | | length += 1 * self.GoodItemNumCount
|
| | | length += 1
|
| | | length += 1 * self.SuperItemNumCount
|
| | |
|
| | | return length
|
| | |
|
| | | def GetBuffer(self):
|
| | | data = ''
|
| | | data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
|
| | | data = CommFunc.WriteBYTE(data, self.ActNum)
|
| | | data = CommFunc.WriteBYTE(data, self.GoodItemNumCount)
|
| | | for i in range(self.GoodItemNumCount):
|
| | | data = CommFunc.WriteBYTE(data, self.GoodItemNumList[i])
|
| | | data = CommFunc.WriteBYTE(data, self.SuperItemNumCount)
|
| | | for i in range(self.SuperItemNumCount):
|
| | | data = CommFunc.WriteBYTE(data, self.SuperItemNumList[i])
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''
|
| | | Head:%s,
|
| | | ActNum:%d,
|
| | | GoodItemNumCount:%d,
|
| | | GoodItemNumList:%s,
|
| | | SuperItemNumCount:%d,
|
| | | SuperItemNumList:%s
|
| | | '''\
|
| | | %(
|
| | | self.Head.OutputString(),
|
| | | self.ActNum,
|
| | | self.GoodItemNumCount,
|
| | | "...",
|
| | | self.SuperItemNumCount,
|
| | | "..."
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagCMActTurntableChooseItem=tagCMActTurntableChooseItem()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActTurntableChooseItem.Head.Cmd,m_NAtagCMActTurntableChooseItem.Head.SubCmd))] = m_NAtagCMActTurntableChooseItem
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # AA 13 启动转盘 #tagCMActTurntableStart
|
| | |
|
| | | class tagCMActTurntableStart(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("ActNum", c_ubyte), # 活动编号
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Cmd = 0xAA
|
| | | self.SubCmd = 0x13
|
| | | return
|
| | |
|
| | | def ReadData(self, stringData, _pos=0, _len=0):
|
| | | self.Clear()
|
| | | memmove(addressof(self), stringData[_pos:], self.GetLength())
|
| | | return _pos + self.GetLength()
|
| | |
|
| | | def Clear(self):
|
| | | self.Cmd = 0xAA
|
| | | self.SubCmd = 0x13
|
| | | self.ActNum = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagCMActTurntableStart)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''// AA 13 启动转盘 //tagCMActTurntableStart:
|
| | | Cmd:%s,
|
| | | SubCmd:%s,
|
| | | ActNum:%d
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd,
|
| | | self.ActNum
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagCMActTurntableStart=tagCMActTurntableStart()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActTurntableStart.Cmd,m_NAtagCMActTurntableStart.SubCmd))] = m_NAtagCMActTurntableStart
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # AA 07 许愿池活动刷新奖池 #tagCMActWishingRefresh
|
| | |
|
| | | class tagCMActWishingRefresh(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("IsFree", c_ubyte), # 是否免费刷新
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Cmd = 0xAA
|
| | | self.SubCmd = 0x07
|
| | | return
|
| | |
|
| | | def ReadData(self, stringData, _pos=0, _len=0):
|
| | | self.Clear()
|
| | | memmove(addressof(self), stringData[_pos:], self.GetLength())
|
| | | return _pos + self.GetLength()
|
| | |
|
| | | def Clear(self):
|
| | | self.Cmd = 0xAA
|
| | | self.SubCmd = 0x07
|
| | | self.IsFree = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagCMActWishingRefresh)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''// AA 07 许愿池活动刷新奖池 //tagCMActWishingRefresh:
|
| | | Cmd:%s,
|
| | | SubCmd:%s,
|
| | | IsFree:%d
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd,
|
| | | self.IsFree
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagCMActWishingRefresh=tagCMActWishingRefresh()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActWishingRefresh.Cmd,m_NAtagCMActWishingRefresh.SubCmd))] = m_NAtagCMActWishingRefresh
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # AA 06 许愿池活动许愿 #tagCMActWishing
|
| | |
|
| | | class tagCMActWishing(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("SrcWellType", c_ubyte), # 来源库 0-可选库 1-结果库
|
| | | ("SrcIndex", c_ubyte), # 来源索引
|
| | | ("DesWellType", c_ubyte), # 目标库 0-可选库 1-结果库
|
| | | ("DesIndex", c_ubyte), # 目标索引
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Cmd = 0xAA
|
| | | self.SubCmd = 0x06
|
| | | return
|
| | |
|
| | | def ReadData(self, stringData, _pos=0, _len=0):
|
| | | self.Clear()
|
| | | memmove(addressof(self), stringData[_pos:], self.GetLength())
|
| | | return _pos + self.GetLength()
|
| | |
|
| | | def Clear(self):
|
| | | self.Cmd = 0xAA
|
| | | self.SubCmd = 0x06
|
| | | self.SrcWellType = 0
|
| | | self.SrcIndex = 0
|
| | | self.DesWellType = 0
|
| | | self.DesIndex = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagCMActWishing)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''// AA 06 许愿池活动许愿 //tagCMActWishing:
|
| | | Cmd:%s,
|
| | | SubCmd:%s,
|
| | | SrcWellType:%d,
|
| | | SrcIndex:%d,
|
| | | DesWellType:%d,
|
| | | DesIndex:%d
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd,
|
| | | self.SrcWellType,
|
| | | self.SrcIndex,
|
| | | self.DesWellType,
|
| | | self.DesIndex
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagCMActWishing=tagCMActWishing()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActWishing.Cmd,m_NAtagCMActWishing.SubCmd))] = m_NAtagCMActWishing
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # AA 05 限时抢购预约 #tagCMFlashSaleAppointment
|
| | |
|
| | | class tagCMFlashSaleAppointment(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("ActNum", c_ubyte), #活动编号
|
| | | ("GoodsID", c_int), # 抢购商品标识
|
| | | ("State", c_ubyte), # 1-预约 0-取消
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Cmd = 0xAA
|
| | | self.SubCmd = 0x05
|
| | | return
|
| | |
|
| | | def ReadData(self, stringData, _pos=0, _len=0):
|
| | | self.Clear()
|
| | | memmove(addressof(self), stringData[_pos:], self.GetLength())
|
| | | return _pos + self.GetLength()
|
| | |
|
| | | def Clear(self):
|
| | | self.Cmd = 0xAA
|
| | | self.SubCmd = 0x05
|
| | | self.ActNum = 0
|
| | | self.GoodsID = 0
|
| | | self.State = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagCMFlashSaleAppointment)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''// AA 05 限时抢购预约 //tagCMFlashSaleAppointment:
|
| | | Cmd:%s,
|
| | | SubCmd:%s,
|
| | | ActNum:%d,
|
| | | GoodsID:%d,
|
| | | State:%d
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd,
|
| | | self.ActNum,
|
| | | self.GoodsID,
|
| | | self.State
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagCMFlashSaleAppointment=tagCMFlashSaleAppointment()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFlashSaleAppointment.Cmd,m_NAtagCMFlashSaleAppointment.SubCmd))] = m_NAtagCMFlashSaleAppointment
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # AA 08 开始幸运鉴宝 #tagCMStartLuckyTreasure
|
| | |
|
| | | class tagCMStartLuckyTreasure(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Cmd = 0xAA
|
| | | self.SubCmd = 0x08
|
| | | return
|
| | |
|
| | | def ReadData(self, stringData, _pos=0, _len=0):
|
| | | self.Clear()
|
| | | memmove(addressof(self), stringData[_pos:], self.GetLength())
|
| | | return _pos + self.GetLength()
|
| | |
|
| | | def Clear(self):
|
| | | self.Cmd = 0xAA
|
| | | self.SubCmd = 0x08
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagCMStartLuckyTreasure)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''// AA 08 开始幸运鉴宝 //tagCMStartLuckyTreasure:
|
| | | Cmd:%s,
|
| | | SubCmd:%s
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagCMStartLuckyTreasure=tagCMStartLuckyTreasure()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMStartLuckyTreasure.Cmd,m_NAtagCMStartLuckyTreasure.SubCmd))] = m_NAtagCMStartLuckyTreasure
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | |
| | | ("DWORD", "UnlockValue", 0),
|
| | | ),
|
| | |
|
| | | "ActSpringSale":(
|
| | | ("DWORD", "CfgID", 1),
|
| | | ("char", "StartDate", 0),
|
| | | ("char", "EndDate", 0),
|
| | | ("list", "StartTimeList", 0),
|
| | | ("list", "EndTimeList", 0),
|
| | | ("WORD", "AdvanceMinutes", 0),
|
| | | ("WORD", "LVLimit", 0),
|
| | | ("BYTE", "IsDayReset", 0),
|
| | | ("dict", "ShopTypeList", 0),
|
| | | ("char", "MailKey", 0),
|
| | | ("list", "MailItemPrize", 0),
|
| | | ),
|
| | |
|
| | | "DailyTask":(
|
| | | ("WORD", "TaskID", 0),
|
| | | ("BYTE", "TaskType", 1),
|
| | |
| | | ("list", "AwardItemList", 0),
|
| | | ),
|
| | |
|
| | | "FreeGoods":(
|
| | | ("BYTE", "ID", 1),
|
| | | ("dict", "AwardItem", 0),
|
| | | ("WORD", "NeedMoney", 0),
|
| | | ("DWORD", "ReturnDays", 0),
|
| | | ),
|
| | |
|
| | | "ActFlashGiftbag":(
|
| | | ("DWORD", "CfgID", 1),
|
| | | ("char", "StartDate", 0),
|
| | | ("char", "EndDate", 0),
|
| | | ("list", "StartTimeList", 0),
|
| | | ("list", "EndTimeList", 0),
|
| | | ("WORD", "AdvanceMinutes", 0),
|
| | | ("WORD", "LVLimit", 0),
|
| | | ("BYTE", "IsDayReset", 0),
|
| | | ("BYTE", "IsJueban", 0),
|
| | | ("dict", "GiftbagTypeList", 0),
|
| | | ("char", "MailKey", 0),
|
| | | ("list", "MailItemPrize", 0),
|
| | | ),
|
| | |
|
| | | "FlashGiftbag":(
|
| | | ("DWORD", "GiftbagID", 1),
|
| | | ("WORD", "GiftbagType", 0),
|
| | | ("float", "OriginalRMB", 0),
|
| | | ("WORD", "BuyCountLimit", 0),
|
| | | ("list", "GiftItemList", 0),
|
| | | ("DWORD", "MainItemID", 0),
|
| | | ("char", "NotifyKey", 0),
|
| | | ),
|
| | |
|
| | | "ActDailyGiftbag":(
|
| | | ("DWORD", "CfgID", 1),
|
| | | ("char", "StartDate", 0),
|
| | | ("char", "EndDate", 0),
|
| | | ("WORD", "LVLimit", 0),
|
| | | ("WORD", "GiftbagType", 0),
|
| | | ),
|
| | |
|
| | | "DailyGiftbag":(
|
| | | ("WORD", "GiftbagType", 1),
|
| | | ("DWORD", "GiftbagID", 1),
|
| | | ("WORD", "BuyCountLimit", 0),
|
| | | ("eval", "GiftItemList", 0),
|
| | | ("WORD", "Discount", 0),
|
| | | ),
|
| | |
|
| | | "ActExpRate":(
|
| | | ("DWORD", "CfgID", 1),
|
| | | ("WORD", "LVLimit", 0),
|
| | | ("DWORD", "AddExpRate", 0),
|
| | | ),
|
| | |
|
| | | "ActBuyOne":(
|
| | | ("DWORD", "CfgID", 1),
|
| | | ("char", "StartDate", 0),
|
| | |
| | | ("list", "LayerWeightItemList", 0),
|
| | | ),
|
| | |
|
| | | "ActGodGift":(
|
| | | ("DWORD", "CfgID", 1),
|
| | | ("char", "StartDate", 0),
|
| | | ("char", "EndDate", 0),
|
| | | ("BYTE", "IsDayReset", 0),
|
| | | ("WORD", "LVLimit", 0),
|
| | | ("BYTE", "UseMoneyType", 0),
|
| | | ("list", "UseGoldList", 0),
|
| | | ("BYTE", "PrizeMoneyType", 0),
|
| | | ("list", "PrizeMoneyList", 0),
|
| | | ("BYTE", "ResetLimitTimes", 0),
|
| | | ("BYTE", "ResetCountMax", 0),
|
| | | ("dict", "TemplateIDInfo", 0),
|
| | | ),
|
| | |
|
| | | "ActGodGiftAward":(
|
| | | ("DWORD", "TemplateID", 1),
|
| | | ("BYTE", "AwardLibType", 0),
|
| | | ("BYTE", "UnlockAwardLimitTimes", 0),
|
| | | ("BYTE", "ChooseItemCount", 0),
|
| | | ("dict", "LibItemInfo", 0),
|
| | | ("list", "NotifyItemNumList", 0),
|
| | | ),
|
| | |
|
| | | "ActRealmPoint":(
|
| | | ("DWORD", "CfgID", 1),
|
| | | ("WORD", "Multiple", 0),
|
| | | ("WORD", "LVLimit", 0),
|
| | | ("DWORD", "PointLimit", 0),
|
| | | ),
|
| | |
|
| | | "TrialExchange":(
|
| | | ("DWORD", "ID", 1),
|
| | | ("list", "ExchangeItemIDList", 0),
|
| | |
| | | ("DWORD", "CostItemCount", 0),
|
| | | ),
|
| | |
|
| | | "AllPeopleParty":(
|
| | | ("BYTE", "ID", 1),
|
| | | ("WORD", "TotalTimes", 0),
|
| | | ("WORD", "AddPoint", 0),
|
| | | ),
|
| | |
|
| | | "AllPeoplePartyAward":(
|
| | | ("BYTE", "WorldLvNum", 1),
|
| | | ("DWORD", "Index", 1),
|
| | | ("DWORD", "NeedPoint", 0),
|
| | | ("dict", "Award", 0),
|
| | | ),
|
| | |
|
| | | "MapEventPoint":(
|
| | | ("DWORD", "MapID", 1),
|
| | | ("DWORD", "NPCID", 1),
|
| | | ("WORD", "LowLV", 0),
|
| | | ("WORD", "HighestLV", 0),
|
| | | ("DWORD", "Defense", 0),
|
| | | ),
|
| | |
|
| | | "ActFlashSale":(
|
| | | ("DWORD", "CfgID", 1),
|
| | | ("char", "StartDate", 0),
|
| | | ("char", "EndDate", 0),
|
| | | ("list", "StartTimeList", 0),
|
| | | ("list", "EndTimeList", 0),
|
| | | ("WORD", "AdvanceMinutes", 0),
|
| | | ("WORD", "LVLimit", 0),
|
| | | ("BYTE", "IsDayReset", 0),
|
| | | ("dict", "ShopTypeList", 0),
|
| | | ("char", "MailKey", 0),
|
| | | ("list", "MailItemPrize", 0),
|
| | | ),
|
| | |
|
| | | "ActWishingWell":(
|
| | | ("DWORD", "CfgID", 1),
|
| | | ("char", "StartDate", 0),
|
| | | ("char", "EndDate", 0),
|
| | | ("BYTE", "IsDayReset", 0),
|
| | | ("BYTE", "ResetType", 0),
|
| | | ("WORD", "LVLimit", 0),
|
| | | ("BYTE", "TemplateID", 0),
|
| | | ),
|
| | |
|
| | | "WishingWell":(
|
| | | ("BYTE", "TemplateID", 1),
|
| | | ("BYTE", "IsFree", 0),
|
| | | ("list", "WorldLVLimit", 0),
|
| | | ("DWORD", "ItemID", 0),
|
| | | ("WORD", "ItemCnt", 0),
|
| | | ("BYTE", "IsBind", 0),
|
| | | ("DWORD", "Weight", 0),
|
| | | ("DWORD", "Mark", 0),
|
| | | ("BYTE", "Rare", 0),
|
| | | ),
|
| | |
|
| | | "EmojiPack":(
|
| | |
| | | ("char", "NotifyKey", 0),
|
| | | ),
|
| | |
|
| | | "ActGrowupBuy":(
|
| | | ("DWORD", "CfgID", 1),
|
| | | ("char", "StartDate", 0),
|
| | | ("char", "EndDate", 0),
|
| | | ("WORD", "LVLimit", 0),
|
| | | ("list", "CTGIDGroupList", 0),
|
| | | ),
|
| | |
|
| | | "ActManyDayRecharge":(
|
| | | ("DWORD", "CfgID", 1),
|
| | | ("char", "StartDate", 0),
|
| | |
| | | ("BYTE", "AwardIndex", 0),
|
| | | ("dict", "AwardItemInfo", 0),
|
| | | ("char", "NotifyKey", 0),
|
| | | ),
|
| | |
|
| | | "ActTurntable":(
|
| | | ("DWORD", "CfgID", 1),
|
| | | ("char", "StartDate", 0),
|
| | | ("char", "EndDate", 0),
|
| | | ("WORD", "LVLimit", 0),
|
| | | ("BYTE", "IsDayReset", 0),
|
| | | ("BYTE", "CTGTypeEffValue", 0),
|
| | | ("list", "CTGPrizeList", 0),
|
| | | ("BYTE", "UseMoneyType", 0),
|
| | | ("list", "UseMoneyPrizeList", 0),
|
| | | ("list", "LibChooseCountList", 0),
|
| | | ("list", "SuperItemLimitRule", 0),
|
| | | ("dict", "CommItemLib", 0),
|
| | | ("dict", "GoodItemLib", 0),
|
| | | ("dict", "SuperItemLib", 0),
|
| | | ("char", "WorldNotifyKey", 0),
|
| | | ),
|
| | |
|
| | | "ActSingleRecharge":(
|
| | |
| | | ("WORD", "PosY", 0),
|
| | | ),
|
| | |
|
| | | "ActYunshi":(
|
| | | ("DWORD", "CfgID", 1),
|
| | | ("char", "StartDate", 0),
|
| | | ("char", "EndDate", 0),
|
| | | ("WORD", "LVLimit", 0),
|
| | | ("BYTE", "ResetType", 0),
|
| | | ("DWORD", "TreasureType", 0),
|
| | | ),
|
| | |
|
| | | "ActLunhuidian":(
|
| | | ("DWORD", "CfgID", 1),
|
| | | ("list", "PlatformList", 0),
|
| | |
| | | ("BYTE", "DayNum", 0),
|
| | | ("list", "LoginAwardItemList", 0),
|
| | | ("list", "LoginAwardItemListEx", 0),
|
| | | ),
|
| | |
|
| | | "NewAllPeopleParty":(
|
| | | ("BYTE", "ID", 1),
|
| | | ("WORD", "TotalTimes", 0),
|
| | | ("WORD", "AddPoint", 0),
|
| | | ),
|
| | |
|
| | | "NewAllPeoplePartyAward":(
|
| | | ("BYTE", "WorldLvNum", 1),
|
| | | ("DWORD", "Index", 1),
|
| | | ("DWORD", "NeedPoint", 0),
|
| | | ("dict", "Award", 0),
|
| | | ),
|
| | |
|
| | | "ActLuckyTreasure":(
|
| | | ("DWORD", "CfgID", 1),
|
| | | ("char", "StartDate", 0),
|
| | | ("char", "EndDate", 0),
|
| | | ("BYTE", "ResetType", 0),
|
| | | ("WORD", "LVLimit", 0),
|
| | | ("BYTE", "TemplateID", 0),
|
| | | ("WORD", "LuckyPoint", 0),
|
| | | ),
|
| | |
|
| | | "LuckyTreasureTemplate":(
|
| | | ("BYTE", "TemplateID", 1),
|
| | | ("list", "WorldLVLimit", 0),
|
| | | ("DWORD", "ItemID", 0),
|
| | | ("WORD", "ItemCnt", 0),
|
| | | ("BYTE", "IsBind", 0),
|
| | | ("DWORD", "Weight", 0),
|
| | | ),
|
| | |
|
| | | "EquipPlaceIndexMap":(
|
| | |
| | | def GetUnlockType(self): return self.attrTuple[10] # 解锁类型 BYTE
|
| | | def GetUnlockValue(self): return self.attrTuple[11] # 解锁所需值 DWORD |
| | | |
| | | # 限时特惠表 |
| | | class IPY_ActSpringSale(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
|
| | | def GetStartDate(self): return self.attrTuple[1] # 开启日期 char
|
| | | def GetEndDate(self): return self.attrTuple[2] # 结束日期 char
|
| | | def GetStartTimeList(self): return self.attrTuple[3] # 开启时间列表, 支持多个时段 list
|
| | | def GetEndTimeList(self): return self.attrTuple[4] # 结束时间列表, 支持多个时段 list
|
| | | def GetAdvanceMinutes(self): return self.attrTuple[5] # 前端提前X分钟展示活动 WORD
|
| | | def GetLVLimit(self): return self.attrTuple[6] # 限制等级 WORD
|
| | | def GetIsDayReset(self): return self.attrTuple[7] # 是否每天重置 BYTE
|
| | | def GetShopTypeList(self): return self.attrTuple[8] # 商店类型列表 dict
|
| | | def GetMailKey(self): return self.attrTuple[9] # 活动更新时发送邮件key char
|
| | | def GetMailItemPrize(self): return self.attrTuple[10] # 活动更新时发送邮件奖励物品 list |
| | | |
| | | # 每日任务表 |
| | | class IPY_DailyTask(): |
| | | |
| | |
| | | def GetAwardIndex(self): return self.attrTuple[2] # 奖励记录索引 0~30 BYTE
|
| | | def GetAwardItemList(self): return self.attrTuple[3] # 奖励物品信息列表 [[物品ID,个数,是否拍品],...] list |
| | | |
| | | # 极品白拿表 |
| | | class IPY_FreeGoods(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetID(self): return self.attrTuple[0] # ID BYTE
|
| | | def GetAwardItem(self): return self.attrTuple[1] # 奖励 {"职业":[[物品ID,个数],...], ...} dict
|
| | | def GetNeedMoney(self): return self.attrTuple[2] # 需要仙玉 WORD
|
| | | def GetReturnDays(self): return self.attrTuple[3] # 返还所需天 DWORD |
| | | |
| | | # 限时礼包活动表 |
| | | class IPY_ActFlashGiftbag(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
|
| | | def GetStartDate(self): return self.attrTuple[1] # 开启日期 char
|
| | | def GetEndDate(self): return self.attrTuple[2] # 结束日期 char
|
| | | def GetStartTimeList(self): return self.attrTuple[3] # 开启时间列表, 支持多个时段 list
|
| | | def GetEndTimeList(self): return self.attrTuple[4] # 结束时间列表, 支持多个时段 list
|
| | | def GetAdvanceMinutes(self): return self.attrTuple[5] # 前端提前X分钟展示活动 WORD
|
| | | def GetLVLimit(self): return self.attrTuple[6] # 限制等级 WORD
|
| | | def GetIsDayReset(self): return self.attrTuple[7] # 是否每天重置 BYTE
|
| | | def GetIsJueban(self): return self.attrTuple[8] # 是否绝版礼包 BYTE
|
| | | def GetGiftbagTypeList(self): return self.attrTuple[9] # 礼包类型列表 dict
|
| | | def GetMailKey(self): return self.attrTuple[10] # 活动更新时发送邮件key char
|
| | | def GetMailItemPrize(self): return self.attrTuple[11] # 活动更新时发送邮件奖励物品 list |
| | | |
| | | # 限时礼包模板表 |
| | | class IPY_FlashGiftbag(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetGiftbagID(self): return self.attrTuple[0] # 礼包编号 DWORD
|
| | | def GetGiftbagType(self): return self.attrTuple[1] # 礼包类型 WORD
|
| | | def GetOriginalRMB(self): return self.attrTuple[2] # 原价(RMB) float
|
| | | def GetBuyCountLimit(self): return self.attrTuple[3] # 限购次数,0不限购 WORD
|
| | | def GetGiftItemList(self): return self.attrTuple[4] # 礼包物品信息列表 [(物品ID,个数,是否绑定),...] list
|
| | | def GetMainItemID(self): return self.attrTuple[5] # 标的物品ID DWORD
|
| | | def GetNotifyKey(self): return self.attrTuple[6] # 全服广播key,默认两个参数(玩家名, 档位额度) char |
| | | |
| | | # 每日礼包活动表 |
| | | class IPY_ActDailyGiftbag(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
|
| | | def GetStartDate(self): return self.attrTuple[1] # 开启日期 char
|
| | | def GetEndDate(self): return self.attrTuple[2] # 结束日期 char
|
| | | def GetLVLimit(self): return self.attrTuple[3] # 限制等级 WORD
|
| | | def GetGiftbagType(self): return self.attrTuple[4] # 礼包模板类型 WORD |
| | | |
| | | # 每日礼包模板表 |
| | | class IPY_DailyGiftbag(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetGiftbagType(self): return self.attrTuple[0] # 礼包模板类型 WORD
|
| | | def GetGiftbagID(self): return self.attrTuple[1] # 礼包编号 DWORD
|
| | | def GetBuyCountLimit(self): return self.attrTuple[2] # 限购次数,0不限购 WORD
|
| | | def GetGiftItemList(self): return self.attrTuple[3] # 礼包物品信息列表 [(物品ID,个数,是否绑定),...] eval
|
| | | def GetDiscount(self): return self.attrTuple[4] # 折扣百分比 WORD |
| | | |
| | | # 双倍经验活动表 |
| | | class IPY_ActExpRate(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
|
| | | def GetLVLimit(self): return self.attrTuple[1] # 限制等级 WORD
|
| | | def GetAddExpRate(self): return self.attrTuple[2] # 经验倍率加成,万分率 DWORD |
| | | |
| | | # 买一送多活动表 |
| | | class IPY_ActBuyOne(): |
| | | |
| | |
| | | def GetLayerAwardItemList(self): return self.attrTuple[5] # 通关该层固定奖励 [[物品ID,个数,是否拍品], ...] list
|
| | | def GetLayerWeightItemList(self): return self.attrTuple[6] # 通关该层额外随机奖励 [[权重,物品ID,个数], ...] list |
| | | |
| | | # 天帝礼包活动时间表 |
| | | class IPY_ActGodGift(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
|
| | | def GetStartDate(self): return self.attrTuple[1] # 开启日期 char
|
| | | def GetEndDate(self): return self.attrTuple[2] # 结束日期 char
|
| | | def GetIsDayReset(self): return self.attrTuple[3] # 是否每天重置 BYTE
|
| | | def GetLVLimit(self): return self.attrTuple[4] # 限制等级 WORD
|
| | | def GetUseMoneyType(self): return self.attrTuple[5] # 消耗货币类型 BYTE
|
| | | def GetUseGoldList(self): return self.attrTuple[6] # 抽奖消耗货币列表 list
|
| | | def GetPrizeMoneyType(self): return self.attrTuple[7] # 奖励货币类型 BYTE
|
| | | def GetPrizeMoneyList(self): return self.attrTuple[8] # 奖励货币列表 list
|
| | | def GetResetLimitTimes(self): return self.attrTuple[9] # 至少抽几次可重置 BYTE
|
| | | def GetResetCountMax(self): return self.attrTuple[10] # 可重置次数 BYTE
|
| | | def GetTemplateIDInfo(self): return self.attrTuple[11] # 奖池模板信息 {(世界等级A,B):[模板编号列表, ...], ...} dict |
| | | |
| | | # 天帝礼包奖池表 |
| | | class IPY_ActGodGiftAward(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetTemplateID(self): return self.attrTuple[0] # 奖池模板编号 DWORD
|
| | | def GetAwardLibType(self): return self.attrTuple[1] # 奖励库类型 BYTE
|
| | | def GetUnlockAwardLimitTimes(self): return self.attrTuple[2] # 抽X次后可产出本库 BYTE
|
| | | def GetChooseItemCount(self): return self.attrTuple[3] # 选择个数 BYTE
|
| | | def GetLibItemInfo(self): return self.attrTuple[4] # 物品编号对应物品信息 {物品编号:[物品ID,个数,是否拍品,可选次数], ...} 0不限次数 dict
|
| | | def GetNotifyItemNumList(self): return self.attrTuple[5] # 需要广播的编号列表 list |
| | | |
| | | # 多倍修行点活动时间表 |
| | | class IPY_ActRealmPoint(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
|
| | | def GetMultiple(self): return self.attrTuple[1] # 倍数 WORD
|
| | | def GetLVLimit(self): return self.attrTuple[2] # 限制等级 WORD
|
| | | def GetPointLimit(self): return self.attrTuple[3] # 限制额外修行点 DWORD |
| | | |
| | | # 宗门试炼兑换表 |
| | | class IPY_TrialExchange(): |
| | | |
| | |
| | | def GetCostItemID(self): return self.attrTuple[4] # 消耗物品ID DWORD
|
| | | def GetCostItemCount(self): return self.attrTuple[5] # 消耗物品个数 DWORD |
| | | |
| | | # 仙界盛典-全民来嗨表 |
| | | class IPY_AllPeopleParty(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetID(self): return self.attrTuple[0] # ID BYTE
|
| | | def GetTotalTimes(self): return self.attrTuple[1] # 总次数 WORD
|
| | | def GetAddPoint(self): return self.attrTuple[2] # 每完成次数获得嗨点 WORD |
| | | |
| | | # 仙界盛典-全民来嗨奖励表 |
| | | class IPY_AllPeoplePartyAward(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetWorldLvNum(self): return self.attrTuple[0] # 世界等级档 BYTE
|
| | | def GetIndex(self): return self.attrTuple[1] # 索引 DWORD
|
| | | def GetNeedPoint(self): return self.attrTuple[2] # 需要点数 DWORD
|
| | | def GetAward(self): return self.attrTuple[3] # 奖励 {"职业":[[物品ID,个数,是否绑定],...], ...} dict |
| | | |
| | | # 地图NPC配置表-挂机点 |
| | | class IPY_MapEventPoint(): |
| | | |
| | |
| | | def GetLowLV(self): return self.attrTuple[2] # 推荐最低等级 WORD
|
| | | def GetHighestLV(self): return self.attrTuple[3] # 推荐最高等级 WORD
|
| | | def GetDefense(self): return self.attrTuple[4] # 推荐防御 DWORD |
| | | |
| | | # 限时抢购表 |
| | | class IPY_ActFlashSale(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
|
| | | def GetStartDate(self): return self.attrTuple[1] # 开启日期 char
|
| | | def GetEndDate(self): return self.attrTuple[2] # 结束日期 char
|
| | | def GetStartTimeList(self): return self.attrTuple[3] # 开启时间列表, 支持多个时段 list
|
| | | def GetEndTimeList(self): return self.attrTuple[4] # 结束时间列表, 支持多个时段 list
|
| | | def GetAdvanceMinutes(self): return self.attrTuple[5] # 前端提前X分钟展示活动 WORD
|
| | | def GetLVLimit(self): return self.attrTuple[6] # 限制等级 WORD
|
| | | def GetIsDayReset(self): return self.attrTuple[7] # 是否每天重置 BYTE
|
| | | def GetShopTypeList(self): return self.attrTuple[8] # 商店类型列表 dict
|
| | | def GetMailKey(self): return self.attrTuple[9] # 活动更新时发送邮件key char
|
| | | def GetMailItemPrize(self): return self.attrTuple[10] # 活动更新时发送邮件奖励物品 list |
| | | |
| | | # 许愿池活动时间表 |
| | | class IPY_ActWishingWell(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
|
| | | def GetStartDate(self): return self.attrTuple[1] # 开启日期 char
|
| | | def GetEndDate(self): return self.attrTuple[2] # 结束日期 char
|
| | | def GetIsDayReset(self): return self.attrTuple[3] # 是否每天重置 BYTE
|
| | | def GetResetType(self): return self.attrTuple[4] # 重置类型,0-0点重置;1-5点重置 BYTE
|
| | | def GetLVLimit(self): return self.attrTuple[5] # 限制等级 WORD
|
| | | def GetTemplateID(self): return self.attrTuple[6] # 模板编号 BYTE |
| | | |
| | | # 许愿池库模板表 |
| | | class IPY_WishingWell(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetTemplateID(self): return self.attrTuple[0] # 模板ID BYTE
|
| | | def GetIsFree(self): return self.attrTuple[1] # 是否免费库 BYTE
|
| | | def GetWorldLVLimit(self): return self.attrTuple[2] # 世界等级范围 list
|
| | | def GetItemID(self): return self.attrTuple[3] # 物品ID DWORD
|
| | | def GetItemCnt(self): return self.attrTuple[4] # 物品数量 WORD
|
| | | def GetIsBind(self): return self.attrTuple[5] # 是否绑定 BYTE
|
| | | def GetWeight(self): return self.attrTuple[6] # 权重 DWORD
|
| | | def GetMark(self): return self.attrTuple[7] # 排序用标识 DWORD
|
| | | def GetRare(self): return self.attrTuple[8] # 珍稀值 BYTE |
| | | |
| | | # 表情包表 |
| | | class IPY_EmojiPack(): |
| | |
| | | def GetAwardItem(self): return self.attrTuple[3] # 返利物品信息列表 {职业:[(物品ID,个数,是否绑定),...]} dict
|
| | | def GetNotifyKey(self): return self.attrTuple[4] # 全服广播key,默认两个参数(玩家名, 档位额度) char |
| | | |
| | | # 成长必买活动表 |
| | | class IPY_ActGrowupBuy(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
|
| | | def GetStartDate(self): return self.attrTuple[1] # 开启日期 char
|
| | | def GetEndDate(self): return self.attrTuple[2] # 结束日期 char
|
| | | def GetLVLimit(self): return self.attrTuple[3] # 限制等级 WORD
|
| | | def GetCTGIDGroupList(self): return self.attrTuple[4] # 充值编号组列表 [[ctgID, ...], ...] list |
| | | |
| | | # 多日连充活动表 |
| | | class IPY_ActManyDayRecharge(): |
| | | |
| | |
| | | def GetAwardIndex(self): return self.attrTuple[3] # 奖励索引 BYTE
|
| | | def GetAwardItemInfo(self): return self.attrTuple[4] # 奖励物品信息 {世界等级范围:[[物品ID,个数,是否拍品], ...]} dict
|
| | | def GetNotifyKey(self): return self.attrTuple[5] # 广播 char |
| | | |
| | | # 转盘活动表 |
| | | class IPY_ActTurntable(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
|
| | | def GetStartDate(self): return self.attrTuple[1] # 开启日期 char
|
| | | def GetEndDate(self): return self.attrTuple[2] # 结束日期 char
|
| | | def GetLVLimit(self): return self.attrTuple[3] # 限制等级 WORD
|
| | | def GetIsDayReset(self): return self.attrTuple[4] # 是否每天重置 BYTE
|
| | | def GetCTGTypeEffValue(self): return self.attrTuple[5] # 充值有效类型值 BYTE
|
| | | def GetCTGPrizeList(self): return self.attrTuple[6] # 累计充值奖励次数 list
|
| | | def GetUseMoneyType(self): return self.attrTuple[7] # 累计消费货币类型 BYTE
|
| | | def GetUseMoneyPrizeList(self): return self.attrTuple[8] # 累计消费X货币奖励次数 list
|
| | | def GetLibChooseCountList(self): return self.attrTuple[9] # 各道具库选择个数 list
|
| | | def GetSuperItemLimitRule(self): return self.attrTuple[10] # 终极库产出万分率|至少X次后可产出 list
|
| | | def GetCommItemLib(self): return self.attrTuple[11] # 普通道具库 {(世界等级A,世界等级B):[[可选物品ID, 个数, 是否拍品], ...], ...} dict
|
| | | def GetGoodItemLib(self): return self.attrTuple[12] # 极品道具库 {(世界等级A,世界等级B):[[可选物品ID, 个数, 是否拍品], ...], ...} dict
|
| | | def GetSuperItemLib(self): return self.attrTuple[13] # 超级道具库 {(世界等级A,世界等级B):[[可选物品ID, 个数, 是否拍品], ...], ...} dict
|
| | | def GetWorldNotifyKey(self): return self.attrTuple[14] # 好物品全服广播mark,极品及超级道具默认全服广播 char |
| | | |
| | | # 单笔累充活动表 |
| | | class IPY_ActSingleRecharge(): |
| | |
| | | def GetPosX(self): return self.attrTuple[4] # 坐标X WORD
|
| | | def GetPosY(self): return self.attrTuple[5] # 坐标Y WORD |
| | | |
| | | # 运势活动时间表 |
| | | class IPY_ActYunshi(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
|
| | | def GetStartDate(self): return self.attrTuple[1] # 开启日期 char
|
| | | def GetEndDate(self): return self.attrTuple[2] # 结束日期 char
|
| | | def GetLVLimit(self): return self.attrTuple[3] # 限制等级 WORD
|
| | | def GetResetType(self): return self.attrTuple[4] # 重置类型,0-0点重置;1-5点重置 BYTE
|
| | | def GetTreasureType(self): return self.attrTuple[5] # 商城类型 DWORD |
| | | |
| | | # 轮回殿活动时间表 |
| | | class IPY_ActLunhuidian(): |
| | | |
| | |
| | | def GetDayNum(self): return self.attrTuple[1] # 第X天从1开始 BYTE
|
| | | def GetLoginAwardItemList(self): return self.attrTuple[2] # 奖励列表[[物品ID,个数,是否拍品], ...] list
|
| | | def GetLoginAwardItemListEx(self): return self.attrTuple[3] # 扩展奖励列表[[物品ID,个数,是否拍品], ...] list |
| | | |
| | | # 新仙界盛典-全民来嗨表 |
| | | class IPY_NewAllPeopleParty(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetID(self): return self.attrTuple[0] # ID BYTE
|
| | | def GetTotalTimes(self): return self.attrTuple[1] # 总次数 WORD
|
| | | def GetAddPoint(self): return self.attrTuple[2] # 每完成次数获得嗨点 WORD |
| | | |
| | | # 新仙界盛典-全民来嗨奖励表 |
| | | class IPY_NewAllPeoplePartyAward(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetWorldLvNum(self): return self.attrTuple[0] # 世界等级档 BYTE
|
| | | def GetIndex(self): return self.attrTuple[1] # 索引 DWORD
|
| | | def GetNeedPoint(self): return self.attrTuple[2] # 需要点数 DWORD
|
| | | def GetAward(self): return self.attrTuple[3] # 奖励 {"职业":[[物品ID,个数,是否绑定],...], ...} dict |
| | | |
| | | # 幸运鉴宝活动时间表 |
| | | class IPY_ActLuckyTreasure(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
|
| | | def GetStartDate(self): return self.attrTuple[1] # 开启日期 char
|
| | | def GetEndDate(self): return self.attrTuple[2] # 结束日期 char
|
| | | def GetResetType(self): return self.attrTuple[3] # 重置类型,0-0点重置;1-5点重置 BYTE
|
| | | def GetLVLimit(self): return self.attrTuple[4] # 限制等级 WORD
|
| | | def GetTemplateID(self): return self.attrTuple[5] # 模板编号 BYTE
|
| | | def GetLuckyPoint(self): return self.attrTuple[6] # 总幸运值 WORD |
| | | |
| | | # 幸运鉴宝库模板表 |
| | | class IPY_LuckyTreasureTemplate(): |
| | | |
| | | def __init__(self): |
| | | self.attrTuple = None |
| | | return |
| | | |
| | | def GetTemplateID(self): return self.attrTuple[0] # 模板ID BYTE
|
| | | def GetWorldLVLimit(self): return self.attrTuple[1] # 世界等级范围 list
|
| | | def GetItemID(self): return self.attrTuple[2] # 物品ID DWORD
|
| | | def GetItemCnt(self): return self.attrTuple[3] # 物品数量 WORD
|
| | | def GetIsBind(self): return self.attrTuple[4] # 是否绑定 BYTE
|
| | | def GetWeight(self): return self.attrTuple[5] # 权重 DWORD |
| | | |
| | | # 装备位背包索引映射表 |
| | | class IPY_EquipPlaceIndexMap(): |
| | |
| | | self.__LoadFileData("VIPAward", onlyCheck)
|
| | | self.__LoadFileData("VipPrivilege", onlyCheck)
|
| | | self.__LoadFileData("Store", onlyCheck)
|
| | | self.__LoadFileData("ActSpringSale", onlyCheck)
|
| | | self.__LoadFileData("DailyTask", onlyCheck)
|
| | | self.__LoadFileData("DailyLivenessReward", onlyCheck)
|
| | | self.__LoadFileData("BOSSInfo", onlyCheck)
|
| | |
| | | self.__LoadFileData("TreasureHouse", onlyCheck)
|
| | | self.__LoadFileData("TreasureItemLib", onlyCheck)
|
| | | self.__LoadFileData("TreasureCntAward", onlyCheck)
|
| | | self.__LoadFileData("FreeGoods", onlyCheck)
|
| | | self.__LoadFileData("ActFlashGiftbag", onlyCheck)
|
| | | self.__LoadFileData("FlashGiftbag", onlyCheck)
|
| | | self.__LoadFileData("ActDailyGiftbag", onlyCheck)
|
| | | self.__LoadFileData("DailyGiftbag", onlyCheck)
|
| | | self.__LoadFileData("ActExpRate", onlyCheck)
|
| | | self.__LoadFileData("ActBuyOne", onlyCheck)
|
| | | self.__LoadFileData("ActBuyOneTemplate", onlyCheck)
|
| | | self.__LoadFileData("ActFamilyCTGAssist", onlyCheck)
|
| | |
| | | self.__LoadFileData("CollectWordsExchange", onlyCheck)
|
| | | self.__LoadFileData("ActLianqiBillTemp", onlyCheck)
|
| | | self.__LoadFileData("CrossActFamilyGCZSQ", onlyCheck)
|
| | | self.__LoadFileData("ActGodGift", onlyCheck)
|
| | | self.__LoadFileData("ActGodGiftAward", onlyCheck)
|
| | | self.__LoadFileData("ActRealmPoint", onlyCheck)
|
| | | self.__LoadFileData("TrialExchange", onlyCheck)
|
| | | self.__LoadFileData("AllPeopleParty", onlyCheck)
|
| | | self.__LoadFileData("AllPeoplePartyAward", onlyCheck)
|
| | | self.__LoadFileData("MapEventPoint", onlyCheck)
|
| | | self.__LoadFileData("ActFlashSale", onlyCheck)
|
| | | self.__LoadFileData("ActWishingWell", onlyCheck)
|
| | | self.__LoadFileData("WishingWell", onlyCheck)
|
| | | self.__LoadFileData("EmojiPack", onlyCheck)
|
| | | self.__LoadFileData("ActTotalRecharge", onlyCheck)
|
| | | self.__LoadFileData("TotalRechargeTemplate", onlyCheck)
|
| | | self.__LoadFileData("ActGrowupBuy", onlyCheck)
|
| | | self.__LoadFileData("ActManyDayRecharge", onlyCheck)
|
| | | self.__LoadFileData("ActManyDayRechargeAward", onlyCheck)
|
| | | self.__LoadFileData("ActTurntable", onlyCheck)
|
| | | self.__LoadFileData("ActSingleRecharge", onlyCheck)
|
| | | self.__LoadFileData("ActSingleRechargeAward", onlyCheck)
|
| | | self.__LoadFileData("IceLodeStarAward", onlyCheck)
|
| | |
| | | self.__LoadFileData("CrossPenglaiZoneMap", onlyCheck)
|
| | | self.__LoadFileData("CrossDemonLandZoneMap", onlyCheck)
|
| | | self.__LoadFileData("CrossFamilyFlagwarZoneMap", onlyCheck)
|
| | | self.__LoadFileData("ActYunshi", onlyCheck)
|
| | | self.__LoadFileData("ActLunhuidian", onlyCheck)
|
| | | self.__LoadFileData("ActLunhuidianAward", onlyCheck)
|
| | | self.__LoadFileData("ActBuyCountGift", onlyCheck)
|
| | |
| | | self.__LoadFileData("ActTaskTemp", onlyCheck)
|
| | | self.__LoadFileData("ActLoginNew", onlyCheck)
|
| | | self.__LoadFileData("ActLoginNewAward", onlyCheck)
|
| | | self.__LoadFileData("NewAllPeopleParty", onlyCheck)
|
| | | self.__LoadFileData("NewAllPeoplePartyAward", onlyCheck)
|
| | | self.__LoadFileData("ActLuckyTreasure", onlyCheck)
|
| | | self.__LoadFileData("LuckyTreasureTemplate", onlyCheck)
|
| | | self.__LoadFileData("EquipPlaceIndexMap", onlyCheck)
|
| | | self.__LoadFileData("EquipShenAttr", onlyCheck)
|
| | | self.__LoadFileData("EquipShenEvolve", onlyCheck)
|
| | |
| | | self.CheckLoadData("Store") |
| | | return self.ipyStoreCache[index]
|
| | | |
| | | def GetActSpringSaleCount(self): |
| | | self.CheckLoadData("ActSpringSale") |
| | | return self.ipyActSpringSaleLen
|
| | | def GetActSpringSaleByIndex(self, index): |
| | | self.CheckLoadData("ActSpringSale") |
| | | return self.ipyActSpringSaleCache[index]
|
| | | |
| | | def GetDailyTaskCount(self): |
| | | self.CheckLoadData("DailyTask") |
| | | return self.ipyDailyTaskLen
|
| | |
| | | self.CheckLoadData("TreasureCntAward") |
| | | return self.ipyTreasureCntAwardCache[index]
|
| | | |
| | | def GetFreeGoodsCount(self): |
| | | self.CheckLoadData("FreeGoods") |
| | | return self.ipyFreeGoodsLen
|
| | | def GetFreeGoodsByIndex(self, index): |
| | | self.CheckLoadData("FreeGoods") |
| | | return self.ipyFreeGoodsCache[index]
|
| | | |
| | | def GetActFlashGiftbagCount(self): |
| | | self.CheckLoadData("ActFlashGiftbag") |
| | | return self.ipyActFlashGiftbagLen
|
| | | def GetActFlashGiftbagByIndex(self, index): |
| | | self.CheckLoadData("ActFlashGiftbag") |
| | | return self.ipyActFlashGiftbagCache[index]
|
| | | |
| | | def GetFlashGiftbagCount(self): |
| | | self.CheckLoadData("FlashGiftbag") |
| | | return self.ipyFlashGiftbagLen
|
| | | def GetFlashGiftbagByIndex(self, index): |
| | | self.CheckLoadData("FlashGiftbag") |
| | | return self.ipyFlashGiftbagCache[index]
|
| | | |
| | | def GetActDailyGiftbagCount(self): |
| | | self.CheckLoadData("ActDailyGiftbag") |
| | | return self.ipyActDailyGiftbagLen
|
| | | def GetActDailyGiftbagByIndex(self, index): |
| | | self.CheckLoadData("ActDailyGiftbag") |
| | | return self.ipyActDailyGiftbagCache[index]
|
| | | |
| | | def GetDailyGiftbagCount(self): |
| | | self.CheckLoadData("DailyGiftbag") |
| | | return self.ipyDailyGiftbagLen
|
| | | def GetDailyGiftbagByIndex(self, index): |
| | | self.CheckLoadData("DailyGiftbag") |
| | | return self.ipyDailyGiftbagCache[index]
|
| | | |
| | | def GetActExpRateCount(self): |
| | | self.CheckLoadData("ActExpRate") |
| | | return self.ipyActExpRateLen
|
| | | def GetActExpRateByIndex(self, index): |
| | | self.CheckLoadData("ActExpRate") |
| | | return self.ipyActExpRateCache[index]
|
| | | |
| | | def GetActBuyOneCount(self): |
| | | self.CheckLoadData("ActBuyOne") |
| | | return self.ipyActBuyOneLen
|
| | |
| | | self.CheckLoadData("CrossActFamilyGCZSQ") |
| | | return self.ipyCrossActFamilyGCZSQCache[index]
|
| | | |
| | | def GetActGodGiftCount(self): |
| | | self.CheckLoadData("ActGodGift") |
| | | return self.ipyActGodGiftLen
|
| | | def GetActGodGiftByIndex(self, index): |
| | | self.CheckLoadData("ActGodGift") |
| | | return self.ipyActGodGiftCache[index]
|
| | | |
| | | def GetActGodGiftAwardCount(self): |
| | | self.CheckLoadData("ActGodGiftAward") |
| | | return self.ipyActGodGiftAwardLen
|
| | | def GetActGodGiftAwardByIndex(self, index): |
| | | self.CheckLoadData("ActGodGiftAward") |
| | | return self.ipyActGodGiftAwardCache[index]
|
| | | |
| | | def GetActRealmPointCount(self): |
| | | self.CheckLoadData("ActRealmPoint") |
| | | return self.ipyActRealmPointLen
|
| | | def GetActRealmPointByIndex(self, index): |
| | | self.CheckLoadData("ActRealmPoint") |
| | | return self.ipyActRealmPointCache[index]
|
| | | |
| | | def GetTrialExchangeCount(self): |
| | | self.CheckLoadData("TrialExchange") |
| | | return self.ipyTrialExchangeLen
|
| | |
| | | self.CheckLoadData("TrialExchange") |
| | | return self.ipyTrialExchangeCache[index]
|
| | | |
| | | def GetAllPeoplePartyCount(self): |
| | | self.CheckLoadData("AllPeopleParty") |
| | | return self.ipyAllPeoplePartyLen
|
| | | def GetAllPeoplePartyByIndex(self, index): |
| | | self.CheckLoadData("AllPeopleParty") |
| | | return self.ipyAllPeoplePartyCache[index]
|
| | | |
| | | def GetAllPeoplePartyAwardCount(self): |
| | | self.CheckLoadData("AllPeoplePartyAward") |
| | | return self.ipyAllPeoplePartyAwardLen
|
| | | def GetAllPeoplePartyAwardByIndex(self, index): |
| | | self.CheckLoadData("AllPeoplePartyAward") |
| | | return self.ipyAllPeoplePartyAwardCache[index]
|
| | | |
| | | def GetMapEventPointCount(self): |
| | | self.CheckLoadData("MapEventPoint") |
| | | return self.ipyMapEventPointLen
|
| | | def GetMapEventPointByIndex(self, index): |
| | | self.CheckLoadData("MapEventPoint") |
| | | return self.ipyMapEventPointCache[index]
|
| | | |
| | | def GetActFlashSaleCount(self): |
| | | self.CheckLoadData("ActFlashSale") |
| | | return self.ipyActFlashSaleLen
|
| | | def GetActFlashSaleByIndex(self, index): |
| | | self.CheckLoadData("ActFlashSale") |
| | | return self.ipyActFlashSaleCache[index]
|
| | | |
| | | def GetActWishingWellCount(self): |
| | | self.CheckLoadData("ActWishingWell") |
| | | return self.ipyActWishingWellLen
|
| | | def GetActWishingWellByIndex(self, index): |
| | | self.CheckLoadData("ActWishingWell") |
| | | return self.ipyActWishingWellCache[index]
|
| | | |
| | | def GetWishingWellCount(self): |
| | | self.CheckLoadData("WishingWell") |
| | | return self.ipyWishingWellLen
|
| | | def GetWishingWellByIndex(self, index): |
| | | self.CheckLoadData("WishingWell") |
| | | return self.ipyWishingWellCache[index]
|
| | | |
| | | def GetEmojiPackCount(self): |
| | | self.CheckLoadData("EmojiPack") |
| | |
| | | self.CheckLoadData("TotalRechargeTemplate") |
| | | return self.ipyTotalRechargeTemplateCache[index]
|
| | | |
| | | def GetActGrowupBuyCount(self): |
| | | self.CheckLoadData("ActGrowupBuy") |
| | | return self.ipyActGrowupBuyLen
|
| | | def GetActGrowupBuyByIndex(self, index): |
| | | self.CheckLoadData("ActGrowupBuy") |
| | | return self.ipyActGrowupBuyCache[index]
|
| | | |
| | | def GetActManyDayRechargeCount(self): |
| | | self.CheckLoadData("ActManyDayRecharge") |
| | | return self.ipyActManyDayRechargeLen
|
| | |
| | | def GetActManyDayRechargeAwardByIndex(self, index): |
| | | self.CheckLoadData("ActManyDayRechargeAward") |
| | | return self.ipyActManyDayRechargeAwardCache[index]
|
| | | |
| | | def GetActTurntableCount(self): |
| | | self.CheckLoadData("ActTurntable") |
| | | return self.ipyActTurntableLen
|
| | | def GetActTurntableByIndex(self, index): |
| | | self.CheckLoadData("ActTurntable") |
| | | return self.ipyActTurntableCache[index]
|
| | | |
| | | def GetActSingleRechargeCount(self): |
| | | self.CheckLoadData("ActSingleRecharge") |
| | |
| | | self.CheckLoadData("CrossFamilyFlagwarZoneMap") |
| | | return self.ipyCrossFamilyFlagwarZoneMapCache[index]
|
| | | |
| | | def GetActYunshiCount(self): |
| | | self.CheckLoadData("ActYunshi") |
| | | return self.ipyActYunshiLen
|
| | | def GetActYunshiByIndex(self, index): |
| | | self.CheckLoadData("ActYunshi") |
| | | return self.ipyActYunshiCache[index]
|
| | | |
| | | def GetActLunhuidianCount(self): |
| | | self.CheckLoadData("ActLunhuidian") |
| | | return self.ipyActLunhuidianLen
|
| | |
| | | def GetActLoginNewAwardByIndex(self, index): |
| | | self.CheckLoadData("ActLoginNewAward") |
| | | return self.ipyActLoginNewAwardCache[index]
|
| | | |
| | | def GetNewAllPeoplePartyCount(self): |
| | | self.CheckLoadData("NewAllPeopleParty") |
| | | return self.ipyNewAllPeoplePartyLen
|
| | | def GetNewAllPeoplePartyByIndex(self, index): |
| | | self.CheckLoadData("NewAllPeopleParty") |
| | | return self.ipyNewAllPeoplePartyCache[index]
|
| | | |
| | | def GetNewAllPeoplePartyAwardCount(self): |
| | | self.CheckLoadData("NewAllPeoplePartyAward") |
| | | return self.ipyNewAllPeoplePartyAwardLen
|
| | | def GetNewAllPeoplePartyAwardByIndex(self, index): |
| | | self.CheckLoadData("NewAllPeoplePartyAward") |
| | | return self.ipyNewAllPeoplePartyAwardCache[index]
|
| | | |
| | | def GetActLuckyTreasureCount(self): |
| | | self.CheckLoadData("ActLuckyTreasure") |
| | | return self.ipyActLuckyTreasureLen
|
| | | def GetActLuckyTreasureByIndex(self, index): |
| | | self.CheckLoadData("ActLuckyTreasure") |
| | | return self.ipyActLuckyTreasureCache[index]
|
| | | |
| | | def GetLuckyTreasureTemplateCount(self): |
| | | self.CheckLoadData("LuckyTreasureTemplate") |
| | | return self.ipyLuckyTreasureTemplateLen
|
| | | def GetLuckyTreasureTemplateByIndex(self, index): |
| | | self.CheckLoadData("LuckyTreasureTemplate") |
| | | return self.ipyLuckyTreasureTemplateCache[index]
|
| | | |
| | | def GetEquipPlaceIndexMapCount(self): |
| | | self.CheckLoadData("EquipPlaceIndexMap") |
| | |
| | | import PlayerGoldInvest
|
| | | import PlayerActivity
|
| | | import FBCommon
|
| | | import PlayerWishingWell
|
| | | import PlayerSuccess
|
| | | import PlayerFreeGoods
|
| | | import GameFuncComm
|
| | | import PlayerFamilyTaofa
|
| | | import PlayerTreasure
|
| | | import IpyGameDataPY
|
| | | import EventReport
|
| | | import PassiveBuffEffMng
|
| | | import PlayerFlashSale
|
| | | import PlayerFlashGiftbag
|
| | | import PlayerDailyGiftbag
|
| | | import PlayerActBuyOne
|
| | | import PlayerActGrowupBuy
|
| | | import PlayerActCollectWords
|
| | | import PlayerActTotalRecharge
|
| | | import PlayerActLianqi
|
| | | import PlayerActGodGift
|
| | | import PlayerActFamilyCTGAssist
|
| | | import PlayerActManyDayRecharge
|
| | | import PlayerActSingleRecharge
|
| | | import PlayerSpringSale
|
| | | import PlayerLuckyTreasure
|
| | | import PlayerFuncSysPrivilege
|
| | | import PlayerActTurntable
|
| | | import OpenServerActivity
|
| | | import ChNetSendPack
|
| | | import PlayerArena
|
| | |
| | | import PlayerActBuyCountGift
|
| | | import PlayerActLunhuidian
|
| | | import PlayerActFamilyGCZ
|
| | | import PlayerActYunshi
|
| | | import PlayerActTask
|
| | | import PlayerMail
|
| | | import DBDataMgr
|
| | |
| | | #NotifyPlayerBasePoint(curPlayer)
|
| | | #累计充值
|
| | | PlayerActTotalRecharge.OnPlayerLogin(curPlayer)
|
| | | #成长必买
|
| | | PlayerActGrowupBuy.OnPlayerLogin(curPlayer)
|
| | | #限时特惠
|
| | | PlayerSpringSale.OnPlayerLogin(curPlayer)
|
| | | #限时礼包
|
| | | PlayerFlashGiftbag.OnPlayerLogin(curPlayer)
|
| | | #每日礼包
|
| | | PlayerDailyGiftbag.OnPlayerLogin(curPlayer)
|
| | | #限时抢购
|
| | | PlayerFlashSale.OnPlayerLogin(curPlayer)
|
| | | #买一送多活动
|
| | | PlayerActBuyOne.OnPlayerLogin(curPlayer)
|
| | | #仙盟充值互助
|
| | |
| | | FunctionNPCCommon.ShopItemOnLogin(curPlayer)
|
| | | # 通知设置的被动功法
|
| | | #PassiveBuffEffMng.OnLoginGFPassive(curPlayer)
|
| | | # 极品白拿
|
| | | PlayerFreeGoods.OnLogin(curPlayer)
|
| | | # 购买次数礼包活动
|
| | | PlayerActBuyCountGift.OnPlayerLogin(curPlayer)
|
| | | # 任务活动
|
| | | PlayerActTask.OnPlayerLogin(curPlayer)
|
| | | # 运势活动
|
| | | PlayerActYunshi.OnPlayerLogin(curPlayer)
|
| | | # 登录活动
|
| | | PlayerActLoginNew.OnPlayerLogin(curPlayer)
|
| | | # 炼器活动
|
| | | PlayerActLianqi.OnPlayerLogin(curPlayer)
|
| | | # 天帝礼包活动
|
| | | PlayerActGodGift.OnPlayerLogin(curPlayer)
|
| | | # 多日连充活动
|
| | | PlayerActManyDayRecharge.OnPlayerLogin(curPlayer)
|
| | | # 单笔累充活动
|
| | | PlayerActSingleRecharge.OnPlayerLogin(curPlayer)
|
| | | # 转盘活动
|
| | | PlayerActTurntable.OnPlayerLogin(curPlayer)
|
| | | # 分支下载奖励记录通知
|
| | | SyncPackDownloadAward(curPlayer)
|
| | | # 登录触发功能开启(老号处理)
|
| | | GameFuncComm.DoFuncOpenLogic(curPlayer)
|
| | | # 神兽
|
| | | PlayerDogz.OnPlayerLogin(curPlayer)
|
| | | # 许愿池
|
| | | PlayerWishingWell.OnLogin(curPlayer)
|
| | | #幸运鉴宝
|
| | | PlayerLuckyTreasure.OnLogin(curPlayer)
|
| | | # 小助手
|
| | | SyncLittleHelper(curPlayer)
|
| | | PlayerFB.OnLogin(curPlayer)
|
| | |
| | | PlayerActLunhuidian.GetLunhuidianAward(curPlayer, dataEx, dataExStr)
|
| | |
|
| | |
|
| | | # 每日免费直购礼包
|
| | | elif rewardType == ChConfig.Def_RewardType_DayFreeGoldGift:
|
| | | PlayerDailyGiftbag.OnGetDailyFreeGiftbag(curPlayer)
|
| | | # 首充礼包奖励
|
| | | elif rewardType == ChConfig.Def_RewardType_FirstCharge:
|
| | | PlayerGoldGift.GetPlayerFirstCharge(curPlayer, dataEx, dataExStr)
|
| | | # 领取极品白拿
|
| | | elif rewardType == ChConfig.Def_RewardType_FreeGoods:
|
| | | PlayerFreeGoods.OnGetFreeGoods(curPlayer, dataEx)
|
| | | # 领取累计充值奖励
|
| | | elif rewardType == ChConfig.Def_RewardType_TotalRecharge:
|
| | | PlayerActTotalRecharge.OnGetTotalRechargeAward(curPlayer, dataEx, dataExStr)
|
| | |
| | | # 领取单笔累充领取
|
| | | elif rewardType == ChConfig.Def_RewardType_SingleRecharge:
|
| | | PlayerActSingleRecharge.OnGetSingleRechargeAward(curPlayer, dataEx, dataExStr)
|
| | | # 领取许愿池奖励
|
| | | elif rewardType == ChConfig.Def_RewardType_WishingWell:
|
| | | PlayerWishingWell.DoGetWishingAward(curPlayer)
|
| | | # 领取登录活动奖励
|
| | | elif rewardType == ChConfig.Def_RewardType_ActLoginAwardNew:
|
| | | PlayerActLoginNew.OnGetActLoginAward(curPlayer, dataEx, dataExStr)
|
| | |
| | | import NetPackCommon
|
| | | import IpyGameDataPY
|
| | | import ShareDefine
|
| | | import PlayerFlashGiftbag
|
| | | import PlayerDailyGiftbag
|
| | | import PlayerGoldGift
|
| | | import PlayerActTotalRecharge
|
| | | import PlayerActManyDayRecharge
|
| | | import PlayerActSingleRecharge
|
| | | import PlayerActGrowupBuy
|
| | | import PlayerGoldInvest
|
| | | import PlayerActTurntable
|
| | | import PlayerZhanling
|
| | | import PlayerGoldRush
|
| | | import PlayerLLMJ
|
| | |
| | | ## 充值相关过天
|
| | |
|
| | | #在重置之前需要处理的
|
| | | PlayerActGrowupBuy.DoUpdateGrowupBuyStateOnDay(curPlayer) # 成长必买
|
| | |
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TodayCTGCoinTotal, 0)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CTGRealToday, 0)
|
| | |
| | | return
|
| | | moneyType, addGold, prizeGold, giveItemList, ctgIpyData = ctgResultInfo
|
| | |
|
| | | elif ipyData.GetGiftbagID():
|
| | | giftbagID = ipyData.GetGiftbagID()
|
| | | if 100 <= giftbagID < 199:
|
| | | if not PlayerDailyGiftbag.OnPlayerOrderDailyGiftbag(curPlayer, giftbagID, addDRDict):
|
| | | return
|
| | | elif not PlayerFlashGiftbag.OnPlayerOrderGiftbag(curPlayer, [ipyData.GetGiftbagID()], addDRDict):
|
| | | return
|
| | | else:
|
| | | #用于支付其他的商品,待扩展...
|
| | | DataRecordPack.DR_CTGError(curPlayer, "The orderInfo is useless!", addDRDict)
|
| | |
| | | return
|
| | |
|
| | | addDRDict.update({"recordID":recordID})
|
| | | |
| | | # 成长必买类型
|
| | | if ipyData.GetPayType() == PayType_GrowupBuy:
|
| | | canBuy, errInfo = PlayerActGrowupBuy.CheckGrowupBuyState(curPlayer, recordID)
|
| | | if not canBuy:
|
| | | DataRecordPack.DR_CTGError(curPlayer, errInfo, addDRDict)
|
| | | return
|
| | |
|
| | | totalBuyCountLimit = ipyData.GetTotalBuyCount()
|
| | | totalBuyCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CTGGoodsBuyCount % recordID)
|
| | |
| | | return []
|
| | |
|
| | | gainItemList = ipyData.GetGainItemList()
|
| | | actWorldLVGainItemInfo = ipyData.GetActWorldLVGainItemInfo()
|
| | | giveItemList = []
|
| | | # 活动世界等级对应物品信息,如果有对应活动支持 且 该配置有配,则默认走该配置,否则使用常规的默认物品配置
|
| | | payTypeActNameDict = {PayType_GrowupBuy:ShareDefine.OperationActionName_GrowupBuy,
|
| | | |
| | | # ... 有新增的活动需要支持,则在此新增配置上即可,后面取物品的逻辑都是一样的
|
| | | }
|
| | | if actWorldLVGainItemInfo and ipyData.GetPayType() in payTypeActNameDict:
|
| | | actName = payTypeActNameDict[ipyData.GetPayType()]
|
| | | actInfo = PyGameData.g_operationActionDict.get(actName, {}) # 注:相关状态在前置逻辑已经判断过,这里不再判断
|
| | | actWorldLV = actInfo.get(ShareDefine.ActKey_WorldLV, 0)
|
| | | actWorldLVList = [int(strWorldLV) for strWorldLV in actWorldLVGainItemInfo.keys()]
|
| | | actWorldLVList.sort() # 使用 int 的值排,否则可能引起排序错误
|
| | | for worldLV in actWorldLVList:
|
| | | if actWorldLV <= worldLV:
|
| | | giveItemList = actWorldLVGainItemInfo[str(worldLV)]
|
| | | break
|
| | | if not giveItemList:
|
| | | giveItemList = actWorldLVGainItemInfo[str(actWorldLVList[-1])] # 没有匹配到的话默认取最后一个等级配置
|
| | | else:
|
| | | #actWorldLVGainItemInfo = ipyData.GetActWorldLVGainItemInfo()
|
| | | #giveItemList = []
|
| | | giveItemList = gainItemList
|
| | | return giveItemList
|
| | |
|
| | |
| | | #累积充值X元
|
| | | PlayerActTotalRecharge.AddTotalRechargeGold(curPlayer, orderCoin, coinType)
|
| | | PlayerActSingleRecharge.UpdSingleRechargeValue(curPlayer, orderCoin, coinType) # 单笔累充
|
| | | PlayerActTurntable.OnPlayerRecharge(curPlayer, orderCoin, coinType) # 转盘
|
| | | #投资
|
| | | if ctgIpyData:
|
| | | ctgID = ctgIpyData.GetRecordID()
|
| | |
| | | totalExpRate = GetPlayerExpRate(curPlayer)
|
| | | fightExpRate = curPlayer.GetFightExpRate() # 系统及功能累加
|
| | |
|
| | | actExpRateInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_ExpRate, {})# 多倍经验活动加成
|
| | | if actExpRateInfo.get(ShareDefine.ActKey_State):
|
| | | actExpIpyData = IpyGameDataPY.GetIpyGameData("ActExpRate", actExpRateInfo.get(ShareDefine.ActKey_CfgID))
|
| | | if actExpIpyData and curPlayer.GetLV() >= actExpIpyData.GetLVLimit():
|
| | | fightExpRate += actExpIpyData.GetAddExpRate()
|
| | | |
| | | #if curPlayer.GetMapID() not in [ChConfig.Def_FBMapID_FamilyInvade]: #守卫人皇不加组队加成
|
| | | # fightExpRate += curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_TeamExpRate) # 组队
|
| | |
|
| | |
| | | import PlayerGoldGift
|
| | | import PlayerActivity
|
| | | import FBCommon
|
| | | import PlayerFreeGoods
|
| | | import ChItem
|
| | | import GameLogic_Tianzi
|
| | | import PlayerGoldInvest
|
| | | import PlayerActTurntable
|
| | | import PlayerActTask
|
| | | import PlayerActBuyCountGift
|
| | | import PlayerActLoginNew
|
| | | import PlayerOfflineSupport
|
| | | import PlayerWishingWell
|
| | | import PlayerTreasure
|
| | | import PlayerZhanling
|
| | | import PlayerLove
|
| | |
| | | #寻宝
|
| | | PlayerTreasure.OnDay(curPlayer)
|
| | | PlayerGoldGift.OnDay(curPlayer)
|
| | | #转盘
|
| | | PlayerActTurntable.PlayerOnDay(curPlayer)
|
| | | #情缘
|
| | | PlayerLove.DoPlayerOnDay(curPlayer)
|
| | | #仙宫
|
| | |
| | | PlayerFamily.PlayerOnDay(curPlayer)
|
| | | # 重置物品每日使用次数
|
| | | ChItem.ResetItemUseCntToday(curPlayer)
|
| | | # 极品白拿
|
| | | PlayerFreeGoods.OnDay(curPlayer)
|
| | | #采集次数重置
|
| | | NPCCommon.PlayerOnDay(curPlayer)
|
| | | #竞技场
|
| | |
| | |
|
| | | # 以下为支持两种重置模式切换配置的
|
| | | FBCommon.FBOnDay(curPlayer, onEventType)
|
| | | #许愿池
|
| | | PlayerWishingWell.OnDay(curPlayer)
|
| | | #任务活动
|
| | | PlayerActTask.OnDay(curPlayer)
|
| | | #登录活动
|
| | |
| | |
|
| | | #成就
|
| | | PlayerSuccess.FinishDelayAddSuccessProgress(curPlayer, tick, False)
|
| | | #限时抢购
|
| | | #PlayerFlashSale.ProcessFlashSaleMail(curPlayer, tick)
|
| | | #淘金
|
| | | PlayerGoldRush.OnProcess(curPlayer)
|
| | | #游历
|
| | |
| | | import ItemControler
|
| | | import NetPackCommon
|
| | | import PlayerActLunhuidian
|
| | | import PlayerActYunshi
|
| | | import PlayerActivity
|
| | | import PlayerSuccess
|
| | | import PlayerGoldInvest
|
| | |
| | |
|
| | | def IsActTreasureType(curPlayer, treasureType):
|
| | | ## 是否活动中的寻宝类型
|
| | | if PlayerActYunshi.IsActTreasureType(curPlayer, treasureType):
|
| | | return True
|
| | | #if PlayerActYunshi.IsActTreasureType(curPlayer, treasureType):
|
| | | # return True
|
| | | return False
|
| | |
|
| | | #// A5 69 寻宝心愿物品选择 #tagCSTreasureWishSelect
|
| | |
| | | #所有的运营活动列表,默认都支持多活动分组编号的活动名
|
| | | OperationActionNameList = [OperationActionName_Lunhuidian]
|
| | |
|
| | | OperationActionName_ExpRate = "ActExpRate" # 多倍经验活动
|
| | | OperationActionName_SpringSale = "ActSpringSale" # 限时特惠活动
|
| | | OperationActionName_FlashGiftbag = "ActFlashGiftbag" # 限时礼包活动
|
| | | OperationActionName_DailyGiftbag = "ActDailyGiftbag" # 每日礼包活动
|
| | | OperationActionName_FairyCeremony = "ActFairyCeremony" # 仙界盛典活动
|
| | | OperationActionName_NewFairyCeremony = "ActNewFairyCeremony" # 仙界盛典活动
|
| | | OperationActionName_RealmPoint = "ActRealmPoint" # 多倍修行点活动
|
| | | OperationActionName_FlashSale = "ActFlashSale" # 限时抢购活动
|
| | | OperationActionName_WishingWell = "ActWishingWell" # 许愿池活动
|
| | | OperationActionName_TotalRecharge = "ActTotalRecharge" # 累计充值活动
|
| | | OperationActionName_CollectWords = "ActCollectWords" # 集字活动
|
| | | OperationActionName_LuckyTreasure = "ActLuckyTreasure" # 幸运鉴宝活动
|
| | | OperationActionName_GrowupBuy = "ActGrowupBuy" # 成长必买活动
|
| | | OperationActionName_ManyDayRecharge = "ActManyDayRecharge" # 多日连充活动
|
| | | OperationActionName_SingleRecharge = "ActSingleRecharge" # 单笔累充活动
|
| | | OperationActionName_Turntable = "ActTurntable" # 转盘活动
|
| | | OperationActionName_GodGift = "ActGodGift" # 天帝礼包活动
|
| | | OperationActionName_BuyOne = "ActBuyOne" # 买一送多活动
|
| | | OperationActionName_ActLoginNew = "ActLoginNew" # 登录活动-新
|
| | | OperationActionName_ActTask = "ActTask" # 活动任务
|
| | | OperationActionName_BuyCountGift = "ActBuyCountGift" # 购买次数礼包活动
|
| | | OperationActionName_FamilyCTGAssist = "ActFamilyCTGAssist" # 仙盟充值协助
|
| | | OperationActionName_Yunshi = "ActYunshi" # 运势活动
|
| | |
|
| | | ##节日活动类型列表 - 该类型无视开服天,日期到了就开启
|
| | | #FeastOperationActionNameList = [OperationActionName_GrowupBuy,
|
| | | # ]
|
| | | ##所有的运营活动列表,含节日活动
|
| | | #OperationActionNameList = [OperationActionName_ExpRate, |
| | | # OperationActionName_SpringSale, |
| | | # OperationActionName_FlashGiftbag, OperationActionName_FairyCeremony,
|
| | | # OperationActionName_RealmPoint, OperationActionName_FlashSale,
|
| | | # OperationActionName_WishingWell, OperationActionName_TotalRecharge,
|
| | | # OperationActionName_LoginAward, |
| | | # OperationActionName_NewFairyCeremony, OperationActionName_LuckyTreasure,
|
| | | # OperationActionName_DailyGiftbag, OperationActionName_SingleRecharge,
|
| | | #OperationActionNameList = [
|
| | | # OperationActionName_TotalRecharge,
|
| | | # OperationActionName_SingleRecharge,
|
| | | # OperationActionName_CollectWords, OperationActionName_ManyDayRecharge,
|
| | | # OperationActionName_Turntable,
|
| | | # OperationActionName_GodGift,
|
| | | # OperationActionName_BuyOne,
|
| | | # OperationActionName_ActLoginNew, OperationActionName_ActTask,
|
| | | # OperationActionName_BuyCountGift, OperationActionName_FamilyCTGAssist,
|
| | | # OperationActionName_Yunshi,
|
| | | # OperationActionName_Lunhuidian,
|
| | | # ] + FeastOperationActionNameList
|
| | | # ]
|
| | | ##需要记录开启活动时的世界等级的运营活动
|
| | | #NeedWorldLVOperationActNameList = [OperationActionName_FairyCeremony, OperationActionName_WishingWell, |
| | | # OperationActionName_NewFairyCeremony, OperationActionName_FlashSale,
|
| | | # OperationActionName_TotalRecharge,
|
| | | # OperationActionName_FlashGiftbag,
|
| | | # OperationActionName_SpringSale, OperationActionName_LuckyTreasure,
|
| | | # OperationActionName_DailyGiftbag, OperationActionName_GrowupBuy,
|
| | | # OperationActionName_Turntable,
|
| | | #NeedWorldLVOperationActNameList = [OperationActionName_TotalRecharge,
|
| | | # OperationActionName_CollectWords,
|
| | | # OperationActionName_ManyDayRecharge, OperationActionName_SingleRecharge,
|
| | | # OperationActionName_GodGift,
|
| | | # ]
|
| | |
|
| | | #跨服运营活动表名定义
|
| | |
| | | CDBPlayerRefresh_168, # 战盟仓库积分
|
| | | CDBPlayerRefresh_Rune, # 符印精华点
|
| | | CDBPlayerRefresh_RuneSplinters, # 符印碎片 170
|
| | | CDBPlayerRefresh_RealmPoint, # 境界修炼点
|
| | | CDBPlayerRefresh_171, # 境界修炼点
|
| | | CDBPlayerRefresh_Ysog, # 魔精
|
| | | CDBPlayerRefresh_FamilyCoin, # 仙盟公会币
|
| | | CDBPlayerRefresh_ParryRateDef, # 抗格挡
|
| | |
| | | TYPE_Price_Gold_Paper_Money = 5 # 金钱类型,(先用礼券,再用金子)
|
| | | TYPE_Price_FamilyExp = 6 # 战盟经验
|
| | | TYPE_Price_10 = 10 # 战盟仓库积分
|
| | | TYPE_Price_RealmPoint = 13 # 境界修炼点
|
| | | TYPE_Price_13 = 13 # 境界修炼点
|
| | | TYPE_Price_Ysog = 14 # 魔精
|
| | | TYPE_Price_FamilyCoin = 15 # 仙盟公会贡献币
|
| | | TYPE_Price_FBHelpPoint = 16 # 副本助战积分, 废弃
|
| | |
| | | #TYPE_Price_RuneSplinters:CDBPlayerRefresh_RuneSplinters,
|
| | | #TYPE_Price_TreasureScore:CDBPlayerRefresh_TreasureScore,
|
| | | #TYPE_Price_BourseMoney:None,
|
| | | #TYPE_Price_RealmPoint:CDBPlayerRefresh_RealmPoint,
|
| | | #TYPE_Price_Ysog:CDBPlayerRefresh_Ysog,
|
| | | #TYPE_Price_Danjing:CDBPlayerRefresh_Danjing,
|
| | | #TYPE_Price_SoulDust:CDBPlayerRefresh_SoulDust,
|
| | |
| | | Def_UniversalGameRecType_FBHelpBattleCheckInPlayer, #助战玩家登记记录9
|
| | | Def_UniversalGameRecType_SkyTowerPassPlayer, #天星塔过关玩家记录10
|
| | | Def_UniversalGameRecType_ZhuXianBossRecord, #诛仙BOSS结算记录11
|
| | | Def_UniversalGameRecType_LuckyTreasure, #幸运鉴宝大奖记录12
|
| | | Def_UniversalGameRecType_12,
|
| | | Def_UniversalGameRecType_FairyDomain, #缥缈仙域事件次数记录13
|
| | | Def_UniversalGameRecType_Reward, # 通用奖励表(TopBar)14
|
| | | Def_UniversalGameRecType_ArenaBattleRecord, # 竞技场玩家挑战记录 15
|