ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
@@ -474,9 +474,6 @@
                        ("BYTE", "ActNum", 0),
                        ("char", "StartDate", 0),
                        ("char", "EndDate", 0),
                        ("dict", "NotifyInfoStart", 0),
                        ("dict", "NotifyInfoEnd", 0),
                        ("list", "NotifyInfoLoop", 0),
                        ("BYTE", "IsDayReset", 0),
                        ),
@@ -617,6 +614,75 @@
                        ("WORD", "XiangongID", 0),
                        ),
                "CrossActLianqi":(
                        ("DWORD", "CfgID", 1),
                        ("char", "ActGroupName", 0),
                        ("BYTE", "ZoneID", 0),
                        ("list", "ServerIDRangeList", 0),
                        ("char", "StartDate", 0),
                        ("char", "EndDate", 0),
                        ("char", "JoinStartTime", 0),
                        ("char", "JoinEndTime", 0),
                        ("WORD", "LVLimit", 0),
                        ("WORD", "PersonalTemplateID", 0),
                        ),
                "ActLianqiBillTemp":(
                        ("DWORD", "TemplateID", 1),
                        ("BYTE", "Rank", 0),
                        ("list", "AwardItemList", 0),
                        ("DWORD", "NeedScore", 0),
                        ("dict", "ScoreAwardEx", 0),
                        ),
                "ActTimeFlow":(
                        ("DWORD", "FlowID", 1),
                        ("BYTE", "StartDay", 0),
                        ("BYTE", "StartHour", 0),
                        ("BYTE", "StartMinute", 0),
                        ("BYTE", "EndDay", 0),
                        ("BYTE", "EndHour", 0),
                        ("BYTE", "EndMinute", 0),
                        ("WORD", "StateValue", 0),
                        ),
                "ActBillboardAwardTemp":(
                        ("DWORD", "TemplateID", 1),
                        ("BYTE", "Rank", 0),
                        ("DWORD", "NeedValue", 0),
                        ("dict", "ValueAwardEx", 0),
                        ("list", "AwardItemList", 0),
                        ("list", "LeaderAwardItemList", 0),
                        ("list", "EliteAwardItemList", 0),
                        ),
                "ActGuess":(
                        ("DWORD", "TemplateID", 1),
                        ("DWORD", "AwardID", 0),
                        ("list", "RightRankList", 0),
                        ("list", "AwardItemList", 0),
                        ),
                "CrossActFamilyGCZ":(
                        ("DWORD", "CfgID", 1),
                        ("char", "ActGroupName", 0),
                        ("BYTE", "ZoneID", 0),
                        ("list", "ServerIDRangeList", 0),
                        ("char", "StartDate", 0),
                        ("char", "EndDate", 0),
                        ("BYTE", "JoinFamilyCnt", 0),
                        ("WORD", "ActFlowID", 0),
                        ("WORD", "GuessTemplateID", 0),
                        ("WORD", "PersonalTemplateID", 0),
                        ("WORD", "FamilyTemplateID", 0),
                        ),
                "CrossActFamilyGCZCampLV":(
                        ("DWORD", "CampLV", 1),
                        ("DWORD", "LVUPNeedExp", 0),
                        ("DWORD", "AddHPPer", 0),
                        ),
                "ActXianXiaMJ":(
                        ("DWORD", "CfgID", 1),
                        ("list", "PlatformList", 0),
@@ -741,7 +807,7 @@
                        ("list", "NotifyInfoLoop", 0),
                        ("WORD", "LVLimit", 0),
                        ("BYTE", "IsDayReset", 0),
                        ("list", "ShopTypeList", 0),
                        ("dict", "ShopTypeList", 0),
                        ),
                "Store":(
@@ -958,6 +1024,16 @@
                        ("BYTE", "ResetType", 0),
                        ),
                "ActLunhuidian":(
                        ("DWORD", "CfgID", 1),
                        ("list", "PlatformList", 0),
                        ("list", "ServerGroupIDList", 0),
                        ("BYTE", "ActNum", 0),
                        ("char", "StartDate", 0),
                        ("char", "EndDate", 0),
                        ("BYTE", "ResetType", 0),
                        ),
                "ActBuyCountGift":(
                        ("DWORD", "CfgID", 1),
                        ("list", "PlatformList", 0),
@@ -965,9 +1041,6 @@
                        ("BYTE", "ActNum", 0),
                        ("char", "StartDate", 0),
                        ("char", "EndDate", 0),
                        ("dict", "NotifyInfoStart", 0),
                        ("dict", "NotifyInfoEnd", 0),
                        ("list", "NotifyInfoLoop", 0),
                        ("BYTE", "IsDayReset", 0),
                        ("BYTE", "ResetType", 0),
                        ),
