16 卡牌服务端(删除旧的七天登录、活动登录、节日登录、节日祝福、等级奖励;)
6个文件已删除
10个文件已修改
3158 ■■■■■ 已修改文件
PySysDB/PySysDBPY.h 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py 1200 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/FeastWish.py 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py 265 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActLogin.py 318 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFeastLogin.py 215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFeastWish.py 477 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerLVAward.py 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerLoginDayAward.py 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PySysDB/PySysDBPY.h
@@ -1446,14 +1446,6 @@
    DWORD        AddMaxAtk;    //增加最大攻击
};
//七天登录奖励表
struct tagLoginDayAward
{
    BYTE        _DayID;    //天数
    dict        Reward;    //奖励 {"职业":[[物品ID,个数],...], ...}
};
//充值商品编号表
struct OrderInfo
@@ -1507,18 +1499,6 @@
    list        AwardListDay1;    //第1天奖励 [[物品ID,个数,装备定制ID], ...]
    list        AwardListDay2;    //第2天奖励 [[物品ID,个数,装备定制ID], ...]
    list        AwardListDay3;    //第3天奖励 [[物品ID,个数,装备定制ID], ...]
};
//等级奖励表
struct tagLVAward
{
    BYTE        _AwardID;    //奖励ID
    WORD        LV;    //等级
    WORD        LimitCnt;    //全服限制数量
    dict        Reward;    //奖励 {"职业":[[物品ID,个数],...], ...}
    BYTE        VIPLimit;    //需要VIP几
    list        VIPAward;    //vip奖励[[物品ID,个数],...]
};
//寻宝设定表
@@ -2218,87 +2198,6 @@
    BYTE        DayNum;    //第X天从1开始
    list        LoginAwardItemList;    //奖励列表[[物品ID,个数,是否拍品], ...]
    list        LoginAwardItemListEx;    //扩展奖励列表[[物品ID,个数,是否拍品], ...]
};
//登录奖励时间表
struct tagActLoginAward
{
    DWORD        _CfgID;    //配置ID
    char        StartDate;    //开启日期
    char        EndDate;    //结束日期
    WORD        AdvanceMinutes;    //前端提前X分钟展示活动
    BYTE        IsDayReset;    //是否每天重置
    BYTE        ResetType;    //重置类型,0-0点重置;1-5点重置
    WORD        LVLimit;    //限制等级
    list        TemplateID;    //模板编号
};
//登录奖励模板表
struct tagLoginAward
{
    BYTE        _TemplateID;    //模板ID
    BYTE        ActionType;    //活动条目ID
    DWORD        TotalTimes;    //可完成的总次数,0表示不限次数
    WORD        SingleTimes;    //单次领奖需要的次数
    char        Reward;    //奖励物品
};
//节日登录奖励时间表
struct tagActFeastLogin
{
    DWORD        _CfgID;    //配置ID
    char        StartDate;    //开启日期
    char        EndDate;    //结束日期
    WORD        LVLimit;    //限制等级
    dict        TemplateIDInfo;    //模板信息 {(世界等级A,B):奖励模板编号, ...}
};
//节日登录奖励模板表
struct tagActFeastLoginAward
{
    BYTE        _TemplateID;    //模板ID
    BYTE        DayNum;    //第X天从1开始
    list        LoginAwardItemList;    //奖励列表[[物品ID,个数,是否拍品], ...]
};
//节日祝福时间表
struct tagActFeastWish
{
    DWORD        _CfgID;    //配置ID
    char        StartDate;    //开启日期
    char        EndDate;    //结束日期
    WORD        LVLimit;    //限制等级
    BYTE        ResetType;    //重置类型,0-0点重置;1-5点重置
    dict        TemplateIDInfo;    //模板信息 {(世界等级A,B):模板编号, ...}
};
//节日祝福瓶模板表
struct tagActFeastWishBottle
{
    BYTE        _TemplateID;    //模板ID
    BYTE        WishBottleNum;    //祝福瓶编号
    WORD        NeedWishValue;    //单次领奖所需祝福值
    BYTE        ChooseTimeMax;    //最大可领奖次数
    dict        ChoosePrizeItem;    //选择奖励物品信息,选完为止 {记录索引:[物品ID,个数,是否拍品], ...}
    list        GoodItemIDList;    //需要广播的物品ID列表 [物品ID, ...]
    char        WorldNotifyKey;    //全服广播key,参数(玩家名, 物品ID, 物品数据, 个数,)
};
//节日祝福池模板表
struct tagActFeastWishPool
{
    BYTE        _TemplateID;    //模板ID
    list        WishPoolItemWeightInfo;    //祝福池产出物品权重 [[权重, [物品ID,个数]], ..]
    list        WishPoolClientItemShow;    //前端展示物品列表 [物品ID, ...]
    list        GoodItemIDList;    //需要广播的物品ID列表 [物品ID, ...]
    char        WorldNotifyKey;    //全服广播key,参数(玩家名, 物品ID, 物品数据, 个数,)
};
//新仙界盛典-全民来嗨表
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
@@ -474,18 +474,6 @@
PacketSubCMD_2 = 0x34
PacketCallFunc_2 = OnLianTiLVUp
;累计登陆礼
[PlayerLoginDayAward]
ScriptName = Player\PlayerLoginDayAward.py
Writer = alee
Releaser = alee
RegType = 0
RegisterPackCount = 1
PacketCMD_1 = 0xAA
PacketSubCMD_1 = 0x01
PacketCallFunc_1 = GetTotalLoginDayAward
;改名功能
[UpdatePlayerName]
ScriptName = Player\UpdatePlayerName.py
@@ -854,22 +842,6 @@
PacketCMD_2=
PacketSubCMD_2=
PacketCallFunc_2=
;节日祝福
[PlayerFeastWish]
ScriptName = Player\PlayerFeastWish.py
Writer = hxp
Releaser = hxp
RegType = 0
RegisterPackCount = 2
PacketCMD_1=0xAA
PacketSubCMD_1=0x10
PacketCallFunc_1=OnFeastWishBottleChooseItem
PacketCMD_2=0xAA
PacketSubCMD_2=0x11
PacketCallFunc_2=OnFeastWishPoolWish
;功能系统特权
[PlayerFuncSysPrivilege]
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -3297,8 +3297,6 @@
Def_PDict_PackDataSyncFightPower = "PackDataSyncFightPower"  # 本次上线打包数据同步时的战力,用于对比,只对比求余亿部分即可
Def_PDict_DayOnlineTime = "DayOnlineTime"  # 当日在线时长
Def_PDict_DayOnlineCalcTime = "DayOLCalcTime"        # 当日在线计算时间
Def_PDict_LVAwardGetRecord = "LVAwardGetRecord"  # 等级奖励领取信息记录,按二进制位标示
Def_PDict_LVAwardVIPGetRecord = "LVAwardVIPGetRecord"  # 等级奖励vip领取信息记录,按二进制位标示
Def_PDict_HistoryChargeAwardGetRecord = "HTotalGoldAwardRecord"  # 历史累计充值奖励领取信息记录,按二进制位标示
Def_PDict_CTGCountResetTime = "CTGCountResetTime"  # CTG次数重置时间time值
Def_PDict_CTGRealToday = "CTGRealToday"  # 当日真实货币充值Coin数 ,不含后台充值 - 今日
@@ -3515,28 +3513,11 @@
Def_PDict_TravelGridInfo = "TravelGridInfo_%s_%s"  # 格子信息,参数(行, 列) 事件ID*100+是否双倍*10+开启状态
Def_PDict_TravelState = "TravelState"  # 本盘游历记录,1-已领取景观奖励
#登录奖励运营活动
Def_PDict_LoginAwardID = "LoginAwardID"  # 玩家身上的BOSS复活活动ID,唯一标识,取活动开始日期time值
Def_PDict_LoginAwardCurTimes = "LoginAwardCurTimes_%s_%s" #当前完成次数 参数(第X天,模板ID)
Def_PDict_LoginAwardGotTimes = "LoginAwardGotTimes_%s_%s" #当前已领次数 参数(第X天,模板ID)
Def_PDict_LoginAwardWorldLV = "LoginAwardWorldLV%s" #活动开启时世界等级参数(第X天)
#幸运鉴宝
Def_PDict_LuckyTreasureID = "LuckyTreasureID"  # 玩家身上的活动ID,唯一标识,取活动开始日期time值
Def_PDict_LuckyTreasureFree = "LuckyTreasureFree" #是否免费过
Def_PDict_LuckyTreasurePoint = "LuckyTreasurePoint" #幸运值
Def_PDict_LuckyTreasureCnt = "LuckyTreasureCnt" #鉴宝次数
#节日登录活动
Def_PDict_FeastLoginID = "FeastLoginID"  # 玩家身上的活动ID,唯一标识,取活动开始日期time值
Def_PDict_FeastLoginState = "FeastLoginState"  # 活动登录记录,十位-已累计登录天数,个位-上次记录的登录天
Def_PDict_FeastLoginAwardState = "FeastLoginAwardState"  # 活动登录领奖记录,按天编号-1为索引进行二进制位运算记录当天是否已领奖
#节日祝福活动
Def_PDict_FeastWishID = "FeastWishID"  # 玩家身上的活动ID,唯一标识,取活动开始日期time值
Def_PDict_FeastWishTemplateID = "FeastWishTemplateID" # 玩家身上的模板ID
Def_PDict_FeastWishBottleValue = "FeastWishBottleValue_%s"  # 祝福瓶当前祝福值,参数(瓶子编号)
Def_PDict_FeastWishBottleGetState = "FeastWishBottleGetState_%s"  # 祝福瓶已领取记录,参数(瓶子编号),按记录索引二进制位存储是否已领取
#多日连充活动
Def_PDict_ManyDayRechargeID = "ManyDayRechargeID_%s"  # 玩家身上的活动ID,唯一标识,取活动开始日期time值,参数:(活动编号)
@@ -4814,7 +4795,7 @@
Def_RewardType_ShareGame, #每日分享奖励34
Def_RewardType_GoodGame, #游戏好评奖励35
Def_RewardType_CACTGBillboardDabiao, #跨服充值排行活动达标奖励36
Def_RewardType_FeastLogin, #节日登录奖励37
Def_RewardType_37,
Def_RewardType_38,
Def_RewardType_DailyRecharge, #永久每日累充奖励39
Def_RewardType_RechargeGold30, #1元送30倍充值券每日奖励40
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -9445,114 +9445,6 @@
#------------------------------------------------------
# AA 10 节日祝福瓶选择奖励物品 #tagCMFeastWishBottleChooseItem
class  tagCMFeastWishBottleChooseItem(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("BottleNum", c_ubyte),    #瓶子编号
                  ("RecordIndex", c_ubyte),    #物品索引,用于选择及记录是否已选择
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xAA
        self.SubCmd = 0x10
        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 = 0x10
        self.BottleNum = 0
        self.RecordIndex = 0
        return
    def GetLength(self):
        return sizeof(tagCMFeastWishBottleChooseItem)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// AA 10 节日祝福瓶选择奖励物品 //tagCMFeastWishBottleChooseItem:
                                Cmd:%s,
                                SubCmd:%s,
                                BottleNum:%d,
                                RecordIndex:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.BottleNum,
                                self.RecordIndex
                                )
        return DumpString
