hwj35
2025-06-23 aa0f971ae9a59f0fd98d57b6c1d1663a270be92c
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
T¤ãgc@s*ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z d„Z d„Z d„Zd„Zd„Zd„Zed„Zed    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„ZdS(iÿÿÿÿNcCsmi}|jƒ|d<|jƒ|d<|jƒ|d<|jƒ|d<t|ƒ|d<tj|ƒ|d<|S(NtAccIDtLVtRealmLVtJobtNamet
FightPower(tGetAccIDtGetLVtGetOfficialRanktGetJobtGetCrossPlayerNamet PlayerControlt GetFightPower(t    curPlayertPropData((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossRealmPlayer.pytGetPlayerCrossPropDataShortscCsd|jƒ}tjddtj|ƒtj|ƒfƒ}|sD|S|jdƒjtjƒƒ|S(NtMerges OpName_%s_%stgbk(    t GetPlayerNamet ReadChConfigtGetPyMongoConfigt    GameWorldtGetPlayerPlatformtGetPlayerServerSIDtdecodetencodetGetCharacterEncoding(R t
playerNametopName((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossRealmPlayer.pyR
*s  cCs2tj|ƒ}t||ƒ}|s(dS|jƒS(Ni(R tGetPlayerServerGroupIDt"GetCrossZoneIpyDataByServerGroupIDt    GetZoneID(R tmapIDt serverGroupIDt zoneIpyData((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossRealmPlayer.pytGetCrossPlayerZoneID6s
cCsåtjj|dƒ}tjƒ}tj|i|d6tƒ}|sGdSx}|D]u}|jƒ}x`|D]X}t    |t
ƒr |d|ko›|dkns»t    |t ƒrg||krg|SqgWqNWtj d|||fƒdS(Nt CrossZoneCommt CrossZoneNameiisEûÓÐÕÒµ½¿ç·þÍæ·¨¶ÔÓ¦·ÖÇø! mapID=%s, serverGroupID=%s, zoneTypeName=%s( tChConfigtDef_CrossZoneTypeNametgetRtGetCrossZoneNamet IpyGameDataPYtGetIpyGameDataByConditiontTruetGetServerGroupIDListt
isinstancettupletinttErrLog(R R!t zoneTypeNamet crossZoneNamet ipyDataListtipyDatatserverGroupIDListtserverGroupIDInfo((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossRealmPlayer.pyR>s    3 cCs7|tjkrdStj|}tj|i|d6ƒS(NtZoneID(R&tDef_CrossZoneMapTableNameR*R+(tzoneIDR t    tableName((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossRealmPlayer.pytGetServerCrossZoneMapIpyDataNs cCstjƒjtjƒS(N(Rt GetGameWorldtGetGameWorldDictByKeyt ShareDefinet#Def_Notify_WorldKey_CrossServerOpen(((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossRealmPlayer.pytIsCrossServerOpenUsc    Cs‹| stj|ƒ rdS|jƒ}d}t||||gƒ}tjƒjdddd|t|ƒƒtjd||f|ƒdS(sí ÅúÁ¿ÉèÖÃÍæ¼ÒÊôÐÔÖµ
        @param setDict: ÉèÖÃÊôÐÔ×Öµä {attrName:attrValue, ...}
        @param isDelay: ÊÇ·ñÑÓ³Ùͬ²½£¬±ÈÈçOnDay¸üеÄÊýÖµ£¬¿ÉÄܶà¸öÍæ¼Òͬʱ¸üжà¸öÊôÐÔÖµ£¬ËùÒÔÐèÒªÉèÖÃÑÓ³Ùͳһͬ²½£¬ÆäËû¾ßÌå¸ù¾Ý¹¦ÄÜÐèҪѡÔñÊÇ·ñÑÓ³Ù
    Nt
PlayerAttritSetCrossPlayerAttrValues¸üпç·þÍæ¼ÒÊôÐÔ: isDelay=%s,%s(    R t GetCrossMapIDt GetPlayerIDtstrRtGetPlayerManagertGameServer_QueryPlayerResulttlentDebugLog(R tsetDicttisDelaytplayerIDtsetTypetmsgList((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossRealmPlayer.pyRCYs (c    Cs‹| stj|ƒ rdS|jƒ}d}t||||gƒ}tjƒjdddd|t|ƒƒtjd||f|ƒdS(s$ ÅúÁ¿ÉèÖÃÍæ¼Ò×ÖµäÖµ
        @param setDict: ÉèÖÃ×Öµä, ÎÞ dictType ÐÅϢʱĬÈÏÀàÐÍ0 {dictKey:dictValue, dictKey:[dictValue, dictType], ...}
        @param isDelay: ÊÇ·ñÑÓ³Ùͬ²½£¬±ÈÈçOnDay¸üеÄÊýÖµ£¬¿ÉÄܶà¸öÍæ¼Òͬʱ¸üжà¸öÊôÐÔÖµ£¬ËùÒÔÐèÒªÉèÖÃÑÓ³Ùͳһͬ²½£¬ÆäËû¾ßÌå¸ù¾Ý¹¦ÄÜÐèҪѡÔñÊÇ·ñÑÓ³Ù
    Nt
PlayerDictiRCs¸üпç·þÍæ¼Ò×Öµä: isDelay=%s,%s(    R RDRERFRRGRHRIRJ(R RKRLRMRNRO((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossRealmPlayer.pytSetCrossPlayerNomalDictgs (c Cs`|jƒ}tjd||ƒx9|D]1\}}|dkr½x|jƒD]j\}}t|tƒrw|d}}n |\}}tj||||ƒtjd|||f|ƒqLWq'x˜|jƒD]Š\}    }
t||    ƒrt    ||    ƒ|
ƒtjd|    |
fƒqÊtt|    ƒrÊt    t|    ƒ||
ƒtjd|    |
f|ƒqÊqÊWq'WdS(Ns$ÊÕµ½×Ó·þͬ²½µÄÉèÖÿç·þÍæ¼ÒÊôÐÔÖµ: %sRPis>    NomalDictSetProperty dictKey=%s, dictValue=%s, dictType=%ss    curPlayer.%s(%s)s#    PlayerControl.%s(curPlayer, %s)(
RERRJtitemsR.R0R tNomalDictSetPropertythasattrtgetattr( R tplayerSetInfoListRMRNRKtdictKeytvaleInfot    dictValuetdictTypetattrNamet    attrValue((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossRealmPlayer.pyt"ClientServerMsg_SetPlayerAttrValueus$   $%cCsftjƒj|ƒ}tjƒs%dStjd|jƒƒtj||ƒtj    |ƒt
|ƒdS(NsÍæ¼ÒÖ÷¶¯Í˳ö¿ç·þ( RRGtGetPlayerByIndext IsCrossServertLogREtFBLogictDoPlayerLeaveFBt PlayerAssisttOnPlayerLeaveMaptPlayerExitCrossServer(tindext curPackDatattickR ((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossRealmPlayer.pytOnExitCrossRealm’s  
cCsn|jƒ}tj|ƒ}tjtj||gƒtj|dƒ|jt    j
ƒtj d|jƒƒdS(NisPlayerExitCrossServer...( RER RRtSendMsgToClientServerR?tCrossServerMsg_ExitCrossServert SetCrossMapIDtKickt IPY_GameWorldtdisMapServerCloseR`(R RMR!((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossRealmPlayer.pyRe¢s cCstj||jƒƒdS(N(R tSetPlayerSightLeveltGetID(R ((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossRealmPlayer.pytDoEnterCrossRealm°scCsLtjd|jƒƒtj|dƒtj|ƒrHtj|dƒndS(NsDoExitCrossRealm...i(RR`RER RpRDRl(R ((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossRealmPlayer.pytDoExitCrossRealmµs
cCsÇtjj|iƒ}|siStj|ƒ}x’|jƒD]„}|jtjdƒs\q;ntj|krqq;n|tj}|sˆ|Sx4|D],\}}||ko²|knr|SqWq;WiS(Ni(    t
PyGameDatatg_crossActInfoDictR(RtGetPlayerServerIDtvaluesR?t ActKey_StatetActKey_ServerIDRangeList(R tactNamet actInfoDicttplayerServerIDtactInfotserverIDRangeListt    serverIDAt    serverIDB((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossRealmPlayer.pytGetPlayerCrossActInfo½s   cCs†tjj|iƒ}|siSx`|jƒD]R}|jtjdƒsMq,n|jtjiƒ}||jddƒkr,|Sq,WiS(NiR8(RtRuR(RwR?RxtActKey_IpyDataInfo(RzR:R{R}t ipyDataDict((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossRealmPlayer.pytGetCrossActInfoByZoneIDÑscCs;tjƒ}||_t|jƒ|_tj||ƒdS(s ֪ͨ¿ç·þÔËÓª»î¶¯½áÊø
                    ·ÀÖ¹¿ç·þ·þÎñÆ÷Óë×Ó·þʱ¼ä²»Ò»Öµ¼Ö¿ÉÄܳöÏֻʵ¼ÊÒѹرÕ
                    µ«ÊÇǰ¶Ë¸ù¾Ý±¾·þ·þÎñÆ÷ʱ¼äÅжϻ¹Î´¹Ø±Õ£¬¿ÉÄÜÒýÆðÍæ¼ÒÎóÒÔΪ»î¶¯Î´¹Ø±Õ¶øÒý·¢µÄһϵÁÐÎÊÌâ
                    Ç°¶Ë¿ç·þ»î¶¯ÏÔÒþ¹æÔò£º
                    ÏÔʾ£º¸ù¾Ý֪ͨµÄ»î¶¯°ü ÇҠʱ¼ä>=»î¶¯¿ªÊ¼ÈÕÆÚ ²ÅÏÔʾ
                    ¹Ø±Õ£ºÊÕµ½ºó¶Ë֪ͨµÄ»î¶¯½áÊø°ü »ò Ê±¼ä>=»î¶¯½áÊøÈÕÆÚ ÔòÖ±½Ó¹Ø±Õ»î¶¯½çÃæ
    N(tChPyNetSendPackttagGCCrossActEndtActNameRIt
ActNameLent NetPackCommont SendFakePack(R Rzt
clientPack((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossRealmPlayer.pytNotifyCrossActEndÞs
         (RRtRR R*RnR…R‰R?R&RaRcRR
R#RR<RAR,RCRQR]RiReRrRsRR„RŒ(((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossRealmPlayer.pyt<module>s6