hxp
2025-05-08 89f7f7d58dadee954ce631260046ed79dceb0acf
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
V,hc@sÉddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
dZ dd    d„ƒYZ dd
d„ƒYZ d„Zed„ZdS( iÿÿÿÿNtUpdViewCacheTicktPlayerViewCachecBsOeZd$d„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d„Z d    „Z d
„Z d „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!d„Z"d „Z#d!„Z$d"„Z%d#„Z&RS(%cCs=|stjƒn||_tj|jddtƒ|_dS(NtPlusDatat PlusDataSize(tDBStructttagDBPlayerViewCachet_PlayerViewCache__dbDatatDBCommt UserDataDicttTruet_PlayerViewCache__plusDict(tselftdbData((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt__init__#scCs
|jjS(N(RtPlayerID(R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt GetPlayerID(scCs||j_dS(N(RR(R tplayerID((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt SetPlayerID)scCs
|jjS(N(RtAccID(R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pytGetAccID*scCs||j_dS(N(RR(R taccID((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pytSetAccID+scCs
|jjS(N(Rt
PlayerName(R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt GetPlayerName,scCs||j_dS(N(RR(R t
playerName((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt SetPlayerName-scCs
|jjS(N(RtLV(R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pytGetLV.scCs||j_dS(N(RR(R tlv((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pytSetLV/scCs
|jjS(N(RtJob(R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pytGetJob0scCs||j_dS(N(RR(R tjob((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pytSetJob1scCs
|jjS(N(RtRealmLV(R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt
GetRealmLV2scCs||j_dS(N(RR"(R trealmLV((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt
SetRealmLV3scCs
|jjS(N(RtFace(R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pytGetFace4scCs||j_dS(N(RR&(R tface((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pytSetFace5scCs
|jjS(N(RtFacePic(R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt
GetFacePic6scCs||j_dS(N(RR*(R tfacePic((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt
SetFacePic7scCs
|jjS(N(RtFamilyID(R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt GetFamilyID8scCs||j_dS(N(RR.(R tfamilyID((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt SetFamilyID9scCs
|jjS(N(Rt
FamilyName(R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt GetFamilyName:scCs||j_dS(N(RR2(R t
familyName((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt SetFamilyName;scCs
|jjS(N(RtFamilyEmblemID(R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pytGetFamilyEmblemID<scCs||j_dS(N(RR6(R tfamilyEmblemID((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pytSetFamilyEmblemID=scCs
|jjS(N(RtTitleID(R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt
GetTitleID>scCs||j_dS(N(RR:(R ttitleID((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt
SetTitleID?scCs
|jjS(N(Rt
FightPower(R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt GetFightPower@scCs
|jjS(N(Rt FightPowerEx(R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pytGetFightPowerExAscCs|jjtj|jjS(N(RR@tChConfigtDef_PerPointValueR>(R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pytGetFightPowerTotalBscCs*|tj|j_|tj|j_dS(N(RBRCRR>R@(R tfightPowerTotal((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pytSetFightPowerTotalCscCs
|jjS(N(RtServerID(R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt GetServerIDGscCs||j_dS(N(RRG(R tserverID((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt SetServerIDHscCs
|jjS(N(RtOffTime(R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt
GetOffTimeIscCs||j_dS(N(RRK(R toffTime((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt
SetOffTimeJscCs |jjƒS(N(R
tGetData(R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt GetPlusDictKscCs |jjƒS(N(R
tToString(R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt GetPlusDataLscCs|jjƒ|jjƒS(N(R
RQRt    getBuffer(R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt    GetBufferMs N('t__name__t
__module__tNoneR RRRRRRRRRR!R#R%R'R)R+R-R/R1R3R5R7R9R;R=R?RARDRFRHRJRLRNRPRRRT(((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyR!sH                                                                                                                                         tPlayerViewCacheMgrcBs‰eZd„Zd„Zd„Zed„Zd„Zd„Zd„Z    d„Z
d„Z d    „Z d
„Z d „Zd „Zd „ZRS(cCs(g|_i|_t|_i|_dS(N(t"_PlayerViewCacheMgr__viewCacheListt _PlayerViewCacheMgr__idIndexDicttFalset_PlayerViewCacheMgr__needSortt._PlayerViewCacheMgr__serverIDRangePlayerIDDict(R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyR Us
                cCsi|j}|jƒ||jkr&dSt|ƒ}|jj|ƒt|jƒd|j|<t|_|S(s³õʼ»¯¹¦ÄÜÊý¾ÝʵÀý£¬´´½¨»ò¼ÓÔØÊý¾ÝʱͨÓ㬹¦ÄÜÒ»°ã²»µ÷ÓÃ
        @param dbData: ÊµÀý¶ÔÓ¦°ó¶¨µÄdbData
        @return: ³É¹¦·µ»ØÊµÀý¶ÔÏó£¬Ê§°Ü·µ»ØNone
        Ni(    Rt#_PlayerViewCacheMgr__refreshIDIndexRZRRYtappendtlenR    R\(R R Rt    viewCache((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pytInitViewCacheInstance\s    
     cCs—|tjkrdStjƒj|ƒ}|s2dS|jtƒ}tjƒjƒ}|r}||dkr}tj    d|ƒdS|j
t|ƒt |ƒS(Ni`ês1·ÖÖÓÄÚÖ»¸üÐÂÒ»´ÎÍæ¼Ò»º´æ( t ShareDefinetFackPlayerIDMaxt    GameWorldtGetPlayerManagertFindPlayerByIDt GetDictByKeytKey_UpdViewCacheTickt GetGameWorldtGetTicktDebugLogtSetDicttUpdPlayerViewCache(R Rt    curPlayert lastUpdTickttick((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pytCheckUpdViewCacheksc
CsÁ|j|ƒ}|r6|j|ƒ}|r½|}q½n‡|tjkr’tjƒj|ƒ}|r½tjƒ}||_    |j
|ƒt |ƒq½n+tj |ko¯tjknr½|dd}d||f}t jddƒ}    tjƒ}||_    dtjdƒ|f|_||_t jddƒ|_t jdd    ƒ|_t jd
d ƒ|_|    tj|_|    tj|_||_ttjƒƒt jddƒ|_|j
|ƒ}n|S(s²éÕÒÍæ¼Ò»º´æ£¬Èç¹û²»´æÔÚ£¬Ôò»áÓжîÍâÂß¼­£¬Èç´Óredis¡¢dbÖ±½ÓÕÒ£¬
                        ¿ç·þÍæ¼Ò´Ó¿ç·þÈ¡£¬¿ÉÄÜÑÓ³Ù»ñµÃ
        idisfake%s@test@s%si@Biáõs%s%ssÉñÃØµÀÓÑiÈiiiiii
i€Qi/ (tGetPlayerViewCacheRrRcRdReRfRgRRRRbRntFackPlayerIDStarttrandomtrandintt    GbkToCodeRRRRR"RBRCR>R@RGtintttimeRK(
R RtisAddtcurCachetupdCacheRoR RIRt
fightPower((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt FindViewCacheys<        "             %cCsq|jƒd}||jkrT|j|}|t|jƒkrT|j|}qTn| rmtrmtƒ}n|S(N(R^RWRZR`RYR[R(R RRatindex((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyRs©s
   c Cs2|dkrgS|jƒt|ƒ}||jkr'g}x¹|jD]®}|jƒ}|jƒ}x|D]…}t|tƒr‹||ksßt|tƒs©t|t    ƒrjt
|ƒdkrj|d|koÚ|dknrj|j |ƒqjqjWqEWt j d|t
|ƒ|fƒ||j|<n|j|S(Niiis*ÖØÐ¼ÓÔØÇø·þÍæ¼Ò²é¿´»º´æIDÁбí: %s, %s, %s(RWtSortttupleR]RYRRHt
isinstanceRxtlistR`R_ReRl(R t serverIDListtkeyt playerIDListRaRRItidInfo((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pytGetPlayerIDListByServerIDInfo·s" 
    6 cCs|jƒ||jkS(N(R^RZ(R R((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt
IsPlayerInËs
cCsO|jsHi|_x3t|jƒD]\}}||j|jƒ<q"Wn|jS(N(RZt    enumerateRYR(R RRa((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt__refreshIDIndexÏs
        cCsŸ|jƒ|jj|dƒ}|dkrS|t|jƒkrS|jj|ƒnx3|jjƒD]"}||krc|j|ƒqcqcWi|_i|_dS(Niÿÿÿÿi(R^RZtpopR`RYR]tvaluestremove(R RRR†((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pytDelPlayerViewCacheÖs
!         cCs t|jƒS(N(R`RY(R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pytGetCountâscCs*|j|}| r&tr&tƒ}n|S(N(RYR[R(R RRa((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pytAtãs   cCsR|js dSt|_|jjdd„dtƒi|_i|_|jƒdS(NR…cSs|jƒ|jƒfS(N(RDR(tv((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt<lambda>îstreverse(R\R[RYtsortR    RZR]R^(R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyR€és                
cCsqd}d}d}x+|jD] }|d7}||jƒ7}qWtjd|t|ƒfƒtj||ƒ|S(Ntiis'Save DBPlayerViewCache count :%s len=%s(RYRTRetLogR`tCommFunct
WriteDWORD(R tsavaDatatcntDatatcntR ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt GetSaveDataõs
cCs€tj||ƒ\}}tjd|ƒxFt|ƒD]8}tjƒ}||j|||ƒ7}|j|ƒq6W|j    ƒ|S(Ns Load DBPlayerViewCache count :%s(
R˜t    ReadDWORDReR—txrangeRRtreadDataRbR€(R tdatastpostdataslenRœt_R ((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pytLoadPyGameDatas 
(RURVR RbRrR[R~RsRˆR‰R^RRR‘R€RR¥(((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyRXSs             0                                       cCs#|jƒdkrt|ƒndS(Ni
(RRn(Ro((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pytOnPlayerLogouts cCs |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(2Rt    DBDataMgrtGetPlayerViewCacheMgrRsReRjRkRmRiRlRRRRRRR!RR%tGetOfficialRankR)R'R-R+R1R/R5R3R9t PlayerControlR7R=R;RFR?RJtGetPlayerServerIDRNRxRyRPtupdatet    GetMinAtkt    GetMaxAtktGetDeftGameObjtGetMaxHPtGetHittGetMisstGetSuperHitRate(Rot    isOfflineRR{RqtplusDict((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyRnsD           (((RRReRcR±R®R˜RBR·RuRyRiRRXR¦R[Rn(((swD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBPlayerViewCache.pyt<module>s           2»