m_NAtagCMFeastWishBottleChooseItem=tagCMFeastWishBottleChooseItem()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFeastWishBottleChooseItem.Cmd,m_NAtagCMFeastWishBottleChooseItem.SubCmd))] = m_NAtagCMFeastWishBottleChooseItem
#------------------------------------------------------
# AA 11 节日祝福池祝福 #tagCMFeastWishPoolWish
class  tagCMFeastWishPoolWish(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("WishCount", c_ubyte),    #祝福次数
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xAA
        self.SubCmd = 0x11
        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 = 0x11
        self.WishCount = 0
        return
    def GetLength(self):
        return sizeof(tagCMFeastWishPoolWish)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// AA 11 节日祝福池祝福 //tagCMFeastWishPoolWish:
                                Cmd:%s,
                                SubCmd:%s,
                                WishCount:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.WishCount
                                )
        return DumpString
m_NAtagCMFeastWishPoolWish=tagCMFeastWishPoolWish()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFeastWishPoolWish.Cmd,m_NAtagCMFeastWishPoolWish.SubCmd))] = m_NAtagCMFeastWishPoolWish
#------------------------------------------------------
# AA 05 限时抢购预约 #tagCMFlashSaleAppointment
class  tagCMFlashSaleAppointment(Structure):
@@ -9610,58 +9502,6 @@
m_NAtagCMFlashSaleAppointment=tagCMFlashSaleAppointment()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFlashSaleAppointment.Cmd,m_NAtagCMFlashSaleAppointment.SubCmd))] = m_NAtagCMFlashSaleAppointment
#------------------------------------------------------
#AA 01 领取累计登陆礼 # tagCMGetTotalLoginDayAward
class  tagCMGetTotalLoginDayAward(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("Index", c_ubyte),    # 领取礼物
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xAA
        self.SubCmd = 0x01
        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 = 0x01
        self.Index = 0
        return
    def GetLength(self):
        return sizeof(tagCMGetTotalLoginDayAward)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''//AA 01 领取累计登陆礼 // tagCMGetTotalLoginDayAward:
                                Cmd:%s,
                                SubCmd:%s,
                                Index:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.Index
                                )
        return DumpString
m_NAtagCMGetTotalLoginDayAward=tagCMGetTotalLoginDayAward()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetTotalLoginDayAward.Cmd,m_NAtagCMGetTotalLoginDayAward.SubCmd))] = m_NAtagCMGetTotalLoginDayAward
#------------------------------------------------------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -7164,62 +7164,6 @@
#------------------------------------------------------
#A3 0B 玩家等级奖励领取记录信息 #tagMCPlayerLVAwardGetRecord
class  tagMCPlayerLVAwardGetRecord(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("LVAwardGetRecord", c_int),    # 按二进制位标示领取记录,每位对应的等级在配表中配置,服务端客户端对应
                  ("VIPAwardRecord", c_int),    # 按二进制位标示vip领取记录,每位对应的等级在配表中配置,服务端客户端对应
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA3
        self.SubCmd = 0x0B
        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 = 0xA3
        self.SubCmd = 0x0B
        self.LVAwardGetRecord = 0
        self.VIPAwardRecord = 0
        return
    def GetLength(self):
        return sizeof(tagMCPlayerLVAwardGetRecord)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''//A3 0B 玩家等级奖励领取记录信息 //tagMCPlayerLVAwardGetRecord:
                                Cmd:%s,
                                SubCmd:%s,
                                LVAwardGetRecord:%d,
                                VIPAwardRecord:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.LVAwardGetRecord,
                                self.VIPAwardRecord
                                )
        return DumpString
m_NAtagMCPlayerLVAwardGetRecord=tagMCPlayerLVAwardGetRecord()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCPlayerLVAwardGetRecord.Cmd,m_NAtagMCPlayerLVAwardGetRecord.SubCmd))] = m_NAtagMCPlayerLVAwardGetRecord
#------------------------------------------------------
#A3 0C 玩家各奖励类型领取记录信息 #tagMCPlayerRewardGetRecord
class  tagMCPlayerRewardGetRecord(Structure):
@@ -19608,433 +19552,6 @@
#------------------------------------------------------
# AA 0C 登录奖励活动信息 #tagMCActLoginAwardInfo
class  tagMCActLoginAwardAction(Structure):
    TemplateID = 0    #(DWORD TemplateID)// 模板ID
    ActionType = 0    #(WORD ActionType)// 活动类别
    TotalTimes = 0    #(DWORD TotalTimes)// 可完成的总次数,0表示不限次数
    SingleTimes = 0    #(DWORD SingleTimes)// 单次领奖需要的次数
    Count = 0    #(WORD Count)// 物品配置长度
    ItemInfo = ""    #(String ItemInfo)// 物品信息
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.TemplateID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ActionType,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.TotalTimes,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.SingleTimes,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.Count,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.ItemInfo,_pos = CommFunc.ReadString(_lpData, _pos,self.Count)
        return _pos
    def Clear(self):
        self.TemplateID = 0
        self.ActionType = 0
        self.TotalTimes = 0
        self.SingleTimes = 0
        self.Count = 0
        self.ItemInfo = ""
        return
    def GetLength(self):
        length = 0
        length += 4
        length += 2
        length += 4
        length += 4
        length += 2
        length += len(self.ItemInfo)
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteDWORD(data, self.TemplateID)
        data = CommFunc.WriteWORD(data, self.ActionType)
        data = CommFunc.WriteDWORD(data, self.TotalTimes)
        data = CommFunc.WriteDWORD(data, self.SingleTimes)
        data = CommFunc.WriteWORD(data, self.Count)
        data = CommFunc.WriteString(data, self.Count, self.ItemInfo)
        return data
    def OutputString(self):
        DumpString = '''
                                TemplateID:%d,
                                ActionType:%d,
                                TotalTimes:%d,
                                SingleTimes:%d,
                                Count:%d,
                                ItemInfo:%s
                                '''\
                                %(
                                self.TemplateID,
                                self.ActionType,
                                self.TotalTimes,
                                self.SingleTimes,
                                self.Count,
                                self.ItemInfo
                                )
        return DumpString