@@ -979,9 +1052,6 @@
                        ("BYTE", "ActNum", 0),
                        ("char", "StartDate", 0),
                        ("char", "EndDate", 0),
                        ("dict", "NotifyInfoStart", 0),
                        ("dict", "NotifyInfoEnd", 0),
                        ("list", "NotifyInfoLoop", 0),
                        ("BYTE", "IsDayReset", 0),
                        ("BYTE", "ResetType", 0),
                        ),
@@ -993,9 +1063,6 @@
                        ("BYTE", "ActNum", 0),
                        ("char", "StartDate", 0),
                        ("char", "EndDate", 0),
                        ("dict", "NotifyInfoStart", 0),
                        ("dict", "NotifyInfoEnd", 0),
                        ("list", "NotifyInfoLoop", 0),
                        ),
                "ActLoginAward":(
@@ -1877,10 +1944,7 @@
    def GetActNum(self): return self.attrTuple[3] # 活动分组编号, 活动类型 * 10 + 不同界面编号 BYTE
    def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
    def GetNotifyInfoStart(self): return self.attrTuple[6] # 全服提示信息 - 相对开始时间 dict
    def GetNotifyInfoEnd(self): return self.attrTuple[7] # 全服提示信息 - 相对结束时间 dict
    def GetNotifyInfoLoop(self): return self.attrTuple[8] # 全服提示信息 - 循环广播[间隔分钟, 广播key] list
    def GetIsDayReset(self): return self.attrTuple[9] # 是否每天重置 BYTE
    def GetIsDayReset(self): return self.attrTuple[6] # 是否每天重置 BYTE
# 集字活动时间表
class IPY_ActCollectWords():
@@ -2074,6 +2138,110 @@
    def GetScoreAwardEx(self): return self.attrTuple[4] # 达标积分额外奖励 {积分:[[物品ID,个数,是否拍品], ...], ...} dict
    def GetXiangongID(self): return self.attrTuple[5] # 晋升仙宫ID WORD
# 炼器活动跨服表
class IPY_CrossActLianqi():
    def __init__(self):
        self.attrTuple = None
        return
    def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
    def GetActGroupName(self): return self.attrTuple[1] # 活动组名(同组活动的名字需相同) char
    def GetZoneID(self): return self.attrTuple[2] # 组内分组编号 BYTE
    def GetServerIDRangeList(self): return self.attrTuple[3] # 活动的账号服务器ID范围列表 [[serverIDA, serverIDB], ...] list
    def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
    def GetJoinStartTime(self): return self.attrTuple[6] # 参与开始时间点 char
    def GetJoinEndTime(self): return self.attrTuple[7] # 参与结束时间点 char
    def GetLVLimit(self): return self.attrTuple[8] # 限制等级 WORD
    def GetPersonalTemplateID(self): return self.attrTuple[9] # 个人排行模板编号 WORD
# 炼器榜单模版表
class IPY_ActLianqiBillTemp():
    def __init__(self):
        self.attrTuple = None
        return
    def GetTemplateID(self): return self.attrTuple[0] # 模板编号 DWORD
    def GetRank(self): return self.attrTuple[1] # 名次 BYTE
    def GetAwardItemList(self): return self.attrTuple[2] # 奖励物品列表[[物品ID,个数,是否拍品], ...] list
    def GetNeedScore(self): return self.attrTuple[3] # 上榜所需积分 DWORD
    def GetScoreAwardEx(self): return self.attrTuple[4] # 达标积分额外奖励 {积分:[[物品ID,个数,是否拍品], ...], ...} dict
# 活动时间流程表
class IPY_ActTimeFlow():
    def __init__(self):
        self.attrTuple = None
        return
    def GetFlowID(self): return self.attrTuple[0] # DWORD
    def GetStartDay(self): return self.attrTuple[1] # 开始天 BYTE
    def GetStartHour(self): return self.attrTuple[2] # 开始时 BYTE
    def GetStartMinute(self): return self.attrTuple[3] # 开始分 BYTE
    def GetEndDay(self): return self.attrTuple[4] # 结束天 BYTE
    def GetEndHour(self): return self.attrTuple[5] # 结束时 BYTE
    def GetEndMinute(self): return self.attrTuple[6] # 结束分 BYTE
    def GetStateValue(self): return self.attrTuple[7] # ״ֵ̬ WORD
# 活动榜单奖励模版表
class IPY_ActBillboardAwardTemp():
    def __init__(self):
        self.attrTuple = None
        return
    def GetTemplateID(self): return self.attrTuple[0] # 模板编号 DWORD
    def GetRank(self): return self.attrTuple[1] # 名次 BYTE
    def GetNeedValue(self): return self.attrTuple[2] # 上榜所需值 DWORD
    def GetValueAwardEx(self): return self.attrTuple[3] # 达标值额外奖励 {值:[[物品ID,个数,是否拍品], ...], ...} dict
    def GetAwardItemList(self): return self.attrTuple[4] # 奖励物品列表[[物品ID,个数,是否拍品], ...] list
    def GetLeaderAwardItemList(self): return self.attrTuple[5] # 仙盟榜盟主奖励物品信息列表[[物品ID,个数,是否拍品], ...] list
    def GetEliteAwardItemList(self): return self.attrTuple[6] # 仙盟榜精英奖励物品信息列表[[物品ID,个数,是否拍品], ...] list
# 活动竞猜表
class IPY_ActGuess():
    def __init__(self):
        self.attrTuple = None
        return
    def GetTemplateID(self): return self.attrTuple[0] # 模板编号 DWORD
    def GetAwardID(self): return self.attrTuple[1] # 奖励ID DWORD
    def GetRightRankList(self): return self.attrTuple[2] # 猜对名次列表 list
    def GetAwardItemList(self): return self.attrTuple[3] # 对应奖励列表 [[物品ID,个数,是否拍品], ...] list
# 仙盟攻城战活动表
class IPY_CrossActFamilyGCZ():
    def __init__(self):
        self.attrTuple = None
        return
    def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
    def GetActGroupName(self): return self.attrTuple[1] # 活动组名(同组活动的名字需相同) char
    def GetZoneID(self): return self.attrTuple[2] # 组内分组编号 BYTE
    def GetServerIDRangeList(self): return self.attrTuple[3] # 活动的服务器ID范围列表 [[serverIDA, serverIDB], ...] list
    def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
    def GetJoinFamilyCnt(self): return self.attrTuple[6] # 参与仙盟数 BYTE
    def GetActFlowID(self): return self.attrTuple[7] # 活动流程ID,对应H.活动时间流程表 WORD
    def GetGuessTemplateID(self): return self.attrTuple[8] # 竞猜奖励模版,对应H.活动竞猜表 WORD
    def GetPersonalTemplateID(self): return self.attrTuple[9] # 个人伤害排行奖励模版,对应H.活动榜单奖励模版表 WORD
    def GetFamilyTemplateID(self): return self.attrTuple[10] # 仙盟积分排行奖励模版,对应H.活动榜单奖励模版表 WORD
# 仙盟攻城战大本营等级表
class IPY_CrossActFamilyGCZCampLV():
    def __init__(self):
        self.attrTuple = None
        return
    def GetCampLV(self): return self.attrTuple[0] # 大本营等级 DWORD
    def GetLVUPNeedExp(self): return self.attrTuple[1] # 升下一级所需经验 DWORD
    def GetAddHPPer(self): return self.attrTuple[2] # 生命累计总加成百分比 DWORD
# 仙匣秘境活动时间表
class IPY_ActXianXiaMJ():
    
@@ -2249,7 +2417,7 @@
    def GetNotifyInfoLoop(self): return self.attrTuple[11] # 全服提示信息 - 循环广播[间隔分钟, 广播key] list
    def GetLVLimit(self): return self.attrTuple[12] # 限制等级 WORD
    def GetIsDayReset(self): return self.attrTuple[13] # 是否每天重置 BYTE
    def GetShopTypeList(self): return self.attrTuple[14] # 商店类型列表 list
    def GetShopTypeList(self): return self.attrTuple[14] # 商店类型列表 dict
# 商城表
class IPY_Store():
@@ -2575,6 +2743,21 @@
    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
    def GetResetType(self): return self.attrTuple[6] # 重置类型,0-0点重置;1-5点重置 BYTE
# 轮回殿活动时间表
class IPY_ActLunhuidian():
    def __init__(self):
        self.attrTuple = None
        return
    def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
    def GetPlatformList(self): return self.attrTuple[1] # 活动平台列表["平台A", "平台A", ...],配[]代表所有 list
    def GetServerGroupIDList(self): return self.attrTuple[2] # 服务器ID列表 list
    def GetActNum(self): return self.attrTuple[3] # 活动分组编号, 活动类型 * 10 + 不同界面编号 BYTE
    def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
    def GetResetType(self): return self.attrTuple[6] # 重置类型,0-0点重置;1-5点重置 BYTE
# 购买次数礼包活动时间表
class IPY_ActBuyCountGift():
    
@@ -2588,11 +2771,8 @@
    def GetActNum(self): return self.attrTuple[3] # 活动分组编号, 活动类型 * 10 + 不同界面编号 BYTE
    def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
    def GetNotifyInfoStart(self): return self.attrTuple[6] # 全服提示信息 - 相对开始时间 dict
    def GetNotifyInfoEnd(self): return self.attrTuple[7] # 全服提示信息 - 相对结束时间 dict
    def GetNotifyInfoLoop(self): return self.attrTuple[8] # 全服提示信息 - 循环广播[间隔分钟, 广播key] list
    def GetIsDayReset(self): return self.attrTuple[9] # 是否每天重置 BYTE
    def GetResetType(self): return self.attrTuple[10] # 重置类型,0-0点重置;1-5点重置 BYTE
    def GetIsDayReset(self): return self.attrTuple[6] # 是否每天重置 BYTE
    def GetResetType(self): return self.attrTuple[7] # 重置类型,0-0点重置;1-5点重置 BYTE
# 任务活动时间表
class IPY_ActTask():
@@ -2607,11 +2787,8 @@
    def GetActNum(self): return self.attrTuple[3] # 活动分组编号, 活动类型 * 10 + 不同界面编号 BYTE
    def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
    def GetNotifyInfoStart(self): return self.attrTuple[6] # 全服提示信息 - 相对开始时间 dict
    def GetNotifyInfoEnd(self): return self.attrTuple[7] # 全服提示信息 - 相对结束时间 dict
    def GetNotifyInfoLoop(self): return self.attrTuple[8] # 全服提示信息 - 循环广播[间隔分钟, 广播key] list
    def GetIsDayReset(self): return self.attrTuple[9] # 是否每天重置 BYTE
    def GetResetType(self): return self.attrTuple[10] # 重置类型,0-0点重置;1-5点重置 BYTE
    def GetIsDayReset(self): return self.attrTuple[6] # 是否每天重置 BYTE
    def GetResetType(self): return self.attrTuple[7] # 重置类型,0-0点重置;1-5点重置 BYTE
# 登录活动奖励时间表新
class IPY_ActLoginNew():
@@ -2625,10 +2802,7 @@
    def GetServerGroupIDList(self): return self.attrTuple[2] # 服务器ID列表 list
    def GetActNum(self): return self.attrTuple[3] # 活动分组编号, 活动类型 * 10 + 不同界面编号 BYTE
    def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
    def GetNotifyInfoStart(self): return self.attrTuple[6] # 全服提示信息 - 相对开始时间 dict
    def GetNotifyInfoEnd(self): return self.attrTuple[7] # 全服提示信息 - 相对结束时间 dict
    def GetNotifyInfoLoop(self): return self.attrTuple[8] # 全服提示信息 - 循环广播[间隔分钟, 广播key] list
    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
# 登录奖励时间表
class IPY_ActLoginAward():
@@ -3047,6 +3221,13 @@
        self.__LoadFileData("ActGubao", onlyCheck)
        self.__LoadFileData("CrossActGubao", onlyCheck)
        self.__LoadFileData("ActGubaoBillTemp", onlyCheck)
        self.__LoadFileData("CrossActLianqi", onlyCheck)
        self.__LoadFileData("ActLianqiBillTemp", onlyCheck)
        self.__LoadFileData("ActTimeFlow", onlyCheck)
        self.__LoadFileData("ActBillboardAwardTemp", onlyCheck)
        self.__LoadFileData("ActGuess", onlyCheck)
        self.__LoadFileData("CrossActFamilyGCZ", onlyCheck)
        self.__LoadFileData("CrossActFamilyGCZCampLV", onlyCheck)
        self.__LoadFileData("ActXianXiaMJ", onlyCheck)
        self.__LoadFileData("CrossActXianXiaMJ", onlyCheck)
        self.__LoadFileData("ActXianXiaMJBillTemp", onlyCheck)
@@ -3079,6 +3260,7 @@
        self.__LoadFileData("CrossFamilyFlagwarZoneMap", onlyCheck)
        self.__LoadFileData("ActWeekParty", onlyCheck)
        self.__LoadFileData("ActYunshi", onlyCheck)
        self.__LoadFileData("ActLunhuidian", onlyCheck)
        self.__LoadFileData("ActBuyCountGift", onlyCheck)
        self.__LoadFileData("ActTask", onlyCheck)
        self.__LoadFileData("ActLoginNew", onlyCheck)
@@ -3181,8 +3363,12 @@
                        attrValue = value
                    elif fieldType == "dict":
                        attrValue = self.__StrToDict(value)
                        if type(attrValue) != dict:
                            raise
                    elif fieldType == "list":
                        attrValue = self.__StrToList(value)
                        if type(attrValue) not in [list, tuple]:
                            raise
                    elif fieldType == "eval":
                        attrValue = self.__StrToEval(value)
                    elif fieldType == "float":
@@ -3706,6 +3892,55 @@
        self.CheckLoadData("ActGubaoBillTemp")
        return self.ipyActGubaoBillTempCache[index]
    def GetCrossActLianqiCount(self):
        self.CheckLoadData("CrossActLianqi")
        return self.ipyCrossActLianqiLen
    def GetCrossActLianqiByIndex(self, index):
        self.CheckLoadData("CrossActLianqi")
        return self.ipyCrossActLianqiCache[index]
    def GetActLianqiBillTempCount(self):
        self.CheckLoadData("ActLianqiBillTemp")
        return self.ipyActLianqiBillTempLen
    def GetActLianqiBillTempByIndex(self, index):
        self.CheckLoadData("ActLianqiBillTemp")
        return self.ipyActLianqiBillTempCache[index]
    def GetActTimeFlowCount(self):
        self.CheckLoadData("ActTimeFlow")
        return self.ipyActTimeFlowLen
    def GetActTimeFlowByIndex(self, index):
        self.CheckLoadData("ActTimeFlow")
        return self.ipyActTimeFlowCache[index]
    def GetActBillboardAwardTempCount(self):
        self.CheckLoadData("ActBillboardAwardTemp")
        return self.ipyActBillboardAwardTempLen
    def GetActBillboardAwardTempByIndex(self, index):
        self.CheckLoadData("ActBillboardAwardTemp")
        return self.ipyActBillboardAwardTempCache[index]
    def GetActGuessCount(self):
        self.CheckLoadData("ActGuess")
        return self.ipyActGuessLen
    def GetActGuessByIndex(self, index):
        self.CheckLoadData("ActGuess")
        return self.ipyActGuessCache[index]
    def GetCrossActFamilyGCZCount(self):
        self.CheckLoadData("CrossActFamilyGCZ")
        return self.ipyCrossActFamilyGCZLen
    def GetCrossActFamilyGCZByIndex(self, index):
        self.CheckLoadData("CrossActFamilyGCZ")
        return self.ipyCrossActFamilyGCZCache[index]
    def GetCrossActFamilyGCZCampLVCount(self):
        self.CheckLoadData("CrossActFamilyGCZCampLV")
        return self.ipyCrossActFamilyGCZCampLVLen
    def GetCrossActFamilyGCZCampLVByIndex(self, index):
        self.CheckLoadData("CrossActFamilyGCZCampLV")
        return self.ipyCrossActFamilyGCZCampLVCache[index]
    def GetActXianXiaMJCount(self):
        self.CheckLoadData("ActXianXiaMJ")
        return self.ipyActXianXiaMJLen
@@ -3930,6 +4165,13 @@
        self.CheckLoadData("ActYunshi")
        return self.ipyActYunshiCache[index]
    def GetActLunhuidianCount(self):
        self.CheckLoadData("ActLunhuidian")
        return self.ipyActLunhuidianLen
    def GetActLunhuidianByIndex(self, index):
        self.CheckLoadData("ActLunhuidian")
        return self.ipyActLunhuidianCache[index]
    def GetActBuyCountGiftCount(self):
        self.CheckLoadData("ActBuyCountGift")
        return self.ipyActBuyCountGiftLen