#!/usr/bin/python # -*- coding: GBK -*- #------------------------------------------------------------------------------- # ##@package PyGameData # # @todo:PyÊý¾Ý»º´æ # @author hxp # @date 2017-09-05 # @version 1.0 # # ÏêϸÃèÊö: µ¥¶À±£´æpyÊý¾Ý²»ÖضÁÎļþ£¬´ËÎļþ²»ÒªimportÆäËûÄ£¿é£¬±ÜÃâÖØ¶ÁÓÐÎÊÌâ # #------------------------------------------------------------------------------- #"""Version = 2017-09-05 21:30""" #------------------------------------------------------------------------------- g_mapIDTxtInfo = {} # MapID.txt ¼ÓÔØµÄÐÅÏ¢ g_realmDiffPlayerDict = {} # ¾³½çÄѶÈÍæ¼ÒÐÅÏ¢ {realm:[playerID, ...], ...} g_realmDiffNPCRefresh = {} # {(lineID, realm):{refreshID:tagNPCRefresh, ...}} g_commMapLinePlayerCountDict = {} # ³£¹æµØÍ¼·ÖÏßÈËÊý {mapID:{lineID:ÈËÊý, ...}} g_needRefreshMapServerState = True # ³£¹æµØÍ¼·ÖÏßÈËÊýÊÇ·ñÓбä¸üÐèҪ֪ͨ g_mapLastProcess_Minute = -1 # µØÍ¼Éϴδ¦ÀíµÄ·ÖÖÓ g_ipyDataRecycleCheckTime = 0 # µØÍ¼IpyDataÊý¾Ý»ØÊÕ¼ì²étime InitPyItem = False # ÊÇ·ñ¼ÓÔØ¹ýÎïÆ·±íËùÐèÒªµÄPyÊý¾Ý, ÿÕŵØÍ¼Ö»ÔÚÆô¶¯Ê±Ö´ÐÐÒ»´Î DailyUseCountLimitItemIDList = [] # ÿÈÕÓÐʹÓøöÊýÏÞÖÆµÄÎïÆ·IDÁбí EquipItemSkillIDList = [] # ×°±¸¼¼ÄÜIDÁбí AutoTransformCountItemIDList = [] # ×Ô¶¯×ª»¯Îª¶ÔÓ¦ÎïÆ·¸öÊýµÄÎïÆ·IDÁбí 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, ...}, ...} g_npcHurtDict = {} # npcÉËѪÁбíÐÅÏ¢×ֵ䣬ЭÖú°æ {(lineID,objID,npcID):PlayerHurtList, ...} g_npcHurtListDict = {} # npcÉËѪÅÅÐÐÁбíÐÅÏ¢×Öµä {(lineID,objID,npcID):HurtValueObjList, ...} g_teamPlayerHurtValue = {} # ¶ÓÎéÍæ¼Ò¶ÔNPCÉ˺¦Êä³öÁ¿ {(lineID, objID, npcID):{(teamID, playerID):hurtValue, ...}, } 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-Ö÷¶¯Í˳ö g_sgzztopPlayerName = '' #ÉϹÅÕ½³¡»ý·ÖÍõÃû×Ö FBEnterTimeLimiitMapID = [] # ¸±±¾¿ªÆôÓÐʱ¼äÏÞÖÆµÄ¸±±¾ID£¬ÓÉGameServerͬ²½µÃµ½ 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,..]} g_fbPickUpItemDict = {} #¸±±¾Íæ¼ÒʰȡÎïÆ·¼Ç¼ {playerID:[]} g_bossShuntPlayerInfo = {} # boss·ÖÁ÷Íæ¼ÒÐÅÏ¢{(mapID, lineID):{playerID:[bossID, teamID, relatedTick], ...}, ...} g_bossShuntLineState = {} # boss·ÖÁ÷Ïß·¶ÔÓ¦boss״̬ {bossID:{lineID:isAlive, ...}, ...} 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], ...} g_fightpowerChangeDataRecordDict = {} #µ¼ÖÂÕ½Á¦½µµÍµÄ¸÷ÖÖÐÐΪ¼Ç¼ g_fbRobotJobDict = {} #¸±±¾»úÆ÷ÈËÖ°Òµ {lineID:{objID:job, ...}, ...} g_gathersoulfbAwardDict = {} #¾Û»ê¸±±¾½±Àø¼Ç¼{playerID:[[itemID,itemCnt]]} g_luckyCloudBuyInfo = {} # ÐÒÔËÔÆ¹º×îÐÂÒ»ÆÚÐÅÏ¢ g_crossServerTimeInfo = [0, 0, 0] # ¿ç·þʱ¼äÐÅÏ¢ [crossServerTime, curServerTime, syncMapTime] g_crossZoneName = "" # ¿ç·þ·ÖÇøÃû g_crossRegPlayerAttrDict = {} #¿ç·þ×¢²áʱµÇ¼ÇµÄ»áÓ°ÏìÕ½Á¦µÄÊôÐÔÖµ {playerID:[value, ...], ...} g_crossSyncTickDict = {} #ÐèҪͬ²½¿ç·þÊý¾ÝµÄÍæ¼Òͬ²½tick×Öµä {playerID:tick, ...} g_crossPlayerDictChangeInfo = {} #¿ç·þÍæ¼Ò×Öµä±ä»¯ÐÅÏ¢ {playerID:{(key, dType):value, ...}, ...} g_crossPlayerDienstgradChangeInfo = {} #¿ç·þÍæ¼Ò³ÆºÅ±ä»¯ÐÅÏ¢ {playerID:{id:isAdd, ...}, ...} 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], ...} g_playerPriWoodPileNPCDict = {} # {playerID:[npcObj, ...], ...} g_mirrorBattleDict = {} # {battleID:MirrorBattle, ...} g_familyZhenfaInfo = {} # ÏÉÃËÕó·¨ÐÅÏ¢{familyID:{zhenfaType:{k:v, }, ...}, ...}