class  tagMCActLoginAwardDayInfo(Structure):
    ActCnt = 0    #(BYTE ActCnt)// 数量
    TemplateList = list()    #(vector<WORD> TemplateList)// 模板列表
    WorldLV = 0    #(WORD WorldLV)// 世界等级
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.ActCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.ActCnt):
            value,_pos=CommFunc.ReadWORD(_lpData,_pos)
            self.TemplateList.append(value)
        self.WorldLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        return _pos
    def Clear(self):
        self.ActCnt = 0
        self.TemplateList = list()
        self.WorldLV = 0
        return
    def GetLength(self):
        length = 0
        length += 1
        length += 2 * self.ActCnt
        length += 2
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteBYTE(data, self.ActCnt)
        for i in range(self.ActCnt):
            data = CommFunc.WriteWORD(data, self.TemplateList[i])
        data = CommFunc.WriteWORD(data, self.WorldLV)
        return data
    def OutputString(self):
        DumpString = '''
                                ActCnt:%d,
                                TemplateList:%s,
                                WorldLV:%d
                                '''\
                                %(
                                self.ActCnt,
                                "...",
                                self.WorldLV
                                )
        return DumpString
class  tagMCActLoginAwardInfo(Structure):
    Head = tagHead()
    StartDate = ""    #(char StartDate[10])// 开始日期 y-m-d
    EndtDate = ""    #(char EndtDate[10])// 结束日期 y-m-d
    AdvanceMinutes = 0    #(WORD AdvanceMinutes)// 提前显示分钟
    IsDayReset = 0    #(BYTE IsDayReset)//是否每天重置
    ResetType = 0    #(BYTE ResetType)// 重置类型,0-0点重置;1-5点重置
    LimitLV = 0    #(WORD LimitLV)// 限制等级
    DayCnt = 0    #(BYTE DayCnt)// 天数
    DayInfoList = list()    #(vector<tagMCActLoginAwardDayInfo> DayInfoList)// 每天模板
    TCount = 0    #(BYTE TCount)// 模板数
    ActionInfo = list()    #(vector<tagMCActLoginAwardAction> ActionInfo)// 活动模板信息
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x0C
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
        self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
        self.AdvanceMinutes,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.IsDayReset,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.ResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.DayCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.DayCnt):
            temDayInfoList = tagMCActLoginAwardDayInfo()
            _pos = temDayInfoList.ReadData(_lpData, _pos)
            self.DayInfoList.append(temDayInfoList)
        self.TCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.TCount):
            temActionInfo = tagMCActLoginAwardAction()
            _pos = temActionInfo.ReadData(_lpData, _pos)
            self.ActionInfo.append(temActionInfo)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x0C
        self.StartDate = ""
        self.EndtDate = ""
        self.AdvanceMinutes = 0
        self.IsDayReset = 0
        self.ResetType = 0
        self.LimitLV = 0
        self.DayCnt = 0
        self.DayInfoList = list()
        self.TCount = 0
        self.ActionInfo = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 10
        length += 10
        length += 2
        length += 1
        length += 1
        length += 2
        length += 1
        for i in range(self.DayCnt):
            length += self.DayInfoList[i].GetLength()
        length += 1
        for i in range(self.TCount):
            length += self.ActionInfo[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteString(data, 10, self.StartDate)
        data = CommFunc.WriteString(data, 10, self.EndtDate)
        data = CommFunc.WriteWORD(data, self.AdvanceMinutes)
        data = CommFunc.WriteBYTE(data, self.IsDayReset)
        data = CommFunc.WriteBYTE(data, self.ResetType)
        data = CommFunc.WriteWORD(data, self.LimitLV)
        data = CommFunc.WriteBYTE(data, self.DayCnt)
        for i in range(self.DayCnt):
            data = CommFunc.WriteString(data, self.DayInfoList[i].GetLength(), self.DayInfoList[i].GetBuffer())
        data = CommFunc.WriteBYTE(data, self.TCount)
        for i in range(self.TCount):
            data = CommFunc.WriteString(data, self.ActionInfo[i].GetLength(), self.ActionInfo[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                StartDate:%s,
                                EndtDate:%s,
                                AdvanceMinutes:%d,
                                IsDayReset:%d,
                                ResetType:%d,
                                LimitLV:%d,
                                DayCnt:%d,
                                DayInfoList:%s,
                                TCount:%d,
                                ActionInfo:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.StartDate,
                                self.EndtDate,
                                self.AdvanceMinutes,
                                self.IsDayReset,
                                self.ResetType,
                                self.LimitLV,
                                self.DayCnt,
                                "...",
                                self.TCount,
                                "..."
                                )
        return DumpString
m_NAtagMCActLoginAwardInfo=tagMCActLoginAwardInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActLoginAwardInfo.Head.Cmd,m_NAtagMCActLoginAwardInfo.Head.SubCmd))] = m_NAtagMCActLoginAwardInfo
#------------------------------------------------------
# AA 0D 登录奖励玩家活动信息 #tagMCActLoginAwardPlayerInfo
class  tagMCActLoginAwardTaskInfo(Structure):
    _pack_ = 1
    _fields_ = [
                  ("TemplateID", c_ushort),    # 模板ID
                  ("CurTimes", c_ushort),    #已完成次数
                  ("GotTimes", c_ushort),    #已领取次数
                  ]
    def __init__(self):
        self.Clear()
        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.TemplateID = 0
        self.CurTimes = 0
        self.GotTimes = 0
        return
    def GetLength(self):
        return sizeof(tagMCActLoginAwardTaskInfo)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// AA 0D 登录奖励玩家活动信息 //tagMCActLoginAwardPlayerInfo:
                                TemplateID:%d,
                                CurTimes:%d,
                                GotTimes:%d
                                '''\
                                %(
                                self.TemplateID,
                                self.CurTimes,
                                self.GotTimes
                                )
        return DumpString
class  tagMCActLoginAwardDayPlayerInfo(Structure):
    DayIndex = 0    #(DWORD DayIndex)//第X天
    ACount = 0    #(DWORD ACount)//任务条目数
    TaskList = list()    #(vector<tagMCActLoginAwardTaskInfo> TaskList)//活动完成次数信息
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.DayIndex,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ACount,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        for i in range(self.ACount):
            temTaskList = tagMCActLoginAwardTaskInfo()
            _pos = temTaskList.ReadData(_lpData, _pos)
            self.TaskList.append(temTaskList)
        return _pos
    def Clear(self):
        self.DayIndex = 0
        self.ACount = 0
        self.TaskList = list()
        return
    def GetLength(self):
        length = 0
        length += 4
        length += 4
        for i in range(self.ACount):
            length += self.TaskList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteDWORD(data, self.DayIndex)
        data = CommFunc.WriteDWORD(data, self.ACount)
        for i in range(self.ACount):
            data = CommFunc.WriteString(data, self.TaskList[i].GetLength(), self.TaskList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                DayIndex:%d,
                                ACount:%d,
                                TaskList:%s
                                '''\
                                %(
                                self.DayIndex,
                                self.ACount,
                                "..."
                                )
        return DumpString
