gwj
4 天以前 40f2d58a40279e8ce3472c17d38cb833d178c17f
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
qUic@s?ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z eddƒ\ZZZZZedƒ\ZZZZieeegd„ge6Zd„d„gd„d    „gd
„d „gd „d „gd„d„gd„d„gd„d„ggZd„Zd„Zd„Zd„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*„Z0dS(+iÿÿÿÿNiiicCstj||ƒS(N(t    PlayerPettCrossServer_DoChangePetState(tcurObjt    valueList((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyt<lambda>0scCs
|jƒS(N(t
GetBaseSTR(R((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR5scCs |j|ƒS(N(t
SetBaseSTR(Rtvalue((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR5scCs
|jƒS(N(t
GetBasePNE(R((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR6scCs |j|ƒS(N(t
SetBasePNE(RR((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR6scCs
|jƒS(N(t
GetBasePHY(R((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR7scCs |j|ƒS(N(t
SetBasePHY(RR((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR7scCs
|jƒS(N(t
GetBaseCON(R((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR8scCs |j|ƒS(N(t
SetBaseCON(RR((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR8scCs
|jƒS(N(tGetLV(R((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR9scCs |j|ƒS(N(tSetLV(RR((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR9scCs
|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_Buff?s"   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    b64decodetGetMergePlayerDataRtReadBYTER t    ReadDWORDt GetGameDatatGetSkillBySkillIDtrangetappendt SkillCommont GetBuffTypet    BuffSkilltAddBuffNoRefreshStatetMergeData_Playert__ReadMainServerSyncPlayerDatat__ReadCrossDatat BaseExceptiontstrt    tracebackt
format_exctRaiseExceptiont GetPlayerID(tindexttickR&tpdatatpostdataTypeR'tcurSkillR(tcnttiRtbuffTypeterrorMsg((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pytOnMergePlayerData]s8    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"RRt    enumeratetWDT_BYTEtWDT_WORDt    WriteWORDt    WDT_DWORDR!t
WDT_Stringt WriteStringR#R$R%RtDebugLogRA(    R&RFtdataListtdataInfoR)RItwDTypeRtsLen((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(RMR#R-RPRR/RQtReadWORDRSR0RTt
ReadStringR4RRVRA(
R&RFRDRERXtcallFuncRWRYRRZ((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_CrossRegisterMapRRtDef_CrossMapIDListt IpyGameDataPYt
GetFuncCfgtTrue(R&t
crossMapID((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyRNÄs  cCs|jƒ}tjj|dƒtjj|dƒtjj|dƒtjj|dƒtjj|dƒt    j
d|ƒdS(NsÇå³ýͬ²½¿ç·þÊý¾ÝµÄÁÙʱ»º´æ( RAt
PyGameDatatg_crossRegPlayerAttrDicttpoptNonetg_crossSyncTickDicttg_crossPlayerDictChangeInfotg_crossPlayerItemsChangeInfotg_crossPlayerSkillsChangeInfoRRV(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(    RNRptCrossFightPowerAttrListR4RARgRhtOnPlayerCrossRegItemstOnPlayerCrossRegSkills(R&tattrListtattrInfoRo((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pytOnPlayerCrossRegãs 
 
 
cCst|ƒtj|jƒ<dS(N(tGetPlayerCrossRegItemsRgRmRA(R&((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyRrõ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 rptDogzEquiptGetItemManagertGetPackR3tGetCounttGetAttIsEmptytGetItemPlaceTypetGetItemPlaceIndextmd5tGetB64ItemDatat    hexdigest(R&t    itemsDicttpackListt    packIndextcurPackRItcurItemtitemMark((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyRwûs 'cCst|ƒtj|jƒ<dS(N(tGetPlayerCrossRegSkillsRgRnRA(R&((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyRs scCsXg}|jƒ}x?td|jƒƒD](}|j|ƒ}|j|jƒƒq(W|S(Ni(tGetSkillManagerR3t GetSkillCounttGetSkillByIndexR4t
GetSkillID(R&tskillst skillManagerRIRG((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyRŒs  cCsRt|ƒsdS|jƒ}|tjkr/dStjƒjƒ}|tj|<dS(N(RNRARgRkRt GetGameWorldtGetTick(R&RoRC((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pytOnPlayerFightPowerChange%s   cCstjdƒt|dƒdS(NtSendMergePlayerDataNowi(RRVtProcessCrossPlayer(R&((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR–1s  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(NR_iiès¿ªÊ¼Í¬²½±¾·þ±ä¸üµÄÊôÐÔ...Rs´ò°ü¿ç·þ±ä¸üÍæ¼ÒÊý¾Ý´íÎó - > %s(RNRARgRkRcRdRiRjRRVRRR9t__WriteSyncPlayerAttrDatat__WriteSyncPlayerDictDatat__WriteSyncPlayerItemst__WriteSyncPlayerSkillsR#R$R%R<R=R>R?tErrLogR“t GetDebugLevelt    Exception(R&RCRotsetTickR)RK((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR—7s4     cCsutjd|jƒƒt|||ƒ}t|||ƒ}t|||ƒ}t|||ƒ}tj|ƒjƒdS(NsÊÕµ½×Ó·þͬ²½µÄÍæ¼Ò±ä¸üÊý¾Ý:(    RRVRAt__ReadSyncPlayerAttrDatat__ReadSyncPlayerDictDatat__ReadSyncPlayerItemst__ReadSyncPlayerSkillsRtReCalcAllState(R&RDRE((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR:]sc 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( RARgRhRRR"RqROR4RRVR!( R&R)RoRttchangeAttrListRIRutbefValuetcurValuetcountRB((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR˜ks0  
  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#R-RR/RRVR3R0R"Rq(R&RDRER¨t_RBR((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( RARgRlRRRRiR"RRVtitemsRRUR!(
R&R)Rot
changeDictR¨tkeyInfoRtkeytdTypetkeyLen((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#R-RR\RRVtxrangeR/R]R0RtNomalDictSetProperty(    R&RDRER¨R©R¯R­RR®((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(RARgRmRRRwR4R"R|R}RR€R#R-R„RRRU( R&R)Rot    lastItemstnowItemstdelItemstaddItemstindexsttmpDataRHR‰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#R-RR/RRVR°R|R}RR€tClearR\R]tGetItemFactorytAddItemR$t GetItemTypeIDRR‚t
AssignItem( R&RDRER¨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(    RARgRnRRRŒR4R"R!(R&R)Rot
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#R-RR/RRVR°R0tDeleteSkillBySkillIDtFalsetLearnSkillByID(R&RDRER’R¨R©RÅ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR£9s (1RRRRR7R5R#RRgRcRR>RyRƒR3R9tMergeData_ItemtMergeData_SkillR tCrossData_PetStateRPRQRSRTRMRqR*RLR[R;RNRpRvRrRwRsRŒ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>s^                          )    !                                              &        !                1    $    %