hxp
2025-10-22 b99bfd7da10f832a495eae6cd5913ec02204b8b1
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
F!îhc@swddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZeddƒ\ZZZZZZZedƒ\ZZZZieeegd„ge6egd„ge6egd„ge6Zd„d    „gd
„d „gd „d „gd„d„gd„d„gd„d„gd„d„ggZd„Zd„Zd„Zd„Z d„Z!d„Z"d„Z#d„Z$d„Z%d„Z&d „Z'd!„Z(d"„Z)d#„Z*d$„Z+d%„Z,d&„Z-d'„Z.d(„Z/d)„Z0d*„Z1d+„Z2d,„Z3dS(-iÿÿÿÿNiiicCstj||ƒS(N(t    PlayerPettCrossServer_DoChangePetState(tcurObjt    valueList((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyt<lambda>3scCstj||ƒS(N(t PlayerHorsetCrossServer_ChangeHorse(RR((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR4scCstj||ƒS(N(RtCrossServer_RideHorse(RR((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR5scCs
|jƒS(N(t
GetBaseSTR(R((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR:scCs |j|ƒS(N(t
SetBaseSTR(Rtvalue((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR:scCs
|jƒS(N(t
GetBasePNE(R((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR;scCs |j|ƒS(N(t
SetBasePNE(RR
((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR;scCs
|jƒS(N(t
GetBasePHY(R((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR<scCs |j|ƒS(N(t
SetBasePHY(RR
((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR<scCs
|jƒS(N(t
GetBaseCON(R((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR=scCs |j|ƒS(N(t
SetBaseCON(RR
((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR=scCs
|jƒS(N(tGetLV(R((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR>scCs |j|ƒS(N(tSetLV(RR
((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR>scCs
|jƒS(N(tGetOfficialRank(R((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR?scCs |j|ƒS(N(tSetOfficialRank(RR
((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR?scCs
|jƒS(N(tGetVIPLv(R((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR@scCs |j|ƒS(N(tSetVIPLv(RR
((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR@scCs×|tjgkrdS|jƒtjkr/dStjƒr?dStj|ƒsRdSd}t    j
|t ƒ}t    j ||ƒ}t    j
|t |ƒƒ}x |D]}t    j ||ƒ}q›Wtj|ƒ}|j|ƒdS(Nt(tChConfigtDef_SkillID_LimitSuperBufftGetGameObjTypet IPY_GameWorldt    gotPlayert    GameWorldt IsCrossServert PlayerControlt GetCrossMapIDtCommFunct    WriteBYTEtMergeData_Bufft
WriteDWORDtlentbase64t    b64encodetSendMergePlayerData(t    curPlayertbuffIDt plusValueListtdataR
((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pytSendMergeData_BuffDs"   cCs°tjƒsdSy\tjƒj|ƒ}tj|jƒƒ}|sGdSd}tj||ƒ\}}|t    kr-tj
||ƒ\}}tj ƒj |ƒ}|s¨dSg}tj||ƒ\}    }x9t |    ƒD]+}
tj
||ƒ\} }|j| ƒqÓWtj|ƒ} tj|| |||ƒn>|tkrRt||jƒ|ƒnt|||jƒ|ƒWn=tk
r«ttjƒƒ} tjd| |jƒƒnXdS(Nis½ÓÊÕ¿ç·þ±ä¸üÍæ¼ÒÊý¾Ý´íÎó 
%s(RRtGetPlayerManagertGetPlayerByIndexR&t    b64decodetGetMergePlayerDataR!tReadBYTER#t    ReadDWORDt GetGameDatatGetSkillBySkillIDtrangetappendt SkillCommont GetBuffTypet    BuffSkilltAddBuffNoRefreshStatetMergeData_Playert__ReadMainServerSyncPlayerDatat__ReadCrossDatat BaseExceptiontstrt    tracebackt
format_exctRaiseExceptiont GetPlayerID(tindexttickR)tpdatatpostdataTypeR*tcurSkillR+tcnttiR
tbuffTypeterrorMsg((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pytOnMergePlayerDatabs8    c    Csn|tkrdSt|ƒs dSt|d}t|ƒt|ƒkrJdSd}tj||ƒ}xÉt|ƒD]»\}}||}|tkr¦tj||ƒ}qo|tkrÇtj||ƒ}qo|t    krètj
||ƒ}qo|t krot|ƒ}tj||ƒ}tj |||ƒ}qoqoWt j|ƒ}|j|ƒtjd||f|jƒƒdS(NiRs-·¢ËÍÊý¾Ýµ½¿ç·þ·þÎñÆ÷: dataType=%s,dataList=%s(t CrossDataInfotIsNeedProcessCrossPlayerR%R!R"t    enumeratetWDT_BYTEtWDT_WORDt    WriteWORDt    WDT_DWORDR$t
WDT_Stringt WriteStringR&R'R(RtDebugLogRD(    R)RItdataListtdataInfoR,RLtwDTypeR
tsLen((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pytSendDataToCrossServer‹s2  
       c
CsH|tkrdSt|\}}|s*dSg}tj|ƒ}xÕ|D]Í}|tkrstj||ƒ\}}n“|tkrštj||ƒ\}}nl|tkrÁtj    ||ƒ\}}nE|t
krFtj||ƒ\}    }tj |||    ƒ\}}nqF|j |ƒqFWt jd||f|jƒƒ|||ƒdS(Ns%ÊÕµ½Ö÷·þÊý¾Ý: dataType=%s,dataList=%s(RPR&R0RSR!R2RTtReadWORDRVR3RWt
ReadStringR7RRYRD(
R)RIRGRHR[tcallFuncRZR\R
R]((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR>¬s,        cCs~tjƒrdS|jtjƒ}|s:tj|ƒ}n| sP|tjkrTdS|dkrddStj    ddƒszdSt
S(NtCrossSyncPlayerDatai(( RRtNomalDictGetPropertyRtDef_PlayerKey_CrossRegisterMapRR tDef_CrossMapIDListt IpyGameDataPYt
GetFuncCfgtTrue(R)t
crossMapID((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyRQÉs  cCs|jƒ}tjj|dƒtjj|dƒtjj|dƒtjj|dƒtjj|dƒt    j
d|ƒdS(NsÇå³ýͬ²½¿ç·þÊý¾ÝµÄÁÙʱ»º´æ( RDt
PyGameDatatg_crossRegPlayerAttrDicttpoptNonetg_crossSyncTickDicttg_crossPlayerDictChangeInfotg_crossPlayerItemsChangeInfotg_crossPlayerSkillsChangeInfoRRY(R)tplayerID((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pytClearCrossSyncDataCacheÝs cCsyt|ƒsdSt|ƒg}x%tD]}|j|d|ƒƒq'W|jƒ}|tj|<t|ƒt|ƒdS(Ni(    RQRstCrossFightPowerAttrListR7RDRjRktOnPlayerCrossRegItemstOnPlayerCrossRegSkills(R)tattrListtattrInfoRr((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pytOnPlayerCrossRegès 
 
 
cCst|ƒtj|jƒ<dS(N(tGetPlayerCrossRegItemsRjRpRD(R)((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyRuúscCsÄi}tjtjtjg}xŸ|D]—}|jƒj|ƒ}xyt|jƒƒD]e}|j    |ƒ}| sS|j
ƒrqSn|j ƒ|j ƒf}t j |jƒƒjƒ||<qSWq%W|S(N(RtrptEquipt ShareDefinetrptPett rptDogzEquiptGetItemManagertGetPackR6tGetCounttGetAttIsEmptytGetItemPlaceTypetGetItemPlaceIndextmd5tGetB64ItemDatat    hexdigest(R)t    itemsDicttpackListt    packIndextcurPackRLtcurItemtitemMark((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyRzs 'cCst|ƒtj|jƒ<dS(N(tGetPlayerCrossRegSkillsRjRqRD(R)((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyRvscCsXg}|jƒ}x?td|jƒƒD](}|j|ƒ}|j|jƒƒq(W|S(Ni(tGetSkillManagerR6t GetSkillCounttGetSkillByIndexR7t
GetSkillID(R)tskillst skillManagerRLRJ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyRs  cCsRt|ƒsdS|jƒ}|tjkr/dStjƒjƒ}|tj|<dS(N(RQRDRjRnRt GetGameWorldtGetTick(R)RrRF((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pytOnPlayerFightPowerChange*s   cCstjdƒt|dƒdS(NtSendMergePlayerDataNowi(RRYtProcessCrossPlayer(R)((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR™6s  cCset|ƒsdS|jƒ}|ri|tjkr5dStj|}||tjddƒdkridSntjj|dƒtj    d|ƒytd}t
j |t ƒ}t ||ƒ}t||ƒ}t||ƒ}t||ƒ}tj|ƒ}|j|ƒWn^tk
r`ttjƒƒ}tjd||jƒƒtjƒjƒrat|ƒ‚qanXdS(NRbiiès¿ªÊ¼Í¬²½±¾·þ±ä¸üµÄÊôÐÔ...Rs´ò°ü¿ç·þ±ä¸üÍæ¼ÒÊý¾Ý´íÎó - > %s(RQRDRjRnRfRgRlRmRRYR!R"R<t__WriteSyncPlayerAttrDatat__WriteSyncPlayerDictDatat__WriteSyncPlayerItemst__WriteSyncPlayerSkillsR&R'R(R?R@RARBtErrLogR–t GetDebugLevelt    Exception(R)RFRrtsetTickR,RN((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyRš<s4     cCsutjd|jƒƒt|||ƒ}t|||ƒ}t|||ƒ}t|||ƒ}tj|ƒjƒdS(NsÊÕµ½×Ó·þͬ²½µÄÍæ¼Ò±ä¸üÊý¾Ý:(    RRYRDt__ReadSyncPlayerAttrDatat__ReadSyncPlayerDictDatat__ReadSyncPlayerItemst__ReadSyncPlayerSkillsRtReCalcAllState(R)RGRH((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR=bsc Csg|jƒ}|tjkr+tj|dƒStj|}t|ƒttƒkr`tj|dƒSg}xcttƒD]U\}}||}|d|ƒ}||kr«qsn|j||gƒ|||<qsW|sâtj|dƒSt|ƒ}    t    j
d|    ƒtj||    ƒ}xO|D]G\}
}tj||
ƒ}tj ||ƒ}t    j
d|
|fƒqW|S(Nis±ä¸üµÄÍæ¼ÒÊôÐÔ¸öÊý: %ss    index=%s,value=%s( RDRjRkR!R"R%RtRRR7RRYR$( R)R,RrRwtchangeAttrListRLRxtbefValuetcurValuetcountRE((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR›ps0  
  cCsÅtj|ƒ}tj||ƒ\}}tjd|ƒx†t|ƒD]x}tj||ƒ\}}tj||ƒ\}}|tt    ƒkr‘Pnt    |d||ƒtjd||fƒqEW|S(Ns±ä¸üµÄÍæ¼ÒÊôÐÔ¸öÊý: %sis    index=%s,value=%s(
R&R0R!R2RRYR6R3R%Rt(R)RGRHR«t_RER
((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR£‘sc
Cs
|jƒ}|tjkr+tj|dƒStjj|ƒ}t|ƒ}tjd|ƒtj||ƒ}x—|j    ƒD]‰\}}|\}}t|ƒ}    tj
||    ƒ}tj ||    |ƒ}tj ||ƒ}tj
||ƒ}tjd|||fƒqyW|S(Nis±ä¸üµÄÍæ¼Ò×Öµä¸öÊý: %ss    key=%s, value=%s, dType=%s( RDRjRoR!RURlR%RRYtitemsR"RXR$(
R)R,Rrt
changeDictR«tkeyInfoR
tkeytdTypetkeyLen((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyRœ s     c    Csætj|ƒ}tj||ƒ\}}tjd|ƒx§t|ƒD]™}tj||ƒ\}}tj|||ƒ\}}tj    ||ƒ\}}tj||ƒ\}}t
j ||||ƒtjd|||fƒqEW|S(Ns±ä¸üµÄÍæ¼Ò×Öµä¸öÊý: %ss    key=%s, value=%s, dType=%s( R&R0R!R_RRYtxrangeR2R`R3RtNomalDictSetProperty(    R)RGRHR«R¬R²R°R
R±((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR¤µsc Cs|jƒ}|tjkrCtj|dƒ}tj|dƒ}|Stj|}t|ƒ}g}g}x*|D]"}||kro|j|ƒqoqoWtj|t|ƒƒ}x:|D]2}tj||dƒ}tj||dƒ}q´WxN|D]F}||kr|j|ƒqñ||||krñ|j|ƒqñqñWd}d}    x¥|D]}|jƒj    |dƒ}
|
j
|dƒ} | sN| j ƒr™qNnt j | jƒƒ} tj|t| ƒƒ}tj|t| ƒ| ƒ}|    d7}    qNWtj||    ƒ}||7}|tj|<|S(NiiR(RDRjRpR!R"RzR7R%RR€R‚RƒR&R0R‡RURX( R)R,Rrt    lastItemstnowItemstdelItemstaddItemstindexsttmpDataRKRŒRtitemData((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyRÄsH         
 c Cs·tj|ƒ}tj||ƒ\}}tjd|ƒx‹t|ƒD]}}tj||ƒ\}}tj||ƒ\}}|jƒj|ƒ}|j    |ƒ}| sE|j
ƒr¸qEn|j ƒqEWtj||ƒ\}}tjd|ƒxÁt|ƒD]³}tj ||ƒ\}    }tj |||    ƒ\}
}tjƒjtj|
ƒƒ} | sü| jƒdkrrqün|jƒj| jƒƒ}|j    | jƒƒ}|j| ƒqüW|S(Nsɾ³ýµÄÍæ¼ÒÎïÆ·¸öÊý: %ssÔö¸ÄµÄÍæ¼ÒÎïÆ·¸öÊý: %si(R&R0R!R2RRYR³RR€R‚RƒtClearR_R`tGetItemFactorytAddItemR't GetItemTypeIDR„R…t
AssignItem( R)RGRHR«R¬tpackTypet    itemIndexRŒRt itemDataLenR»t curSingleItem((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR¥õs.cCsI|jƒ}|tjkrCtj|dƒ}tj|dƒ}|Stj|}t|ƒ}g}x*|D]"}||kri|j|ƒqiqiWtj|t|ƒƒ}x |D]}tj||ƒ}q®Wg}x*|D]"}||kr×|j|ƒq×q×Wtj|t|ƒƒ}x |D]}tj||ƒ}qW|tj|<|S(Ni(    RDRjRqR!R"RR7R%R$(R)R,Rrt
lastSkillst    nowSkillst    delSkillstskillIDt    addSkills((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyRžs.          cCsï|jƒ}tj|ƒ}tj||ƒ\}}tjd|ƒx<t|ƒD].}tj||ƒ\}}|j    |t
ƒqQWtj||ƒ\}}tjd|ƒx<t|ƒD].}tj||ƒ\}}|j |t
ƒq¹W|S(Nsɾ³ýµÄÍæ¼Ò¼¼ÄܸöÊý: %ssÔö¼ÓµÄÍæ¼Ò¼¼ÄܸöÊý: %s( RR&R0R!R2RRYR³R3tDeleteSkillBySkillIDtFalsetLearnSkillByID(R)RGRHR•R«R¬RÈ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR¦>s (4RR!RRR:R8R&RRjRfRRRAR|R†R6R<tMergeData_ItemtMergeData_SkillR#tCrossData_PetStatetCrossData_HorseChangetCrossData_RideHorseRSRTRVRWRPRtR-ROR^R>RQRsRyRuRzRvRR˜R™RšR=R›R£RœR¤RR¥RžR¦(((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyt<module>sd               $        )    !                                              &        !                1    $    %