class  tagMCActLoginAwardPlayerInfo(Structure):
    Head = tagHead()
    Count = 0    #(BYTE Count)
    DayInfoList = list()    #(vector<tagMCActLoginAwardDayPlayerInfo> DayInfoList)//活动完成次数信息
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x0D
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.Count):
            temDayInfoList = tagMCActLoginAwardDayPlayerInfo()
            _pos = temDayInfoList.ReadData(_lpData, _pos)
            self.DayInfoList.append(temDayInfoList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x0D
        self.Count = 0
        self.DayInfoList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        for i in range(self.Count):
            length += self.DayInfoList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.Count)
        for i in range(self.Count):
            data = CommFunc.WriteString(data, self.DayInfoList[i].GetLength(), self.DayInfoList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                Count:%d,
                                DayInfoList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.Count,
                                "..."
                                )
        return DumpString
m_NAtagMCActLoginAwardPlayerInfo=tagMCActLoginAwardPlayerInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActLoginAwardPlayerInfo.Head.Cmd,m_NAtagMCActLoginAwardPlayerInfo.Head.SubCmd))] = m_NAtagMCActLoginAwardPlayerInfo
#------------------------------------------------------
# AA 69 登录活动信息新 #tagMCActLoginNew
class  tagMCActLoginNewItem(Structure):
@@ -24203,667 +23720,6 @@
#------------------------------------------------------
# AA 42 节日登录奖励活动信息 #tagMCFeastLoginInfo
class  tagMCFeastLoginDayAwardItem(Structure):
    _pack_ = 1
    _fields_ = [
                  ("ItemID", c_int),
                  ("ItemCount", c_ushort),
                  ("IsBind", c_ubyte),
                  ]
    def __init__(self):
        self.Clear()
        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.ItemID = 0
        self.ItemCount = 0
        self.IsBind = 0
        return
    def GetLength(self):
        return sizeof(tagMCFeastLoginDayAwardItem)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// AA 42 节日登录奖励活动信息 //tagMCFeastLoginInfo:
                                ItemID:%d,
                                ItemCount:%d,
                                IsBind:%d
                                '''\
                                %(
                                self.ItemID,
                                self.ItemCount,
                                self.IsBind
                                )
        return DumpString
class  tagMCFeastLoginDayAward(Structure):
    DayNum = 0    #(BYTE DayNum)//天编号,从1开始,活动第X天只能领对应第X天的奖励
    AwardCount = 0    #(BYTE AwardCount)
    AwardItemList = list()    #(vector<tagMCFeastLoginDayAwardItem> AwardItemList)// 奖励物品列表
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.DayNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.AwardCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.AwardCount):
            temAwardItemList = tagMCFeastLoginDayAwardItem()
            _pos = temAwardItemList.ReadData(_lpData, _pos)
            self.AwardItemList.append(temAwardItemList)
        return _pos
    def Clear(self):
        self.DayNum = 0
        self.AwardCount = 0
        self.AwardItemList = list()
        return
    def GetLength(self):
        length = 0
        length += 1
        length += 1
        for i in range(self.AwardCount):
            length += self.AwardItemList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteBYTE(data, self.DayNum)
        data = CommFunc.WriteBYTE(data, self.AwardCount)
        for i in range(self.AwardCount):
            data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                DayNum:%d,
                                AwardCount:%d,
                                AwardItemList:%s
                                '''\
                                %(
                                self.DayNum,
                                self.AwardCount,
                                "..."
                                )
        return DumpString
class  tagMCFeastLoginInfo(Structure):
    Head = tagHead()
    StartDate = ""    #(char StartDate[10])// 开始日期 y-m-d
    EndtDate = ""    #(char EndtDate[10])// 结束日期 y-m-d
    LimitLV = 0    #(WORD LimitLV)// 限制等级
    DayCount = 0    #(BYTE DayCount)// 总共几天
    DayAwardList = list()    #(vector<tagMCFeastLoginDayAward> DayAwardList)//登录天奖励列表
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x42
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
        self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
        self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.DayCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.DayCount):
            temDayAwardList = tagMCFeastLoginDayAward()
            _pos = temDayAwardList.ReadData(_lpData, _pos)
            self.DayAwardList.append(temDayAwardList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x42
        self.StartDate = ""
        self.EndtDate = ""
        self.LimitLV = 0
        self.DayCount = 0
        self.DayAwardList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 10
        length += 10
        length += 2
        length += 1
        for i in range(self.DayCount):
            length += self.DayAwardList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteString(data, 10, self.StartDate)
        data = CommFunc.WriteString(data, 10, self.EndtDate)
        data = CommFunc.WriteWORD(data, self.LimitLV)
        data = CommFunc.WriteBYTE(data, self.DayCount)
        for i in range(self.DayCount):
            data = CommFunc.WriteString(data, self.DayAwardList[i].GetLength(), self.DayAwardList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                StartDate:%s,
                                EndtDate:%s,
                                LimitLV:%d,
                                DayCount:%d,
                                DayAwardList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.StartDate,
                                self.EndtDate,
                                self.LimitLV,
                                self.DayCount,
                                "..."
                                )
        return DumpString
m_NAtagMCFeastLoginInfo=tagMCFeastLoginInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFeastLoginInfo.Head.Cmd,m_NAtagMCFeastLoginInfo.Head.SubCmd))] = m_NAtagMCFeastLoginInfo
#------------------------------------------------------
# AA 39 节日登录奖励活动玩家信息 #tagMCFeastLoginPlayerInfo
class  tagMCFeastLoginPlayerInfo(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("LoginState", c_int),    # 是否已登录,按天索引0代表第1天记录当天是否已登录
                  ("LoginAward", c_int),    # 是否已领取,按天索引0代表第1天记录当天是否已领取
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xAA
        self.SubCmd = 0x39
        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 = 0x39
        self.LoginState = 0
        self.LoginAward = 0
        return
    def GetLength(self):
        return sizeof(tagMCFeastLoginPlayerInfo)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// AA 39 节日登录奖励活动玩家信息 //tagMCFeastLoginPlayerInfo:
                                Cmd:%s,
                                SubCmd:%s,
                                LoginState:%d,
                                LoginAward:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.LoginState,
                                self.LoginAward
                                )
        return DumpString
m_NAtagMCFeastLoginPlayerInfo=tagMCFeastLoginPlayerInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFeastLoginPlayerInfo.Cmd,m_NAtagMCFeastLoginPlayerInfo.SubCmd))] = m_NAtagMCFeastLoginPlayerInfo
#------------------------------------------------------
# AA 43 节日祝福活动信息 #tagMCFeastWishInfo
class  tagMCFeastWishBottleItem(Structure):
    _pack_ = 1
    _fields_ = [
                  ("RecordIndex", c_ubyte),    #物品索引,用于选择及记录是否已选择
                  ("ItemID", c_int),
                  ("ItemCount", c_ushort),
                  ("IsBind", c_ubyte),
                  ]
    def __init__(self):
        self.Clear()
        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.RecordIndex = 0
        self.ItemID = 0
        self.ItemCount = 0
        self.IsBind = 0
        return
    def GetLength(self):
        return sizeof(tagMCFeastWishBottleItem)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// AA 43 节日祝福活动信息 //tagMCFeastWishInfo:
                                RecordIndex:%d,
                                ItemID:%d,
                                ItemCount:%d,
                                IsBind:%d
                                '''\
                                %(
                                self.RecordIndex,
                                self.ItemID,
                                self.ItemCount,
                                self.IsBind
                                )
        return DumpString
class  tagMCFeastWishBottleInfo(Structure):
    BottleNum = 0    #(BYTE BottleNum)//瓶子编号
    NeedWishValue = 0    #(WORD NeedWishValue)//单次领奖所需祝福值
    ChooseTimeMax = 0    #(BYTE ChooseTimeMax)//最大可领奖次数
    ChoosePrizeCount = 0    #(BYTE ChoosePrizeCount)//可选择奖励个数
    ChoosePrizeList = list()    #(vector<tagMCFeastWishBottleItem> ChoosePrizeList)// 选择奖励物品列表,已选过的无法再选
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.BottleNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.NeedWishValue,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.ChooseTimeMax,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.ChoosePrizeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.ChoosePrizeCount):
            temChoosePrizeList = tagMCFeastWishBottleItem()
            _pos = temChoosePrizeList.ReadData(_lpData, _pos)
            self.ChoosePrizeList.append(temChoosePrizeList)
        return _pos
    def Clear(self):
        self.BottleNum = 0
        self.NeedWishValue = 0
        self.ChooseTimeMax = 0
        self.ChoosePrizeCount = 0
        self.ChoosePrizeList = list()
        return
    def GetLength(self):
        length = 0
        length += 1
        length += 2
        length += 1
        length += 1
        for i in range(self.ChoosePrizeCount):
            length += self.ChoosePrizeList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteBYTE(data, self.BottleNum)
        data = CommFunc.WriteWORD(data, self.NeedWishValue)
        data = CommFunc.WriteBYTE(data, self.ChooseTimeMax)
        data = CommFunc.WriteBYTE(data, self.ChoosePrizeCount)
        for i in range(self.ChoosePrizeCount):
            data = CommFunc.WriteString(data, self.ChoosePrizeList[i].GetLength(), self.ChoosePrizeList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                BottleNum:%d,
                                NeedWishValue:%d,
                                ChooseTimeMax:%d,
                                ChoosePrizeCount:%d,
                                ChoosePrizeList:%s
                                '''\
                                %(
                                self.BottleNum,
                                self.NeedWishValue,
                                self.ChooseTimeMax,
                                self.ChoosePrizeCount,
                                "..."
                                )
        return DumpString
