hxp
3 天以前 193cdb092210cde8e9ed245923d530ecc1dc8ab7
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
87
88
89
90
91
92
…Úhc@sžddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZeddƒ\ZZZZZZZedƒ\ZZZZieeegd„ge6egd„ge6egd„ge6Zd„d    „gd
„d „gd „d „gd„d„gd„d„gd„d„gd„d„ggZd„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+„Z3d,„Z4d-„Z5d.„Z6d/„Z7dS(0iÿÿÿÿNiiicCstj||ƒS(N(t    PlayerPettCrossServer_DoChangePetState(tcurObjt    valueList((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyt<lambda>4scCstj||ƒS(N(t PlayerHorsetCrossServer_ChangeHorse(RR((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR5scCstj||ƒS(N(RtCrossServer_RideHorse(RR((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR6scCs
|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.pyRAscCs |j|ƒS(N(tSetVIPLv(RR
((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyRAscCs×|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_BuffEs"   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.pytOnMergePlayerDatacs8    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ƒtj    j|dƒt
j d|ƒdS(NsÇå³ýͬ²½¿ç·þÊý¾ÝµÄÁÙʱ»º´æ( RDt
PyGameDatatg_crossRegPlayerAttrDicttpoptNonetg_crossSyncTickDicttg_crossPlayerDictChangeInfot!g_crossPlayerDienstgradChangeInfotg_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(    RQRttCrossFightPowerAttrListR7RDRjRktOnPlayerCrossRegItemstOnPlayerCrossRegSkills(R)tattrListtattrInfoRs((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pytOnPlayerCrossRegês 
 
 
cCst|ƒtj|jƒ<dS(N(tGetPlayerCrossRegItemsRjRqRD(R)((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyRvü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.pyR{s 'cCst|ƒtj|jƒ<dS(N(tGetPlayerCrossRegSkillsRjRrRD(R)((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyRwscCsXg}|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  cCsLt|ƒsdS|jƒ}tjj|iƒ}|||<|tj|<dS(N(RQRDRjRptget(R)t dienstgradIDtstateRstdienstgradStateDict((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pytOnDienstgradChange,s  
 cCsRt|ƒsdS|jƒ}|tjkr/dStjƒjƒ}|tj|<dS(N(RQRDRjRnRt GetGameWorldtGetTick(R)RsRF((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pytOnPlayerFightPowerChange6s   cCstjdƒt|dƒdS(NtSendMergePlayerDataNowi(RRYtProcessCrossPlayer(R)((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyRŸBs  cCstt|ƒsdS|jƒ}|ri|tjkr5dStj|}||tjddƒdkridSntjj|dƒtj    d|ƒyƒd}t
j |t ƒ}t ||ƒ}t||ƒ}t||ƒ}t||ƒ}t||ƒ}tj|ƒ}|j|ƒWn^tk
rottjƒƒ}tjd||jƒƒtjƒjƒrpt|ƒ‚qpnXdS(NRbiiès¿ªÊ¼Í¬²½±¾·þ±ä¸üµÄÊôÐÔ...Rs´ò°ü¿ç·þ±ä¸üÍæ¼ÒÊý¾Ý´íÎó - > %s(RQRDRjRnRfRgRlRmRRYR!R"R<t__WriteSyncPlayerAttrDatat__WriteSyncPlayerDictDatat__WriteSyncPlayerDienstgradDatat__WriteSyncPlayerItemst__WriteSyncPlayerSkillsR&R'R(R?R@RARBtErrLogRœt GetDebugLevelt    Exception(R)RFRstsetTickR,RN((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR Hs6     cCs‡tjd|jƒƒt|||ƒ}t|||ƒ}t|||ƒ}t|||ƒ}t|||ƒ}tj|ƒj    ƒdS(NsÊÕµ½×Ó·þͬ²½µÄÍæ¼Ò±ä¸üÊý¾Ý:(
RRYRDt__ReadSyncPlayerAttrDatat__ReadSyncPlayerDictDatat__ReadSyncPlayerDienstgradDatat__ReadSyncPlayerItemst__ReadSyncPlayerSkillsRtReCalcAllState(R)RGRH((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR=osc 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%RuRRR7RRYR$( R)R,RsRxtchangeAttrListRLRytbefValuetcurValuetcountRE((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR¡~s0  
  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%Ru(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,Rst
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«ÃscCsÈ|jƒ}|tjkr+tj|dƒStjj|ƒ}t|ƒ}tjd|ƒtj||ƒ}xU|j    ƒD]G\}}tj
||ƒ}tj||ƒ}tjd||fƒqyW|S(Nis±ä¸üµÄÍæ¼Ò³ÆºÅ¸öÊý: %ss    dienstgradID=%s, state=%s( RDRjRpR!R"RlR%RRYRµR$(R)R,RstchangeDienstgradDictR³R˜R™((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR£Òs  cCsÌtj|ƒ}tj||ƒ\}}tjd|ƒxt|ƒD]}tj||ƒ\}}tj||ƒ\}}tjd||fƒ|r±tj    ||dt
ƒqEtj ||t
ƒqEW|S(Ns±ä¸üµÄÍæ¼Ò³ÆºÅ¸öÊý: %ss    dienstgradID=%s, state=%st isRefreshAttr( R&R0R!R2RRYR»R3tPlayerDienstgradtPlayerAddDienstgradtFalsetPlayerDelDienstgrad(R)RGRHR³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(RDRjRqR!R"R{R7R%R€RRƒR„R&R0RˆRURX( R)R,Rst    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»R€R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(    RDRjRrR!R"RR7R%R$(R)R,Rst
lastSkillst    nowSkillst    delSkillstskillIDt    addSkills((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR¥Hs.          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»R3tDeleteSkillBySkillIDRÁtLearnSkillByID(R)RGRHR–R³R´RÖ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossPlayerData.pyR®ms (8RR!RRR:R8R&RRjR¿RfRRRAR}R‡R6R<tMergeData_ItemtMergeData_SkillR#tCrossData_PetStatetCrossData_HorseChangetCrossData_RideHorseRSRTRVRWRPRuR-ROR^R>RQRtRzRvR{RwRR›RžRŸ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>sl                $        )    !                                     
             '        !                        1    $    %