cehua_lyf
2019-03-06 3c8ee0a8a524a6251d7d5aae2372e76fd8a99b9c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
ú”V\c@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z d„Z d„Zd„Zd„Zdd„Zd„Zdd    „Zd
„Zd „Zd „Zd „Zdddddd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!d„Z"d„Z#d„Z$dS(iÿÿÿÿNcCsd|jƒ}tjddtj|ƒtj|ƒfƒ}|sD|S|jdƒjtjƒƒ|S(NtMerges OpName_%s_%stgbk(    tGetNamet ReadChConfigtGetPyMongoConfigt    GameWorldtGetPlayerPlatformtGetPlayerServerSIDtdecodetencodetGetCharacterEncoding(t    curPlayert
playerNametopName((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pytGetCrossPlayerName/s  cCs%tjƒ}tjd||ƒ}|S(Nt CrossZoneComm(RtGetCrossZoneNamet IpyGameDataPYtGetIpyGameDataNotLog(tzoneIDt crossZoneNametipyData((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pytGetCrossCommZoneIpyDataByZoneID;s cCs¶tjƒ}tjdi|d6tƒ}|s2dSx}|D]u}|jƒ}x`|D]X}t|tƒr‹|d|ko†|dkns¦t|tƒrR||krR|SqRWq9WdS(NRt CrossZoneNameii(    RRRtGetIpyGameDataByConditiontTruetGetServerGroupIDListt
isinstancettupletint(t serverGroupIDRt ipyDataListRtserverGroupIDListtserverGroupIDInfo((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pyt&GetCrossCommZoneIpyDataByServerGroupIDAs    3 cCsT|r(t|ƒ}|sdS|g}n(tjƒ}tjdi|d6tƒ}|S(NRR(R"RRRRR(RRRR((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pyt*GetCrossCommZoneIpyDataListByServerGroupIDOs   icCs~|tjkrdStj|}|sEtjƒr6dStjƒ}nt|ƒ}|s[dS|jƒ}tj|i|d6ƒS(NtZoneID(    tChConfigtDef_CrossZoneMapTableNameRt IsCrossServertGetServerGroupIDR"t    GetZoneIDRR(tmapIDRt    tableNamet zoneIpyDatat
commZoneID((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pytGetServerCrossZoneMapIpyData[s    cCstjƒjtjƒS(N(Rt GetGameWorldt GetDictByKeyt ShareDefinet#Def_Notify_WorldKey_CrossServerOpen(((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pytIsCrossServerOpenjscCs{tjƒjtjƒ}tjƒ}tjd|||fƒ|rM|gng}tjtj    i|d6|d6|ƒdS(sP Í¬²½¿ç·þ³£¹æÍ¨ÓÃÊý¾Ýµ½×Ó·þÎñÆ÷
    @param serverGroupID: Îª0ʱͬ²½ËùÓÐ×Ó·þ
    sG֪ͨµ±Ç°¿ç·þ·þÎñÆ÷״̬: isOpen=%s,crossZoneName=%s,syncServerGroupID=%stisOpenRN(
RR/R0R1R2RtLogt CrossRealmMsgtSendMsgToClientServertCrossServerMsg_CrossServerState(RR4RR ((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pyt$Sync_CrossCommInitDataToClientServerns  $cCsÆtjtj|rdndƒtjƒjtj|ƒ|s¨tjƒ}x[t    |j
ƒƒD]D}|j |ƒ}|dkr„q]nt j|dƒ|jdƒq]Wntjtji|d6ƒdS(NiiR4(tPlayerDBGSEventtSetDBGSTrig_ByKeytDef_CrossServerCloseRR/tSetDictR1R2tGetPlayerManagertxrangetGetActivePlayerCounttGetActivePlayerAttNonet PlayerControlt SetCrossMapIDtKickR6R7R8(R4t playerManagertiR ((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pytDoChangeCrossServerStatezs  cCsòd|kr2|dt_tjtjtjƒn|d}|rHdnd}tjd|ƒtjƒjtj    |ƒ|sÛtj
ƒ}xNt |j ƒƒD]7}|j |ƒ}|dkrÄqntj|dƒqWntjtj    |ƒdS(NRR4iis)ÊÕµ½¿ç·þ·þÎñÆ÷״̬±ä¸ü: ÊÇ·ñÕý³£¿ª·ÅÖÐ=%s(t
PyGameDatatg_crossZoneNameRtSendMapServerMsgExR1t!Def_Notify_WorldKey_CrossZoneNameR5R/R=R2R>R?R@RARBRCRD(tmsgDataR4RFRGR ((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pyR8Žs   
  cCsytjƒsdS|jƒ}tj|ƒ}tjtj||gƒtj    |dƒ|j
dƒtj d||ƒdS(Nis(PlayerExitCrossServer...serverGroupID=%s( RR't GetPlayerIDRCtGetPlayerServerGroupIDR6R7R1tCrossServerMsg_ExitCrossServerRDRER5(R tplayerIDR((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pytPlayerExitCrossServer¥s   cCsZ|}tjd|ƒtjƒj|ƒ}|sFtjd|ƒdStj|dƒdS(Ns3ÊÕµ½¿ç·þ·þÎñÆ÷ͬ²½µÄÍæ¼ÒÍ˳ö¿ç·þ·þÎñÆ÷: playerID=%ss    Í˳ö¿ç·þʱ±¾·þÍæ¼Ò²»ÔÚÏß!i(RR5R>tFindPlayerByIDRCRD(RMRQR ((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pyRP¶scCs€|jtj|ƒt||||||gƒ}|jddd|t|ƒƒtjd||||||f|jƒƒdS(Nit CrossRealmRegsSSendCrossRealmReg registerMap=%s,mapID=%s,dataMapID=%s,copyMapID=%s,posX=%s,posY=%s(    R=R%tDef_PlayerKey_CrossRegisterMaptstrtMapServer_QueryPlayerResulttlenRR5RN(R t registerMapR*t    dataMapIDt    copyMapIDtposXtposYtsysMsg((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pytSendCrossRealmRegÁs     #c    Cs>tjƒj|ƒ}|sdStƒs,dS|d}|jtjƒ}|r^||kr^dS|jtjdƒtjd||ƒ|tj    kr-|jtj
ƒ}|j ƒ}||krÜtjd||f|ƒdSi|j ƒd6|d6|d6}t jtj|ƒtjdt|ƒ|ƒn t||ƒdS(Nis¿ç·þ±¨Ãû³É¹¦ , registerMap=%ssLÉÏ´«¿ç·þ·þÎñÆ÷µÄ regVSRoomID=%s ÓëÍæ¼Òµ±Ç°µÄ roomID=%s ²»Í¬!²»·¢ËÍ×¼±¸Íê±Ï£¡taccIDRQtvsRoomIDs&֪ͨ¿ç·þ·þÎñÆ÷, Íæ¼ÒÆ¥ÅäPK×¼±¸Íê±Ï£¡%s(RR>RSR3R0R%RUR=R5tDef_FBMapID_CrossRealmPKt!Def_PlayerKey_MergeRegisterRoomIDt GetVsRoomIdtGetAccIDR6tSendMsgToCrossServerR1tClientServerMsg_PKPrepareOKRVtNotifyCanEnterMergeServer(    RQtmsgListttickR RYtplayerRegisterMapt regVSRoomIDRatdataMsg((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pytOnCrossRealmRegOKÌs4    
       
 cCsdS(N((R RY((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pyRhøscCs?tjƒj|ƒ}tjd|jƒƒtj|dƒdS(s¡ Ô¼¶¨¸Ã·â°ü½öÍæ¼Òµ±Ç°´¦ÓÚ¿ç·þ״̬£¬µ«ÊÇÒ»Ö±Á¬²»ÉÏ¿ç·þ·þÎñÆ÷ʱ²Å»á·¢´Î°üÇ¿ÖÆÖØÖÿç·þ״̬
                Ò»°ãÊÇ¿ç·þ·þÎñÆ÷Òì³£»òÆäËû´íÎóµ¼ÖÂÎÞ·¨µÇ¼¿ç·þ·þÎñÆ÷
    s*ijЩÒì³£Çé¿öÏ£¬Ç°¶ËÇ¿ÖÆ·¢°üÍ˳ö¿ç·þ״̬! iN(RR>tGetPlayerByIndextErrLogRNRCRD(tindext
clientDataRjR ((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pytOnForceQuitCrossStatescCsÍtjƒrdStjƒj|ƒ}|jƒ}|j}tjj|ƒ}|røtj    d||ƒt
j ƒ}||_|j ƒ|_ t|j ƒ|_tj|ƒ|_t|jƒ|_tj|ƒ|_t|jƒ|_tj||ƒdS|tjkr¢d
}tj|\}    }
||
|krXtj    d||ƒt|||    ƒdSxGtjjƒD]3\} } || d|krhtjj| ƒqhqhWni|d6|d6} tjtj | ƒdS( Ns1²é¿´¿ç·þÍæ¼Ò£¬ÊDZ¾·þÍæ¼Ò£¬Ö±½Ó»Ø¸´!tagPlayerID=%sii<iès;²é¿´¿ç·þÍæ¼ÒÊý¾Ýͬ²½CDÖУ¬Ö±½ÓÓûº´æÊý¾Ý»Ø¸´!tagPlayerID=%sit tagPlayerIDRQi,ià“(!RR'R>RoRNtPlayerIDtPlayerViewCachet ViewCacheMgrt    FindCachetDebugLogtChPyNetSendPackttagSCQueryPlayerCacheResultt GetPropDatatPropDataRXt PropDataSizet GetItemDatatItemDatat ItemDataSizet GetPlusDatatPlusDatat PlusDataSizet NetPackCommont SendFakePackRItg_crossPlayerViewCachetSyncPlayerViewCrossPlayerInfotitemstpopR6RfR1tClientServerMsg_ViewPlayerCache(RqRrRjR RQRttcurCachetsendPacktvalidChaheTimet    cacheInfotupdTickt crossPlayerIDt cacheInfoListRm((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pytOnViewCrossPlayerInfos>           cCs¢|d}|d}tjd|||fƒg}tjj|ƒ}|rv|jƒtj|ƒtj|ƒg}n|||g}tj    t
j ||gƒdS(NRtRQsEÊÕµ½×Ó·þ²é¿´¿ç·þÍæ¼ÒÐÅÏ¢: serverGroupID=%s,playerID=%s,tagPlayerID=%s( RR5RvRwRxR|RR‚R6R7R1t!CrossServerMsg_ViewPlayerCacheRet(RRMRtRQRRŒtviewPlayerCacheRet((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pyR‹9s
 
*cCsk|\}}}tjd||fƒ||gtj|<tjƒj|ƒ}|rgt|||ƒndS(Ns<ÊÕµ½¿ç·þ·þÎñÆ÷»Ø¸´µÄ²é¿´Íæ¼ÒÐÅÏ¢: playerID=%s,tagPlayerID=%s(RR5RIR‡R>RSRˆ(RMRjRQRtRR ((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pyR”HscCs£|stj|dƒdS|\}}}tjƒ}||_||_t|jƒ|_||_t|jƒ|_    ||_
t|j
ƒ|_ t j ||ƒdS(NtViewPlayer_OffLine(RCt
NotifyCodeRzR{RuR}RXR~R€RRƒR„R…R†(R RtRR}R€RƒR((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pyRˆUs                 c Csôtjdƒ|d}|d}|d}tjƒj|ƒ}|rut|ƒ}|jddd|t|ƒƒdStjdt|ƒ|ƒ|\}}}}    i|d6|d    6|d
6|    d 6g}
tj    d |g|
d idd6|d6ƒdS(NsÊÕµ½¿ç·þ·þÎñÆ÷»ñµÃÎïÆ·!RuR€tEventitCrossPutInItems5ÊÕµ½¿ç·þ»ñµÃÎïÆ·£¬Íæ¼Ò²»ÔÚÏߣ¬Ö±½Ó·¢Óʼþ! itemInfo=%stItemIDtCounttIsBindtUserDatattdetaili(
RRyR>RSRVRWRXR5tPlayerCompensationt SendMailByKey( titemInfoRQtitemDatateventR titemMsgtitemIDt    itemCounttisBindt itemUserDatat addItemList((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pytCrossServerMsg_PutInItemes 
 
 
 %*cCsr|d}tjƒj|ƒ}|sCtjdt|ƒ|ƒdSt|ƒ}|jddd|t|ƒƒdS(NRus$¿ç·þ»ñµÃ»õ±ÒÊ±Íæ¼Ò²»ÔÚÏß! msgInfo=%sitCrossGiveMoney(RR>RSRpRVRWRX(tmsgInfoRQR ((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pytCrossServerMsg_GiveMoneyys
 cCsƒ|\}}}}tjs7tjƒjtj|ƒntjj|gƒ}|j||gƒ|tj|<|st    dƒndS(Ni(
RItg_crossSetPlayerAttrRR/R=R%t#Def_WorldKey_CrossSetPlayerAttrTicktgettappendt__SendCrossServerSetPlayerAttr(R­RjRQtsetTypetsetDicttisDelaytplayerSetInfoList((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pytSetCrossPlayerAttrValue…s      cCst|ƒdS(N(R³(Rj((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pytOnCrossProcess‘s
cCsxtjs dS|rU|tjƒjtjƒdkr9dStjƒjtj|ƒntj    t
j tjƒit_dS(Ni
ièi'( RIR¯RR/R0R%R°R=R6RfR1t"ClientServerMsg_SetPlayerAttrValue(Rj((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pyR³•s    "    (%RR1R6RR%RCRvR RzR:R…RRIRRR"R#R.R3R9RHR8RRRPR_RnRhRsR“R‹R”RˆR«R®R¸R¹R³(((s[E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\CrossRealmPlayer.pyt<module>sH                                                          ,    
        '