class  tagMCFeastWishInfo(Structure):
    Head = tagHead()
    StartDate = ""    #(char StartDate[10])// 开始日期 y-m-d
    EndtDate = ""    #(char EndtDate[10])// 结束日期 y-m-d
    LimitLV = 0    #(WORD LimitLV)// 限制等级
    ResetType = 0    #(BYTE ResetType)// 重置类型,0-0点重置;1-5点开,5点重置;2-5点开,0点重置
    WishPoolShowCount = 0    #(BYTE WishPoolShowCount)//祝福池展示物品数
    WishPoolShowItemList = list()    #(vector<DWORD> WishPoolShowItemList)//祝福池展示物品ID列表
    BottleCount = 0    #(BYTE BottleCount)// 祝福瓶个数
    BottleInfoList = list()    #(vector<tagMCFeastWishBottleInfo> BottleInfoList)// 祝福瓶信息
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x43
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
        self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
        self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.ResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.WishPoolShowCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.WishPoolShowCount):
            value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
            self.WishPoolShowItemList.append(value)
        self.BottleCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.BottleCount):
            temBottleInfoList = tagMCFeastWishBottleInfo()
            _pos = temBottleInfoList.ReadData(_lpData, _pos)
            self.BottleInfoList.append(temBottleInfoList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x43
        self.StartDate = ""
        self.EndtDate = ""
        self.LimitLV = 0
        self.ResetType = 0
        self.WishPoolShowCount = 0
        self.WishPoolShowItemList = list()
        self.BottleCount = 0
        self.BottleInfoList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 10
        length += 10
        length += 2
        length += 1
        length += 1
        length += 4 * self.WishPoolShowCount
        length += 1
        for i in range(self.BottleCount):
            length += self.BottleInfoList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteString(data, 10, self.StartDate)
        data = CommFunc.WriteString(data, 10, self.EndtDate)
        data = CommFunc.WriteWORD(data, self.LimitLV)
        data = CommFunc.WriteBYTE(data, self.ResetType)
        data = CommFunc.WriteBYTE(data, self.WishPoolShowCount)
        for i in range(self.WishPoolShowCount):
            data = CommFunc.WriteDWORD(data, self.WishPoolShowItemList[i])
        data = CommFunc.WriteBYTE(data, self.BottleCount)
        for i in range(self.BottleCount):
            data = CommFunc.WriteString(data, self.BottleInfoList[i].GetLength(), self.BottleInfoList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                StartDate:%s,
                                EndtDate:%s,
                                LimitLV:%d,
                                ResetType:%d,
                                WishPoolShowCount:%d,
                                WishPoolShowItemList:%s,
                                BottleCount:%d,
                                BottleInfoList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.StartDate,
                                self.EndtDate,
                                self.LimitLV,
                                self.ResetType,
                                self.WishPoolShowCount,
                                "...",
                                self.BottleCount,
                                "..."
                                )
        return DumpString
m_NAtagMCFeastWishInfo=tagMCFeastWishInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFeastWishInfo.Head.Cmd,m_NAtagMCFeastWishInfo.Head.SubCmd))] = m_NAtagMCFeastWishInfo
#------------------------------------------------------
# AA 44 节日祝福活动玩家信息 #tagMCFeastWishPlayerInfo
class  tagMCFeastWishPlayerBottle(Structure):
    _pack_ = 1
    _fields_ = [
                  ("BottleNum", c_ubyte),    #瓶子编号
                  ("WishValue", c_ushort),    #当前可用祝福值
                  ("ChooseRecord", c_int),    #已选物品索引记录,与记录索引位运算判断是否已选择;累计已选择次数前端自己计算,通过该值可算出
                  ]
    def __init__(self):
        self.Clear()
        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.BottleNum = 0
        self.WishValue = 0
        self.ChooseRecord = 0
        return
    def GetLength(self):
        return sizeof(tagMCFeastWishPlayerBottle)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// AA 44 节日祝福活动玩家信息 //tagMCFeastWishPlayerInfo:
                                BottleNum:%d,
                                WishValue:%d,
                                ChooseRecord:%d
                                '''\
                                %(
                                self.BottleNum,
                                self.WishValue,
                                self.ChooseRecord
                                )
        return DumpString
class  tagMCFeastWishPlayerInfo(Structure):
    Head = tagHead()
    BottleCount = 0    #(BYTE BottleCount)// 祝福瓶个数
    PlayerBottleInfo = list()    #(vector<tagMCFeastWishPlayerBottle> PlayerBottleInfo)// 祝福瓶信息
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x44
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.BottleCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.BottleCount):
            temPlayerBottleInfo = tagMCFeastWishPlayerBottle()
            _pos = temPlayerBottleInfo.ReadData(_lpData, _pos)
            self.PlayerBottleInfo.append(temPlayerBottleInfo)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x44
        self.BottleCount = 0
        self.PlayerBottleInfo = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        for i in range(self.BottleCount):
            length += self.PlayerBottleInfo[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.BottleCount)
        for i in range(self.BottleCount):
            data = CommFunc.WriteString(data, self.PlayerBottleInfo[i].GetLength(), self.PlayerBottleInfo[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                BottleCount:%d,
                                PlayerBottleInfo:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.BottleCount,
                                "..."
                                )
        return DumpString
m_NAtagMCFeastWishPlayerInfo=tagMCFeastWishPlayerInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFeastWishPlayerInfo.Head.Cmd,m_NAtagMCFeastWishPlayerInfo.Head.SubCmd))] = m_NAtagMCFeastWishPlayerInfo
#------------------------------------------------------
# AA 45 节日祝福祝福结果 #tagMCFeastWishResult
class  tagMCFeastWishResult(Structure):
    Head = tagHead()
    AddWishValue = 0    #(WORD AddWishValue)// 本次增加的祝福值
    WishResultLen = 0    #(WORD WishResultLen)
    WishResult = ""    #(String WishResult)//  获得物品结果[[物品ID,个数,是否绑定], ...]
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x45
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.AddWishValue,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.WishResultLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.WishResult,_pos = CommFunc.ReadString(_lpData, _pos,self.WishResultLen)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x45
        self.AddWishValue = 0
        self.WishResultLen = 0
        self.WishResult = ""
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 2
        length += 2
        length += len(self.WishResult)
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteWORD(data, self.AddWishValue)
        data = CommFunc.WriteWORD(data, self.WishResultLen)
        data = CommFunc.WriteString(data, self.WishResultLen, self.WishResult)
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                AddWishValue:%d,
                                WishResultLen:%d,
                                WishResult:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.AddWishValue,
                                self.WishResultLen,
                                self.WishResult
                                )
        return DumpString
m_NAtagMCFeastWishResult=tagMCFeastWishResult()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFeastWishResult.Head.Cmd,m_NAtagMCFeastWishResult.Head.SubCmd))] = m_NAtagMCFeastWishResult
#------------------------------------------------------
# AA 02 首充信息 #tagSCFirstChargeInfo
class  tagSCFirstCharge(Structure):
@@ -26678,62 +25534,6 @@
m_NAtagMCSuperGiftInfo=tagMCSuperGiftInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCSuperGiftInfo.Cmd,m_NAtagMCSuperGiftInfo.SubCmd))] = m_NAtagMCSuperGiftInfo
#------------------------------------------------------
#AA 01 累计登陆天数信息 #tagMCTotalLoginDayCntInfo
class  tagMCTotalLoginDayCntInfo(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("DayCnt", c_ushort),    #累计登陆天数
                  ("AwardInfo", c_ushort),    #登陆领取情况
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xAA
        self.SubCmd = 0x01
        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 = 0x01
        self.DayCnt = 0
        self.AwardInfo = 0
        return
    def GetLength(self):
        return sizeof(tagMCTotalLoginDayCntInfo)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''//AA 01 累计登陆天数信息 //tagMCTotalLoginDayCntInfo:
                                Cmd:%s,
                                SubCmd:%s,
                                DayCnt:%d,
                                AwardInfo:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.DayCnt,
                                self.AwardInfo
                                )
        return DumpString
m_NAtagMCTotalLoginDayCntInfo=tagMCTotalLoginDayCntInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCTotalLoginDayCntInfo.Cmd,m_NAtagMCTotalLoginDayCntInfo.SubCmd))] = m_NAtagMCTotalLoginDayCntInfo
#------------------------------------------------------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DataRecordPack.py
@@ -321,28 +321,6 @@
                #SendEventPack("FightFail_%s" % mapID, failDRDict, checkBatServer=False)
    return
##累计登陆礼包
def DR_LoginDayAward(curPlayer, dayIndex):
    dataDict = {'PlayerID':curPlayer.GetPlayerID(),
                'PlayerName':curPlayer.GetPlayerName(),
                'AccID':curPlayer.GetAccID(),
                "DayIndex":dayIndex
                }
    SendEventPack("LoginDayAward", dataDict, curPlayer)
    return
##等级礼包
def DR_LVAward(curPlayer, awardID):
    dataDict = {'PlayerID':curPlayer.GetPlayerID(),
                'PlayerName':curPlayer.GetPlayerName(),
                'AccID':curPlayer.GetAccID(),
                "AwardID":awardID
                }
    SendEventPack("LVAward", dataDict, curPlayer)
    return
## GM执行命令操作
#  @param playerID: 玩家ID
#  @param playerName:玩家名字
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/FeastWish.py
File was deleted
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -1184,11 +1184,6 @@
                        ("DWORD", "AddMaxAtk", 0),
                        ),
                "LoginDayAward":(
                        ("BYTE", "DayID", 1),
                        ("dict", "Reward", 0),
                        ),
                "OrderInfo":(
                        ("char", "OrderInfo", 1),
                        ("char", "AppID", 1),
@@ -1230,15 +1225,6 @@
                        ("list", "AwardListDay1", 0),
                        ("list", "AwardListDay2", 0),
                        ("list", "AwardListDay3", 0),
                        ),
                "LVAward":(
                        ("BYTE", "AwardID", 1),
                        ("WORD", "LV", 0),
                        ("WORD", "LimitCnt", 0),
                        ("dict", "Reward", 0),
                        ("BYTE", "VIPLimit", 0),
                        ("list", "VIPAward", 0),
                        ),
                "TreasureSet":(
@@ -1772,66 +1758,6 @@
                        ("BYTE", "DayNum", 0),
                        ("list", "LoginAwardItemList", 0),
                        ("list", "LoginAwardItemListEx", 0),
                        ),
                "ActLoginAward":(
                        ("DWORD", "CfgID", 1),
                        ("char", "StartDate", 0),
                        ("char", "EndDate", 0),
                        ("WORD", "AdvanceMinutes", 0),
                        ("BYTE", "IsDayReset", 0),
                        ("BYTE", "ResetType", 0),
                        ("WORD", "LVLimit", 0),
                        ("list", "TemplateID", 0),
                        ),
                "LoginAward":(
                        ("BYTE", "TemplateID", 1),
                        ("BYTE", "ActionType", 0),
                        ("DWORD", "TotalTimes", 0),
                        ("WORD", "SingleTimes", 0),
                        ("char", "Reward", 0),
                        ),
                "ActFeastLogin":(
                        ("DWORD", "CfgID", 1),
                        ("char", "StartDate", 0),
                        ("char", "EndDate", 0),
                        ("WORD", "LVLimit", 0),
                        ("dict", "TemplateIDInfo", 0),
                        ),
                "ActFeastLoginAward":(
                        ("BYTE", "TemplateID", 1),
                        ("BYTE", "DayNum", 0),
                        ("list", "LoginAwardItemList", 0),
                        ),
                "ActFeastWish":(
                        ("DWORD", "CfgID", 1),
                        ("char", "StartDate", 0),
                        ("char", "EndDate", 0),
                        ("WORD", "LVLimit", 0),
                        ("BYTE", "ResetType", 0),
                        ("dict", "TemplateIDInfo", 0),
                        ),
                "ActFeastWishBottle":(
                        ("BYTE", "TemplateID", 1),
                        ("BYTE", "WishBottleNum", 0),
                        ("WORD", "NeedWishValue", 0),
                        ("BYTE", "ChooseTimeMax", 0),
                        ("dict", "ChoosePrizeItem", 0),
                        ("list", "GoodItemIDList", 0),
                        ("char", "WorldNotifyKey", 0),
                        ),
                "ActFeastWishPool":(
                        ("BYTE", "TemplateID", 1),
                        ("list", "WishPoolItemWeightInfo", 0),
                        ("list", "WishPoolClientItemShow", 0),
                        ("list", "GoodItemIDList", 0),
                        ("char", "WorldNotifyKey", 0),
                        ),
                "NewAllPeopleParty":(
@@ -3786,16 +3712,6 @@
    def GetAddMinAtk(self): return self.attrTuple[3] # 增加最小攻击 DWORD
    def GetAddMaxAtk(self): return self.attrTuple[4] # 增加最大攻击 DWORD
# 七天登录奖励表
class IPY_LoginDayAward():
    def __init__(self):
        self.attrTuple = None
        return
    def GetDayID(self): return self.attrTuple[0] # 天数 BYTE
    def GetReward(self): return self.attrTuple[1] # 奖励 {"职业":[[物品ID,个数],...], ...} dict
# 充值商品编号表
class IPY_OrderInfo():
    
@@ -3858,20 +3774,6 @@
    def GetAwardListDay1(self): return self.attrTuple[2] # 第1天奖励 [[物品ID,个数,装备定制ID], ...] list
    def GetAwardListDay2(self): return self.attrTuple[3] # 第2天奖励 [[物品ID,个数,装备定制ID], ...] list
    def GetAwardListDay3(self): return self.attrTuple[4] # 第3天奖励 [[物品ID,个数,装备定制ID], ...] list
# 等级奖励表
class IPY_LVAward():
    def __init__(self):
        self.attrTuple = None
        return
    def GetAwardID(self): return self.attrTuple[0] # 奖励ID BYTE
    def GetLV(self): return self.attrTuple[1] # 等级 WORD
    def GetLimitCnt(self): return self.attrTuple[2] # 全服限制数量 WORD
    def GetReward(self): return self.attrTuple[3] # 奖励 {"职业":[[物品ID,个数],...], ...} dict
    def GetVIPLimit(self): return self.attrTuple[4] # 需要VIP几 BYTE
    def GetVIPAward(self): return self.attrTuple[5] # vip奖励[[物品ID,个数],...] list
# 寻宝设定表
class IPY_TreasureSet():
@@ -4681,101 +4583,6 @@
    def GetLoginAwardItemList(self): return self.attrTuple[2] # 奖励列表[[物品ID,个数,是否拍品], ...] list
    def GetLoginAwardItemListEx(self): return self.attrTuple[3] # 扩展奖励列表[[物品ID,个数,是否拍品], ...] list
# 登录奖励时间表
class IPY_ActLoginAward():
    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 GetAdvanceMinutes(self): return self.attrTuple[3] # 前端提前X分钟展示活动 WORD
    def GetIsDayReset(self): return self.attrTuple[4] # 是否每天重置 BYTE
    def GetResetType(self): return self.attrTuple[5] # 重置类型,0-0点重置;1-5点重置 BYTE
    def GetLVLimit(self): return self.attrTuple[6] # 限制等级 WORD
    def GetTemplateID(self): return self.attrTuple[7] # 模板编号 list
# 登录奖励模板表
class IPY_LoginAward():
    def __init__(self):
        self.attrTuple = None
        return
    def GetTemplateID(self): return self.attrTuple[0] # 模板ID BYTE
    def GetActionType(self): return self.attrTuple[1] # 活动条目ID BYTE
    def GetTotalTimes(self): return self.attrTuple[2] # 可完成的总次数,0表示不限次数 DWORD
    def GetSingleTimes(self): return self.attrTuple[3] # 单次领奖需要的次数 WORD
    def GetReward(self): return self.attrTuple[4] # 奖励物品 char
# 节日登录奖励时间表
class IPY_ActFeastLogin():
    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 GetTemplateIDInfo(self): return self.attrTuple[4] # 模板信息 {(世界等级A,B):奖励模板编号, ...} dict
# 节日登录奖励模板表
class IPY_ActFeastLoginAward():
    def __init__(self):
        self.attrTuple = None
        return
    def GetTemplateID(self): return self.attrTuple[0] # 模板ID BYTE
    def GetDayNum(self): return self.attrTuple[1] # 第X天从1开始 BYTE
    def GetLoginAwardItemList(self): return self.attrTuple[2] # 奖励列表[[物品ID,个数,是否拍品], ...] list
# 节日祝福时间表
class IPY_ActFeastWish():
    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 GetTemplateIDInfo(self): return self.attrTuple[5] # 模板信息 {(世界等级A,B):模板编号, ...} dict
# 节日祝福瓶模板表
class IPY_ActFeastWishBottle():
    def __init__(self):
        self.attrTuple = None
        return
    def GetTemplateID(self): return self.attrTuple[0] # 模板ID BYTE
    def GetWishBottleNum(self): return self.attrTuple[1] # 祝福瓶编号 BYTE
    def GetNeedWishValue(self): return self.attrTuple[2] # 单次领奖所需祝福值 WORD
    def GetChooseTimeMax(self): return self.attrTuple[3] # 最大可领奖次数 BYTE
    def GetChoosePrizeItem(self): return self.attrTuple[4] # 选择奖励物品信息,选完为止 {记录索引:[物品ID,个数,是否拍品], ...} dict
    def GetGoodItemIDList(self): return self.attrTuple[5] # 需要广播的物品ID列表 [物品ID, ...] list
    def GetWorldNotifyKey(self): return self.attrTuple[6] # 全服广播key,参数(玩家名, 物品ID, 物品数据, 个数,) char
# 节日祝福池模板表
class IPY_ActFeastWishPool():
    def __init__(self):
        self.attrTuple = None
        return
    def GetTemplateID(self): return self.attrTuple[0] # 模板ID BYTE
    def GetWishPoolItemWeightInfo(self): return self.attrTuple[1] # 祝福池产出物品权重 [[权重, [物品ID,个数]], ..] list
    def GetWishPoolClientItemShow(self): return self.attrTuple[2] # 前端展示物品列表 [物品ID, ...] list
    def GetGoodItemIDList(self): return self.attrTuple[3] # 需要广播的物品ID列表 [物品ID, ...] list
    def GetWorldNotifyKey(self): return self.attrTuple[4] # 全服广播key,参数(玩家名, 物品ID, 物品数据, 个数,) char
# 新仙界盛典-全民来嗨表
class IPY_NewAllPeopleParty():
    
@@ -5379,12 +5186,10 @@
        self.__LoadFileData("Chests", onlyCheck)
        self.__LoadFileData("ChestsAward", onlyCheck)
        self.__LoadFileData("VIPKillNPC", onlyCheck)
        self.__LoadFileData("LoginDayAward", onlyCheck)
        self.__LoadFileData("OrderInfo", onlyCheck)
        self.__LoadFileData("CTG", onlyCheck)
        self.__LoadFileData("CTGSelectItem", onlyCheck)
        self.__LoadFileData("FirstCharge", onlyCheck)
        self.__LoadFileData("LVAward", onlyCheck)
        self.__LoadFileData("TreasureSet", onlyCheck)
        self.__LoadFileData("TreasureHouse", onlyCheck)
        self.__LoadFileData("TreasureItemLib", onlyCheck)
@@ -5440,13 +5245,6 @@
        self.__LoadFileData("ActTaskTemp", onlyCheck)
        self.__LoadFileData("ActLoginNew", onlyCheck)
        self.__LoadFileData("ActLoginNewAward", onlyCheck)
        self.__LoadFileData("ActLoginAward", onlyCheck)
        self.__LoadFileData("LoginAward", onlyCheck)
        self.__LoadFileData("ActFeastLogin", onlyCheck)
        self.__LoadFileData("ActFeastLoginAward", onlyCheck)
        self.__LoadFileData("ActFeastWish", onlyCheck)
        self.__LoadFileData("ActFeastWishBottle", onlyCheck)
        self.__LoadFileData("ActFeastWishPool", onlyCheck)
        self.__LoadFileData("NewAllPeopleParty", onlyCheck)
        self.__LoadFileData("NewAllPeoplePartyAward", onlyCheck)
        self.__LoadFileData("ActLuckyTreasure", onlyCheck)
@@ -6449,13 +6247,6 @@
        self.CheckLoadData("VIPKillNPC")
        return self.ipyVIPKillNPCCache[index]
    def GetLoginDayAwardCount(self):
        self.CheckLoadData("LoginDayAward")
        return self.ipyLoginDayAwardLen
    def GetLoginDayAwardByIndex(self, index):
        self.CheckLoadData("LoginDayAward")
        return self.ipyLoginDayAwardCache[index]
    def GetOrderInfoCount(self):
        self.CheckLoadData("OrderInfo")
        return self.ipyOrderInfoLen
@@ -6483,13 +6274,6 @@
    def GetFirstChargeByIndex(self, index):
        self.CheckLoadData("FirstCharge")
        return self.ipyFirstChargeCache[index]
    def GetLVAwardCount(self):
        self.CheckLoadData("LVAward")
        return self.ipyLVAwardLen
    def GetLVAwardByIndex(self, index):
        self.CheckLoadData("LVAward")
        return self.ipyLVAwardCache[index]
    def GetTreasureSetCount(self):
        self.CheckLoadData("TreasureSet")
@@ -6875,55 +6659,6 @@
    def GetActLoginNewAwardByIndex(self, index):
        self.CheckLoadData("ActLoginNewAward")
        return self.ipyActLoginNewAwardCache[index]
    def GetActLoginAwardCount(self):
        self.CheckLoadData("ActLoginAward")
        return self.ipyActLoginAwardLen
    def GetActLoginAwardByIndex(self, index):
        self.CheckLoadData("ActLoginAward")
        return self.ipyActLoginAwardCache[index]
    def GetLoginAwardCount(self):
        self.CheckLoadData("LoginAward")
        return self.ipyLoginAwardLen
    def GetLoginAwardByIndex(self, index):
        self.CheckLoadData("LoginAward")
        return self.ipyLoginAwardCache[index]
    def GetActFeastLoginCount(self):
        self.CheckLoadData("ActFeastLogin")
        return self.ipyActFeastLoginLen
    def GetActFeastLoginByIndex(self, index):
        self.CheckLoadData("ActFeastLogin")
        return self.ipyActFeastLoginCache[index]
    def GetActFeastLoginAwardCount(self):
        self.CheckLoadData("ActFeastLoginAward")
        return self.ipyActFeastLoginAwardLen
    def GetActFeastLoginAwardByIndex(self, index):
        self.CheckLoadData("ActFeastLoginAward")
        return self.ipyActFeastLoginAwardCache[index]
    def GetActFeastWishCount(self):
        self.CheckLoadData("ActFeastWish")
        return self.ipyActFeastWishLen
    def GetActFeastWishByIndex(self, index):
        self.CheckLoadData("ActFeastWish")
        return self.ipyActFeastWishCache[index]
    def GetActFeastWishBottleCount(self):
        self.CheckLoadData("ActFeastWishBottle")
        return self.ipyActFeastWishBottleLen
    def GetActFeastWishBottleByIndex(self, index):
        self.CheckLoadData("ActFeastWishBottle")
        return self.ipyActFeastWishBottleCache[index]
    def GetActFeastWishPoolCount(self):
        self.CheckLoadData("ActFeastWishPool")
        return self.ipyActFeastWishPoolLen
    def GetActFeastWishPoolByIndex(self, index):
        self.CheckLoadData("ActFeastWishPool")
        return self.ipyActFeastWishPoolCache[index]
    def GetNewAllPeoplePartyCount(self):
        self.CheckLoadData("NewAllPeopleParty")
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -35,12 +35,10 @@
import ChPyNetSendPack
import DataRecordPack
import PlayerBillboard
import PlayerLVAward
import PlayerGoldGift
import PlayerSignDay
import PlayerPrestigeSys
import PlayerFamily
import PlayerLoginDayAward
import PlayerGoldInvest
import PlayerActivity
import FBCommon
@@ -49,9 +47,6 @@
import PlayerFreeGoods
import GameFuncComm
import PlayerFamilyTaofa
import PlayerFeastLogin
import PlayerFeastWish
import PlayerActLogin
import PlayerTreasure
import IpyGameDataPY
import EventReport
@@ -490,9 +485,6 @@
    #PKģʽ
    #SyncPKModel(curPlayer)
    
    # 通知等级奖励领取记录
    PlayerLVAward.Sync_LVAwardGetRecordInfo(curPlayer)
    PlayerCoin.OnLogin(curPlayer)
    # 首充/天天首充/充值豪礼
    PlayerGoldGift.OnLogin(curPlayer)
@@ -516,9 +508,6 @@
    PlayerLianTi.OnPlayerLogin(curPlayer)
    
    PlayerTreasure.OnTreasureLogin(curPlayer)
    # 通知累计登陆礼
    PlayerLoginDayAward.OnLoginNotifyLoginDayAward(curPlayer)
    
    # 副本进入时间
    FBCommon.FBOnLogin(curPlayer)
@@ -579,12 +568,6 @@
    PlayerActYunshi.OnPlayerLogin(curPlayer)
    # 登录活动
    PlayerActLoginNew.OnPlayerLogin(curPlayer)
    # 节日登录活动
    PlayerFeastLogin.OnPlayerLogin(curPlayer)
    # 节日祝福活动
    PlayerFeastWish.OnPlayerLogin(curPlayer)
    # 登录奖励活动
    PlayerActLogin.OnLogin(curPlayer)
    # 炼器活动
    PlayerActLianqi.OnPlayerLogin(curPlayer)
    # 天帝礼包活动
@@ -3407,9 +3390,6 @@
    # 每日免费直购礼包
    elif rewardType == ChConfig.Def_RewardType_DayFreeGoldGift:
        PlayerDailyGiftbag.OnGetDailyFreeGiftbag(curPlayer)
    # 玩家等级奖励
    elif rewardType == ChConfig.Def_RewardType_LVAward:
        PlayerLVAward.GetPlayerLVAward(curPlayer, dataEx)
    # 首充礼包奖励
    elif rewardType == ChConfig.Def_RewardType_FirstCharge:
        PlayerGoldGift.GetPlayerFirstCharge(curPlayer, dataEx, dataExStr)
@@ -3428,12 +3408,6 @@
    # 领取许愿池奖励
    elif rewardType == ChConfig.Def_RewardType_WishingWell:
        PlayerWishingWell.DoGetWishingAward(curPlayer)
    # 领取登录奖励活动奖励
    elif rewardType == ChConfig.Def_RewardType_ActLoginAwardAct:
        PlayerActLogin.GetLoginAwardActionAward(curPlayer, dataEx, dataExStr)
    # 领取节日登录奖励
    elif rewardType == ChConfig.Def_RewardType_FeastLogin:
        PlayerFeastLogin.GetFeastLoginAward(curPlayer, dataEx)
    # 领取登录活动奖励
    elif rewardType == ChConfig.Def_RewardType_ActLoginAwardNew:
        PlayerActLoginNew.OnGetActLoginAward(curPlayer, dataEx, dataExStr)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActLogin.py
File was deleted
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
@@ -27,7 +27,6 @@
import PlayerCoin
import PlayerControl
import PlayerFamily
import PlayerLoginDayAward
import NPCCommon
import FunctionNPCCommon
import PlayerGoldGift
@@ -280,8 +279,6 @@
    
    #OnDay时清除每日签到的信息
    PlayerSignDay.SignDayOnDay(curPlayer)
    # 累计登陆礼包登陆次数刷新
    PlayerLoginDayAward.NotePlayerLoginDayCnt(curPlayer)
    
    #------------------------------------------------------------------------------ 
    
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFeastLogin.py
File was deleted
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFeastWish.py
File was deleted
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerLVAward.py
File was deleted
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerLoginDayAward.py
File was deleted
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -225,12 +225,9 @@
OperationActionName_FlashSale = "ActFlashSale" # 限时抢购活动
OperationActionName_WishingWell = "ActWishingWell" # 许愿池活动
OperationActionName_TotalRecharge = "ActTotalRecharge" # 累计充值活动
OperationActionName_LoginAward = "ActLoginAward" # 登录奖励活动
OperationActionName_CollectWords = "ActCollectWords" # 集字活动
OperationActionName_LuckyTreasure = "ActLuckyTreasure" # 幸运鉴宝活动
OperationActionName_GrowupBuy = "ActGrowupBuy" # 成长必买活动
OperationActionName_FeastLogin = "ActFeastLogin" # 节日登录活动
OperationActionName_FeastWish = "ActFeastWish" # 节日祝福活动
OperationActionName_ManyDayRecharge = "ActManyDayRecharge" # 多日连充活动
OperationActionName_SingleRecharge = "ActSingleRecharge" # 单笔累充活动
OperationActionName_Turntable = "ActTurntable" # 转盘活动
@@ -244,8 +241,6 @@
##节日活动类型列表 - 该类型无视开服天,日期到了就开启
#FeastOperationActionNameList = [OperationActionName_GrowupBuy,
#                                OperationActionName_FeastLogin,
#                                OperationActionName_FeastWish,
#                                ]
##所有的运营活动列表,含节日活动
#OperationActionNameList = [OperationActionName_ExpRate, 
@@ -274,8 +269,6 @@
#                                   OperationActionName_DailyGiftbag, OperationActionName_GrowupBuy,
#                                   OperationActionName_Turntable,
#                                   OperationActionName_CollectWords,
#                                   OperationActionName_FeastLogin,
#                                   OperationActionName_FeastWish,
#                                   OperationActionName_ManyDayRecharge, OperationActionName_SingleRecharge,
#                                   OperationActionName_GodGift,
#                                   ]
@@ -856,7 +849,7 @@
                                Def_UniversalGameRecType_Reward,    # 通用奖励表(TopBar)14
                                Def_UniversalGameRecType_ArenaBattleRecord, # 竞技场玩家挑战记录 15
                                Def_UniversalGameRecType_CrossActInfo, # 跨服运营活动信息记录 16
                                Def_UniversalGameRecType_FeastWish, #节日祝福大奖记录17
                                Def_UniversalGameRecType_17,
                                Def_UniversalGameRecType_ActWorldLVLimitInfo, # 运营活动世界等级限制开启信息 18
                                Def_UniversalGameRecType_19,
                                Def_UniversalGameRecType_20,