hxp
2 天以前 b69ad3552b267c74c97378d3d0933dff54ea7b1e
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
%>Áhc@s˜ddlZddlZddlZddlZddlZddlZdd
d„ƒYZdd d„ƒYZdd d„ƒYZdd d    „ƒYZ    dS(iÿÿÿÿNt GameRecDatacBseZded„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 RS(cCs@|stjƒ}n||_tj|jdd|ƒ|_dS(NtUserDatat UserDataLen(tDBStructt tagDBGameRect_GameRecData__dbDatatDBCommt UserDataDictt_GameRecData__dataDict(tselftdbDatat
dataToJson((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt__init__s
    cCs
|jjS(N(RtRecType(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt
GetRecType"scCs||j_dS(N(RR (R    trecType((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt
SetRecType#scCs
|jjS(N(RtRecID(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pytGetRecID$scCs||j_dS(N(RR(R    trecID((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pytSetRecID%scCs
|jjS(N(RtTime(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pytGetTime&scCs||j_dS(N(RR(R    tsTime((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pytSetTime'scCs
|jjS(N(RtValue1(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    GetValue1(scCs||j_dS(N(RR(R    tvalue1((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    SetValue1)scCs
|jjS(N(RtValue2(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    GetValue2*scCs||j_dS(N(RR(R    tvalue2((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    SetValue2+scCs
|jjS(N(RtValue3(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    GetValue3,scCs||j_dS(N(RR!(R    tvalue3((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    SetValue3-scCs
|jjS(N(RtValue4(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    GetValue4.scCs||j_dS(N(RR%(R    tvalue4((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    SetValue4/scCs
|jjS(N(RtValue5(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    GetValue50scCs||j_dS(N(RR)(R    tvalue5((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    SetValue51scCs
|jjS(N(RtValue6(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    GetValue62scCs||j_dS(N(RR-(R    tvalue6((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    SetValue63scCs
|jjS(N(RtValue7(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    GetValue74scCs||j_dS(N(RR1(R    tvalue7((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    SetValue75scCs
|jjS(N(RtValue8(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    GetValue86scCs||j_dS(N(RR5(R    tvalue8((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    SetValue87scCs |jjƒS(N(RtGetData(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt GetUserDict8scCs |jjƒS(N(RtToString(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt GetUserData9scCs|jj|ƒdS(N(RtSetData(R    tvalue((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt SetUserData:scCs|jjƒ|jjƒS(N(RR;Rt    getBuffer(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt    GetBuffer;s cCs}|s
tSxlt|dƒD][\}}|dkr8qnt|d|ƒsOtSt|d|ƒƒ}||krtSqWtS(Nis
GetValue%s(tFalset    enumeratetNonethasattrtgetattrtTrue(R    t    valueListtiR>tcurValue((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt IsMatchValue?s  cCs£|jƒ}|tjkrdStj|}|s>dg}nd}xX|D]P}t|d|ƒshdS|r{|d7}n|tt|d|ƒƒƒ7}qKW|S(Ntis
GetValue%st_(Rt ShareDefinetDef_GameRecValueKeyDictREtstrRF(R    Rt valueNumListtkeyStrtnum((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pytGetValueIndexKeyNs     $N(!t__name__t
__module__RDRBR RRRRRRRRRR R"R$R&R(R*R,R.R0R2R4R6R8R:R<R?RARKRT(((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyRs:                                                                                                            t GameRecIDMgrcBs›eZd„Zd„Zd„Zd„Zd„Zdd„Zd„Z    d„Z
d„Z e d    „Z e d
„Zd „Zd „Zd „Ze d„ZRS(cCs(||_||_g|_i|_dS(N(t_GameRecIDMgr__recTypet_GameRecIDMgr__recIDt_GameRecIDMgr__dataListt_GameRecIDMgr__valueIndexDict(R    RR((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyR bs
                cCst}|jdkrt}nt||ƒ}|jj|ƒ|jƒ}|r‹||jkrng|j|<n|j|}|j|ƒn|S(s³õʼ»¯¹¦ÄÜÊý¾ÝʵÀý£¬´´½¨»ò¼ÓÔØÊý¾ÝʱͨÓ㬹¦ÄÜÒ»°ã²»µ÷ÓÃ
        @param dbData: ÊµÀý¶ÔÓ¦°ó¶¨µÄdbData
        @return: ³É¹¦·µ»ØÊµÀý¶ÔÏó£¬Ê§°Ü·µ»ØNone
        ((RBR RGRRZtappendRTR[(R    R
R trecDataRRtrecIndexDataList((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pytInitRecDataInstanceis      cCs|jS(N(RX(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyR~scCs|jS(N(RY(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyRscCs |jjdd„dtƒdS(NtkeycSs
|jƒS(N(R(tr((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt<lambda>‚streverse(RZtsortRB(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt
SortByTimescCs­t}d}|dkr!d}n|ra|jƒ|kra|sC|S|j|jƒ|dƒntjƒ}|j|_|j|_    t
t j ƒƒ|_ |j |ƒ}|S(s‹Ìí¼Ó¼Ç¼
        @param maxCount: ¿É´«ÈëÓÉÅäÖþö¶¨µÄ×î´óÌõÊý£¬Èç¹ûΪNoneÔò½øÒ»²½È¡³ÌÐòĬÈÏÉ趨µÄ×î´óÌõÊý£¬¶¼Ã»ÅäÖõϰĬÈϲ»ÏÞÌõÊý
        iiN(RGRDtGetCounttDelCountRRRXR RYRtintttimeRR_(R    tmaxCountt    fullClearR]R
((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt
AddRecData…s        cCs|jS(N(RZ(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt GetDataList¢scCs t|jƒS(N(tlenRZ(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyRf£scCsQd}d|ko&t|jƒknr;|j|}ntrMtƒ}n|S(Ni(RDRnRZRBR(R    tindexR]((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pytAt¤s % cCs8d}|jr|jd}n|r4|jƒ}n|S(Ni(RDRZRl(R    tisAddNewR]((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt GetOneRecData¬s     cCsÒ|jtjkrˆd}x1|D])}|r8|d7}n|t|ƒ7}qW||jkr_dS|j|}|svdS|r„|dS|Sg}x=|jD]2}|j|ƒs³q˜n|r½|S|j|ƒq˜W|S(sÊ»ñȡƥÅävalueÖµµÄ¼Ç¼
        @param valueList: [value1, value2, ...] valueΪNoneʱ²»ÅжϸÃÖµ
        @param findone: ÊÇ·ñֻƥÅäÒ»ÌõÂú×ãµÄ¼Ç¼
        @return: recData or [recData, ...] or None
        RLRMNi(RXRNRORPR[RZRKR\(R    RHtfindoneRRtvR^tmatchRecDataListR]((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pytGetRecDataByValues¶s(   cCs,|jƒ}|sdSg|_i|_|S(Ni(RfRZR[(R    t    dataCount((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt
DelAllDataÕs          cCs^|s
dSd}xG|jddd…D]/}|j|ƒr'|j|ƒ|d7}q'q'W|S(Niiÿÿÿÿi(RZRKt
DelRecData(R    RHtdelCountR]((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pytDelDataByValueßs cCsw|s
dS||jkr,|jj|ƒn|jƒ}||jkrs|j|}||krs|j|ƒqsndS(Nii(RZtremoveRTR[(R    R]RRR^((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyRyðs   cCsG|s|j| n|j| d}x|D]}|j|ƒq,WdS(Ni(RZRy(R    RzRct delDataListR]((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyRgs% N(RURVR R_RRReRDRlRmRfRpRBRrRvRxR{RyRg(((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyRW_s                                 
    
        tGameRecTypeMgrcBsSeZd„Zd„Zd„Zd„Zed„Zd„Zd„Z    d„Z
RS(cCs||_i|_dS(N(t_GameRecTypeMgr__recTypet_GameRecTypeMgr__recIDDict(R    R((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyR s        cCs|jS(N(R(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyRscCsHd}||jkr%|j|}nt|j|ƒ}||j|<|S(N(RDR€RWR(R    RtrecIDMgr((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt GetRecIDMgrs  cCs |jjƒS(N(R€tkeys(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt GetRecIDListscCswg}xj|jjƒD]Y}|j|ƒ}|j||ƒ}|sIqn|rS|St|tƒr||7}qqW|S(N(R€RƒR‚Rvt
isinstancetlist(R    RHRsRuRRtret((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyRvscCs7d}x*|jjƒD]}||j|ƒ7}qW|S(Ni(R€RƒtDelDataByRecID(R    RzR((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyRx/scCs|j|ƒjƒS(N(R‚Rx(R    R((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyRˆ5scCsFd}x9|jjƒD](}|j|ƒ}||j|ƒ7}qW|S(Ni(R€RƒR‚R{(R    RHRzRR((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyR{8s
( RURVR RR‚R„RBRvRxRˆR{(((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyR~
s                             t
GameRecMgrcBs>eZd„Zd„Zd„Zd„Zd„Zd„ZRS(cCs i|_dS(N(t_GameRecMgr__recTypeDict(R    ((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyR Cs    cCsBd}||jkr%|j|}nt|ƒ}||j|<|S(N(RDRŠR~(R    Rt
recTypeMgr((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt GetRecTypeMgrGs   cCsA|j|ƒ}|j|ƒ}| r=tr=t||ƒ}n|S(N(RŒR‚RBRW(R    RRR‹t recTypeIDMgr((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pytGetRecTypeIDMgrPs
 cCs|j|ƒjƒS(N(RŒRx(R    R((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt DelDataByTypeWsc
CsØd}d}d}x’|jjƒD]}|j|ƒ}xi|jƒD][}|j|ƒ}xCt|jƒƒD]/}|j|ƒ}    ||    jƒ7}|d7}qlWqDWq"Wt    j
d|t |ƒfƒt j ||ƒ|S(NRLiisSave DBGameRec count :%s len=%s(RŠRƒRŒR„R‚trangeRfRpRAt    GameWorldtLogRntCommFunct
WriteDWORD(
R    tsavaDatatcntDatatcntRR‹RRRoR]((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt GetSaveDataZsc Csótj||ƒ\}}tjd|ƒxjt|ƒD]\}tjƒ}||j|||ƒ7}|j}|j    }|j
||ƒ}    |    j |ƒq6WxV|j j ƒD]E}|j|ƒ}
x-|
jƒD]}|
j|ƒ}    |    jƒqÈWq¦W|S(NsLoad DBGameRec count :%s(R“t    ReadDWORDR‘R’txrangeRRtreadDataR RRŽR_RŠRƒRŒR„R‚Re( R    tdatastpostdataslenR—RMR
RRRR‹((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pytLoadPyGameDatals         (RURVR RŒRŽRR˜RŸ(((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyR‰@s                         (((((
RR‘RNR“RRiRRWR~R‰(((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBGameRec.pyt<module>s      E«6