hxp
2018-08-25 c3f001417a8ca59a1286d71c1cbbab0109bba319
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
x{[c@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ej jƒZd„Zd„Zed„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „ZdS( iÿÿÿÿNcCs |jƒ}|s|jƒS|S(N(tGetItemDataNoSavet GetItemData(tcurCachetresult((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerViewCache.pyR's 
cCs |jƒ}|s|jƒS|S(N(tGetPlusDataNoSavet GetPlusData(RR((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerViewCache.pyR.s 
c    Cs2tj|ƒ}|s'tj|ƒ}n|jtjƒƒtjd|t|ƒ|t|ƒ|t|ƒ|fƒ|j|t|ƒƒ|j    ƒs¦|rõt
|ƒrõ|j |t|ƒƒ|j |t|ƒƒ|j ddƒ|jddƒn,|j |t|ƒƒ|j|t|ƒƒ|j|ƒdS(Ns¶ViewCache### UpdatePlayerCache PlayerID %s,                         PropData(len %s): %s,                         ItemData(len %s):  %s,                         PlusData(len %s):  %sti(t ViewCacheMgrt    FindCachet AddNewCachet SetUpdateTimet    GameWorldtGetCurrentDataTimeStrtDebugLogtlent SetPropDataRtIsNeedSaveViewCacheAllInfot SetItemDatat SetPlusDatatSetItemDataNoSavetSetPlusDataNoSavet SetNeedSaveDB(tPlayerIDtPropDatatItemDatatPlusDatatisSaveDBR((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerViewCache.pytUpdatePlayerCache8s"/ cCs:t||ƒs tj|ƒdSt||||tƒdS(N(tIsNeedSaveLogoutPlayerRt DeleteCacheRtTrue(RtPlayerLVRRR((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerViewCache.pytOnPlayerLogoutcs
 cCs,tjdƒ\}}}||kr(tStS(NtCacheSaveLimit(t ReadChConfigtGetEvalChConfigtFalseR(RRt SaveDBLimitLVtNeedCheckBillBoardTypetHighLadderLimitOrder((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerViewCache.pyRos cCsgtjdƒ\}}}tjƒ}x<|D]4}|j|ƒ}|sLq+n|j|ƒr+tSq+WtS(NR!(R"R#R t GetBillboardt FindBillboardtFindByIDRR$(RR%R&R't billboardMgrt BillBoardTypet curBillboard((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerViewCache.pyRxs  cCs–tjd|jƒƒ|j}|j}|jrTt|||j|j|j    ƒn1t
||j|j|j    |dkr~t nt ƒtjdƒdS(Ns(ViewCache### OnMGUpdatePlayerCache in %si–s&ViewCache### OnMGUpdatePlayerCache out( R R t OutputStringRRt IsLogoutingR RRRRRR$(t
routeIndextmapIDt curPackDatattickRR((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerViewCache.pytOnMGUpdatePlayerCache¢s                 % cCs[tjdƒtjƒj|jƒ}|j}tj|ƒ}|sWtj    |dƒdSt
j ƒ}||_|s×tjd|ƒd|_ t |j ƒ|_d|_t |jƒ|_d|_t |jƒ|_nc|jƒ|_ t |j ƒ|_t|ƒ|_t |jƒ|_t|ƒ|_t |jƒ|_tj||ƒtjdƒdS(Ns$ViewCache### OnMGQueryPlayerCache intViewPlayer_OffLines.PlayerCache## OnMGQueryPlayerCache %s no foundRs%ViewCache### OnMGQueryPlayerCache out(R R tGetPlayerManagertFindPlayerByIDRt FindPlayerIDRRt PlayerControlt
NotifyCodetChPyNetSendPackttagSCQueryPlayerCacheResultRRt PropDataSizeRt ItemDataSizeRt PlusDataSizet GetPropDataRRt NetPackCommont SendFakePack(R0R1R2R3t    curPlayert findPlayerIDRtsendPack((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerViewCache.pytOnMGQueryPlayerCache³s4                       cCs°tj|ƒ}|sdSt|ƒ}|s/dSg}t|ƒ}xh|D]`}|d}|tjkrmqHn|d}|sƒqHn|j|||jddƒdgƒqHW|S(Nt    ItemIndextItemIDtStarLVi(RRRtevalt ShareDefinet RoleEquipTypetappendtget(RDRtitemDatatplayerEquipListt equipItemListt equipItemDictt
equipIndextitemID((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerViewCache.pytGetPlayerCacheEquipViewÖs"   
 
)cCs~tjƒj|jƒ}tjƒ}|jƒ|sìtj|jƒ}|s‹|j|_d|_    d|_
d|_ d|_ t j|_qUt|jƒƒ}|j|_|d|_    |d|_
|d|_ |d|_ t j|_ni|j|_|jƒ|_    |jƒ|_
|jƒ|_ |jƒ|_ t j|_|jƒdk|_tjƒj|ƒ}tj||ƒdS(NRitNametJobtLVtRealmLVi(R R6R7RR;ttagGCAnswerPlayerShortInfotClearRRt
PlayerNameRWRXRYtChConfigt Def_Offlinet
OnlineTypeRJR@tGetNametGetJobtGetLVtGetOfficialRankt
Def_Onlinet    GetTeamIDtIsInTeamtGetPlayerByIndexRARB(tindext
clientPackR3t    tagPlayert
answerPackRt    cacheDictRC((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerViewCache.pytOnViewPlayerShortInfo÷s: 
                        cCs²tjd|ƒtj|ƒ}|s)dSt|jƒƒ}d|d<d|d<|d}tj|dtƒ}|j    ƒ}|j
ƒ}t |||||dkr§t ntƒdS(    NsViewCache->OnPlayerLeaveFamilyitFamilyIDRt
FamilyNameRXt ensure_asciii–( R R RRRJR@tjsontdumpsR$RRRR(tplayerIDRRtplayerLVRR((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerViewCache.pytOnPlayerLeaveFamilys
 
 
  ((R R;tIPY_PlayerDefinetPlayerFamilyActionR9RAR"t PlayerFamilytIPY_GameServerRKR]ttimeRqt GameWorldDatatGetPlayerViewCacheMgrRRRR$RR RRR4RFRURmRu(((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerViewCache.pyt<module>s0                     
+                 *        #    !    &