16 卡牌服务端(删除不需要的旧活动:成长必买、限时特惠、限时礼包、每日礼包、限时抢购、极品白拿、运势活动、天帝礼包、转盘、许愿池、幸运鉴宝;)
13个文件已修改
12个文件已删除
9318 ■■■■■ 已修改文件
PySysDB/PySysDBPY.h 281 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py 145 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py 602 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py 4016 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/ClearFreeGoods.py 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py 716 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActGodGift.py 479 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActGrowupBuy.py 188 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActTurntable.py 549 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActYunshi.py 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDailyGiftbag.py 247 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashGiftbag.py 338 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashSale.py 323 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFreeGoods.py 158 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerLuckyTreasure.py 242 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSpringSale.py 189 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWishingWell.py 453 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PySysDB/PySysDBPY.h
@@ -1286,23 +1286,6 @@
    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
@@ -1572,78 +1555,6 @@
    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
@@ -1742,46 +1653,6 @@
    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
@@ -1794,25 +1665,6 @@
    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
@@ -1822,51 +1674,6 @@
    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;    //珍稀值
};
//表情包表
@@ -1903,17 +1710,6 @@
    char        NotifyKey;        //全服广播key,默认两个参数(玩家名, 档位额度)
};
//成长必买活动表
struct tagActGrowupBuy
{
    DWORD        _CfgID;    //配置ID
    char        StartDate;    //开启日期
    char        EndDate;    //结束日期
    WORD        LVLimit;    //限制等级
    list        CTGIDGroupList;    //充值编号组列表 [[ctgID, ...], ...]
};
//多日连充活动表
struct tagActManyDayRecharge
@@ -1935,27 +1731,6 @@
    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,极品及超级道具默认全服广播
};
//单笔累充活动表
@@ -2087,18 +1862,6 @@
    WORD        PosY;    //坐标Y
};
//运势活动时间表
struct tagActYunshi
{
    DWORD        _CfgID;    //配置ID
    char        StartDate;    //开启日期
    char        EndDate;    //结束日期
    WORD        LVLimit;    //限制等级
    BYTE        ResetType;    //重置类型,0-0点重置;1-5点重置
    DWORD        TreasureType;    //商城类型
};
//轮回殿活动时间表
struct ActLunhuidian
@@ -2198,50 +1961,6 @@
    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;    //权重
};
//装备位背包索引映射表
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
@@ -727,54 +727,6 @@
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
@@ -798,34 +750,6 @@
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]
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -3419,20 +3419,12 @@
#物品个数
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,参数(活动编号)
@@ -3442,37 +3434,10 @@
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编号)
@@ -3513,12 +3478,6 @@
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,参数:(活动编号)
@@ -3532,17 +3491,6 @@
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"  # 当前积分
@@ -3553,13 +3501,6 @@
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"  # 每日打包直购礼包 - 今日购买状态,按索引位记录今日是否已购买
@@ -3587,10 +3528,6 @@
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值,参数:(活动编号)
@@ -4202,18 +4139,18 @@
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
@@ -4225,7 +4162,7 @@
Def_Cost_FaQi, # 法器
Def_Cost_Love, # 情缘
Def_Cost_BuyOrderInfo, # 购买充值商品
Def_Cost_ActGodGift, # 天帝礼包活动
Def_Cost_54, # 天帝礼包活动
Def_Cost_CrossBattlefield, # 跨服战场
Def_Cost_TongTianLing, # 通天令
Def_Cost_LianTi, # 炼体
@@ -4244,7 +4181,7 @@
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]
# 可在跨服中消费的类型列表
@@ -4298,16 +4235,13 @@
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",
@@ -4316,7 +4250,6 @@
Def_Cost_FaQi:"FaQi",
Def_Cost_Love:"Love",
Def_Cost_BuyOrderInfo:"BuyOrderInfo",
Def_Cost_ActGodGift:"ActGodGift",
Def_Cost_CrossBattlefield:"CrossBattlefield",
Def_Cost_LianTi:"LianTi",
}
@@ -4348,13 +4281,13 @@
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)
@@ -4380,13 +4313,11 @@
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",
}
@@ -4414,7 +4345,7 @@
ItemGive_Refine, # 炼丹
ItemGive_Chests, # 宝箱
ItemGive_TrialExchange, # 宗门兑换
ItemGive_LuckyTreasure, #幸运鉴宝
ItemGive_20, #幸运鉴宝
ItemGive_LingQiEquipBreak, #灵器突破
) = range(1000, 1000 + 22)
@@ -4438,7 +4369,6 @@
                    ItemGive_Refine:"Refine",
                    ItemGive_Chests:"Chests",
                    ItemGive_TrialExchange:"TrialExchange",
                    ItemGive_LuckyTreasure:"LuckyTreasure",
                    ItemGive_LingQiEquipBreak:"LingQiEquipBreak",
                    }
