ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyGameData.py
@@ -15,9 +15,25 @@
#"""Version = 2017-09-05 21:30"""
#-------------------------------------------------------------------------------
g_initGameTime = 0 # 初始化游戏时间戳
g_loadDataOK = False # 是否成功加载数据,备档、db数据
g_lastRTBTime = 0 # 上一次备档时间戳
g_initGameTime = 0 # 开始初始化服务器时间戳
g_serverInitOK = False # 服务器是否启动成功
g_highProcessTick = 0 # 每秒触发一次,上次Tick
g_minuteProcess = -1 # 每分钟触发一次,上次处理的分钟
g_serverClosing = 0 # 是否关服中 0-非关服中;1-关服中;2-关服结束
g_closeSaveDataOK = False # 关服数据入库是否成功
g_objPoolMgr = None # 对象池管理器
g_batObjMgr = None # 战斗对象管理
g_pyGameDataManager = None
g_dbPlayerIDMap = {} # 本服DBPlayer玩家表ID映射关系 {playerID:accID, ...}
g_onlineMgr = None
g_turnFightMgr = None
g_mapIDTxtInfo = {} # MapID.txt 加载的信息
g_realmDiffPlayerDict = {} # 境界难度玩家信息 {realm:[playerID, ...], ...}
@@ -26,7 +42,6 @@
g_playerReqEnterFBEx = {} # 请求进入地图额外信息 {playerID:[...], ...}
g_commMapLinePlayerCountDict = {} # 常规地图分线人数 {mapID:{lineID:人数, ...}}
g_needRefreshMapServerState = True # 常规地图分线人数是否有变更需要通知
g_mapLastProcess_Minute = -1 # 地图上次处理的分钟
g_ipyDataRecycleCheckTime = 0 # 地图IpyData数据回收检查time
InitPyItem = False # 是否加载过物品表所需要的Py数据, 每张地图只在启动时执行一次
@@ -36,9 +51,6 @@
g_stoneLevelIDDict = {} # 宝石类型等级对应物品ID {(stoneEffType, stoneLevel):itemID, ...}
g_refreshAttrBillboardFunc = [] # 刷属性后需要触发的同步排行榜函数列表
g_playerFuncAttrDict = {} # 玩家功能点属性 {playerID:{funcIndex:属性列表, ...}, ...}
g_playerEquipPartAttrDict = {} # 玩家装备位养成属性 {playerID:{阶:[强化属性列表, 宝石属性列表, 洗练属性列表], ...}, ...}
g_equipChangeClassLVInfo = {} # 玩家装备变更的装备阶信息 {playerID:[classLV, ...], ...}
g_filterEquipDict = {} # 按装备条件过滤的装备ID,不分职业 {"classLV_color_star":{(itemJob,itemPlace):itemID, ...}, ...}
@@ -49,9 +61,6 @@
g_teamPlayerDict = {} # 地图队伍对应玩家ID列表,含离线玩家 {teamID:[playerID, ...], ...}
g_teamPlayerInfoDict = {} # 地图队伍对应玩家ID信息 {teamID:{playerID:{k:v, ...}, ...}
g_funcTeamPlayerDict = {} # 功能队伍玩家ID列表 {(zoneID, funcMapID): {teamID:[playerID, ...], ...}, ...}
g_unLoginOKPlayerMailInfo = {} # GameServer 未登录成功前需要发送的邮件缓存,防止登录失败不存db导致重复发送邮件 {playerID:[[待发送邮件内容信息], ...], ...}
g_disconnectPlayer = {} # 在本地图离线的玩家信息 {playerID:[tick, posX, posY], ...}
g_lastExitFBType = {} # 最后一个离开副本信息 {fbIndex:[exitType, tick], ...} exitType: 1-掉线,2-主动退出
@@ -62,13 +71,10 @@
FBOpenTimeRecord = {} #限时副本开启时间记录
VSFamilyInfo = [] # 仙盟联赛开启的副本信息 [是否最终决赛场次, roundNum, groupID, [familyIDA, failyIDB], [familyNameA, familyNameB], [familyRankA, familyRankB]]
g_familyKillHorsePetRobBossCntDict = {} # 骑宠争夺仙盟已击杀boss数 {familyID:击杀数, ...}
g_PassiveEffManager = None  # 被动技能(效果)单例
g_maliciousAttackDict = {} # 受到恶意攻击信息 {playerID:{atkPlayerID:atkTick, ...}}
g_xmzzVSPlayerData = {} # 仙魔之争对手玩家属性信息 {lineID:vsPlayerPropData, ...}
g_swrhPlayerHurtDict = {} #守卫人皇玩家伤害排行信息 {familyID:{playername:hurtvalue}}
g_swrhPlayerIDDict = {} #守卫人皇参与玩家ID {familyID:[playerID,..]}
@@ -79,18 +85,12 @@
g_delaySuccessDict = {} # 延迟处理成就
g_bzzdRefreshNPCListDict = {} # 仙界秘境所需击杀的NPC队列 {lineID:[npcID, npcID, ...], ...}
g_operationActionDict = {} # 本服运营活动信息 {actName:actInfo, ...}
g_crossActInfoDict = {} # 跨服运营活动信息 {actName:actInfo, ...}
g_npcKillerInfo = {} # NPC击杀者信息 {(lineID, objID, npcID):[killerDict, curTeam, hurtType, hurtID], ...}
g_familyPartyInfo = {} #[ [[familyID, familyName, 答题数量]], top名字,top答题数量]
g_elderBattleRobotDieDict = {} #上古战场机器人死亡时间{lineid:[]}
g_fbHelpBattlePlayerDict = {} # 助战玩家信息 {playerID:{助战玩家ID:{助战玩家简要信息字典} ...}, ...}
g_teamFBMemRelationDict = {} # 组队副本队员关系信息 {teamID:[[好友组合列表], {队员ID:家族ID, ...}], }
g_teamFBMemRelationAddDict = {} # 组队副本队员关系加成信息 {playerID:[relation, relationAdd, relationPlayerID, relationPlayerName], ...}    
@@ -99,8 +99,6 @@
g_fightpowerChangeDataRecordDict = {} #导致战力降低的各种行为记录
g_fbRobotJobDict = {} #副本机器人职业  {lineID:{objID:job, ...}, ...}
g_gathersoulfbAwardDict = {} #聚魂副本奖励记录{playerID:[[itemID,itemCnt]]}
g_luckyCloudBuyInfo = {} # 幸运云购最新一期信息
@@ -113,21 +111,9 @@
g_crossPlayerItemsChangeInfo = {} #跨服玩家物品变化信息 {playerID:{"背包类型-物品位":itemMD5, ...}, ...}
g_crossPlayerSkillsChangeInfo = {} #跨服玩家技能变化信息 {playerID:[技能ID], ...}
g_crossBattlefieldCallTeamInfo = {} # 跨服战场召集队伍信息 {zoneID:{hmNum:{playerID:{"callPlayerIDList":[召集队伍玩家ID列表], "factionID":阵营ID}, ...}, ...}, ...}
g_crossBattlefieldSysCallBuyList = [] # 跨服战场系统场次购买召集玩家ID列表 [playerID, ...]
g_ZhuXianBossPlayerHurtDict = {} #诛仙BOSS玩家伤害排行信息
g_Qudao_DoubleBill = {} # 渠道删档充值返利
g_familyBossHurtPlayerDict = {} # 仙盟boss战斗玩家 {playerID:BattlePlayer, ...}
g_allfamilyBossDict = {} # 多仙盟boss信息 {familyID:[familyName, 伤害, [playerID], ...}
g_horsePetBossPlayerHurtDict = {} #骑宠boss信息 {lineID:{playerID:[playerName,hurt]}}
g_crossFuncLineDataCache = {} # 动态分配的跨服虚拟分线数据缓存 {(mapID, copyMapID):funcLineDataCache, ...}
g_crossPlayerServerGroupIDInfo = {} #跨服玩家服务器组ID缓存,副本线路关闭时才释放,所以支持离线跨服玩家 {copyMapID:{playerID:serverGroupID, ...}, ...}
g_fbBuyBuffTimeDict = {} # 副本购买buff时间缓存{playerID:{moneyCnt:time}}
g_fairyDomainLimit = [] #全服已限制的缥缈仙域事件
g_elemntSkillDict = {} #{skillID:[attrID*100000+needValue,..]}
g_coupleInfo = {} # {playerID:[coupleID, coupleName], ...}
@@ -139,3 +125,8 @@
g_singleAtkRecordList = None # 单次攻击记录
g_UserCtrlDBFirstInit = False
g_playerDataCntInfo = {} # 玩家各表最后一次存档时数据条数 {playerID:{表名:条数, ...}, ...}
g_mergeRegisterPlayerDict = {} # 跨服玩家数据缓存 {accID:[loginTime, logoutTime, recvPack, groupID], ...}
g_usrCtrlDB = None  #数据库实例