#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#-------------------------------------------------------------------------------
|
#
|
##@package
|
#
|
# @todo:¶ÁÈ¡PY±í
|
# @author hxp
|
# @date 2018-05-10
|
# @version 1.0
|
#
|
# ÏêϸÃèÊö: ¶ÁÈ¡PY±í
|
#
|
#-------------------------------------------------------------------------------
|
#"""Version = 2018-05-10 12:00"""
|
#-------------------------------------------------------------------------------
|
|
import FormulaControl
|
import ChConfig
|
import LogUI
|
|
import hashlib
|
import os
|
|
'''±í½á¹¹¶¨Òå×Öµä
|
{
|
±íÃû:(
|
(×Ö¶ÎÀàÐÍ, ×Ö¶ÎÃû, ÊÇ·ñ²éѯË÷Òý),
|
...
|
),
|
...
|
}
|
'''
|
Def_IpyTable = {
|
"FuncConfig":(
|
("char", "Key", 1),
|
("char", "Numerical1", 0),
|
("char", "Numerical2", 0),
|
("char", "Numerical3", 0),
|
("char", "Numerical4", 0),
|
("char", "Numerical5", 0),
|
),
|
|
"CreateRoleLimitServer":(
|
("list", "LimitServerGroupIDRangeList", 0),
|
("list", "LimitServerGroupIDList", 0),
|
),
|
|
"WorldLV":(
|
("WORD", "WorldLV", 1),
|
("DWORD", "OpenServerSecond", 0),
|
),
|
|
"Family":(
|
("BYTE", "FamilyLV", 1),
|
("WORD", "MemberCnt", 0),
|
("BYTE", "DeputyLeaderCnt", 0),
|
("BYTE", "EliteCnt", 0),
|
("DWORD", "NeedMoney", 0),
|
("DWORD", "WeekMissionMoneyMax", 0),
|
("BYTE", "BossFBCnt", 0),
|
),
|
|
"MarketQuery":(
|
("WORD", "QueryType", 1),
|
("dict", "LimitInfo", 0),
|
),
|
|
"AuctionItem":(
|
("DWORD", "AuctionItemID", 1),
|
("BYTE", "NoticeSaleMinutes", 0),
|
("WORD", "FamilySaleMinutes", 0),
|
("WORD", "WorldSaleMinutes", 0),
|
("WORD", "BasePrice", 0),
|
("WORD", "BuyoutPrice", 0),
|
("WORD", "BiddingAdd", 0),
|
("BYTE", "NeedWorldNotify", 0),
|
("BYTE", "Sortpriority", 0),
|
),
|
|
"AuctionSystemItem":(
|
("DWORD", "CfgID", 1),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("char", "StartTime", 0),
|
("char", "EndTime", 0),
|
("list", "WorldLVRange", 0),
|
("list", "AddRandSecondRange", 0),
|
("WORD", "ReplenishCDMinutes", 0),
|
("BYTE", "ReplenishAuctionCount", 0),
|
("DWORD", "ReplenishItemID", 0),
|
("list", "ReplenishEquipInfo", 0),
|
("list", "ReplenishEquipPlaces", 0),
|
("BYTE", "AuctionCount", 0),
|
("list", "RandMinuteRange", 0),
|
("list", "ItemCountWeightList", 0),
|
("list", "AuctionItemWeightList", 0),
|
("list", "RandMailKeyList", 0),
|
),
|
|
"DailyAction":(
|
("DWORD", "DailyID", 1),
|
("dict", "OpenTimeDict", 0),
|
("DWORD", "Duration", 0),
|
("dict", "NotifyInfo", 0),
|
),
|
|
"DailyActionCustom":(
|
("DWORD", "ID", 0),
|
("BYTE", "OpenServerWeek", 1),
|
("DWORD", "OpenServerDay", 0),
|
("BYTE", "DailyID", 0),
|
("list", "OpenTimeList", 0),
|
("DWORD", "Duration", 0),
|
("dict", "NotifyInfo", 0),
|
),
|
|
"DailyActionCustomMix":(
|
("DWORD", "ID", 0),
|
("DWORD", "MixServerDay", 1),
|
("BYTE", "DailyID", 0),
|
("list", "OpenTimeList", 0),
|
("DWORD", "Duration", 0),
|
("dict", "NotifyInfo", 0),
|
),
|
|
"FBStateTime":(
|
("DWORD", "ID", 1),
|
("DWORD", "DataMapID", 0),
|
("BYTE", "StartWeekday", 0),
|
("BYTE", "StartHour", 0),
|
("BYTE", "StartMinute", 0),
|
("BYTE", "EndHour", 0),
|
("BYTE", "EndMinute", 0),
|
("BYTE", "CanEnter", 0),
|
("BYTE", "StateValue", 0),
|
("dict", "NotifyInfoDict", 0),
|
),
|
|
"FBStateTimeCustom":(
|
("DWORD", "ID", 0),
|
("BYTE", "OpenServerWeek", 1),
|
("DWORD", "OpenServerDay", 0),
|
("DWORD", "DataMapID", 0),
|
("BYTE", "StartHour", 0),
|
("BYTE", "StartMinute", 0),
|
("BYTE", "EndHour", 0),
|
("BYTE", "EndMinute", 0),
|
("BYTE", "CanEnter", 0),
|
("BYTE", "StateValue", 0),
|
("dict", "NotifyInfoDict", 0),
|
),
|
|
"FBStateTimeCustomMix":(
|
("DWORD", "ID", 0),
|
("DWORD", "MixServerDay", 1),
|
("DWORD", "DataMapID", 0),
|
("BYTE", "StartHour", 0),
|
("BYTE", "StartMinute", 0),
|
("BYTE", "EndHour", 0),
|
("BYTE", "EndMinute", 0),
|
("BYTE", "CanEnter", 0),
|
("BYTE", "StateValue", 0),
|
("dict", "NotifyInfoDict", 0),
|
),
|
|
"FBFunc":(
|
("DWORD", "DataMapID", 1),
|
("WORD", "HelpPoint", 0),
|
),
|
|
"FBLine":(
|
("DWORD", "DataMapID", 1),
|
("BYTE", "LineID", 1),
|
("DWORD", "MapID", 0),
|
),
|
|
"FBHelpBattle":(
|
("DWORD", "DataMapID", 1),
|
("BYTE", "LineID", 1),
|
("DWORD", "FightPowerMin", 0),
|
("DWORD", "FightPowerMax", 0),
|
("WORD", "LVLimit", 0),
|
("list", "DayFreeHelpCount", 0),
|
),
|
|
"ChinMap":(
|
("DWORD", "MapID", 1),
|
("char", "MapName", 0),
|
("BYTE", "MapFBType", 0),
|
("BYTE", "TeamLimit", 0),
|
),
|
|
"BOSSInfo":(
|
("DWORD", "NPCID", 1),
|
("DWORD", "MapID", 0),
|
("char", "RefreshTime", 0),
|
("list", "LVLimit", 0),
|
("BYTE", "DiffPer", 0),
|
("BYTE", "NoUpdataCnt", 0),
|
("DWORD", "StoneNPCID", 0),
|
("WORD", "RebornPreNotifyTime", 0),
|
("char", "SourceName", 0),
|
("BYTE", "CanAssist", 0),
|
),
|
|
"BOSSFirstKill":(
|
("DWORD", "NPCID", 1),
|
("list", "ServerFirstKillPlayerAward", 0),
|
),
|
|
"QuestionBank":(
|
("DWORD", "ID", 1),
|
("char", "Answer", 0),
|
),
|
|
"FamilyRedPack":(
|
("WORD", "ID", 1),
|
("WORD", "GetType", 0),
|
("WORD", "MoneyNum", 0),
|
("BYTE", "MoneyType", 0),
|
("BYTE", "PacketCnt", 0),
|
("BYTE", "LeaderOwn", 0),
|
("char", "PacketOpenTime", 0),
|
("BYTE", "ValidMinutes", 0),
|
),
|
|
"ActFeastRedPacket":(
|
("DWORD", "CfgID", 1),
|
("char", "ActMark", 0),
|
("list", "PlatformList", 0),
|
("list", "ServerGroupIDList", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("BYTE", "IsDayReset", 0),
|
("BYTE", "ResetType", 0),
|
("list", "RedPacketIDList", 0),
|
("WORD", "LVLimit", 0),
|
),
|
|
"ActFeastLogin":(
|
("DWORD", "CfgID", 1),
|
("char", "ActMark", 0),
|
("list", "PlatformList", 0),
|
("list", "ServerGroupIDList", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
),
|
|
"ActFeastWish":(
|
("DWORD", "CfgID", 1),
|
("char", "ActMark", 0),
|
("list", "PlatformList", 0),
|
("list", "ServerGroupIDList", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("BYTE", "ResetType", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("list", "NotifyInfoLoop", 0),
|
),
|
|
"ActFeastTravel":(
|
("DWORD", "CfgID", 1),
|
("char", "ActMark", 0),
|
("list", "PlatformList", 0),
|
("list", "ServerGroupIDList", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("BYTE", "ResetType", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("list", "NotifyInfoLoop", 0),
|
),
|
|
"FuncOpenLV":(
|
("DWORD", "FuncId", 1),
|
("DWORD", "LimitLV", 0),
|
("DWORD", "LimitMagicWeapon", 0),
|
("WORD", "LimiRealmLV", 0),
|
),
|
|
"ChinNPC":(
|
("DWORD", "NPCID", 1),
|
("char", "NPCName", 0),
|
("WORD", "LV", 0),
|
),
|
|
"PlayerLV":(
|
("WORD", "LV", 1),
|
("DWORD", "ReFightPower", 0),
|
),
|
|
"VipPrivilege":(
|
("DWORD", "VIPPriID", 1),
|
("DWORD", "VIP0", 0),
|
("DWORD", "VIP1", 0),
|
("DWORD", "VIP2", 0),
|
("DWORD", "VIP3", 0),
|
("DWORD", "VIP4", 0),
|
("DWORD", "VIP5", 0),
|
("DWORD", "VIP6", 0),
|
("DWORD", "VIP7", 0),
|
("DWORD", "VIP8", 0),
|
("DWORD", "VIP9", 0),
|
("DWORD", "VIP10", 0),
|
("DWORD", "VIP11", 0),
|
("DWORD", "VIP12", 0),
|
("DWORD", "VIP13", 0),
|
("DWORD", "VIP14", 0),
|
("DWORD", "VIP15", 0),
|
),
|
|
"ActSpringSale":(
|
("DWORD", "CfgID", 1),
|
("list", "PlatformList", 0),
|
("list", "ServerGroupIDList", 0),
|
("BYTE", "ActNum", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("list", "StartTimeList", 0),
|
("list", "EndTimeList", 0),
|
("WORD", "AdvanceMinutes", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("list", "NotifyInfoLoop", 0),
|
("WORD", "LVLimit", 0),
|
("BYTE", "IsDayReset", 0),
|
),
|
|
"ActFlashGiftbag":(
|
("DWORD", "CfgID", 1),
|
("list", "PlatformList", 0),
|
("list", "ServerGroupIDList", 0),
|
("BYTE", "ActNum", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("list", "StartTimeList", 0),
|
("list", "EndTimeList", 0),
|
("WORD", "AdvanceMinutes", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("list", "NotifyInfoLoop", 0),
|
("WORD", "LimitWorldLV", 0),
|
("WORD", "LVLimit", 0),
|
("BYTE", "IsDayReset", 0),
|
),
|
|
"ActDailyGiftbag":(
|
("DWORD", "CfgID", 1),
|
("char", "ActMark", 0),
|
("list", "PlatformList", 0),
|
("list", "ServerGroupIDList", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
),
|
|
"ActExpRate":(
|
("DWORD", "CfgID", 1),
|
("list", "ServerGroupIDList", 0),
|
("list", "ServerGroupIDListExcept", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("list", "StartTimeList", 0),
|
("list", "EndTimeList", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("list", "NotifyInfoLoop", 0),
|
("WORD", "LVLimit", 0),
|
("DWORD", "AddExpRate", 0),
|
),
|
|
"ActCostRebate":(
|
("DWORD", "CfgID", 1),
|
("list", "PlatformList", 0),
|
("list", "ServerGroupIDList", 0),
|
("BYTE", "ActNum", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("list", "NotifyInfoLoop", 0),
|
("BYTE", "IsDayReset", 0),
|
),
|
|
"ActCollectWords":(
|
("DWORD", "CfgID", 1),
|
("list", "PlatformList", 0),
|
("list", "ServerGroupIDList", 0),
|
("BYTE", "ActNum", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("list", "NotifyInfoLoop", 0),
|
),
|
|
"ActBossReborn":(
|
("DWORD", "CfgID", 1),
|
("list", "ServerGroupIDList", 0),
|
("list", "ServerGroupIDListExcept", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("BYTE", "ResetType", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("WORD", "LVLimit", 0),
|
("BYTE", "TemplateID", 0),
|
),
|
|
"ActFairyCeremony":(
|
("DWORD", "CfgID", 1),
|
("char", "ActMark", 0),
|
("list", "PlatformList", 0),
|
("list", "ServerGroupIDList", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("BYTE", "ResetType", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("WORD", "LVLimit", 0),
|
),
|
|
"UniquenessArrive":(
|
("BYTE", "WorldLvNum", 1),
|
("DWORD", "Rank", 1),
|
("dict", "Award", 0),
|
),
|
|
"ActRealmPoint":(
|
("DWORD", "CfgID", 1),
|
("char", "ActMark", 0),
|
("list", "PlatformList", 0),
|
("list", "ServerGroupIDList", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("BYTE", "ResetType", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("WORD", "Multiple", 0),
|
("WORD", "LVLimit", 0),
|
("DWORD", "PointLimit", 0),
|
),
|
|
"ActFlashSale":(
|
("DWORD", "CfgID", 1),
|
("list", "PlatformList", 0),
|
("list", "ServerGroupIDList", 0),
|
("BYTE", "ActNum", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("list", "StartTimeList", 0),
|
("list", "EndTimeList", 0),
|
("WORD", "AdvanceMinutes", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("list", "NotifyInfoLoop", 0),
|
("WORD", "LVLimit", 0),
|
("BYTE", "IsDayReset", 0),
|
("list", "ShopTypeList", 0),
|
),
|
|
"Store":(
|
("DWORD", "ID", 1),
|
("DWORD", "ShopType", 0),
|
("BYTE", "RefreshType", 0),
|
("DWORD", "ServerLimitCnt", 0),
|
),
|
|
"ActWishingWell":(
|
("DWORD", "CfgID", 1),
|
("list", "ServerGroupIDList", 0),
|
("list", "ServerGroupIDListExcept", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("BYTE", "IsDayReset", 0),
|
("BYTE", "ResetType", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("list", "NotifyInfoLoop", 0),
|
("WORD", "LVLimit", 0),
|
),
|
|
"ActRechargePrize":(
|
("DWORD", "CfgID", 1),
|
("char", "ActMark", 0),
|
("list", "PlatformList", 0),
|
("list", "ServerGroupIDList", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("list", "NotifyInfoLoop", 0),
|
("BYTE", "IsDayReset", 0),
|
),
|
|
"ActRechargeRebateGold":(
|
("DWORD", "CfgID", 1),
|
("char", "ActMark", 0),
|
("list", "PlatformList", 0),
|
("list", "ServerGroupIDList", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("list", "NotifyInfoLoop", 0),
|
("BYTE", "IsDayReset", 0),
|
),
|
|
"ActGrowupBuy":(
|
("DWORD", "CfgID", 1),
|
("char", "ActMark", 0),
|
("list", "PlatformList", 0),
|
("list", "ServerGroupIDList", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("list", "NotifyInfoLoop", 0),
|
),
|
|
"ActSingleRecharge":(
|
("DWORD", "CfgID", 1),
|
("list", "PlatformList", 0),
|
("list", "ServerGroupIDList", 0),
|
("BYTE", "ActNum", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("list", "NotifyInfoLoop", 0),
|
("BYTE", "IsDayReset", 0),
|
),
|
|
"ActManyDayRecharge":(
|
("DWORD", "CfgID", 1),
|
("list", "PlatformList", 0),
|
("list", "ServerGroupIDList", 0),
|
("BYTE", "ActNum", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("list", "NotifyInfoLoop", 0),
|
),
|
|
"ActTotalRecharge":(
|
("DWORD", "CfgID", 1),
|
("list", "PlatformList", 0),
|
("list", "ServerGroupIDList", 0),
|
("BYTE", "ActNum", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("list", "NotifyInfoLoop", 0),
|
("BYTE", "IsDayReset", 0),
|
),
|
|
"CrossZoneComm":(
|
("char", "CrossZoneName", 1),
|
("BYTE", "ZoneID", 1),
|
("list", "ServerGroupIDList", 0),
|
),
|
|
"CrossZonePK":(
|
("char", "CrossZoneName", 1),
|
("BYTE", "ZoneID", 1),
|
("char", "ZoneName", 0),
|
("list", "ServerGroupIDList", 0),
|
),
|
|
"CrossRealmPKSeason":(
|
("char", "CrossZoneName", 1),
|
("BYTE", "ZoneID", 1),
|
("BYTE", "SeasonID", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("char", "EndTime", 0),
|
),
|
|
"CrossRealmPKDan":(
|
("BYTE", "DanLV", 1),
|
("WORD", "LVUpScore", 0),
|
("list", "MatchRange", 0),
|
("BYTE", "MatchRobotRate", 0),
|
("BYTE", "MatchRobotRateEx", 0),
|
),
|
|
"CrossPenglaiZoneMap":(
|
("BYTE", "ZoneID", 0),
|
("DWORD", "MapID", 1),
|
("DWORD", "DataMapID", 1),
|
("BYTE", "CopyMapID", 1),
|
),
|
|
"ActWeekParty":(
|
("DWORD", "CfgID", 1),
|
("char", "ActMark", 0),
|
("list", "PlatformList", 0),
|
("list", "ServerGroupIDList", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("WORD", "AdvanceMinutes", 0),
|
("BYTE", "IsDayReset", 0),
|
("BYTE", "ResetType", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("WORD", "LVLimit", 0),
|
),
|
|
"ActLoginAward":(
|
("DWORD", "CfgID", 1),
|
("char", "ActMark", 0),
|
("list", "PlatformList", 0),
|
("list", "ServerGroupIDList", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("WORD", "AdvanceMinutes", 0),
|
("BYTE", "IsDayReset", 0),
|
("BYTE", "ResetType", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("list", "NotifyInfoLoop", 0),
|
("WORD", "LVLimit", 0),
|
),
|
|
"ActFeastWeekParty":(
|
("DWORD", "CfgID", 1),
|
("char", "ActMark", 0),
|
("list", "PlatformList", 0),
|
("list", "ServerGroupIDList", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("WORD", "AdvanceMinutes", 0),
|
("BYTE", "IsDayReset", 0),
|
("BYTE", "ResetType", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("WORD", "LVLimit", 0),
|
),
|
|
"ActNewFairyCeremony":(
|
("DWORD", "CfgID", 1),
|
("char", "ActMark", 0),
|
("list", "PlatformList", 0),
|
("list", "ServerGroupIDList", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("BYTE", "ResetType", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("WORD", "LVLimit", 0),
|
),
|
|
"NewUniquenessArrive":(
|
("BYTE", "WorldLvNum", 1),
|
("DWORD", "Rank", 1),
|
("dict", "Award", 0),
|
),
|
|
"ActLuckyTreasure":(
|
("DWORD", "CfgID", 1),
|
("char", "ActMark", 0),
|
("list", "PlatformList", 0),
|
("list", "ServerGroupIDList", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("BYTE", "ResetType", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("list", "NotifyInfoLoop", 0),
|
("WORD", "LVLimit", 0),
|
),
|
|
"CrossActCTGBillboard":(
|
("DWORD", "CfgID", 1),
|
("char", "ActGroupName", 0),
|
("list", "ServerIDRangeList", 0),
|
("char", "StartDate", 0),
|
("char", "EndDate", 0),
|
("dict", "NotifyInfoStart", 0),
|
("dict", "NotifyInfoEnd", 0),
|
("list", "NotifyInfoLoop", 0),
|
("BYTE", "IsDayReset", 0),
|
("list", "TemplateIDList", 0),
|
),
|
|
"CrossActCTGBillboardOrder":(
|
("DWORD", "TemplateID", 1),
|
("WORD", "OrderA", 0),
|
("WORD", "OrderB", 0),
|
("float", "CTGAtleast", 0),
|
("list", "AwardItemList", 0),
|
),
|
|
"EquipStarUp":(
|
("BYTE", "ClassLV", 1),
|
("BYTE", "EquipPlace", 1),
|
("BYTE", "Star", 1),
|
("list", "CostEquipPlace", 0),
|
("BYTE", "IsJobLimit", 0),
|
("list", "CostEquipColor", 0),
|
("BYTE", "UnSuitRate", 0),
|
),
|
|
"FamilyWarRankAward":(
|
("WORD", "WarWorldLV", 1),
|
("BYTE", "WarRank", 0),
|
("list", "RankAuctionItem", 0),
|
),
|
|
"AssistThanksGift":(
|
("DWORD", "GiftID", 1),
|
("BYTE", "AssistAwardCount", 0),
|
),
|
|
"FairyDomain":(
|
("WORD", "ID", 1),
|
("DWORD", "HourCntPubLimit", 0),
|
("DWORD", "DayCntPubLimit", 0),
|
),
|
}
|
|
|
# ¹¦ÄÜÅäÖñí¸ñ
|
class IPY_FuncConfig():
|
|
def __init__(self):
|
self.Key = ""
|
self.Numerical1 = ""
|
self.Numerical2 = ""
|
self.Numerical3 = ""
|
self.Numerical4 = ""
|
self.Numerical5 = ""
|
return
|
|
def GetKey(self): return self.Key # ±êʶ
|
def GetNumerical1(self): return self.Numerical1 # Êý¾Ý1
|
def GetNumerical2(self): return self.Numerical2 # Êý¾Ý2
|
def GetNumerical3(self): return self.Numerical3 # Êý¾Ý3
|
def GetNumerical4(self): return self.Numerical4 # Êý¾Ý4
|
def GetNumerical5(self): return self.Numerical5 # Êý¾Ý5
|
|
# ´´½ÇÏÞÖÆ·þÎñÆ÷ÅäÖñí
|
class IPY_CreateRoleLimitServer():
|
|
def __init__(self):
|
self.LimitServerGroupIDRangeList = []
|
self.LimitServerGroupIDList = []
|
return
|
|
def GetLimitServerGroupIDRangeList(self): return self.LimitServerGroupIDRangeList # ÏÞÖÆ´´½ÇµÄ·þÎñÆ÷×éID·¶Î§Áбí
|
def GetLimitServerGroupIDList(self): return self.LimitServerGroupIDList # ÏÞÖÆ´´½ÇµÄ·þÎñÆ÷×éIDÁбí
|
|
# ÊÀ½çµÈ¼¶±í¸ñ
|
class IPY_WorldLV():
|
|
def __init__(self):
|
self.WorldLV = 0
|
self.OpenServerSecond = 0
|
return
|
|
def GetWorldLV(self): return self.WorldLV # ÊÀ½çµÈ¼¶
|
def GetOpenServerSecond(self): return self.OpenServerSecond # ¿ª·þʱ¼äÃë
|
|
# ÏÉÃ˱í¸ñ
|
class IPY_Family():
|
|
def __init__(self):
|
self.FamilyLV = 0
|
self.MemberCnt = 0
|
self.DeputyLeaderCnt = 0
|
self.EliteCnt = 0
|
self.NeedMoney = 0
|
self.WeekMissionMoneyMax = 0
|
self.BossFBCnt = 0
|
return
|
|
def GetFamilyLV(self): return self.FamilyLV # ÏÉÃ˵ȼ¶
|
def GetMemberCnt(self): return self.MemberCnt # ³ÉÔ±ÊýÁ¿
|
def GetDeputyLeaderCnt(self): return self.DeputyLeaderCnt # ¸±ÃËÖ÷ÊýÁ¿
|
def GetEliteCnt(self): return self.EliteCnt # ¾«Ó¢ÊýÁ¿
|
def GetNeedMoney(self): return self.NeedMoney # Éý¼¶ÐèÒª×ʽð
|
def GetWeekMissionMoneyMax(self): return self.WeekMissionMoneyMax # ÿÖÜÈÎÎñ×î´ó¿É»ñµÃÏÉÃË×ʽð
|
def GetBossFBCnt(self): return self.BossFBCnt # BOSS¸±±¾´ÎÊý
|
|
# ¼¯Êвéѯ±í
|
class IPY_MarketQuery():
|
|
def __init__(self):
|
self.QueryType = 0
|
self.LimitInfo = {}
|
return
|
|
def GetQueryType(self): return self.QueryType # ²éѯÀàÐÍ
|
def GetLimitInfo(self): return self.LimitInfo # ÏÞÖÆÌõ¼þ
|
|
# ÅÄÂôÎïÆ·±í
|
class IPY_AuctionItem():
|
|
def __init__(self):
|
self.AuctionItemID = 0
|
self.NoticeSaleMinutes = 0
|
self.FamilySaleMinutes = 0
|
self.WorldSaleMinutes = 0
|
self.BasePrice = 0
|
self.BuyoutPrice = 0
|
self.BiddingAdd = 0
|
self.NeedWorldNotify = 0
|
self.Sortpriority = 0
|
return
|
|
def GetAuctionItemID(self): return self.AuctionItemID
|
def GetNoticeSaleMinutes(self): return self.NoticeSaleMinutes # Ô¤¸æÅÄÂô·ÖÖÓ
|
def GetFamilySaleMinutes(self): return self.FamilySaleMinutes # ÏÉÃËÅÄÂô·ÖÖÓ
|
def GetWorldSaleMinutes(self): return self.WorldSaleMinutes # È«·þÅÄÂô·ÖÖÓ
|
def GetBasePrice(self): return self.BasePrice # ÆðÅļÛ
|
def GetBuyoutPrice(self): return self.BuyoutPrice # Ò»¿Ú¼Û
|
def GetBiddingAdd(self): return self.BiddingAdd # ¾º¼ÛÔö¼Ó
|
def GetNeedWorldNotify(self): return self.NeedWorldNotify # ÊÇ·ñÐèÒª¹ã²¥
|
def GetSortpriority(self): return self.Sortpriority # ÅÅÐòÓÅÏȼ¶¹é×é
|
|
# ÅÄÂôÐÐϵͳÅÄÆ·±í
|
class IPY_AuctionSystemItem():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.StartDate = ""
|
self.EndDate = ""
|
self.StartTime = ""
|
self.EndTime = ""
|
self.WorldLVRange = []
|
self.AddRandSecondRange = []
|
self.ReplenishCDMinutes = 0
|
self.ReplenishAuctionCount = 0
|
self.ReplenishItemID = 0
|
self.ReplenishEquipInfo = []
|
self.ReplenishEquipPlaces = []
|
self.AuctionCount = 0
|
self.RandMinuteRange = []
|
self.ItemCountWeightList = []
|
self.AuctionItemWeightList = []
|
self.RandMailKeyList = []
|
return
|
|
def GetCfgID(self): return self.CfgID
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetStartTime(self): return self.StartTime # ¿ªÆôʱ¼ä
|
def GetEndTime(self): return self.EndTime # ½áÊøÊ±¼ä
|
def GetWorldLVRange(self): return self.WorldLVRange # ÊÀ½çµÈ¼¶·¶Î§ÏÞÖÆ
|
def GetAddRandSecondRange(self): return self.AddRandSecondRange # ÿ¼þÅÄÆ·Ëæ»ú¼ä¸ôÉϼÜÃëÊý ÉÏÏÞ|ÏÂÏÞ
|
def GetReplenishCDMinutes(self): return self.ReplenishCDMinutes # ¶¯Ì¬²¹³äÅÄÆ·¼ä¸ô·ÖÖÓ
|
def GetReplenishAuctionCount(self): return self.ReplenishAuctionCount # ¶¯Ì¬²¹³äÅÄÆ·±£µ×Êý
|
def GetReplenishItemID(self): return self.ReplenishItemID # ¶¯Ì¬²¹³äÎïÆ·ID
|
def GetReplenishEquipInfo(self): return self.ReplenishEquipInfo # ¶¯Ì¬²¹³ä×°±¸ÐÅÏ¢ [½×,ÑÕÉ«,ÊÇ·ñÌ××°]
|
def GetReplenishEquipPlaces(self): return self.ReplenishEquipPlaces # ¶¯Ì¬²¹³äÉϼÜ×°±¸Î»Áбí
|
def GetAuctionCount(self): return self.AuctionCount # Ö¸¶¨ÉϼܴÎÊý
|
def GetRandMinuteRange(self): return self.RandMinuteRange # Ö¸¶¨ÉϼÜËæ»ú¼ä¸ô·ÖÖÓÏÂÏÞ|ÉÏÏÞ
|
def GetItemCountWeightList(self): return self.ItemCountWeightList # Ö¸¶¨ÉϼÜËæ»ú¼þÊýÈ¨ÖØÁбí, [[È¨ÖØ, ¼þÊý], ...]
|
def GetAuctionItemWeightList(self): return self.AuctionItemWeightList # Ö¸¶¨ÉϼÜÎïÆ·Ëæ»úÈ¨ÖØ, [[È¨ÖØ, ÎïÆ·ID],[È¨ÖØ, [½×,ÑÕÉ«,²¿Î»¼¯ºÏ,ÊÇ·ñÌ××°,ÐǼ¶]] ...]
|
def GetRandMailKeyList(self): return self.RandMailKeyList # Ö¸¶¨ÉϼÜËæ»úÓʼþÁÐ±í£¬ÓÐÅäÖÃʱÉϼܵÄʱºòÔÚÏßÍæ¼Ò»áÊÕµ½Ò»·âÉϼÜÓʼþÌáÐÑ
|
|
# ÈÕ³£»î¶¯±í
|
class IPY_DailyAction():
|
|
def __init__(self):
|
self.DailyID = 0
|
self.OpenTimeDict = {}
|
self.Duration = 0
|
self.NotifyInfo = {}
|
return
|
|
def GetDailyID(self): return self.DailyID # »î¶¯ID
|
def GetOpenTimeDict(self): return self.OpenTimeDict # ¿ªÆôʱ¼ä
|
def GetDuration(self): return self.Duration # ³ÖÐøÊ±¼ä, 0Ϊ²»ÏÞÖÆ
|
def GetNotifyInfo(self): return self.NotifyInfo # ¹ã²¥ÌáʾÐÅÏ¢
|
|
# ÈÕ³£»î¶¯±í¶¨ÖƱí
|
class IPY_DailyActionCustom():
|
|
def __init__(self):
|
self.ID = 0
|
self.OpenServerWeek = 0
|
self.OpenServerDay = 0
|
self.DailyID = 0
|
self.OpenTimeList = []
|
self.Duration = 0
|
self.NotifyInfo = {}
|
return
|
|
def GetID(self): return self.ID # ID
|
def GetOpenServerWeek(self): return self.OpenServerWeek # ¿ª·þÊÇÖܼ¸
|
def GetOpenServerDay(self): return self.OpenServerDay # ¿ª·þµÚ¼¸Ìì
|
def GetDailyID(self): return self.DailyID # ÈÕ³£»î¶¯ID
|
def GetOpenTimeList(self): return self.OpenTimeList # ¿ªÆôʱ¼äÁбí
|
def GetDuration(self): return self.Duration # ³ÖÐøÊ±¼ä, 0Ϊ²»ÏÞÖÆ
|
def GetNotifyInfo(self): return self.NotifyInfo # ¹ã²¥ÌáʾÐÅÏ¢
|
|
# ÈÕ³£»î¶¯±í¶¨ÖƱíºÏ·þ
|
class IPY_DailyActionCustomMix():
|
|
def __init__(self):
|
self.ID = 0
|
self.MixServerDay = 0
|
self.DailyID = 0
|
self.OpenTimeList = []
|
self.Duration = 0
|
self.NotifyInfo = {}
|
return
|
|
def GetID(self): return self.ID # ID
|
def GetMixServerDay(self): return self.MixServerDay # ºÏ·þµÚ¼¸Ìì
|
def GetDailyID(self): return self.DailyID # ÈÕ³£»î¶¯ID
|
def GetOpenTimeList(self): return self.OpenTimeList # ¿ªÆôʱ¼äÁбí
|
def GetDuration(self): return self.Duration # ³ÖÐøÊ±¼ä, 0Ϊ²»ÏÞÖÆ
|
def GetNotifyInfo(self): return self.NotifyInfo # ¹ã²¥ÌáʾÐÅÏ¢
|
|
# ¸±±¾×´Ì¬Ê±¼ä±í
|
class IPY_FBStateTime():
|
|
def __init__(self):
|
self.ID = 0
|
self.DataMapID = 0
|
self.StartWeekday = 0
|
self.StartHour = 0
|
self.StartMinute = 0
|
self.EndHour = 0
|
self.EndMinute = 0
|
self.CanEnter = 0
|
self.StateValue = 0
|
self.NotifyInfoDict = {}
|
return
|
|
def GetID(self): return self.ID # ID
|
def GetDataMapID(self): return self.DataMapID # ËùÊôµÄÍæ·¨Êý¾ÝµØÍ¼ID
|
def GetStartWeekday(self): return self.StartWeekday # ¿ªÊ¼ÐÇÆÚ
|
def GetStartHour(self): return self.StartHour # ¿ªÊ¼Ê±
|
def GetStartMinute(self): return self.StartMinute # ¿ªÊ¼·Ö
|
def GetEndHour(self): return self.EndHour # ½áÊøÊ±
|
def GetEndMinute(self): return self.EndMinute # ½áÊø·Ö
|
def GetCanEnter(self): return self.CanEnter # ÊÇ·ñ¿É½øÈ븱±¾
|
def GetStateValue(self): return self.StateValue # ״ֵ̬
|
def GetNotifyInfoDict(self): return self.NotifyInfoDict # ¹ã²¥ÌáʾÐÅÏ¢
|
|
# ¸±±¾×´Ì¬Ê±¼ä¶¨ÖƱí
|
class IPY_FBStateTimeCustom():
|
|
def __init__(self):
|
self.ID = 0
|
self.OpenServerWeek = 0
|
self.OpenServerDay = 0
|
self.DataMapID = 0
|
self.StartHour = 0
|
self.StartMinute = 0
|
self.EndHour = 0
|
self.EndMinute = 0
|
self.CanEnter = 0
|
self.StateValue = 0
|
self.NotifyInfoDict = {}
|
return
|
|
def GetID(self): return self.ID # ID
|
def GetOpenServerWeek(self): return self.OpenServerWeek # ¿ª·þÊÇÖܼ¸
|
def GetOpenServerDay(self): return self.OpenServerDay # ¿ª·þµÚ¼¸Ìì
|
def GetDataMapID(self): return self.DataMapID # ËùÊôµÄÍæ·¨Êý¾ÝµØÍ¼ID
|
def GetStartHour(self): return self.StartHour # ¿ªÊ¼Ê±
|
def GetStartMinute(self): return self.StartMinute # ¿ªÊ¼·Ö
|
def GetEndHour(self): return self.EndHour # ½áÊøÊ±
|
def GetEndMinute(self): return self.EndMinute # ½áÊø·Ö
|
def GetCanEnter(self): return self.CanEnter # ÊÇ·ñ¿É½øÈ븱±¾
|
def GetStateValue(self): return self.StateValue # ״ֵ̬
|
def GetNotifyInfoDict(self): return self.NotifyInfoDict # ¹ã²¥ÌáʾÐÅÏ¢
|
|
# ¸±±¾×´Ì¬Ê±¼ä¶¨ÖƱíºÏ·þ
|
class IPY_FBStateTimeCustomMix():
|
|
def __init__(self):
|
self.ID = 0
|
self.MixServerDay = 0
|
self.DataMapID = 0
|
self.StartHour = 0
|
self.StartMinute = 0
|
self.EndHour = 0
|
self.EndMinute = 0
|
self.CanEnter = 0
|
self.StateValue = 0
|
self.NotifyInfoDict = {}
|
return
|
|
def GetID(self): return self.ID # ID
|
def GetMixServerDay(self): return self.MixServerDay # ºÏ·þµÚ¼¸Ìì
|
def GetDataMapID(self): return self.DataMapID # ËùÊôµÄÍæ·¨Êý¾ÝµØÍ¼ID
|
def GetStartHour(self): return self.StartHour # ¿ªÊ¼Ê±
|
def GetStartMinute(self): return self.StartMinute # ¿ªÊ¼·Ö
|
def GetEndHour(self): return self.EndHour # ½áÊøÊ±
|
def GetEndMinute(self): return self.EndMinute # ½áÊø·Ö
|
def GetCanEnter(self): return self.CanEnter # ÊÇ·ñ¿É½øÈ븱±¾
|
def GetStateValue(self): return self.StateValue # ״ֵ̬
|
def GetNotifyInfoDict(self): return self.NotifyInfoDict # ¹ã²¥ÌáʾÐÅÏ¢
|
|
# ¸±±¾×ܱí
|
class IPY_FBFunc():
|
|
def __init__(self):
|
self.DataMapID = 0
|
self.HelpPoint = 0
|
return
|
|
def GetDataMapID(self): return self.DataMapID # Êý¾ÝµØÍ¼ID
|
def GetHelpPoint(self): return self.HelpPoint # ÖúÕ½ÏÉÔµ±Ò(0´ú±í²»¿ÉÖúÕ½)
|
|
# ¸±±¾¹¦ÄÜÏß·±í
|
class IPY_FBLine():
|
|
def __init__(self):
|
self.DataMapID = 0
|
self.LineID = 0
|
self.MapID = 0
|
return
|
|
def GetDataMapID(self): return self.DataMapID # Êý¾ÝµØÍ¼ID
|
def GetLineID(self): return self.LineID # ¹¦ÄÜÏß·ID
|
def GetMapID(self): return self.MapID # ³¡¾°µØÍ¼ID
|
|
# ¸±±¾ÖúÕ½±í
|
class IPY_FBHelpBattle():
|
|
def __init__(self):
|
self.DataMapID = 0
|
self.LineID = 0
|
self.FightPowerMin = 0
|
self.FightPowerMax = 0
|
self.LVLimit = 0
|
self.DayFreeHelpCount = []
|
return
|
|
def GetDataMapID(self): return self.DataMapID # Êý¾ÝµØÍ¼ID
|
def GetLineID(self): return self.LineID # ¹¦ÄÜÏß·ID
|
def GetFightPowerMin(self): return self.FightPowerMin # ÖúÕ½×îµÍÕ½Á¦£¬Ò²ÊǸ±±¾Õ½Á¦
|
def GetFightPowerMax(self): return self.FightPowerMax # ÖúÕ½×î¸ßÕ½Á¦£¬0Ϊ²»ÏÞÖÆ
|
def GetLVLimit(self): return self.LVLimit # ÖúÕ½µÈ¼¶ÏÞÖÆ, 0Ϊ²»ÏÞÖÆ
|
def GetDayFreeHelpCount(self): return self.DayFreeHelpCount # ÿÈÕÃâ·ÑÖúÕ½´ÎÊý£¬[ÿÈÕÃâ·ÑÖúÕ½´ÎÊý, ÊÇ·ñËùÓвãͨÓÃ]
|
|
# µØÍ¼±í
|
class IPY_ChinMap():
|
|
def __init__(self):
|
self.MapID = 0
|
self.MapName = ""
|
self.MapFBType = 0
|
self.TeamLimit = 0
|
return
|
|
def GetMapID(self): return self.MapID # µØÍ¼ID
|
def GetMapName(self): return self.MapName # µØÍ¼Ãû
|
def GetMapFBType(self): return self.MapFBType # µØÍ¼ÀàÐÍ
|
def GetTeamLimit(self): return self.TeamLimit # ¶ÓÎéÏÞÖÆÀàÐÍ£»0²»ÏÞ£¬1-²»¿É±ä¸ü£¬2-²»¿É´æÔÚ¶ÓÎé
|
|
# BOSSÐÅÏ¢±í
|
class IPY_BOSSInfo():
|
|
def __init__(self):
|
self.NPCID = 0
|
self.MapID = 0
|
self.RefreshTime = ""
|
self.LVLimit = []
|
self.DiffPer = 0
|
self.NoUpdataCnt = 0
|
self.StoneNPCID = 0
|
self.RebornPreNotifyTime = 0
|
self.SourceName = ""
|
self.CanAssist = 0
|
return
|
|
def GetNPCID(self): return self.NPCID # ID
|
def GetMapID(self): return self.MapID # µØÍ¼ID
|
def GetRefreshTime(self): return self.RefreshTime # Ë¢ÐÂʱ¼ä ²ÎÊý onlineCnt
|
def GetLVLimit(self): return self.LVLimit # ÔÚÏßÈËÎïµÈ¼¶·¶Î§
|
def GetDiffPer(self): return self.DiffPer # °Ù·Ö±ÈÓë֮ǰµÄÎó²îСÓÚX%,Ôò¸üÐÂʵʱÔÚÏßÊýÁ¿
|
def GetNoUpdataCnt(self): return self.NoUpdataCnt # ¶àÉÙ´Îδ¸üÐÂʵʱÔÚÏßÊýÁ¿×Ö¶ÎÊ±Ç¿ÖÆ¸üÐÂ
|
def GetStoneNPCID(self): return self.StoneNPCID # ű®NPCID
|
def GetRebornPreNotifyTime(self): return self.RebornPreNotifyTime # ¸´»îǰXÃë֪ͨ
|
def GetSourceName(self): return self.SourceName # BOSSÀ´Ô´
|
def GetCanAssist(self): return self.CanAssist # ÊÇ·ñ¿ÉÐÖú
|
|
# BossÊ×ɱ
|
class IPY_BOSSFirstKill():
|
|
def __init__(self):
|
self.NPCID = 0
|
self.ServerFirstKillPlayerAward = []
|
return
|
|
def GetNPCID(self): return self.NPCID # ID
|
def GetServerFirstKillPlayerAward(self): return self.ServerFirstKillPlayerAward # È«·þÊ×É±Íæ¼Ò½±Àø [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]
|
|
# Ñç»áÌâ¿â±í
|
class IPY_QuestionBank():
|
|
def __init__(self):
|
self.ID = 0
|
self.Answer = ""
|
return
|
|
def GetID(self): return self.ID # ID
|
def GetAnswer(self): return self.Answer # ´ð°¸
|
|
# ÏÉÃ˺ì°ü±í
|
class IPY_FamilyRedPack():
|
|
def __init__(self):
|
self.ID = 0
|
self.GetType = 0
|
self.MoneyNum = 0
|
self.MoneyType = 0
|
self.PacketCnt = 0
|
self.LeaderOwn = 0
|
self.PacketOpenTime = ""
|
self.ValidMinutes = 0
|
return
|
|
def GetID(self): return self.ID # ID
|
def GetGetType(self): return self.GetType # »ñµÃ;¾¶
|
def GetMoneyNum(self): return self.MoneyNum # ºì°ü¶î¶È
|
def GetMoneyType(self): return self.MoneyType # ½ðÇ®ÀàÐÍ
|
def GetPacketCnt(self): return self.PacketCnt # ºì°ü¸öÊý
|
def GetLeaderOwn(self): return self.LeaderOwn # ÊÇ·ñ¹éÊôÃËÖ÷
|
def GetPacketOpenTime(self): return self.PacketOpenTime # ·¢·Åºì°üʱ¼äyyyy-MM-dd hh:mm
|
def GetValidMinutes(self): return self.ValidMinutes # ºì°üÓÐЧʱ³¤£¨·Ö£©
|
|
# ½ÚÈÕºì°üʱ¼ä±í
|
class IPY_ActFeastRedPacket():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.ActMark = ""
|
self.PlatformList = []
|
self.ServerGroupIDList = []
|
self.StartDate = ""
|
self.EndDate = ""
|
self.IsDayReset = 0
|
self.ResetType = 0
|
self.RedPacketIDList = []
|
self.LVLimit = 0
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetActMark(self): return self.ActMark # »î¶¯×é±ê¼Ç
|
def GetPlatformList(self): return self.PlatformList # »î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷IDÁбí
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetIsDayReset(self): return self.IsDayReset # ÊÇ·ñÿÌìÖØÖÃ
|
def GetResetType(self): return self.ResetType # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖÃ
|
def GetRedPacketIDList(self): return self.RedPacketIDList # ÿÈÕ¶ÔÓ¦ºì°üIDÁбí[[µÚÒ»Ììºì°üIDÁбí], ...]
|
def GetLVLimit(self): return self.LVLimit # ÏÞÖÆµÈ¼¶
|
|
# ½ÚÈյǼ½±ÀøÊ±¼ä±í
|
class IPY_ActFeastLogin():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.ActMark = ""
|
self.PlatformList = []
|
self.ServerGroupIDList = []
|
self.StartDate = ""
|
self.EndDate = ""
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetActMark(self): return self.ActMark # »î¶¯×é±ê¼Ç
|
def GetPlatformList(self): return self.PlatformList # »î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷IDÁбí
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
|
# ½ÚÈÕ×£¸£Ê±¼ä±í
|
class IPY_ActFeastWish():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.ActMark = ""
|
self.PlatformList = []
|
self.ServerGroupIDList = []
|
self.StartDate = ""
|
self.EndDate = ""
|
self.ResetType = 0
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.NotifyInfoLoop = []
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetActMark(self): return self.ActMark # »î¶¯×é±ê¼Ç
|
def GetPlatformList(self): return self.PlatformList # »î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷IDÁбí
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetResetType(self): return self.ResetType # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖÃ
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]
|
|
# ½ÚÈÕÓÎÀúʱ¼ä±í
|
class IPY_ActFeastTravel():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.ActMark = ""
|
self.PlatformList = []
|
self.ServerGroupIDList = []
|
self.StartDate = ""
|
self.EndDate = ""
|
self.ResetType = 0
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.NotifyInfoLoop = []
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetActMark(self): return self.ActMark # »î¶¯×é±ê¼Ç
|
def GetPlatformList(self): return self.PlatformList # »î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷IDÁбí
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetResetType(self): return self.ResetType # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖÃ
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]
|
|
# µÈ¼¶¿ªÆô¹¦ÄÜ
|
class IPY_FuncOpenLV():
|
|
def __init__(self):
|
self.FuncId = 0
|
self.LimitLV = 0
|
self.LimitMagicWeapon = 0
|
self.LimiRealmLV = 0
|
return
|
|
def GetFuncId(self): return self.FuncId # ¹¦Äܱêʶ
|
def GetLimitLV(self): return self.LimitLV # ¿ªÆôµÈ¼¶
|
def GetLimitMagicWeapon(self): return self.LimitMagicWeapon # ÐèÒª½âËø·¨±¦ID
|
def GetLimiRealmLV(self): return self.LimiRealmLV # ÐèÒª¾³½çµÈ¼¶
|
|
# NPC±í
|
class IPY_ChinNPC():
|
|
def __init__(self):
|
self.NPCID = 0
|
self.NPCName = ""
|
self.LV = 0
|
return
|
|
def GetNPCID(self): return self.NPCID
|
def GetNPCName(self): return self.NPCName
|
def GetLV(self): return self.LV
|
|
# Íæ¼ÒµÈ¼¶±í
|
class IPY_PlayerLV():
|
|
def __init__(self):
|
self.LV = 0
|
self.ReFightPower = 0
|
return
|
|
def GetLV(self): return self.LV # Íæ¼ÒµÈ¼¶
|
def GetReFightPower(self): return self.ReFightPower # Õ½¶·Á¦
|
|
# VIPÌØÈ¨±í
|
class IPY_VipPrivilege():
|
|
def __init__(self):
|
self.VIPPriID = 0
|
self.VIP0 = 0
|
self.VIP1 = 0
|
self.VIP2 = 0
|
self.VIP3 = 0
|
self.VIP4 = 0
|
self.VIP5 = 0
|
self.VIP6 = 0
|
self.VIP7 = 0
|
self.VIP8 = 0
|
self.VIP9 = 0
|
self.VIP10 = 0
|
self.VIP11 = 0
|
self.VIP12 = 0
|
self.VIP13 = 0
|
self.VIP14 = 0
|
self.VIP15 = 0
|
return
|
|
def GetVIPPriID(self): return self.VIPPriID # ÌØÈ¨ID
|
def GetVIP0(self): return self.VIP0 # VIP0¶ÔÓ¦µÄÌØÈ¨Öµ
|
def GetVIP1(self): return self.VIP1 # VIP1¶ÔÓ¦µÄÌØÈ¨Öµ
|
def GetVIP2(self): return self.VIP2 # VIP2¶ÔÓ¦µÄÌØÈ¨Öµ
|
def GetVIP3(self): return self.VIP3 # VIP3¶ÔÓ¦µÄÌØÈ¨Öµ
|
def GetVIP4(self): return self.VIP4 # VIP4¶ÔÓ¦µÄÌØÈ¨Öµ
|
def GetVIP5(self): return self.VIP5 # VIP5¶ÔÓ¦µÄÌØÈ¨Öµ
|
def GetVIP6(self): return self.VIP6 # VIP6¶ÔÓ¦µÄÌØÈ¨Öµ
|
def GetVIP7(self): return self.VIP7 # VIP7¶ÔÓ¦µÄÌØÈ¨Öµ
|
def GetVIP8(self): return self.VIP8 # VIP8¶ÔÓ¦µÄÌØÈ¨Öµ
|
def GetVIP9(self): return self.VIP9 # VIP9¶ÔÓ¦µÄÌØÈ¨Öµ
|
def GetVIP10(self): return self.VIP10 # VIP10¶ÔÓ¦µÄÌØÈ¨Öµ
|
def GetVIP11(self): return self.VIP11 # VIP11¶ÔÓ¦µÄÌØÈ¨Öµ
|
def GetVIP12(self): return self.VIP12 # VIP12¶ÔÓ¦µÄÌØÈ¨Öµ
|
def GetVIP13(self): return self.VIP13 # VIP13¶ÔÓ¦µÄÌØÈ¨Öµ
|
def GetVIP14(self): return self.VIP14 # VIP14¶ÔÓ¦µÄÌØÈ¨Öµ
|
def GetVIP15(self): return self.VIP15 # VIP15¶ÔÓ¦µÄÌØÈ¨Öµ
|
|
# ÏÞÊ±ÌØ»Ý±í
|
class IPY_ActSpringSale():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.PlatformList = []
|
self.ServerGroupIDList = []
|
self.ActNum = 0
|
self.StartDate = ""
|
self.EndDate = ""
|
self.StartTimeList = []
|
self.EndTimeList = []
|
self.AdvanceMinutes = 0
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.NotifyInfoLoop = []
|
self.LVLimit = 0
|
self.IsDayReset = 0
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetPlatformList(self): return self.PlatformList # »î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷IDÁбí
|
def GetActNum(self): return self.ActNum # »î¶¯·Ö×é±àºÅ, »î¶¯ÀàÐÍ * 10 + ²»Í¬½çÃæ±àºÅ
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetStartTimeList(self): return self.StartTimeList # ¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î
|
def GetEndTimeList(self): return self.EndTimeList # ½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î
|
def GetAdvanceMinutes(self): return self.AdvanceMinutes # ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]
|
def GetLVLimit(self): return self.LVLimit # ÏÞÖÆµÈ¼¶
|
def GetIsDayReset(self): return self.IsDayReset # ÊÇ·ñÿÌìÖØÖÃ
|
|
# ÏÞʱÀñ°ü±í
|
class IPY_ActFlashGiftbag():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.PlatformList = []
|
self.ServerGroupIDList = []
|
self.ActNum = 0
|
self.StartDate = ""
|
self.EndDate = ""
|
self.StartTimeList = []
|
self.EndTimeList = []
|
self.AdvanceMinutes = 0
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.NotifyInfoLoop = []
|
self.LimitWorldLV = 0
|
self.LVLimit = 0
|
self.IsDayReset = 0
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetPlatformList(self): return self.PlatformList # »î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷IDÁбí
|
def GetActNum(self): return self.ActNum # »î¶¯·Ö×é±àºÅ, »î¶¯ÀàÐÍ * 10 + ²»Í¬½çÃæ±àºÅ
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetStartTimeList(self): return self.StartTimeList # ¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î
|
def GetEndTimeList(self): return self.EndTimeList # ½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î
|
def GetAdvanceMinutes(self): return self.AdvanceMinutes # ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]
|
def GetLimitWorldLV(self): return self.LimitWorldLV # ÏÞÖÆ¿ªÆôµÄ×îµÍÊÀ½çµÈ¼¶
|
def GetLVLimit(self): return self.LVLimit # ÏÞÖÆµÈ¼¶
|
def GetIsDayReset(self): return self.IsDayReset # ÊÇ·ñÿÌìÖØÖÃ
|
|
# ÿÈÕÀñ°ü±í
|
class IPY_ActDailyGiftbag():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.ActMark = ""
|
self.PlatformList = []
|
self.ServerGroupIDList = []
|
self.StartDate = ""
|
self.EndDate = ""
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetActMark(self): return self.ActMark # »î¶¯×é±ê¼Ç
|
def GetPlatformList(self): return self.PlatformList # »î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷IDÁбí
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
|
# Ë«±¶¾Ñé»î¶¯±í
|
class IPY_ActExpRate():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.ServerGroupIDList = []
|
self.ServerGroupIDListExcept = []
|
self.StartDate = ""
|
self.EndDate = ""
|
self.StartTimeList = []
|
self.EndTimeList = []
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.NotifyInfoLoop = []
|
self.LVLimit = 0
|
self.AddExpRate = 0
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷×éIDÁбí
|
def GetServerGroupIDListExcept(self): return self.ServerGroupIDListExcept # ÅųýµÄ·þÎñÆ÷×éIDÁбí
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetStartTimeList(self): return self.StartTimeList # ¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î
|
def GetEndTimeList(self): return self.EndTimeList # ½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key, [¿ÉÑ¡²ÎÊý1, ...]]
|
def GetLVLimit(self): return self.LVLimit # ÏÞÖÆµÈ¼¶
|
def GetAddExpRate(self): return self.AddExpRate # ¾Ñé±¶Âʼӳɣ¬Íò·ÖÂÊ
|
|
# Ïû·Ñ·µÀû»î¶¯±í
|
class IPY_ActCostRebate():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.PlatformList = []
|
self.ServerGroupIDList = []
|
self.ActNum = 0
|
self.StartDate = ""
|
self.EndDate = ""
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.NotifyInfoLoop = []
|
self.IsDayReset = 0
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetPlatformList(self): return self.PlatformList # »î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷IDÁбí
|
def GetActNum(self): return self.ActNum # »î¶¯·Ö×é±àºÅ, »î¶¯ÀàÐÍ * 10 + ²»Í¬½çÃæ±àºÅ
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]
|
def GetIsDayReset(self): return self.IsDayReset # ÊÇ·ñÿÌìÖØÖÃ
|
|
# ¼¯×ֻʱ¼ä±í
|
class IPY_ActCollectWords():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.PlatformList = []
|
self.ServerGroupIDList = []
|
self.ActNum = 0
|
self.StartDate = ""
|
self.EndDate = ""
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.NotifyInfoLoop = []
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetPlatformList(self): return self.PlatformList # »î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷IDÁбí
|
def GetActNum(self): return self.ActNum # »î¶¯·Ö×é±àºÅ, »î¶¯ÀàÐÍ * 10 + ²»Í¬½çÃæ±àºÅ
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]
|
|
# BOSS¸´»î»î¶¯Ê±¼ä±í
|
class IPY_ActBossReborn():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.ServerGroupIDList = []
|
self.ServerGroupIDListExcept = []
|
self.StartDate = ""
|
self.EndDate = ""
|
self.ResetType = 0
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.LVLimit = 0
|
self.TemplateID = 0
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷×éIDÁбí
|
def GetServerGroupIDListExcept(self): return self.ServerGroupIDListExcept # ÅųýµÄ·þÎñÆ÷×éIDÁбí
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetResetType(self): return self.ResetType # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖÃ
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetLVLimit(self): return self.LVLimit # ÏÞÖÆµÈ¼¶
|
def GetTemplateID(self): return self.TemplateID # Ä£°å±àºÅ
|
|
# ÏɽçÊ¢µä»î¶¯Ê±¼ä±í
|
class IPY_ActFairyCeremony():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.ActMark = ""
|
self.PlatformList = []
|
self.ServerGroupIDList = []
|
self.StartDate = ""
|
self.EndDate = ""
|
self.ResetType = 0
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.LVLimit = 0
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetActMark(self): return self.ActMark # »î¶¯×é±ê¼Ç
|
def GetPlatformList(self): return self.PlatformList # »î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷IDÁбí
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetResetType(self): return self.ResetType # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖã»2-5µã¿ªÊ¼0µã½áÊø
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetLVLimit(self): return self.LVLimit # ÏÞÖÆµÈ¼¶
|
|
# ÏɽçÊ¢µä-¾ø°æ½µÁÙ±í
|
class IPY_UniquenessArrive():
|
|
def __init__(self):
|
self.WorldLvNum = 0
|
self.Rank = 0
|
self.Award = {}
|
return
|
|
def GetWorldLvNum(self): return self.WorldLvNum # ÊÀ½çµÈ¼¶µµ
|
def GetRank(self): return self.Rank # ÅÅÃû
|
def GetAward(self): return self.Award # ½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨],...], ...}
|
|
# ¶à±¶ÐÞÐеã»î¶¯Ê±¼ä±í
|
class IPY_ActRealmPoint():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.ActMark = ""
|
self.PlatformList = []
|
self.ServerGroupIDList = []
|
self.StartDate = ""
|
self.EndDate = ""
|
self.ResetType = 0
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.Multiple = 0
|
self.LVLimit = 0
|
self.PointLimit = 0
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetActMark(self): return self.ActMark # »î¶¯×é±ê¼Ç
|
def GetPlatformList(self): return self.PlatformList # »î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷IDÁбí
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetResetType(self): return self.ResetType # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖÃ
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetMultiple(self): return self.Multiple # ±¶Êý
|
def GetLVLimit(self): return self.LVLimit # ÏÞÖÆµÈ¼¶
|
def GetPointLimit(self): return self.PointLimit # ÏÞÖÆ¶îÍâÐÞÐеã
|
|
# ÏÞʱÇÀ¹º±í
|
class IPY_ActFlashSale():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.PlatformList = []
|
self.ServerGroupIDList = []
|
self.ActNum = 0
|
self.StartDate = ""
|
self.EndDate = ""
|
self.StartTimeList = []
|
self.EndTimeList = []
|
self.AdvanceMinutes = 0
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.NotifyInfoLoop = []
|
self.LVLimit = 0
|
self.IsDayReset = 0
|
self.ShopTypeList = []
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetPlatformList(self): return self.PlatformList # »î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷IDÁбí
|
def GetActNum(self): return self.ActNum # »î¶¯·Ö×é±àºÅ, »î¶¯ÀàÐÍ * 10 + ²»Í¬½çÃæ±àºÅ
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetStartTimeList(self): return self.StartTimeList # ¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î
|
def GetEndTimeList(self): return self.EndTimeList # ½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î
|
def GetAdvanceMinutes(self): return self.AdvanceMinutes # ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]
|
def GetLVLimit(self): return self.LVLimit # ÏÞÖÆµÈ¼¶
|
def GetIsDayReset(self): return self.IsDayReset # ÊÇ·ñÿÌìÖØÖÃ
|
def GetShopTypeList(self): return self.ShopTypeList # É̵êÀàÐÍÁбí
|
|
# É̳DZí
|
class IPY_Store():
|
|
def __init__(self):
|
self.ID = 0
|
self.ShopType = 0
|
self.RefreshType = 0
|
self.ServerLimitCnt = 0
|
return
|
|
def GetID(self): return self.ID # ID
|
def GetShopType(self): return self.ShopType # É̵êÀàÐÍ
|
def GetRefreshType(self): return self.RefreshType # Ë¢ÐÂÀàÐÍ 0-²»ÖØÖÃ,1-onWeek0µã,2-onWeek5µã,3-OnDay0µã,4-OnDay5µã
|
def GetServerLimitCnt(self): return self.ServerLimitCnt # È«·þÏÞÖÆÊýÁ¿
|
|
# ÐíÔ¸³Ø»î¶¯Ê±¼ä±í
|
class IPY_ActWishingWell():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.ServerGroupIDList = []
|
self.ServerGroupIDListExcept = []
|
self.StartDate = ""
|
self.EndDate = ""
|
self.IsDayReset = 0
|
self.ResetType = 0
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.NotifyInfoLoop = []
|
self.LVLimit = 0
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷×éIDÁбí
|
def GetServerGroupIDListExcept(self): return self.ServerGroupIDListExcept # ÅųýµÄ·þÎñÆ÷×éIDÁбí
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetIsDayReset(self): return self.IsDayReset # ÊÇ·ñÿÌìÖØÖÃ
|
def GetResetType(self): return self.ResetType # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖÃ
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]
|
def GetLVLimit(self): return self.LVLimit # ÏÞÖÆµÈ¼¶
|
|
# ³äÖµ·µÀû»î¶¯±í
|
class IPY_ActRechargePrize():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.ActMark = ""
|
self.PlatformList = []
|
self.ServerGroupIDList = []
|
self.StartDate = ""
|
self.EndDate = ""
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.NotifyInfoLoop = []
|
self.IsDayReset = 0
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetActMark(self): return self.ActMark # »î¶¯×é±ê¼Ç
|
def GetPlatformList(self): return self.PlatformList # »î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷IDÁбí
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]
|
def GetIsDayReset(self): return self.IsDayReset # ÊÇ·ñÿÌìÖØÖÃ
|
|
# ÀۼƳäÖµ·µÀûÏÉÓñ»î¶¯±í
|
class IPY_ActRechargeRebateGold():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.ActMark = ""
|
self.PlatformList = []
|
self.ServerGroupIDList = []
|
self.StartDate = ""
|
self.EndDate = ""
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.NotifyInfoLoop = []
|
self.IsDayReset = 0
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetActMark(self): return self.ActMark # »î¶¯×é±ê¼Ç
|
def GetPlatformList(self): return self.PlatformList # »î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷IDÁбí
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]
|
def GetIsDayReset(self): return self.IsDayReset # ÊÇ·ñÿÌìÖØÖÃ
|
|
# ³É³¤±ØÂò»î¶¯±í
|
class IPY_ActGrowupBuy():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.ActMark = ""
|
self.PlatformList = []
|
self.ServerGroupIDList = []
|
self.StartDate = ""
|
self.EndDate = ""
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.NotifyInfoLoop = []
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetActMark(self): return self.ActMark # »î¶¯×é±ê¼Ç
|
def GetPlatformList(self): return self.PlatformList # »î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷IDÁбí
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]
|
|
# µ¥±ÊÀÛ³ä»î¶¯±í
|
class IPY_ActSingleRecharge():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.PlatformList = []
|
self.ServerGroupIDList = []
|
self.ActNum = 0
|
self.StartDate = ""
|
self.EndDate = ""
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.NotifyInfoLoop = []
|
self.IsDayReset = 0
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetPlatformList(self): return self.PlatformList # »î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷IDÁбí
|
def GetActNum(self): return self.ActNum # »î¶¯·Ö×é±àºÅ, »î¶¯ÀàÐÍ * 10 + ²»Í¬½çÃæ±àºÅ
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]
|
def GetIsDayReset(self): return self.IsDayReset # ÊÇ·ñÿÌìÖØÖÃ
|
|
# ¶àÈÕÁ¬³ä»î¶¯±í
|
class IPY_ActManyDayRecharge():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.PlatformList = []
|
self.ServerGroupIDList = []
|
self.ActNum = 0
|
self.StartDate = ""
|
self.EndDate = ""
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.NotifyInfoLoop = []
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetPlatformList(self): return self.PlatformList # »î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷IDÁбí
|
def GetActNum(self): return self.ActNum # »î¶¯·Ö×é±àºÅ, »î¶¯ÀàÐÍ * 10 + ²»Í¬½çÃæ±àºÅ
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]
|
|
# ÀۼƳäÖµ»î¶¯±í
|
class IPY_ActTotalRecharge():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.PlatformList = []
|
self.ServerGroupIDList = []
|
self.ActNum = 0
|
self.StartDate = ""
|
self.EndDate = ""
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.NotifyInfoLoop = []
|
self.IsDayReset = 0
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetPlatformList(self): return self.PlatformList # »î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷IDÁбí
|
def GetActNum(self): return self.ActNum # »î¶¯·Ö×é±àºÅ, »î¶¯ÀàÐÍ * 10 + ²»Í¬½çÃæ±àºÅ
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]
|
def GetIsDayReset(self): return self.IsDayReset # ÊÇ·ñÿÌìÖØÖÃ
|
|
# ¿ç·þ·ÖÇø±íͨÓÃ
|
class IPY_CrossZoneComm():
|
|
def __init__(self):
|
self.CrossZoneName = ""
|
self.ZoneID = 0
|
self.ServerGroupIDList = []
|
return
|
|
def GetCrossZoneName(self): return self.CrossZoneName # ¿ç·þ·ÖÇøÃû
|
def GetZoneID(self): return self.ZoneID # ÈüÇøID
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ÈüÇø·þÎñÆ÷×éIDÁбí
|
|
# ¿ç·þ·ÖÇø±í¾º¼¼³¡
|
class IPY_CrossZonePK():
|
|
def __init__(self):
|
self.CrossZoneName = ""
|
self.ZoneID = 0
|
self.ZoneName = ""
|
self.ServerGroupIDList = []
|
return
|
|
def GetCrossZoneName(self): return self.CrossZoneName # ¿ç·þ·ÖÇøÃû
|
def GetZoneID(self): return self.ZoneID # ÈüÇøID
|
def GetZoneName(self): return self.ZoneName # ÈüÇøÃû×Ö
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ÈüÇø·þÎñÆ÷×éIDÁбí
|
|
# ¿ç·þ¾º¼¼³¡Èü¼¾±í
|
class IPY_CrossRealmPKSeason():
|
|
def __init__(self):
|
self.CrossZoneName = ""
|
self.ZoneID = 0
|
self.SeasonID = 0
|
self.StartDate = ""
|
self.EndDate = ""
|
self.EndTime = ""
|
return
|
|
def GetCrossZoneName(self): return self.CrossZoneName # ¿ç·þ·ÖÇøÃû
|
def GetZoneID(self): return self.ZoneID # ÈüÇøID
|
def GetSeasonID(self): return self.SeasonID # Èü¼¾ID
|
def GetStartDate(self): return self.StartDate # ¿ªÊ¼ÈÕÆÚ yyyy-MM-dd
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ yyyy-MM-dd
|
def GetEndTime(self): return self.EndTime # ½áËãʱ¼ä hh:mm
|
|
# ¿ç·þ¾º¼¼³¡¶Îλ±í
|
class IPY_CrossRealmPKDan():
|
|
def __init__(self):
|
self.DanLV = 0
|
self.LVUpScore = 0
|
self.MatchRange = []
|
self.MatchRobotRate = 0
|
self.MatchRobotRateEx = 0
|
return
|
|
def GetDanLV(self): return self.DanLV # ¶ÎλµÈ¼¶
|
def GetLVUpScore(self): return self.LVUpScore # Éý¶ÎλËùÐè»ý·Ö
|
def GetMatchRange(self): return self.MatchRange # ¿ÉÆ¥Åäµ½µÄÍæ¼Ò¶ÎÎ»Çø¼ä [´Ó¶ÎλA, µ½¶ÎλB]£¬Åä[]´ú±íֻƥÅä±¾¶ÎλµÄ
|
def GetMatchRobotRate(self): return self.MatchRobotRate # Æ¥Åä»úÆ÷ÈË»ù´¡¸ÅÂÊ£¬°Ù·ÖÂÊ
|
def GetMatchRobotRateEx(self): return self.MatchRobotRateEx # Æ¥Åä»úÆ÷ÈËʧ°Ü´ÎÊý¸½¼Ó¸ÅÂÊ£¬°Ù·ÖÂÊ
|
|
# ¿ç·þBossÅîÀ³Ïɾ³·ÖÇøµØÍ¼±í
|
class IPY_CrossPenglaiZoneMap():
|
|
def __init__(self):
|
self.ZoneID = 0
|
self.MapID = 0
|
self.DataMapID = 0
|
self.CopyMapID = 0
|
return
|
|
def GetZoneID(self): return self.ZoneID # ·ÖÇøID
|
def GetMapID(self): return self.MapID # ³¡¾°µØÍ¼ID
|
def GetDataMapID(self): return self.DataMapID # Êý¾ÝµØÍ¼ID
|
def GetCopyMapID(self): return self.CopyMapID # ÐéÄâÏß·ID
|
|
# ÖÜ¿ñ»¶»î¶¯Ê±¼ä±í
|
class IPY_ActWeekParty():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.ActMark = ""
|
self.PlatformList = []
|
self.ServerGroupIDList = []
|
self.StartDate = ""
|
self.EndDate = ""
|
self.AdvanceMinutes = 0
|
self.IsDayReset = 0
|
self.ResetType = 0
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.LVLimit = 0
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetActMark(self): return self.ActMark # »î¶¯×é±ê¼Ç
|
def GetPlatformList(self): return self.PlatformList # »î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷IDÁбí
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetAdvanceMinutes(self): return self.AdvanceMinutes # ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯
|
def GetIsDayReset(self): return self.IsDayReset # ÊÇ·ñÿÌìÖØÖÃ
|
def GetResetType(self): return self.ResetType # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖÃ
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetLVLimit(self): return self.LVLimit # ÏÞÖÆµÈ¼¶
|
|
# µÇ¼½±ÀøÊ±¼ä±í
|
class IPY_ActLoginAward():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.ActMark = ""
|
self.PlatformList = []
|
self.ServerGroupIDList = []
|
self.StartDate = ""
|
self.EndDate = ""
|
self.AdvanceMinutes = 0
|
self.IsDayReset = 0
|
self.ResetType = 0
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.NotifyInfoLoop = []
|
self.LVLimit = 0
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetActMark(self): return self.ActMark # »î¶¯×é±ê¼Ç
|
def GetPlatformList(self): return self.PlatformList # »î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷IDÁбí
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetAdvanceMinutes(self): return self.AdvanceMinutes # ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯
|
def GetIsDayReset(self): return self.IsDayReset # ÊÇ·ñÿÌìÖØÖÃ
|
def GetResetType(self): return self.ResetType # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖÃ
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]
|
def GetLVLimit(self): return self.LVLimit # ÏÞÖÆµÈ¼¶
|
|
# ½ÚÈÕѲÀñ»î¶¯Ê±¼ä±í
|
class IPY_ActFeastWeekParty():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.ActMark = ""
|
self.PlatformList = []
|
self.ServerGroupIDList = []
|
self.StartDate = ""
|
self.EndDate = ""
|
self.AdvanceMinutes = 0
|
self.IsDayReset = 0
|
self.ResetType = 0
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.LVLimit = 0
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetActMark(self): return self.ActMark # »î¶¯×é±ê¼Ç
|
def GetPlatformList(self): return self.PlatformList # »î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷IDÁбí
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetAdvanceMinutes(self): return self.AdvanceMinutes # ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯
|
def GetIsDayReset(self): return self.IsDayReset # ÊÇ·ñÿÌìÖØÖÃ
|
def GetResetType(self): return self.ResetType # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖÃ
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetLVLimit(self): return self.LVLimit # ÏÞÖÆµÈ¼¶
|
|
# ÐÂÏɽçÊ¢µä»î¶¯Ê±¼ä±í
|
class IPY_ActNewFairyCeremony():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.ActMark = ""
|
self.PlatformList = []
|
self.ServerGroupIDList = []
|
self.StartDate = ""
|
self.EndDate = ""
|
self.ResetType = 0
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.LVLimit = 0
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetActMark(self): return self.ActMark # »î¶¯×é±ê¼Ç
|
def GetPlatformList(self): return self.PlatformList # »î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷IDÁбí
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetResetType(self): return self.ResetType # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖã»2-5µã¿ªÊ¼0µã½áÊø
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetLVLimit(self): return self.LVLimit # ÏÞÖÆµÈ¼¶
|
|
# ÐÂÏɽçÊ¢µä-¾ø°æ½µÁÙ±í
|
class IPY_NewUniquenessArrive():
|
|
def __init__(self):
|
self.WorldLvNum = 0
|
self.Rank = 0
|
self.Award = {}
|
return
|
|
def GetWorldLvNum(self): return self.WorldLvNum # ÊÀ½çµÈ¼¶µµ
|
def GetRank(self): return self.Rank # ÅÅÃû
|
def GetAward(self): return self.Award # ½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨],...], ...}
|
|
# ÐÒÔ˼ø±¦»î¶¯Ê±¼ä±í
|
class IPY_ActLuckyTreasure():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.ActMark = ""
|
self.PlatformList = []
|
self.ServerGroupIDList = []
|
self.StartDate = ""
|
self.EndDate = ""
|
self.ResetType = 0
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.NotifyInfoLoop = []
|
self.LVLimit = 0
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetActMark(self): return self.ActMark # »î¶¯×é±ê¼Ç
|
def GetPlatformList(self): return self.PlatformList # »î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ
|
def GetServerGroupIDList(self): return self.ServerGroupIDList # ·þÎñÆ÷IDÁбí
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetResetType(self): return self.ResetType # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖÃ
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]
|
def GetLVLimit(self): return self.LVLimit # ÏÞÖÆµÈ¼¶
|
|
# ¿ç·þ³äÖµÅÅÐлʱ¼ä±í
|
class IPY_CrossActCTGBillboard():
|
|
def __init__(self):
|
self.CfgID = 0
|
self.ActGroupName = ""
|
self.ServerIDRangeList = []
|
self.StartDate = ""
|
self.EndDate = ""
|
self.NotifyInfoStart = {}
|
self.NotifyInfoEnd = {}
|
self.NotifyInfoLoop = []
|
self.IsDayReset = 0
|
self.TemplateIDList = []
|
return
|
|
def GetCfgID(self): return self.CfgID # ÅäÖÃID
|
def GetActGroupName(self): return self.ActGroupName # »î¶¯×éÃû£¨Í¬×é»î¶¯µÄÃû×ÖÐèÏàͬ£©
|
def GetServerIDRangeList(self): return self.ServerIDRangeList # »î¶¯µÄÕ˺ŷþÎñÆ÷ID·¶Î§Áбí [[serverIDA, serverIDB], ...]
|
def GetStartDate(self): return self.StartDate # ¿ªÆôÈÕÆÚ
|
def GetEndDate(self): return self.EndDate # ½áÊøÈÕÆÚ
|
def GetNotifyInfoStart(self): return self.NotifyInfoStart # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä
|
def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä
|
def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[Ñ»··ÖÖÓ, ¹ã²¥key, [¹ã²¥²ÎÊýÁбí¿ÉÑ¡]]
|
def GetIsDayReset(self): return self.IsDayReset # ÊÇ·ñÿÌìÖØÖÃ
|
def GetTemplateIDList(self): return self.TemplateIDList # Ä£°åIDÁбí
|
|
# ¿ç·þ³äÖµÅÅÐÐÄ£°åÃû´Î½±Àø±í
|
class IPY_CrossActCTGBillboardOrder():
|
|
def __init__(self):
|
self.TemplateID = 0
|
self.OrderA = 0
|
self.OrderB = 0
|
self.CTGAtleast = 0.0
|
self.AwardItemList = []
|
return
|
|
def GetTemplateID(self): return self.TemplateID # Ä£°åID
|
def GetOrderA(self): return self.OrderA # Ãû´ÎA
|
def GetOrderB(self): return self.OrderB # ÖÁÃû´ÎB
|
def GetCTGAtleast(self): return self.CTGAtleast # ÖÁÉÙ³äÖµRMB
|
def GetAwardItemList(self): return self.AwardItemList # ½±ÀøÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]
|
|
# ×°±¸ÉýÐDZí
|
class IPY_EquipStarUp():
|
|
def __init__(self):
|
self.ClassLV = 0
|
self.EquipPlace = 0
|
self.Star = 0
|
self.CostEquipPlace = []
|
self.IsJobLimit = 0
|
self.CostEquipColor = []
|
self.UnSuitRate = 0
|
return
|
|
def GetClassLV(self): return self.ClassLV # ½×¼¶
|
def GetEquipPlace(self): return self.EquipPlace # ×°±¸Î»
|
def GetStar(self): return self.Star # ÐÇÊý
|
def GetCostEquipPlace(self): return self.CostEquipPlace # ¿ÉÓÃ×°±¸²¿Î»
|
def GetIsJobLimit(self): return self.IsJobLimit # ÊÇ·ñÖ»Óñ¾Ö°Òµ×°±¸²ÄÁÏ
|
def GetCostEquipColor(self): return self.CostEquipColor # ¿ÉÓÃ×°±¸Æ·ÖÊ
|
def GetUnSuitRate(self): return self.UnSuitRate # µ¥¼þ·ÇÌ××°¼Ó³É¸ÅÂÊ
|
|
# ÏÉÃËÁªÈüÅÅÃû½±Àø±í
|
class IPY_FamilyWarRankAward():
|
|
def __init__(self):
|
self.WarWorldLV = 0
|
self.WarRank = 0
|
self.RankAuctionItem = []
|
return
|
|
def GetWarWorldLV(self): return self.WarWorldLV # ÁªÈüÊÀ½çµÈ¼¶
|
def GetWarRank(self): return self.WarRank # ÁªÈüÅÅÃû
|
def GetRankAuctionItem(self): return self.RankAuctionItem # ÅÄÆ·½±Àø[[ÅÄÆ·ID,¸öÊý], ...]
|
|
# ÐÖú¸ÐлÀñºÐ±í
|
class IPY_AssistThanksGift():
|
|
def __init__(self):
|
self.GiftID = 0
|
self.AssistAwardCount = 0
|
return
|
|
def GetGiftID(self): return self.GiftID # ÀñºÐÎïÆ·ID
|
def GetAssistAwardCount(self): return self.AssistAwardCount # ÐÖú½±ÀøÃ¿ÈÕ´ÎÊý
|
|
# çÎç¿ÏÉÓò±í
|
class IPY_FairyDomain():
|
|
def __init__(self):
|
self.ID = 0
|
self.HourCntPubLimit = 0
|
self.DayCntPubLimit = 0
|
return
|
|
def GetID(self): return self.ID # ʼþ±àºÅ
|
def GetHourCntPubLimit(self): return self.HourCntPubLimit # È«·þÿСʱ´ÎÊýÏÞÖÆ
|
def GetDayCntPubLimit(self): return self.DayCntPubLimit # È«·þÿÌì´ÎÊýÏÞÖÆ
|
|
|
def Log(msg, playerID=0, par=0):
|
LogUI.Msg("%s\t%s\t%s" % (par, playerID, msg))
|
return
|
|
def ErrLog(msg, playerID=0, par=0):
|
LogUI.Msg("%s\t%s\t###Error:%s" % (par, playerID, msg))
|
return
|
|
## PY±íÊý¾Ý¹ÜÀíÀà
|
class IPY_DataMgr():
|
|
def __init__(self):
|
self.fileMD5Dict = {} # Êý¾Ý±íÎļþmd5×Öµä, ÓÃÓÚ¶Ô±ÈÎļþ²îÒìÅжÏÊÇ·ñÖØ¶Á {dtName:md5, ...}
|
self.ipyConfigEx = {} # ×Ô¶¨ÒåÊý¾Ý»º´æ {key:configData, ...}
|
self.ipyDataIndexMap = {} # Êý¾Ý±íË÷Òý²éѯ»º´æ {dtName:{args:[index, ...], ...}, ...}
|
self.ipyDataIndexMapEx = {} # Êý¾Ý±í×Ô¶¨Òå²éѯÌõ¼þ²éѯ»º´æ {dtName_(findKey,...):{(findKeyValue, ...):[index, ...], ...}, ...}
|
self.ipyFuncConfigDict = {} # ¹¦ÄÜÅäÖÃ±í»º´æ {key:IPY_FuncConfig, ...}
|
self.IpyDataClear()
|
return
|
|
def IpyDataClear(self):
|
Log("IPY_DataMgr Init...")
|
self.ipyConfigEx = {}
|
self.ipyFuncConfigCache = self.__LoadFileData("FuncConfig", IPY_FuncConfig)
|
self.ipyFuncConfigLen = len(self.ipyFuncConfigCache)
|
self.ipyCreateRoleLimitServerCache = self.__LoadFileData("CreateRoleLimitServer", IPY_CreateRoleLimitServer)
|
self.ipyCreateRoleLimitServerLen = len(self.ipyCreateRoleLimitServerCache)
|
self.ipyWorldLVCache = self.__LoadFileData("WorldLV", IPY_WorldLV)
|
self.ipyWorldLVLen = len(self.ipyWorldLVCache)
|
self.ipyFamilyCache = self.__LoadFileData("Family", IPY_Family)
|
self.ipyFamilyLen = len(self.ipyFamilyCache)
|
self.ipyMarketQueryCache = self.__LoadFileData("MarketQuery", IPY_MarketQuery)
|
self.ipyMarketQueryLen = len(self.ipyMarketQueryCache)
|
self.ipyAuctionItemCache = self.__LoadFileData("AuctionItem", IPY_AuctionItem)
|
self.ipyAuctionItemLen = len(self.ipyAuctionItemCache)
|
self.ipyAuctionSystemItemCache = self.__LoadFileData("AuctionSystemItem", IPY_AuctionSystemItem)
|
self.ipyAuctionSystemItemLen = len(self.ipyAuctionSystemItemCache)
|
self.ipyDailyActionCache = self.__LoadFileData("DailyAction", IPY_DailyAction)
|
self.ipyDailyActionLen = len(self.ipyDailyActionCache)
|
self.ipyDailyActionCustomCache = self.__LoadFileData("DailyActionCustom", IPY_DailyActionCustom)
|
self.ipyDailyActionCustomLen = len(self.ipyDailyActionCustomCache)
|
self.ipyDailyActionCustomMixCache = self.__LoadFileData("DailyActionCustomMix", IPY_DailyActionCustomMix)
|
self.ipyDailyActionCustomMixLen = len(self.ipyDailyActionCustomMixCache)
|
self.ipyFBStateTimeCache = self.__LoadFileData("FBStateTime", IPY_FBStateTime)
|
self.ipyFBStateTimeLen = len(self.ipyFBStateTimeCache)
|
self.ipyFBStateTimeCustomCache = self.__LoadFileData("FBStateTimeCustom", IPY_FBStateTimeCustom)
|
self.ipyFBStateTimeCustomLen = len(self.ipyFBStateTimeCustomCache)
|
self.ipyFBStateTimeCustomMixCache = self.__LoadFileData("FBStateTimeCustomMix", IPY_FBStateTimeCustomMix)
|
self.ipyFBStateTimeCustomMixLen = len(self.ipyFBStateTimeCustomMixCache)
|
self.ipyFBFuncCache = self.__LoadFileData("FBFunc", IPY_FBFunc)
|
self.ipyFBFuncLen = len(self.ipyFBFuncCache)
|
self.ipyFBLineCache = self.__LoadFileData("FBLine", IPY_FBLine)
|
self.ipyFBLineLen = len(self.ipyFBLineCache)
|
self.ipyFBHelpBattleCache = self.__LoadFileData("FBHelpBattle", IPY_FBHelpBattle)
|
self.ipyFBHelpBattleLen = len(self.ipyFBHelpBattleCache)
|
self.ipyChinMapCache = self.__LoadFileData("ChinMap", IPY_ChinMap)
|
self.ipyChinMapLen = len(self.ipyChinMapCache)
|
self.ipyBOSSInfoCache = self.__LoadFileData("BOSSInfo", IPY_BOSSInfo)
|
self.ipyBOSSInfoLen = len(self.ipyBOSSInfoCache)
|
self.ipyBOSSFirstKillCache = self.__LoadFileData("BOSSFirstKill", IPY_BOSSFirstKill)
|
self.ipyBOSSFirstKillLen = len(self.ipyBOSSFirstKillCache)
|
self.ipyQuestionBankCache = self.__LoadFileData("QuestionBank", IPY_QuestionBank)
|
self.ipyQuestionBankLen = len(self.ipyQuestionBankCache)
|
self.ipyFamilyRedPackCache = self.__LoadFileData("FamilyRedPack", IPY_FamilyRedPack)
|
self.ipyFamilyRedPackLen = len(self.ipyFamilyRedPackCache)
|
self.ipyActFeastRedPacketCache = self.__LoadFileData("ActFeastRedPacket", IPY_ActFeastRedPacket)
|
self.ipyActFeastRedPacketLen = len(self.ipyActFeastRedPacketCache)
|
self.ipyActFeastLoginCache = self.__LoadFileData("ActFeastLogin", IPY_ActFeastLogin)
|
self.ipyActFeastLoginLen = len(self.ipyActFeastLoginCache)
|
self.ipyActFeastWishCache = self.__LoadFileData("ActFeastWish", IPY_ActFeastWish)
|
self.ipyActFeastWishLen = len(self.ipyActFeastWishCache)
|
self.ipyActFeastTravelCache = self.__LoadFileData("ActFeastTravel", IPY_ActFeastTravel)
|
self.ipyActFeastTravelLen = len(self.ipyActFeastTravelCache)
|
self.ipyFuncOpenLVCache = self.__LoadFileData("FuncOpenLV", IPY_FuncOpenLV)
|
self.ipyFuncOpenLVLen = len(self.ipyFuncOpenLVCache)
|
self.ipyChinNPCCache = self.__LoadFileData("ChinNPC", IPY_ChinNPC)
|
self.ipyChinNPCLen = len(self.ipyChinNPCCache)
|
self.ipyPlayerLVCache = self.__LoadFileData("PlayerLV", IPY_PlayerLV)
|
self.ipyPlayerLVLen = len(self.ipyPlayerLVCache)
|
self.ipyVipPrivilegeCache = self.__LoadFileData("VipPrivilege", IPY_VipPrivilege)
|
self.ipyVipPrivilegeLen = len(self.ipyVipPrivilegeCache)
|
self.ipyActSpringSaleCache = self.__LoadFileData("ActSpringSale", IPY_ActSpringSale)
|
self.ipyActSpringSaleLen = len(self.ipyActSpringSaleCache)
|
self.ipyActFlashGiftbagCache = self.__LoadFileData("ActFlashGiftbag", IPY_ActFlashGiftbag)
|
self.ipyActFlashGiftbagLen = len(self.ipyActFlashGiftbagCache)
|
self.ipyActDailyGiftbagCache = self.__LoadFileData("ActDailyGiftbag", IPY_ActDailyGiftbag)
|
self.ipyActDailyGiftbagLen = len(self.ipyActDailyGiftbagCache)
|
self.ipyActExpRateCache = self.__LoadFileData("ActExpRate", IPY_ActExpRate)
|
self.ipyActExpRateLen = len(self.ipyActExpRateCache)
|
self.ipyActCostRebateCache = self.__LoadFileData("ActCostRebate", IPY_ActCostRebate)
|
self.ipyActCostRebateLen = len(self.ipyActCostRebateCache)
|
self.ipyActCollectWordsCache = self.__LoadFileData("ActCollectWords", IPY_ActCollectWords)
|
self.ipyActCollectWordsLen = len(self.ipyActCollectWordsCache)
|
self.ipyActBossRebornCache = self.__LoadFileData("ActBossReborn", IPY_ActBossReborn)
|
self.ipyActBossRebornLen = len(self.ipyActBossRebornCache)
|
self.ipyActFairyCeremonyCache = self.__LoadFileData("ActFairyCeremony", IPY_ActFairyCeremony)
|
self.ipyActFairyCeremonyLen = len(self.ipyActFairyCeremonyCache)
|
self.ipyUniquenessArriveCache = self.__LoadFileData("UniquenessArrive", IPY_UniquenessArrive)
|
self.ipyUniquenessArriveLen = len(self.ipyUniquenessArriveCache)
|
self.ipyActRealmPointCache = self.__LoadFileData("ActRealmPoint", IPY_ActRealmPoint)
|
self.ipyActRealmPointLen = len(self.ipyActRealmPointCache)
|
self.ipyActFlashSaleCache = self.__LoadFileData("ActFlashSale", IPY_ActFlashSale)
|
self.ipyActFlashSaleLen = len(self.ipyActFlashSaleCache)
|
self.ipyStoreCache = self.__LoadFileData("Store", IPY_Store)
|
self.ipyStoreLen = len(self.ipyStoreCache)
|
self.ipyActWishingWellCache = self.__LoadFileData("ActWishingWell", IPY_ActWishingWell)
|
self.ipyActWishingWellLen = len(self.ipyActWishingWellCache)
|
self.ipyActRechargePrizeCache = self.__LoadFileData("ActRechargePrize", IPY_ActRechargePrize)
|
self.ipyActRechargePrizeLen = len(self.ipyActRechargePrizeCache)
|
self.ipyActRechargeRebateGoldCache = self.__LoadFileData("ActRechargeRebateGold", IPY_ActRechargeRebateGold)
|
self.ipyActRechargeRebateGoldLen = len(self.ipyActRechargeRebateGoldCache)
|
self.ipyActGrowupBuyCache = self.__LoadFileData("ActGrowupBuy", IPY_ActGrowupBuy)
|
self.ipyActGrowupBuyLen = len(self.ipyActGrowupBuyCache)
|
self.ipyActSingleRechargeCache = self.__LoadFileData("ActSingleRecharge", IPY_ActSingleRecharge)
|
self.ipyActSingleRechargeLen = len(self.ipyActSingleRechargeCache)
|
self.ipyActManyDayRechargeCache = self.__LoadFileData("ActManyDayRecharge", IPY_ActManyDayRecharge)
|
self.ipyActManyDayRechargeLen = len(self.ipyActManyDayRechargeCache)
|
self.ipyActTotalRechargeCache = self.__LoadFileData("ActTotalRecharge", IPY_ActTotalRecharge)
|
self.ipyActTotalRechargeLen = len(self.ipyActTotalRechargeCache)
|
self.ipyCrossZoneCommCache = self.__LoadFileData("CrossZoneComm", IPY_CrossZoneComm)
|
self.ipyCrossZoneCommLen = len(self.ipyCrossZoneCommCache)
|
self.ipyCrossZonePKCache = self.__LoadFileData("CrossZonePK", IPY_CrossZonePK)
|
self.ipyCrossZonePKLen = len(self.ipyCrossZonePKCache)
|
self.ipyCrossRealmPKSeasonCache = self.__LoadFileData("CrossRealmPKSeason", IPY_CrossRealmPKSeason)
|
self.ipyCrossRealmPKSeasonLen = len(self.ipyCrossRealmPKSeasonCache)
|
self.ipyCrossRealmPKDanCache = self.__LoadFileData("CrossRealmPKDan", IPY_CrossRealmPKDan)
|
self.ipyCrossRealmPKDanLen = len(self.ipyCrossRealmPKDanCache)
|
self.ipyCrossPenglaiZoneMapCache = self.__LoadFileData("CrossPenglaiZoneMap", IPY_CrossPenglaiZoneMap)
|
self.ipyCrossPenglaiZoneMapLen = len(self.ipyCrossPenglaiZoneMapCache)
|
self.ipyActWeekPartyCache = self.__LoadFileData("ActWeekParty", IPY_ActWeekParty)
|
self.ipyActWeekPartyLen = len(self.ipyActWeekPartyCache)
|
self.ipyActLoginAwardCache = self.__LoadFileData("ActLoginAward", IPY_ActLoginAward)
|
self.ipyActLoginAwardLen = len(self.ipyActLoginAwardCache)
|
self.ipyActFeastWeekPartyCache = self.__LoadFileData("ActFeastWeekParty", IPY_ActFeastWeekParty)
|
self.ipyActFeastWeekPartyLen = len(self.ipyActFeastWeekPartyCache)
|
self.ipyActNewFairyCeremonyCache = self.__LoadFileData("ActNewFairyCeremony", IPY_ActNewFairyCeremony)
|
self.ipyActNewFairyCeremonyLen = len(self.ipyActNewFairyCeremonyCache)
|
self.ipyNewUniquenessArriveCache = self.__LoadFileData("NewUniquenessArrive", IPY_NewUniquenessArrive)
|
self.ipyNewUniquenessArriveLen = len(self.ipyNewUniquenessArriveCache)
|
self.ipyActLuckyTreasureCache = self.__LoadFileData("ActLuckyTreasure", IPY_ActLuckyTreasure)
|
self.ipyActLuckyTreasureLen = len(self.ipyActLuckyTreasureCache)
|
self.ipyCrossActCTGBillboardCache = self.__LoadFileData("CrossActCTGBillboard", IPY_CrossActCTGBillboard)
|
self.ipyCrossActCTGBillboardLen = len(self.ipyCrossActCTGBillboardCache)
|
self.ipyCrossActCTGBillboardOrderCache = self.__LoadFileData("CrossActCTGBillboardOrder", IPY_CrossActCTGBillboardOrder)
|
self.ipyCrossActCTGBillboardOrderLen = len(self.ipyCrossActCTGBillboardOrderCache)
|
self.ipyEquipStarUpCache = self.__LoadFileData("EquipStarUp", IPY_EquipStarUp)
|
self.ipyEquipStarUpLen = len(self.ipyEquipStarUpCache)
|
self.ipyFamilyWarRankAwardCache = self.__LoadFileData("FamilyWarRankAward", IPY_FamilyWarRankAward)
|
self.ipyFamilyWarRankAwardLen = len(self.ipyFamilyWarRankAwardCache)
|
self.ipyAssistThanksGiftCache = self.__LoadFileData("AssistThanksGift", IPY_AssistThanksGift)
|
self.ipyAssistThanksGiftLen = len(self.ipyAssistThanksGiftCache)
|
self.ipyFairyDomainCache = self.__LoadFileData("FairyDomain", IPY_FairyDomain)
|
self.ipyFairyDomainLen = len(self.ipyFairyDomainCache)
|
Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict))
|
Log("IPY_DataMgr InitOK!")
|
return
|
|
def __LoadFileData(self, tableName, Class):
|
curPath = ChConfig.GetAppPath() + "\\PySysDB\\tag" + tableName + ".txt"
|
if not os.path.isfile(curPath):
|
ErrLog("can not find file = %s,%s" % (tableName, curPath))
|
raise Exception("can not find file = %s,%s" % (tableName, curPath))
|
|
fileObj = open(curPath, 'rb')
|
content = fileObj.read()
|
fileObj.close()
|
|
md5_obj = hashlib.md5()
|
md5_obj.update(content)
|
newMD5Code = md5_obj.hexdigest()
|
if tableName in self.fileMD5Dict:
|
oldMD5Code = self.fileMD5Dict[tableName]
|
if newMD5Code == oldMD5Code:
|
return getattr(self, "ipy%sCache" % tableName)
|
|
if tableName in self.ipyDataIndexMap:
|
self.ipyDataIndexMap.pop(tableName)
|
for dtName_Findkey in self.ipyDataIndexMapEx.keys():
|
findStr = "%s_" % tableName
|
if findStr in dtName_Findkey:
|
self.ipyDataIndexMapEx.pop(dtName_Findkey)
|
if tableName == "FuncConfig":
|
self.ipyFuncConfigDict = {}
|
self.fileMD5Dict[tableName] = newMD5Code
|
|
dataIndex = 0
|
indexDict = {}
|
cacheList = []
|
fieldList = Def_IpyTable[tableName]
|
infoList = content.split('\r\n')
|
for line in xrange(len(infoList)):
|
if line == 0:
|
continue
|
if not infoList[line]:
|
#ErrLog("line not content! %s, line=%s" % (tableName, line))
|
continue
|
rowList = infoList[line].split('\t')
|
if len(fieldList) != len(rowList):
|
ErrLog("field count error!, %s, line=%s, len=%s,rowCount=%s" % (tableName, line, len(fieldList), len(rowList)))
|
raise Exception("field count error!, %s, line=%s, len=%s,rowCount=%s" % (tableName, line,len(fieldList), len(rowList)))
|
|
try:
|
indexKey = []
|
classObj = Class()
|
for j, value in enumerate(rowList):
|
fieldType, fieldName, isIndex = fieldList[j]
|
if fieldType == "char":
|
attrValue = value
|
elif fieldType == "dict":
|
attrValue = self.__StrToDict(value)
|
elif fieldType == "list":
|
attrValue = self.__StrToList(value)
|
elif fieldType == "eval":
|
attrValue = self.__StrToEval(value)
|
elif fieldType == "float":
|
attrValue = float(value)
|
else:
|
attrValue = 0 if not value.isdigit() else int(value)
|
setattr(classObj, "%s" % fieldName, attrValue)
|
if isIndex:
|
indexKey.append(attrValue)
|
cacheList.append(classObj)
|
indexKey = tuple(indexKey)
|
indexList = indexDict.get(indexKey, [])
|
indexList.append(dataIndex)
|
indexDict[indexKey] = indexList
|
dataIndex += 1
|
except BaseException:
|
ErrLog("SetIpyDataError: tableName=%s,line=%s,fieldName=%s,fieldType=%s,value=%s" % (tableName, line, fieldName, fieldType, value))
|
raise
|
if tableName == "FuncConfig":
|
self.__LoadFuncConfigData(fieldList, rowList)
|
if tableName != "FuncConfig":
|
self.ipyDataIndexMap[tableName] = indexDict
|
Log("LoadIpydata: %s, content count=%s" % (tableName, len(cacheList)))
|
return cacheList
|
|
def __LoadFuncConfigData(self, fieldList, rowList):
|
funcConfigObj = IPY_FuncConfig()
|
key = rowList[0]
|
funcConfigObj.Key = key
|
for i, strValue in enumerate(rowList):
|
if i == 0:
|
continue
|
try:
|
fieldName = fieldList[i][1]
|
strValue = strValue.lstrip().rstrip()
|
if strValue.isdigit():
|
configValue = int(strValue)
|
elif (strValue.startswith("{") and strValue.endswith("}")) \
|
or (strValue.startswith("[") and strValue.endswith("]")) \
|
or (strValue.startswith("(") and strValue.endswith(")")):
|
configValue = eval(strValue)
|
elif "_" in strValue and type(self.__StrToDict(strValue)) == dict:
|
configValue = self.__StrToDict(strValue)
|
elif ChConfig.Def_Str_Montant in strValue:
|
configValue = eval("(%s,)" % strValue.replace(ChConfig.Def_Str_Montant, ","))
|
elif strValue in ["-", ""]:
|
configValue = ""
|
else:
|
configValue = self.__ToFloat(strValue)
|
except BaseException:
|
ErrLog("SetIpyDataError: tableName=%s,key=%s,i=%s,value=%s" % ("FuncConfig", key, i, strValue))
|
raise
|
setattr(funcConfigObj, fieldName, configValue)
|
self.ipyFuncConfigDict[key] = funcConfigObj
|
return
|
|
def __ToFloat(self, strValue):
|
try:
|
value = float(strValue)
|
except:
|
return strValue
|
return value
|
|
def __StrToEval(self, strValue):
|
if not strValue or strValue in ["0", "-", ""]:
|
return
|
return eval(strValue)
|
|
def __StrToDict(self, strValue):
|
setDict = {}
|
if "{" in strValue and "}" in strValue:
|
setDict = eval(strValue)
|
elif strValue in ["0", "-", ""]:
|
pass
|
else:
|
keyValueList = strValue.split(ChConfig.Def_Str_Montant)
|
for keyValue in keyValueList:
|
if "_" not in keyValue:
|
continue
|
kv = keyValue.split("_")
|
if len(kv) != 2:
|
return
|
key, value = kv
|
if key.isdigit():
|
key = int(key)
|
if value.isdigit():
|
value = int(value)
|
setDict[key] = value
|
return setDict
|
|
def __StrToList(self, strValue):
|
setList = []
|
if ("[" in strValue and "]" in strValue) or ("(" in strValue and ")" in strValue):
|
setList = eval(strValue)
|
elif strValue in ["0", "-", ""]:
|
pass
|
elif strValue.isdigit():
|
setList = (int(strValue),)
|
else:
|
for value in strValue.split(ChConfig.Def_Str_Montant):
|
if value.isdigit():
|
value = int(value)
|
setList.append(value)
|
if setList:
|
setList = tuple(setList)
|
return setList
|
|
def GetFuncConfigCount(self): return self.ipyFuncConfigLen
|
def GetFuncConfigByIndex(self, index): return self.ipyFuncConfigCache[index]
|
def GetCreateRoleLimitServerCount(self): return self.ipyCreateRoleLimitServerLen
|
def GetCreateRoleLimitServerByIndex(self, index): return self.ipyCreateRoleLimitServerCache[index]
|
def GetWorldLVCount(self): return self.ipyWorldLVLen
|
def GetWorldLVByIndex(self, index): return self.ipyWorldLVCache[index]
|
def GetFamilyCount(self): return self.ipyFamilyLen
|
def GetFamilyByIndex(self, index): return self.ipyFamilyCache[index]
|
def GetMarketQueryCount(self): return self.ipyMarketQueryLen
|
def GetMarketQueryByIndex(self, index): return self.ipyMarketQueryCache[index]
|
def GetAuctionItemCount(self): return self.ipyAuctionItemLen
|
def GetAuctionItemByIndex(self, index): return self.ipyAuctionItemCache[index]
|
def GetAuctionSystemItemCount(self): return self.ipyAuctionSystemItemLen
|
def GetAuctionSystemItemByIndex(self, index): return self.ipyAuctionSystemItemCache[index]
|
def GetDailyActionCount(self): return self.ipyDailyActionLen
|
def GetDailyActionByIndex(self, index): return self.ipyDailyActionCache[index]
|
def GetDailyActionCustomCount(self): return self.ipyDailyActionCustomLen
|
def GetDailyActionCustomByIndex(self, index): return self.ipyDailyActionCustomCache[index]
|
def GetDailyActionCustomMixCount(self): return self.ipyDailyActionCustomMixLen
|
def GetDailyActionCustomMixByIndex(self, index): return self.ipyDailyActionCustomMixCache[index]
|
def GetFBStateTimeCount(self): return self.ipyFBStateTimeLen
|
def GetFBStateTimeByIndex(self, index): return self.ipyFBStateTimeCache[index]
|
def GetFBStateTimeCustomCount(self): return self.ipyFBStateTimeCustomLen
|
def GetFBStateTimeCustomByIndex(self, index): return self.ipyFBStateTimeCustomCache[index]
|
def GetFBStateTimeCustomMixCount(self): return self.ipyFBStateTimeCustomMixLen
|
def GetFBStateTimeCustomMixByIndex(self, index): return self.ipyFBStateTimeCustomMixCache[index]
|
def GetFBFuncCount(self): return self.ipyFBFuncLen
|
def GetFBFuncByIndex(self, index): return self.ipyFBFuncCache[index]
|
def GetFBLineCount(self): return self.ipyFBLineLen
|
def GetFBLineByIndex(self, index): return self.ipyFBLineCache[index]
|
def GetFBHelpBattleCount(self): return self.ipyFBHelpBattleLen
|
def GetFBHelpBattleByIndex(self, index): return self.ipyFBHelpBattleCache[index]
|
def GetChinMapCount(self): return self.ipyChinMapLen
|
def GetChinMapByIndex(self, index): return self.ipyChinMapCache[index]
|
def GetBOSSInfoCount(self): return self.ipyBOSSInfoLen
|
def GetBOSSInfoByIndex(self, index): return self.ipyBOSSInfoCache[index]
|
def GetBOSSFirstKillCount(self): return self.ipyBOSSFirstKillLen
|
def GetBOSSFirstKillByIndex(self, index): return self.ipyBOSSFirstKillCache[index]
|
def GetQuestionBankCount(self): return self.ipyQuestionBankLen
|
def GetQuestionBankByIndex(self, index): return self.ipyQuestionBankCache[index]
|
def GetFamilyRedPackCount(self): return self.ipyFamilyRedPackLen
|
def GetFamilyRedPackByIndex(self, index): return self.ipyFamilyRedPackCache[index]
|
def GetActFeastRedPacketCount(self): return self.ipyActFeastRedPacketLen
|
def GetActFeastRedPacketByIndex(self, index): return self.ipyActFeastRedPacketCache[index]
|
def GetActFeastLoginCount(self): return self.ipyActFeastLoginLen
|
def GetActFeastLoginByIndex(self, index): return self.ipyActFeastLoginCache[index]
|
def GetActFeastWishCount(self): return self.ipyActFeastWishLen
|
def GetActFeastWishByIndex(self, index): return self.ipyActFeastWishCache[index]
|
def GetActFeastTravelCount(self): return self.ipyActFeastTravelLen
|
def GetActFeastTravelByIndex(self, index): return self.ipyActFeastTravelCache[index]
|
def GetFuncOpenLVCount(self): return self.ipyFuncOpenLVLen
|
def GetFuncOpenLVByIndex(self, index): return self.ipyFuncOpenLVCache[index]
|
def GetChinNPCCount(self): return self.ipyChinNPCLen
|
def GetChinNPCByIndex(self, index): return self.ipyChinNPCCache[index]
|
def GetPlayerLVCount(self): return self.ipyPlayerLVLen
|
def GetPlayerLVByIndex(self, index): return self.ipyPlayerLVCache[index]
|
def GetVipPrivilegeCount(self): return self.ipyVipPrivilegeLen
|
def GetVipPrivilegeByIndex(self, index): return self.ipyVipPrivilegeCache[index]
|
def GetActSpringSaleCount(self): return self.ipyActSpringSaleLen
|
def GetActSpringSaleByIndex(self, index): return self.ipyActSpringSaleCache[index]
|
def GetActFlashGiftbagCount(self): return self.ipyActFlashGiftbagLen
|
def GetActFlashGiftbagByIndex(self, index): return self.ipyActFlashGiftbagCache[index]
|
def GetActDailyGiftbagCount(self): return self.ipyActDailyGiftbagLen
|
def GetActDailyGiftbagByIndex(self, index): return self.ipyActDailyGiftbagCache[index]
|
def GetActExpRateCount(self): return self.ipyActExpRateLen
|
def GetActExpRateByIndex(self, index): return self.ipyActExpRateCache[index]
|
def GetActCostRebateCount(self): return self.ipyActCostRebateLen
|
def GetActCostRebateByIndex(self, index): return self.ipyActCostRebateCache[index]
|
def GetActCollectWordsCount(self): return self.ipyActCollectWordsLen
|
def GetActCollectWordsByIndex(self, index): return self.ipyActCollectWordsCache[index]
|
def GetActBossRebornCount(self): return self.ipyActBossRebornLen
|
def GetActBossRebornByIndex(self, index): return self.ipyActBossRebornCache[index]
|
def GetActFairyCeremonyCount(self): return self.ipyActFairyCeremonyLen
|
def GetActFairyCeremonyByIndex(self, index): return self.ipyActFairyCeremonyCache[index]
|
def GetUniquenessArriveCount(self): return self.ipyUniquenessArriveLen
|
def GetUniquenessArriveByIndex(self, index): return self.ipyUniquenessArriveCache[index]
|
def GetActRealmPointCount(self): return self.ipyActRealmPointLen
|
def GetActRealmPointByIndex(self, index): return self.ipyActRealmPointCache[index]
|
def GetActFlashSaleCount(self): return self.ipyActFlashSaleLen
|
def GetActFlashSaleByIndex(self, index): return self.ipyActFlashSaleCache[index]
|
def GetStoreCount(self): return self.ipyStoreLen
|
def GetStoreByIndex(self, index): return self.ipyStoreCache[index]
|
def GetActWishingWellCount(self): return self.ipyActWishingWellLen
|
def GetActWishingWellByIndex(self, index): return self.ipyActWishingWellCache[index]
|
def GetActRechargePrizeCount(self): return self.ipyActRechargePrizeLen
|
def GetActRechargePrizeByIndex(self, index): return self.ipyActRechargePrizeCache[index]
|
def GetActRechargeRebateGoldCount(self): return self.ipyActRechargeRebateGoldLen
|
def GetActRechargeRebateGoldByIndex(self, index): return self.ipyActRechargeRebateGoldCache[index]
|
def GetActGrowupBuyCount(self): return self.ipyActGrowupBuyLen
|
def GetActGrowupBuyByIndex(self, index): return self.ipyActGrowupBuyCache[index]
|
def GetActSingleRechargeCount(self): return self.ipyActSingleRechargeLen
|
def GetActSingleRechargeByIndex(self, index): return self.ipyActSingleRechargeCache[index]
|
def GetActManyDayRechargeCount(self): return self.ipyActManyDayRechargeLen
|
def GetActManyDayRechargeByIndex(self, index): return self.ipyActManyDayRechargeCache[index]
|
def GetActTotalRechargeCount(self): return self.ipyActTotalRechargeLen
|
def GetActTotalRechargeByIndex(self, index): return self.ipyActTotalRechargeCache[index]
|
def GetCrossZoneCommCount(self): return self.ipyCrossZoneCommLen
|
def GetCrossZoneCommByIndex(self, index): return self.ipyCrossZoneCommCache[index]
|
def GetCrossZonePKCount(self): return self.ipyCrossZonePKLen
|
def GetCrossZonePKByIndex(self, index): return self.ipyCrossZonePKCache[index]
|
def GetCrossRealmPKSeasonCount(self): return self.ipyCrossRealmPKSeasonLen
|
def GetCrossRealmPKSeasonByIndex(self, index): return self.ipyCrossRealmPKSeasonCache[index]
|
def GetCrossRealmPKDanCount(self): return self.ipyCrossRealmPKDanLen
|
def GetCrossRealmPKDanByIndex(self, index): return self.ipyCrossRealmPKDanCache[index]
|
def GetCrossPenglaiZoneMapCount(self): return self.ipyCrossPenglaiZoneMapLen
|
def GetCrossPenglaiZoneMapByIndex(self, index): return self.ipyCrossPenglaiZoneMapCache[index]
|
def GetActWeekPartyCount(self): return self.ipyActWeekPartyLen
|
def GetActWeekPartyByIndex(self, index): return self.ipyActWeekPartyCache[index]
|
def GetActLoginAwardCount(self): return self.ipyActLoginAwardLen
|
def GetActLoginAwardByIndex(self, index): return self.ipyActLoginAwardCache[index]
|
def GetActFeastWeekPartyCount(self): return self.ipyActFeastWeekPartyLen
|
def GetActFeastWeekPartyByIndex(self, index): return self.ipyActFeastWeekPartyCache[index]
|
def GetActNewFairyCeremonyCount(self): return self.ipyActNewFairyCeremonyLen
|
def GetActNewFairyCeremonyByIndex(self, index): return self.ipyActNewFairyCeremonyCache[index]
|
def GetNewUniquenessArriveCount(self): return self.ipyNewUniquenessArriveLen
|
def GetNewUniquenessArriveByIndex(self, index): return self.ipyNewUniquenessArriveCache[index]
|
def GetActLuckyTreasureCount(self): return self.ipyActLuckyTreasureLen
|
def GetActLuckyTreasureByIndex(self, index): return self.ipyActLuckyTreasureCache[index]
|
def GetCrossActCTGBillboardCount(self): return self.ipyCrossActCTGBillboardLen
|
def GetCrossActCTGBillboardByIndex(self, index): return self.ipyCrossActCTGBillboardCache[index]
|
def GetCrossActCTGBillboardOrderCount(self): return self.ipyCrossActCTGBillboardOrderLen
|
def GetCrossActCTGBillboardOrderByIndex(self, index): return self.ipyCrossActCTGBillboardOrderCache[index]
|
def GetEquipStarUpCount(self): return self.ipyEquipStarUpLen
|
def GetEquipStarUpByIndex(self, index): return self.ipyEquipStarUpCache[index]
|
def GetFamilyWarRankAwardCount(self): return self.ipyFamilyWarRankAwardLen
|
def GetFamilyWarRankAwardByIndex(self, index): return self.ipyFamilyWarRankAwardCache[index]
|
def GetAssistThanksGiftCount(self): return self.ipyAssistThanksGiftLen
|
def GetAssistThanksGiftByIndex(self, index): return self.ipyAssistThanksGiftCache[index]
|
def GetFairyDomainCount(self): return self.ipyFairyDomainLen
|
def GetFairyDomainByIndex(self, index): return self.ipyFairyDomainCache[index]
|
|
IPYData = IPY_DataMgr()
|
def IPY_Data(): return IPYData
|
|
def GetConfigEx(key):
|
'''»ñÈ¡×Ô¶¨Òåkey»º´æÊý¾Ý
|
'''
|
if key in IPYData.ipyConfigEx:
|
return IPYData.ipyConfigEx[key]
|
return
|
def SetConfigEx(key, configData):
|
'''ÉèÖÃ×Ô¶¨Òåkey»º´æÊý¾Ý
|
ÓÐЩ±íµÄÅäÖÃÄÚÈÝ¿ÉÄÜÔÚʵ¼Ê¹¦ÄÜʹÓÃÖÐÖ±½ÓʹÓñíÊý¾ÝµÄ»°»á±È½ÏÂé·³£¬±ÈÈçÿ´Î¶¼Òª±éÀú»ñȡһЩ±íÊý¾Ý
|
Èç¹û¾¹ýÒ»²ãÊý¾Ýת»»ºóÔÙÀ´Ê¹ÓøÃÊý¾ÝµÄ»°»á¼ò»¯¹¦ÄÜÂß¼»òÌá¸ßЧÂÊ£¬Ôò¿ÉÒÔͨ¹ýº¯Êý±£´æÒ»Ð©×Ô¶¨ÒåµÄ»º´æÄÚÈÝ£¬·½±ã¹¦ÄÜʹÓÃ
|
Ò²¿ÉÒÔÊÊÓÃÓÚÆäËû×Ô¶¨Ò建´æ´æ´¢
|
'''
|
IPYData.ipyConfigEx[key] = configData
|
return configData
|
|
def GetIpyGameData(dtName, *args):
|
'''»ñÈ¡±íÊý¾Ý£¬ÊÊÓÃÓÚÊý¾ÝΨһµÄ£¬·µ»Øµ¥ÌõÊý¾ÝʵÀý
|
@param dtName: ±íÃû£¬²»º¬tag
|
@param args: ½¨±íʱÉèÖõÄË÷Òý×Ö¶Î˳Ðò¶ÔÓ¦µÄ²éѯֵ
|
@return: ¶ÔÓ¦²éѯÌõ¼þµÄ ipyData Êý¾ÝʵÀý£¬Ö»·µ»Øµ¥¸öʵÀý
|
@ʹÓÃ˵Ã÷: IpyGameDataPY.GetIpyGameData(±íÃû, Ë÷Òý1²éѯֵ, Ë÷Òý2²éѯֵ, ¡ )
|
'''
|
if dtName not in IPYData.ipyDataIndexMap:
|
ErrLog("Can not found ipyData dtName=%s" % (dtName))
|
return
|
indexDict = IPYData.ipyDataIndexMap[dtName]
|
if args not in indexDict:
|
ErrLog("Can not found ipyData dtName=%s,indexValue=%s" % (dtName, args))
|
return
|
indexList = indexDict[args]
|
return getattr(IPYData, "ipy%sCache" % dtName)[indexList[0]]
|
|
def GetIpyGameDataList(dtName, *args):
|
'''»ñÈ¡±íÊý¾Ý£¬ÊÊÓÃÓÚ²éѯ½á¹ûÓжàÌõÊý¾ÝµÄ
|
@param dtName: ±íÃû£¬²»º¬tag
|
@param args: ½¨±íʱÉèÖõÄË÷Òý×Ö¶Î˳Ðò¶ÔÓ¦µÄ²éѯֵ
|
@return: ¶ÔÓ¦²éѯÌõ¼þµÄ ipyData Êý¾ÝʵÀýÁбí
|
@ʹÓÃ˵Ã÷: Óë GetIpyGameData º¯ÊýÏàͬ
|
'''
|
if dtName not in IPYData.ipyDataIndexMap:
|
ErrLog("Can not found ipyDataList dtName=%s" % (dtName))
|
return
|
indexDict = IPYData.ipyDataIndexMap[dtName]
|
if args not in indexDict:
|
ErrLog("Can not found ipyDataList dtName=%s,indexValue=%s" % (dtName, args))
|
return
|
indexList = indexDict[args]
|
dataCache = getattr(IPYData, "ipy%sCache" % dtName)
|
return [dataCache[i] for i in indexList]
|
|
def GetIpyGameDataNotLog(dtName, *args):
|
'''Óë GetIpyGameData º¯ÊýÏàͬ, Ö»ÊÇÕÒ²»µ½Êý¾Ýʱ²»»áÊä³öÈÕÖ¾
|
'''
|
if dtName not in IPYData.ipyDataIndexMap:
|
#ErrLog("Can not found ipyData dtName=%s" % (dtName))
|
return
|
indexDict = IPYData.ipyDataIndexMap[dtName]
|
if args not in indexDict:
|
#ErrLog("Can not found ipyData dtName=%s,indexValue=%s" % (dtName, args))
|
return
|
indexList = indexDict[args]
|
return getattr(IPYData, "ipy%sCache" % dtName)[indexList[0]]
|
|
def GetIpyGameDataListNotLog(dtName, *args):
|
'''Óë GetIpyGameDataList º¯ÊýÏàͬ, Ö»ÊÇÕÒ²»µ½Êý¾Ýʱ²»»áÊä³öÈÕÖ¾
|
'''
|
if dtName not in IPYData.ipyDataIndexMap:
|
#ErrLog("Can not found ipyDataList dtName=%s" % (dtName))
|
return
|
indexDict = IPYData.ipyDataIndexMap[dtName]
|
if args not in indexDict:
|
#ErrLog("Can not found ipyDataList dtName=%s,indexValue=%s" % (dtName, args))
|
return
|
indexList = indexDict[args]
|
dataCache = getattr(IPYData, "ipy%sCache" % dtName)
|
return [dataCache[i] for i in indexList]
|
|
def GetIpyGameDataByCondition(dtName, keyDict={}, returnList=False, isLogNone=True):
|
'''¸ù¾Ý×Ô¶¨Òå²éѯÌõ¼þ²éѯ±íÊý¾Ý£¬ÓÉÓÚĿǰֻ֧³Ö½¨Á¢Ò»×é²éѯË÷Òý£¬ËùÒÔʹÓÃÆäËû²éѯÌõ¼þ²é±íʱֻÄÜͨ¹ý¸Ãº¯Êý²éÕÒ
|
@param dtName: ±íÃû£¬²»º¬tag
|
@param keyDict: ²éѯÌõ¼þ×Öµä {²éѯ×Ö¶ÎÃû:²éѯֵ, ...}
|
@param returnList: ÊÇ·ñÒÔÁбíµÄÐÎʽ·µ»Ø²éѯÊý¾Ý£¬Ä¬ÈÏ·ñ
|
@param isLogNone: ÕÒ²»µ½Êý¾ÝʱÊÇ·ñÊý¾ÝÈÕÖ¾£¬Ä¬ÈÏÊÇ
|
@return: ÕÒ²»µ½Êý¾Ýʱ·µ»Ø None£¬ÓÐÊý¾Ýʱ¸ù¾Ý²ÎÊýÊÇ·ñ·µ»ØÁÐ±í·µ»Ø¶ÔÓ¦µÄÊý¾ÝʵÀý»òÊý¾ÝʵÀýÁбí
|
'''
|
fieldList = keyDict.keys()
|
valueList = keyDict.values()
|
findFieldKey = "%s_%s" % (dtName, fieldList)
|
findValueKey = tuple(valueList)
|
|
cacheList = getattr(IPYData, "ipy%sCache" % dtName)
|
if findFieldKey not in IPYData.ipyDataIndexMapEx:
|
indexMapDict = {}
|
for index, iData in enumerate(cacheList):
|
valuekey = tuple([getattr(iData, "%s" % field) for field in fieldList])
|
indexList = indexMapDict.get(valuekey, [])
|
indexList.append(index)
|
indexMapDict[valuekey] = indexList
|
IPYData.ipyDataIndexMapEx[findFieldKey] = indexMapDict
|
|
indexMapDict = IPYData.ipyDataIndexMapEx[findFieldKey]
|
if findValueKey not in indexMapDict:
|
if isLogNone:
|
ErrLog("GetIpyGameDataByCondition can not found data! %s %s" % (dtName, keyDict))
|
return
|
indexList = indexMapDict[findValueKey]
|
if not returnList:
|
return cacheList[indexList[0]]
|
return [cacheList[index] for index in indexList]
|
|
def GetFuncCfgIpyData(key):
|
'''¶Á¹¦ÄÜÅäÖñíÅäÖÃʵÀý
|
@param key: ÅäÖÃkey
|
@return: Ö±½Ó·µ»Ø¸ÃÅäÖÃkey¶ÔÓ¦µÄÅäÖÃipyDataʵÀý
|
'''
|
if key not in IPYData.ipyFuncConfigDict:
|
ErrLog("Can not found ipyData FuncConfig key=%s!" % key)
|
return ""
|
return IPYData.ipyFuncConfigDict[key]
|
|
def GetFuncCfg(key, index=1):
|
'''¶Á¹¦ÄÜÅäÖñíÅäÖÃרÓú¯Êý
|
@param key: ÅäÖÃkey
|
@param index: µÚ¼¸¸öÅäÖÃÖµ£¬Ö§³Ö1~5
|
@return: Ö±½Ó·µ»Ø¶ÔÓ¦µÄÊý¾ÝÀàÐÍ int¡¢str£¬²»ÓÃÔÙÊÖ¶¯×ªint
|
'''
|
if key not in IPYData.ipyFuncConfigDict:
|
ErrLog("Can not found ipyData FuncConfig key=%s!" % key)
|
return ""
|
cfgObj = IPYData.ipyFuncConfigDict[key]
|
if index == 1:
|
return cfgObj.Numerical1
|
if index == 2:
|
return cfgObj.Numerical2
|
if index == 3:
|
return cfgObj.Numerical3
|
if index == 4:
|
return cfgObj.Numerical4
|
if index == 5:
|
return cfgObj.Numerical5
|
ErrLog("Can not found ipyData FuncConfig key=%s,index=%s!" % (key, index))
|
return ""
|
|
def GetFuncEvalCfg(key, index=1, defaultValue=[]):
|
'''¶ÁÈ¡¹¦ÄÜÅäÖñíÅäÖÃÁÐ±í¡¢×Öµä¸ñʽרÓú¯Êý
|
@param key: ÅäÖÃkey
|
@param index: µÚ¼¸¸öÅäÖÃÖµ£¬Ö§³Ö1~5
|
@return: Ö±½Ó·µ»Ø¶ÔÓ¦µÄÊý¾ÝÀàÐÍ list¡¢dict¡¢tuple£¬²»ÓÃÔÙeval
|
|
ÓÉÓڲ߻®ÓÐ×Ô¶¨ÒåµÄÁбí½á¹¹ obj|¡ , µ±¸ÃÁбíÅäÖÃÖ»ÓÐÒ»¸öÔªËØÊ±£¬´ËʱÅäÖõÄÄÚÈÝΪµ¥¸öÊýÖµ£¬¼ÓÔØµÄÅäÖõÄʱºò´ËÌõÊý¾Ý»á±»×ªÎªintÐÍ
|
¹ÊʹÓøÃרÓú¯Êý·µ»ØÁбí½á¹¹£¬·½±ã¹¦ÄÜ¿ª·¢Ê±²»ÓÃÔÙ¿¼ÂÇÁбíΪintʱµÄÇé¿ö£»
|
µ±È»Èç¹ûÅäÖõÄÄÚÈݱ¾Éí¾ÍΪpythonµÄÁÐ±í¡¢×Öµä½á¹¹µÄ»°¿ÉʹÓÃÉÏÃæµÄº¯Êý
|
²»¹ýΪÁËͳһ£¬½¨Ò鹦ÄÜÅäÖñí¶ÁÁÐ±í¡¢×Öµäʱ¶¼Ê¹Óøú¯Êý
|
'''
|
if key not in IPYData.ipyFuncConfigDict:
|
ErrLog("Can not found ipyData FuncConfig key=%s!" % key)
|
return defaultValue
|
cfgObj = IPYData.ipyFuncConfigDict[key]
|
if index == 1:
|
curConfig = cfgObj.Numerical1
|
elif index == 2:
|
curConfig = cfgObj.Numerical2
|
elif index == 3:
|
curConfig = cfgObj.Numerical3
|
elif index == 4:
|
curConfig = cfgObj.Numerical4
|
elif index == 5:
|
curConfig = cfgObj.Numerical5
|
else:
|
ErrLog("Can not found ipyData FuncConfig key=%s,index=%s!" % (key, index))
|
return defaultValue
|
curType = type(curConfig)
|
if curType in [list, tuple, dict]:
|
return curConfig
|
if curType == int:
|
return [curConfig]
|
return defaultValue
|
|
def GetFuncCompileCfg(key, index=1):
|
'''»ñÈ¡¹¦ÄÜÅäÖñíÒѱàÒë¹ýµÄ¹«Ê½
|
@param key: ÅäÖÃkey
|
@param index: µÚ¼¸¸öÅäÖÃÖµ£¬Ö§³Ö1~5
|
@return: ·µ»ØÒѱàÒë¹ýµÄ¹«Ê½
|
'''
|
return FormulaControl.GetCompileFormula(key + str(index), str(GetFuncCfg(key, index)))
|
|
def InterpolationSearch(dtName, keyName, keyValue, conditionDict={}):
|
'''²éѯÌõ¼þÏÂÓë¶ÔÓ¦²éѯ×ֶβο¼ÖµÏà½üµÄÊý¾ÝʵÀý£»²Î¿¼ÖµÐ¡ÓÚÅäÖñí×îСֵʱ·µ»Ønone£¬´óÓÚ×î´óֵʱ·µ»Ø×î´óÖµ¶ÔÓ¦µÄʵÀý
|
@param dtName: ±íÃû£¬²»º¬tag
|
@param keyName: ²Î¿¼×Ö¶ÎÃû
|
@param keyValue: ²Î¿¼×Ö¶ÎÖµ£¬´óÓÚµÈÓÚ×Ö¶Îֵʱ·µ»Ø¶ÔÓ¦Êý¾Ý
|
@param conditionDict: ²éѯÌõ¼þ£¬{²éѯ×Ö¶ÎÃû:×Ö¶ÎÖµ, ...}
|
@return: ÕÒ²»µ½Êý¾Ý·µ»Ø None £¬ ·ñÔò·µ»Ø¶ÔÓ¦µÄ ipyData Êý¾ÝʵÀý
|
'''
|
if not conditionDict:
|
dataList = getattr(IPYData, "ipy%sCache" % dtName)
|
else:
|
dataList = GetIpyGameDataByCondition(dtName, conditionDict, True)
|
if not dataList:
|
return
|
|
low = 0
|
lowData = dataList[0]
|
lowValue = getattr(lowData, "%s" % keyName)
|
if keyValue < lowValue:
|
return
|
|
high = len(dataList) - 1
|
highData = dataList[high]
|
highValue = getattr(highData, "%s" % keyName)
|
if keyValue >= highValue:
|
return highData
|
|
near = low + int((high - low) * (keyValue - lowValue)/(highValue - lowValue))
|
|
nearData = dataList[near]
|
nearValue = getattr(nearData, "%s" % keyName)
|
|
if keyValue < nearValue:
|
for i in xrange(near - 1, low - 1, -1):
|
nearData = dataList[i]
|
nearValue = getattr(nearData, "%s" % keyName)
|
if nearValue <= keyValue:
|
return nearData
|
|
elif keyValue > nearValue:
|
for i in xrange(near + 1, high + 1):
|
nearData = dataList[i]
|
nearValue = getattr(nearData, "%s" % keyName)
|
if nearValue > keyValue:
|
return dataList[i - 1]
|
|
return nearData
|
|