@@ -4765,27 +4695,27 @@
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
@@ -4842,49 +4772,6 @@
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 = (
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -8887,241 +8887,6 @@
#------------------------------------------------------
# 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):
@@ -9183,373 +8948,6 @@
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
#------------------------------------------------------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
Diff too large
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/ClearFreeGoods.py
File was deleted
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -1057,20 +1057,6 @@
                        ("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),
@@ -1286,60 +1272,6 @@
                        ("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),
@@ -1414,37 +1346,6 @@
                        ("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),
@@ -1454,61 +1355,12 @@
                        ("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":(
@@ -1536,14 +1388,6 @@
                        ("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),
@@ -1559,24 +1403,6 @@
                        ("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":(
@@ -1671,15 +1497,6 @@
                        ("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),
@@ -1758,38 +1575,6 @@
                        ("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":(
@@ -3530,25 +3315,6 @@
    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():
    
@@ -3854,90 +3620,6 @@
    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():
    
@@ -4052,52 +3734,6 @@
    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():
    
@@ -4112,29 +3748,6 @@
    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():
    
@@ -4147,57 +3760,6 @@
    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():
@@ -4239,19 +3801,6 @@
    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():
    
@@ -4278,29 +3827,6 @@
    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():
@@ -4454,20 +3980,6 @@
    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():
    
@@ -4582,58 +4094,6 @@
    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():
@@ -5175,7 +4635,6 @@
        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)
@@ -5194,12 +4653,6 @@
        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)
@@ -5208,23 +4661,13 @@
        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)
@@ -5237,7 +4680,6 @@
        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)
@@ -5245,10 +4687,6 @@
        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)
@@ -6170,13 +5608,6 @@
        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
@@ -6303,48 +5734,6 @@
        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
@@ -6401,27 +5790,6 @@
        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
@@ -6429,47 +5797,12 @@
        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")
@@ -6492,13 +5825,6 @@
        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
@@ -6512,13 +5838,6 @@
    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")
@@ -6604,13 +5923,6 @@
        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
@@ -6659,34 +5971,6 @@
    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")
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -42,31 +42,21 @@
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
@@ -94,7 +84,6 @@
import PlayerActBuyCountGift
import PlayerActLunhuidian
import PlayerActFamilyGCZ
import PlayerActYunshi
import PlayerActTask
import PlayerMail
import DBDataMgr
@@ -537,16 +526,6 @@
    #NotifyPlayerBasePoint(curPlayer)
    #累计充值
    PlayerActTotalRecharge.OnPlayerLogin(curPlayer)
    #成长必买
    PlayerActGrowupBuy.OnPlayerLogin(curPlayer)
    #限时特惠
    PlayerSpringSale.OnPlayerLogin(curPlayer)
    #限时礼包
    PlayerFlashGiftbag.OnPlayerLogin(curPlayer)
    #每日礼包
    PlayerDailyGiftbag.OnPlayerLogin(curPlayer)
    #限时抢购
    PlayerFlashSale.OnPlayerLogin(curPlayer)
    #买一送多活动
    PlayerActBuyOne.OnPlayerLogin(curPlayer)
    #仙盟充值互助
@@ -558,36 +537,24 @@
    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)
@@ -3386,16 +3353,10 @@
    elif rewardType == ChConfig.Def_RewardType_LunhuidianAward:
        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)
@@ -3405,9 +3366,6 @@
    # 领取单笔累充领取
    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)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActGodGift.py
File was deleted
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActGrowupBuy.py
File was deleted
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActTurntable.py
File was deleted
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActYunshi.py
File was deleted
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py
@@ -41,15 +41,11 @@
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
@@ -173,7 +169,6 @@
    ## 充值相关过天
    
    #在重置之前需要处理的
    PlayerActGrowupBuy.DoUpdateGrowupBuyStateOnDay(curPlayer) # 成长必买
    
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TodayCTGCoinTotal, 0)
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CTGRealToday, 0)
@@ -485,13 +480,6 @@
            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)
@@ -524,13 +512,6 @@
    
    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)
    if totalBuyCountLimit:
