hxp
2025-05-23 69b88f45f12469ffe581eb208fedf79990e4818f
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
ôU0hc@súddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z dZ d„Z d„Zd„Zd„Zed„Zd„Zed    „Zd
„Zd „Zd „ZdS( iÿÿÿÿNtUpdViewCacheTickcCs tƒdS(N(tDelOutofTimeViewCacheData(((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerViewCache.pytOnDay"scCsU|jƒdkrdSt|ƒ}|rQt|ƒ rQtjƒj|jƒƒndS(Ni
(tGetLVtUpdPlayerViewCachetIsSaveDBViewCachet    DBDataMgrtGetPlayerViewCacheMgrtDelPlayerViewCachet GetPlayerID(t    curPlayertcurCache((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerViewCache.pytOnPlayerLogout&s  cCs›tjƒ}tjƒ}x|t|jƒƒddd…D][}|j|ƒ}|jƒ}|j|ƒ}|rtq8nt    |ƒr†q8n|j
|ƒq8WdS(Niÿÿÿÿ( t    GameWorldtGetPlayerManagerRRtrangetGetCounttAtR    tFindPlayerByIDRR(t playerManagert viewCacheMgrtindext    viewCachetplayerIDR
((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerViewCache.pyR0s  &  cCs(|s
tS|jƒ}tjƒ}xwtjD]l}|tjkrGq,n|j|ƒ}x?|D]7\}}}|j|||ƒ}|j    |ƒr]t
Sq]Wq,W|j ƒ}    |    t j ddƒkr$t j ddƒ}
|
sád}
n|
dd} ttjƒƒ} | |jƒ} | | kr$t
SntS(NtPlayerViewCacheiiiii(tFalseR    RtGetBillboardMgrt ShareDefinetBillboardTypeAllListtFamilyBillboardListtGetBillboardGroupListt GetBillboardtFindByIDtTrueRt IpyGameDataPYt
GetFuncCfgtintttimet
GetOffTime(RRt billboardMgrtbTypet    groupListt billboardTypet groupValue1t groupValue2t billboardObjtplayerLVtmaxDaystMaxTimetcurTimetpassTime((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerViewCache.pyRAs.         c    CsÉtjƒ}|j|ƒ}|r?t|ƒ}|rÅ|}qÅn†|tjkr¦tjƒj|ƒ}|r…|j    |ƒ}t
|ƒqÅtj |ƒrÅt |ƒ}qÅntj |koÃtjknrÅ|dd}d||f}tjddƒ}|j    |ƒ}|jdtjdƒ|fƒ|j|ƒ|jtjddƒƒ|jtjdd    ƒƒ|jtjd
d ƒƒ|j|ƒ|j|ƒ|jttjƒƒtjddƒƒn|S(s²éÕÒÍæ¼Ò»º´æ£¬Èç¹û²»´æÔÚ£¬Ôò»áÓжîÍâÂß¼­£¬Èç´Óredis¡¢dbÖ±½ÓÕÒ£¬
            ±¾·þÍæ¼ÒÀíÂÛÉÏÒ»¶¨Óв鿴»º´æ£¬ÒòΪÈç¹û²»´æÔÚ»áÖ±½Ó´Ódb¶Á£¬³ý·Ç¸ÃÍæ¼ÒÊý¾Ý±»É¾³ý
            ¿ç·þÍæ¼ÒÀíÂÛÉÏÒ²Ò»¶¨Óлº´æ£¬Ö»ÊÇͨ¹ý¿ç·þ»ò´Ó×Ó·þ²éѯ£¬ÑÓ³Ù»ñµÃ
            ¡¾×¢¡¿Íâ²ãµ÷ÓÃÒÀȻҪÅжÏÊÇ·ñÓÐÊý¾Ý
    idisfake%s@test@s%si@Biáõs%s%ssÉñÃØµÀÓÑiÈiiiiii
i€Qi/ (RRtGetPlayerViewCachet__CheckUpdViewCacheRtFackPlayerIDMaxR RRtAddPlayerViewCacheRtGetDBPlayerAccIDByIDtUpdPlayerViewCacheByDBtFackPlayerIDStarttrandomtrandintt SetPlayerNamet    GbkToCodetSetAccIDtSetLVtSetJobt
SetRealmLVtSetFightPowerTotalt SetServerIDt
SetOffTimeR$R%(    RtisAddRR tupdCacheR
tserverIDtaccIDt
fightPower((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerViewCache.pyt FindViewCachegs8    "    ,cCs—|tjkrdStjƒj|ƒ}|s2dS|jtƒ}tjƒjƒ}|r}||dkr}tj    d|ƒdS|j
t|ƒt |ƒS(Ni`ês1·ÖÖÓÄÚÖ»¸üÐÂÒ»´ÎÍæ¼Ò»º´æ( RR5R RRt GetDictByKeytKey_UpdViewCacheTickt GetGameWorldtGetTicktDebugLogtSetDictR(RR
t lastUpdTickttick((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerViewCache.pyR4šscCs |s
dS|jƒ}tjƒj|ƒ}|s5dStjƒjƒ}|jt|ƒtj    d||ƒ|j
|j ƒƒ|j |j ƒƒ|j|jƒƒ|j|jƒƒ|j|jƒƒ|j|jƒƒ|j|jƒƒ|j|jƒƒ|j|jƒƒ|jtj|ƒƒ|jtj |ƒƒ|j!tj"|ƒƒ|j#tj$|ƒƒ|r|j%t&t'j'ƒƒƒn|j(ƒ}|j)i|j*ƒd6|j+ƒd6|j,ƒd6t-j.|ƒd6|j/ƒd6|j0ƒd6|j1ƒd    6ƒ|S(
sô¸üÐÂÍæ¼Ò²é¿´»º´æÊý¾Ý£¬¸üÐÂʱ»úÓÉÍâ²ã×Ô¼ºÅжϣ¬ÕâÀïÖ»×ö¸üÐÂÂß¼­
    1. ÏÂÏßÊ±Ç¿ÖÆ¸üÐÂÒ»´Î£¬ÉÏÏßÔݲ»¸üУ¬ÉÏÏßʱÓɸ÷¹¦ÄÜÈç¹ûÓÐÐèÒªÓõ½´¥·¢¸üÐÂ
    2. ÓÐÐèÒªÓõ½»º´æÊý¾Ýʱ£¬Èç¹ûÍæ¼ÒÔÚÏߣ¬1·ÖÖÓÄÚ¶à´Î»ñȡʱ×î¶à¸üÐÂÒ»´Î£¬Ã»ÓлñÈ¡»º´æÊý¾ÝÔò²»¸üÐÂ
    Ns"¸üÐÂÍæ¼Ò²é¿´»º´æÊý¾Ý! isOffline=%stMinAtktMaxAtktDeftMaxHPtHittMisst SuperHitRate(2R    RRR3R RMRNRPRLROR>tGetAccIDR<t GetPlayerNameR?RR@tGetJobRAtGetOfficialRanktSetFacetGetFacet
SetFacePict
GetFacePict SetFamilyIDt GetFamilyIDt SetFamilyNamet GetFamilyNametSetFamilyEmblemIDt PlayerControltGetFamilyEmblemIDt
SetTitleIDt
GetTitleIDRBt GetFightPowerRCtGetPlayerServerIDRDR$R%t GetPlusDicttupdatet    GetMinAtkt    GetMaxAtktGetDeftGameObjtGetMaxHPtGetHittGetMisstGetSuperHitRate(R
t    isOfflineRR RRtplusDict((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerViewCache.pyR¨sD           cCsÄtjd|ƒd}tjƒj|ƒ}|sEtjd|ƒ|Stjƒ}|j|ƒ}|sx|j    |ƒ}n|j
}tjd|ƒ|j |j ƒ|j |jƒ|j|jƒ|j|jƒ|j|jƒ|j|jƒ|j|jƒ|j|ƒtjƒj|ƒ}|j|r;|jƒndƒ|j|rZ|jƒndƒ|j |j!t"j#|j$ƒ|j%tj&|j ƒƒ|j'|j(r¹tj)|j(ƒndƒ|S(sG¸üÐÂÍæ¼Ò²é¿´»º´æÊý¾Ý£¬Ö±½Ó´ÓdbÊý¾Ý¸üУ¬½ö¸üÐÂdbPlayer±íÓеÄÊôÐÔ£¬
    R8t1111111111111111sdb²éÕÒÖ±½Ó¸üÐÂÍæ¼Ò²é¿´»º´æÊý¾Ý!tiN(*R ROtNonet PyMongoMaint GetUserCtrlDBt findDBPlayerRRR3R6tFamilyIDR>tAccIDR<t
PlayerNameR?tLVR@tJobRAt OfficialRankR^tFaceR`tFacePicRbt GetFamilyMgrt
FindFamilyRdtGetNameRft GetEmblemIDRBt FightPowerExtChConfigtDef_PerPointValuet
FightPowerRCtGetAccIDServerIDRDt
LogoffTimetChangeTimeStrToNum(RR tdbPlayerRtfamilyIDtfamily((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerViewCache.pyR8Ûs6      (cCsktjƒj|ƒ}|j}t|ƒ}|rDtj||ƒdStj|ƒrgtj    |dƒdSdS(NtViewPlayer_OffLine(
R RtGetPlayerByIndextPlayerIDtGetPack_ViewCachet NetPackCommont SendFakePackR7Rgt
NotifyCode(Rt
clientPackRRR
t findPlayerID((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerViewCache.pytOnCMViewPlayerInfos     cCst|ƒ}|sdStjƒ}|jƒ|_|jƒ|_|jƒ|_|j    ƒ|_
|j ƒ|_ |j ƒ|_|jƒ|_|jƒ|_|jƒ|_|jƒ|_|jƒ|_|jƒ|_|jƒ|_|jƒ|_|jƒ|_ t!|j ƒ|_"|S(N(#RJtChPyNetSendPackttagSCQueryPlayerCacheResultR    R—R[RRR‚R\Rƒt
GetRealmLVtRealmLVR_R…RaR†RjtTitleIDt GetServerIDtServerIDRkRŽtGetFightPowerExR‹RcRRet
FamilyNameRhtFamilyEmblemIDt GetPlusDatatPlusDatatlent PlusDataSize(RR Rœ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerViewCache.pyR˜s*  (RŒR R|RgR™RŸR"RRRrR:R%RLRR RRRRJR4RR8RžR˜(((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerViewCache.pyt<module>s,                    
        & 3     3    '