@@ -664,27 +645,9 @@
        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:
        giveItemList = gainItemList
    #actWorldLVGainItemInfo = ipyData.GetActWorldLVGainItemInfo()
    #giveItemList = []
    giveItemList = gainItemList
    return giveItemList
def __OnCTGReal(curPlayer, orderCoin):
@@ -813,7 +776,6 @@
    #累积充值X元
    PlayerActTotalRecharge.AddTotalRechargeGold(curPlayer, orderCoin, coinType)
    PlayerActSingleRecharge.UpdSingleRechargeValue(curPlayer, orderCoin, coinType) # 单笔累充
    PlayerActTurntable.OnPlayerRecharge(curPlayer, orderCoin, coinType) # 转盘
    #投资
    if ctgIpyData:
        ctgID = ctgIpyData.GetRecordID()
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -3959,12 +3959,6 @@
    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) # 组队
    
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDailyGiftbag.py
File was deleted
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
@@ -32,16 +32,13 @@
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
@@ -291,8 +288,6 @@
    #寻宝
    PlayerTreasure.OnDay(curPlayer)
    PlayerGoldGift.OnDay(curPlayer)
    #转盘
    PlayerActTurntable.PlayerOnDay(curPlayer)
    #情缘
    PlayerLove.DoPlayerOnDay(curPlayer)
    #仙宫
@@ -311,8 +306,6 @@
    PlayerFamily.PlayerOnDay(curPlayer)
    # 重置物品每日使用次数
    ChItem.ResetItemUseCntToday(curPlayer)
    # 极品白拿
    PlayerFreeGoods.OnDay(curPlayer)
    #采集次数重置
    NPCCommon.PlayerOnDay(curPlayer)
    #竞技场
@@ -320,8 +313,6 @@
    
    # 以下为支持两种重置模式切换配置的
    FBCommon.FBOnDay(curPlayer, onEventType)
    #许愿池
    PlayerWishingWell.OnDay(curPlayer)
    #任务活动
    PlayerActTask.OnDay(curPlayer)
    #登录活动
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashGiftbag.py
File was deleted
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashSale.py
File was deleted
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFreeGoods.py
File was deleted
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerLuckyTreasure.py
File was deleted
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSpringSale.py
File was deleted
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py
@@ -1041,8 +1041,6 @@
    
    #成就
    PlayerSuccess.FinishDelayAddSuccessProgress(curPlayer, tick, False)
    #限时抢购
    #PlayerFlashSale.ProcessFlashSaleMail(curPlayer, tick)
    #淘金
    PlayerGoldRush.OnProcess(curPlayer)
    #游历
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py
@@ -24,7 +24,6 @@
import ItemControler
import NetPackCommon
import PlayerActLunhuidian
import PlayerActYunshi
import PlayerActivity
import PlayerSuccess
import PlayerGoldInvest
@@ -127,8 +126,8 @@
def IsActTreasureType(curPlayer, treasureType):
    ## 是否活动中的寻宝类型
    if PlayerActYunshi.IsActTreasureType(curPlayer, treasureType):
        return True
    #if PlayerActYunshi.IsActTreasureType(curPlayer, treasureType):
    #    return True
    return False
#// A5 69 寻宝心愿物品选择 #tagCSTreasureWishSelect
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWishingWell.py
File was deleted
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -215,62 +215,30 @@
#所有的运营活动列表,默认都支持多活动分组编号的活动名
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,
#                                   ]
#跨服运营活动表名定义
@@ -513,7 +481,7 @@
CDBPlayerRefresh_168,                   # 战盟仓库积分
CDBPlayerRefresh_Rune,                  # 符印精华点
CDBPlayerRefresh_RuneSplinters,         # 符印碎片 170
CDBPlayerRefresh_RealmPoint,            # 境界修炼点
CDBPlayerRefresh_171,                   # 境界修炼点
CDBPlayerRefresh_Ysog,                  # 魔精
CDBPlayerRefresh_FamilyCoin,            # 仙盟公会币
CDBPlayerRefresh_ParryRateDef,          # 抗格挡
@@ -636,7 +604,7 @@
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    # 副本助战积分, 废弃
@@ -712,7 +680,6 @@
                           #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,
@@ -844,7 +811,7 @@
                                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