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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
é…ic@sîddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZdfd„ƒYZdfd„ƒYZdfd„ƒYZdfd    „ƒYZd
fd „ƒYZd fd „ƒYZdfd„ƒYZd„Zd„Zd„Zd„Zdd„Zd„Zddgd„Zd„Zd„Zd„Z de!d„Z"d„Z#d„Z$d„Z%d„Z&e'd „Z(dS(!iÿÿÿÿNtFamilyActionDatacBsÝeZded„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„ZRS(cCs=|stjƒn||_tj|jdd|ƒ|_dS(NtDatatDataLen(tDBStructttagDBFamilyActiont_FamilyActionData__dbDatatDBCommt UserDataDictt_FamilyActionData__dataDict(tselftdbDatat
dataToJson((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt__init__(scCs
|jjS(N(RtFamilyID(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt GetFamilyID-scCs
|jjS(N(Rt
ActionType(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt GetActionType.scCs
|jjS(N(RtName(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetName/scCs||j_dS(N(RR(R    tname((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytSetName0scCs
|jjS(N(RtTime(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetTime1scCs||j_dS(N(RR(R    tsetTime((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytSetTime2scCs
|jjS(N(RtValue1(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    GetValue13scCs||j_dS(N(RR(R    tvalue1((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    SetValue14scCs
|jjS(N(RtValue2(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    GetValue25scCs||j_dS(N(RR(R    tvalue2((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    SetValue26scCs
|jjS(N(RtValue3(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    GetValue37scCs||j_dS(N(RR!(R    tvalue3((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    SetValue38scCs
|jjS(N(RtValue4(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    GetValue49scCs||j_dS(N(RR%(R    tvalue4((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    SetValue4:scCs
|jjS(N(RtValue5(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    GetValue5;scCs||j_dS(N(RR)(R    tvalue5((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    SetValue5<scCs
|jjS(N(RtValue6(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    GetValue6=scCs||j_dS(N(RR-(R    tvalue6((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    SetValue6>scCs |jjƒS(N(RtGetData(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt GetUserDict?scCs |jjƒS(N(RtToString(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt GetUserData@scCs|jj|ƒdS(N(RtSetData(R    tvalue((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt SetUserDataAscCs|jjƒ|jjƒS(N(RR3Rt    getBuffer(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    GetBufferBs N(t__name__t
__module__tNonetFalseR RRRRRRRRRR R"R$R&R(R*R,R.R0R2R4R7R9(((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR&s.                                                                                    t FamilyActioncBskeZd„Zd„Zd
d„Zd„Zd„Zed„Z    d„Z
d„Z ed„Z d    „Z RS( cCsd|_d|_g|_dS(Ni(tfamilyIDt
actionTypet_FamilyAction__actionDataList(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR Hs            cCsAt}|jdkrt}nt||ƒ}|jj|ƒ|S(s³õʼ»¯¹¦ÄÜÊý¾ÝʵÀý£¬´´½¨»ò¼ÓÔØÊý¾ÝʱͨÓ㬹¦ÄÜÒ»°ã²»µ÷ÓÃ
        @param dbData: ÊµÀý¶ÔÓ¦°ó¶¨µÄdbData
        @return: ³É¹¦·µ»ØÊµÀý¶ÔÏó£¬Ê§°Ü·µ»ØNone
        ((tTrueRR=RRAtappend(R    R
R t
actionData((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytInitActionInstanceNs     cCs»t}|dkr-tjj|jdƒ}nd}|ro|jƒ|kro|sU|S|jƒ|jdƒnt    j
ƒ}|j |_ |j|_ ttjƒƒ|_|j|ƒ}|S(Ni(RBR<t ShareDefinetActionTypeSaveCnttgetR@tCountt
SortByTimet    DelActionRRR?R RtintttimeRRE(R    tmaxCountt    fullClearRDR
((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    AddAction[s 
   cCs|jjdd„ƒdS(NtkeycSs
|jƒS(N(R(tf((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt<lambda>ss(RAtsort(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRJrscCs<d|ko t|jƒknr8|jj|ƒndS(Ni(tlenRAtpop(R    tindex((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRKvs%cCs=d}|jƒr$|jdƒ}n|r9|jƒ}n|S(Ni(R<RItAtRP(R    tisAddtaData((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt GetOneAction{s  cCs t|jƒS(N(RURA(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRI„scCsQd}d|ko&t|jƒknr;|j|}ntrMtƒ}n|S(Ni(R<RURAR=R(R    RWRZ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRX…s % cCscd}x-|jD]"}|jƒ|kr|}PqqW| r_|r_|jƒ}|j|ƒn|S(N(R<RARRPR(R    RRYtfindActionDataRD((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetActionDataByValue1s  cCsKxD|jddd…D],}|jƒ|kr|jj|ƒPqqWdS(Niÿÿÿÿ(RARtremove(R    RRD((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytDelActionDataByValue1šs
N(R:R;R RER<RPRJRKR=R[RIRXR]R_(((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR>Fs                               tFamilyActionMgrcBs5eZd„Zd„Zd„Zd„Zd„ZRS(cCs i|_dS(N(t"_FamilyActionMgr__familyActionDict(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR ¤s    cCs{|s tƒS||jkr,i|j|<n|j|}||krR||}n%tƒ}||_||_|||<|S(N(R>RaR?R@(R    R?R@t
actionDicttaction((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetFamilyAction¨s               
cCs4||jkrdS|j|}|j|dƒdS(N(RaRVR<(R    R?R@Rb((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytDelFamilyAction·s
 cCs|jj|dƒdS(N(RaRVR<(R    R?((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytClearFamilyAction¾scCs|jj|iƒjƒS(N(RaRHtkeys(R    R?((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetActionTypeListÂs(R:R;R RdReRfRh(((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR`¢s
                t    FamilyMemcBsmeZd'd'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&d$„Z'd%„Z(d&„Z)RS((cCs(|stjƒn||_||_dS(N(RttagDBFamilyMemt_FamilyMem__dbDatat_FamilyMem__family(R    R
tfamily((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR Ès    cCs1|js*tjƒj|jjƒ|_n|jS(N(Rlt    DBDataMgrt GetFamilyMgrt
FindFamilyRkR (R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    GetFamilyÍs    !cCs
|jjS(N(RktPlayerID(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt GetPlayerIDÑscCs
|jjS(N(RkR (R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRÒscCs
|jjS(N(RktJoinTime(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt GetJoinTimeÓscCs
|jjS(N(Rkt
PlayerName(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt GetPlayerNameÔscCs||j_dS(N(RkRv(R    t
playerName((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt SetPlayerNameÕscCs
|jjS(N(RktLV(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetLVÖscCs||j_dS(N(RkRz(R    tlv((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytSetLV×scCs
|jjS(N(RktJob(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetJobØscCs||j_dS(N(RkR~(R    tjob((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytSetJobÙscCs
|jjS(N(RktRealmLV(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt
GetRealmLVÚscCs||j_dS(N(RkR‚(R    trealmLV((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt
SetRealmLVÛscCs
|jjS(N(RktFace(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetFaceÜscCs||j_dS(N(RkR†(R    tface((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytSetFaceÝscCs
|jjS(N(RktFacePic(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt
GetFacePicÞscCs||j_dS(N(RkRŠ(R    tfacePic((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt
SetFacePicßscCs
|jjS(N(RktTitleID(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt
GetTitleIDàscCs||j_dS(N(RkRŽ(R    ttitleID((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt
SetTitleIDáscCs
|jjS(N(Rkt
FightPower(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt GetFightPowerâscCs
|jjS(N(Rkt FightPowerEx(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetFightPowerExãscCs|jjtj|jjS(N(RkR”tChConfigtDef_PerPointValueR’(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetFightPowerTotaläscCs*|tj|j_|tj|j_dS(N(R–R—RkR’R”(R    tfightPowerTotal((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytSetFightPowerTotalåscCs
|jjS(N(RktServerID(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt GetServerIDéscCs||j_dS(N(RkR›(R    tserverID((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt SetServerIDêscCs
|jjS(N(RktOffTime(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt
GetOffTimeëscCs||j_dS(N(RkRŸ(R    toffTime((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt
SetOffTimeìscCs
|jjS(N(RktFmLV(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetFmLVíscCs||j_dS(N(RkR£(R    tfmLV((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytSetFmLVîscCs
|jjS(N(Rkt ContribTotal(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetContribTotalïscCs||j_dS(N(RkR§(R    t contribTotal((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytSetContribTotalðscCs
|jjS(N(Rkt
ContribDay(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt GetContribDayñscCs||j_dS(N(RkR«(R    t
contribDay((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt SetContribDayòscCs
|jjS(N(RktDonateCntTotal(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetDonateCntTotalóscCs||j_dS(N(RkR¯(R    tdonateCntTotal((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytSetDonateCntTotalôscCs
|jjS(N(Rkt DonateCntDay(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetDonateCntDayõscCs||j_dS(N(RkR³(R    t donateCntDay((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytSetDonateCntDayöscCs |jjƒS(N(RkR8(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR9÷scCsF||jƒkrdStj|ƒ}|s/dS|j|jƒƒ|j|jƒƒ|j|jƒƒ|j    |j
ƒƒ|j |j ƒƒ|j |jƒƒ|j|jƒƒ|j|jƒƒ|jƒsé|j|jƒƒnt}|jƒ}|jƒ|krB|j|ƒt}|jƒ}|rB|jƒqBn|S(s›Ë¢Ð³ÉÔ±ÐÅÏ¢£¬ÏÉÃ˳ÉÔ±ÊôÓÚÓÀ¾Ã¹¦ÄÜÊý¾Ý£¬³ý·ÇÏÉÃ˽âÉ¢£¬ËùÒÔµ¥¶À´æÒ»·Ý³ÉÔ±»ù´¡ÐÅÏ¢£¬Ö§³ÖÀëÏßÍæ¼Ò£¬Ö±½ÓʹÓò鿴»º´æ¸üÐÂ
        @return: Õ½Á¦ÊÇ·ñ±ä¸ü
        N(RstPlayerViewCachet FindViewCacheRyRwR}R{RRR…RƒR‰R‡RR‹R‘RRžRœR R¢R=R˜RšRBRqtRefrshFightPowerTotal(R    tplayerIDt    viewCachetfpChangeR™Rm((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytRefreshMemberByIDùs0    N(*R:R;R<R RqRsRRuRwRyR{R}RRRƒR…R‡R‰R‹RRR‘R“R•R˜RšRœRžR R¢R¤R¦R¨RªR¬R®R°R²R´R¶R9R½(((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRiÆsN                                                                                                                                                    tFamilycBsÍeZd2d„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&d$„Z'd%„Z(d&„Z)d'„Z*d(„Z+d)„Z,d*„Z-d+„Z.d,„Z/d-„Z0d.„Z1d/„Z2d0„Z3d1„Z4RS(3cCsO|stjƒn||_g|_i|_tjƒ|_tjƒ|_    dS(N(
Rt tagDBFamilyt_Family__dbDatat_Family__memberListt_Family__memberDictRnRot_Family__familyMgrtGetFamilyActionMgrt_Family__actionMgr(R    R
((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR s         cCs
|jjS(N(RÀtID(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetID scCs
|jjS(N(RÀt
CreateTime(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt GetCreateTime!scCs
|jjS(N(RÀR›(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRœ"scCs
|jjS(N(RÀR(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR#scCs||j_dS(N(RÀR(R    R((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR$scCs
|jjS(N(RÀtLeaderID(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt GetLeaderID%scCs||j_dS(N(RÀRÊ(R    tleaderID((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt SetLeaderID&scCs
|jjS(N(RÀRz(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR{'scCs||j_dS(N(RÀRz(R    R|((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR}(scCs
|jjS(N(RÀtExp(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetExp)scCs||j_dS(N(RÀRÎ(R    texp((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytSetExp*scCs
|jjS(N(RÀt
JoinReview(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt GetJoinReview+scCs||j_dS(N(RÀRÒ(R    t
joinReview((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt SetJoinReview,scCs
|jjS(N(RÀt    JoinLVMin(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt GetJoinLVMin-scCs||j_dS(N(RÀRÖ(R    RÖ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt SetJoinLVMin.scCs
|jjS(N(RÀt    Broadcast(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt GetBroadcast/scCs(||j_t|jjƒ|j_dS(N(RÀRÙRUt BroadcastLen(R    t    broadcast((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt SetBroadcast0s cCs
|jjS(N(RÀR’(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR“4scCs
|jjS(N(RÀR”(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR•5scCs|jjtj|jjS(N(RÀR”R–R—R’(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR˜6scCsa|jƒ}|tj|j_|tj|j_|jƒ}||kr]|jj|ƒndS(N(R˜R–R—RÀR’R”RÃtOnFightPowerChange(R    R™tfpBeftfpAft((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRš8s   cCs
|jjS(N(RÀtEmblemID(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt GetEmblemID@scCs||j_dS(N(RÀRá(R    temblemID((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt SetEmblemIDAscCs
|jjS(N(RÀt
EmblemWord(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt GetEmblemWordBscCs||j_dS(N(RÀRå(R    t
emblemWord((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt SetEmblemWordCscCs
|jjS(N(RÀtExtra1(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    GetExtra1DscCs||j_dS(N(RÀRé(R    textra1((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    SetExtra1EscCs
|jjS(N(RÀtExtra2(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    GetExtra2FscCs||j_dS(N(RÀRí(R    textra2((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    SetExtra2GscCs
|jjS(N(RÀtExtra3(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    GetExtra3HscCs||j_dS(N(RÀRñ(R    textra3((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    SetExtra3IscCs
|jjS(N(RÀtExtra4(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    GetExtra4JscCs||j_dS(N(RÀRõ(R    textra4((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    SetExtra4KscCs
|jjS(N(RÀtExtra5(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    GetExtra5LscCs||j_dS(N(RÀRù(R    textra5((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    SetExtra5MscCs |jjƒS(N(RÀR8(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR9NscCsœt||ƒ}|jƒ}||jkr.dS||j|<|jj|ƒtj|ƒ}|j|rr|jƒnt    t
j
ƒƒƒ|j j ||ƒ|S(s³õʼ»¯¹¦ÄÜÊý¾ÝʵÀý£¬´´½¨»ò¼ÓÔØÊý¾ÝʱͨÓ㬹¦ÄÜÒ»°ã²»µ÷ÓÃ
        @param dbData: ÊµÀý¶ÔÓ¦°ó¶¨µÄdbData
        @return: ³É¹¦·µ»ØÊµÀý¶ÔÏó£¬Ê§°Ü·µ»ØNone
        N( RiRsRÂRÁRCR·R¸R¢R RLRMRÃt OnAddMember(R    R
tmemberRºR»((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytInitMemberInstanceQs  +cCs |jjƒS(N(RÂRg(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetMemberIDListascCs”d}||jkr%|j|}natjƒ}||_|jƒ|_ttjƒƒ|_    |j
|ƒ}| r†t r†t ƒ}n|j ƒ|S(N(R<RÂRRjRrRÇR RLRMRtRÿR=RiR¹(R    RºRþR
((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    AddMembercs       
cCsX|jj|dƒ}||jkr7|jj|ƒn|jƒ|jj||ƒ|S(N(RÂRVR<RÁR^R¹RÃt OnDelMember(R    RºtdelMem((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt DeleteMemberrs 
cCs;d}||jkr%|j|}ntr7tƒ}n|S(N(R<RÂR=Ri(R    Rºtmem((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt
FindMemberzs  cCs t|jƒS(N(RURÁ(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetCount‚scCsQd}d|ko&t|jƒknr;|j|}ntrMtƒ}n|S(Ni(R<RURÁR=Ri(R    RWR((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetAtƒs % cCs_d}xEt|jƒƒD]1}|j|ƒ}|s:qn||jƒ7}qW|j|ƒ|S(Ni(trangeRRR˜Rš(R    tfamilyFightPowerTotalRWRþ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR¹‹s cCsZ|jj|jƒtjƒ}|jtƒ}|jƒ}d|krRi|d<n|dS(NtReqJoin(RÅRdRÇRFtDef_ActionType_FamilyAddR[RBR2(R    t
joinActionRDtdataDict((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetReqJoinPlayerInfo–s    cCs?|jƒ}ttjƒƒ||<|jj||jƒƒdS(N(RRLRMRÃtAddPlayerReqJoinFamilyIDRÇ(R    RºtreqPlayerIDDict((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytAddReqJoinPlayerID s cCsE|jƒ}||kr(|j|ƒn|jj||jƒƒdS(N(RRVRÃtDelPlayerReqJoinFamilyIDRÇ(R    RºR((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytDelReqJoinPlayerID¦s
  cCsM|jƒ}x:|jƒD],}|j|ƒ|jj||jƒƒqWdS(N(RRgRVRÃRRÇ(R    RRº((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytDelReqJoinPlayerAll­s
  cCsKx$|jjƒD]}|j|ƒqW|jƒ|jj|jƒƒdS(N(RÂRgRRRÅRfRÇ(R    tmemID((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytOnDelete´s
 
N(5R:R;R<R RÇRÉRœRRRËRÍR{R}RÏRÑRÓRÕR×RØRÚRÝR“R•R˜RšRâRäRæRèRêRìRîRðRòRôRöRøRúRüR9RÿRRRRRRR¹RRRRR(((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR¾sd                                                                                                                                                                                      
            t ZoneFamilyMgrcBszeZdd„Zd„Zd„Zed„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z d „Z d „ZRS( icCsRtjƒ|_||_g|_i|_i|_g|_i|_t    |_
dS(N( RnRot_ZoneFamilyMgr__familyMgrt_ZoneFamilyMgr__zoneIDt_ZoneFamilyMgr__familyListt_ZoneFamilyMgr__familyIDDictt_ZoneFamilyMgr__familyNameDictt _ZoneFamilyMgr__zoneServerIDListt _ZoneFamilyMgr__familyIDRankDictRBt_ZoneFamilyMgr__needSort(R    tzoneID((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR às                            cCs|jS(N(R(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    GetZoneIDîscCs t|_dS(N(RBR (R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytSetSortðscCsF|r|j rdS|jjdd„dtƒi|_t|_dS(s Ä¬ÈÏÅÅÐòµ¹Ðò£¬°´  ÏÉÃË×ÜÕ½Á¦ -> ÏÉÃ˵ȼ¶
        @param checkSort: ÊÇ·ñ¼ì²éÐèÒªÅÅÐò£¬Èç¹ûÐèÒªÅÅÐò²Å»áÅÅÐò£¬ÉèÖÃTrueʱÔòÇ¿ÖÆÅÅÐò²»¼ì²é
        NRQcSs|jƒ|jƒfS(N(R˜R{(RR((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRSøstreverse(R RRTRBRR=(R    t    checkSort((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytSortòs         cCs:|s
dS|jƒ}||jkr)dS||j|<|jƒ}|jƒ}||jkr½x@tddƒD]/}d||f}||jkrm|}PqmqmW|j|ƒ|jdƒn||j|<||jkrõ|jj    |ƒi|_
n||j kr|j j    |ƒnt |_ |jj||jƒdS(Niiès%s%si(RÇRRœRRR    RRìRRCRRRBR Rt OnAddToZoneR(R    RmR?tfamilyServerIDt
familyNametdoCnttfixName((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytAddFamilyToZoneýs2           cCsz|jj|dƒ}|sdS||jkrA|jj|ƒn|jj|jƒdƒ|jj|dƒt|_    dS(N(
RRVR<RR^RRRRBR (R    R?Rm((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt DelZoneFamilys    cCs|jS(N(R(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetZoneServerIDList)scCsAd}|r+||jkr+|j|}ntr=tƒ}n|S(N(R<RR=R¾(R    R?Rm((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRp+s  cCs;d}||jkr%|j|}ntr7tƒ}n|S(N(R<RR=R¾(R    R)Rm((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytFindFamilyByName3s  cCs t|jƒS(N(RUR(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR;scCsQd}d|ko&t|jƒknr;|j|}ntrMtƒ}n|S(Ni(R<RURR=R¾(R    RWRm((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR<s % cCss|s
dS|jsUi|_x6t|jdƒD]\}}||j|jƒ<q/Wn||jkrhdS|j|S(Nii(Rt    enumerateRRÇ(R    R?trankRm((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt GetFamilyRankDs        (R:R;R R"R#R=R&R,R-R.RpR/RRR2(((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRÜs              !                         t    FamilyMgrcBsXeZdZd„Zd„Zd%d„Zd„Zd„Zd„Z    d„Z
d„Z d    „Z e d
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd%d„Zd„Zd„Zd„Zdd„Zd„Z d„Z!d„Z"d „Z#d!„Z$d"„Z%d%d#„Z&d$„Z'RS(&sQ ËùÓзÖÇøµÄ¹«»á×ܹÜÀí£¬±¾·þ¡¢¿ç·þͨÓã¬zoneIDΪ0ʱĬÈÏÊDZ¾·þµÄ·Ç¿ç·þ»¥Í¨¹«»á
    cCsai|_i|_i|_tƒ|_i|_i|_i|_g|_d|_    d|_
dS(Ni( t_FamilyMgr__familyIDDictt_FamilyMgr__playerFamilyIDDictt_FamilyMgr__playerReqJoinDictR`t_FamilyMgr__actionMgrt_FamilyMgr__zoneFamilyMgrDictt_FamilyMgr__familyIDZoneIDDictt_FamilyMgr__crossZoneCfgDictt_FamilyMgr__curZoneServerIDListt_FamilyMgr__curCrossServerIDt_FamilyMgr__curZoneID(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR Us                                      cCsCt|ƒ}|jƒ}||jkr2|j|S||j|<|S(s³õʼ»¯¹¦ÄÜÊý¾ÝʵÀý£¬´´½¨»ò¼ÓÔØÊý¾ÝʱͨÓ㬹¦ÄÜÒ»°ã²»µ÷ÓÃ
        @param dbData: ÊµÀý¶ÔÓ¦°ó¶¨µÄdbData
        @return: ³É¹¦·µ»ØÊµÀý¶ÔÏó£¬Ê§°Ü·µ»ØNone
        (R¾RÇR4(R    R
RmR?((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytInitFamilyInstancews     cCs?d}| s| r)tjd|ƒ|S|j|ƒ}|dkrYtjd|ƒ|S|dkr—tjƒjƒ}|dkr—tjdƒ|Sn||jkr»tjd|ƒ|Stj    ƒ}||_
||_ ||_ t tjƒƒ|_|j|ƒ}| rtrtƒ}n|j|ƒ}|j|ƒ|S(Ns'´´½¨¹«»á²ÎÊýÒì³££¬ÎÞ·¨´´½¨! serverID=%sis7·þÎñÆ÷ID´´½¨µÄ¹«»á²»ÊôÓÚ±¾·þ¹ÜÀí£¬ÎÞ·¨´´½¨! serverID=%ss´´½¨¹«»áʱÉú³ÉÐÂIDÒì³£!s´´½¨¹«»áʱIDÒÑ´æÔÚ! familyID=%s(R<t    GameWorldtErrLogtGetZoneIDInThisServert PyMongoMaint GetUserCtrlDBtGetNewFamilyIDR4RR¿RÆRR›RLRMRÈR>R=R¾tGetZoneFamilyMgrR,(R    R)RR?t    newFamilyR!R
tzoneMgr((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    AddFamilyƒs6                        cCs-|j|jƒƒ}|sdS|jƒdS(N(tGetZoneFamilyMgrByFamilyIDRÇR#(R    RmRG((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRÞ­s
 
cCs|jƒ}||j|<dS(N(RÇR9(R    RmR!R?((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR'´s  cCs|jƒ|j|<dS(N(RÇR5(R    RmRº((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRý¹scCs|jj|dƒdS(N(R5RVR<(R    RmRº((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR½scCs |jjƒS(N(R4Rg(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetFamilyIDListÁscCsAd}|r+||jkr+|j|}ntr=tƒ}n|S(N(R<R4R=R¾(R    R?Rm((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRpÃs  cCs¤|j|ƒ}|jj|dƒ||jkrb|jj|ƒ}|j|ƒ}|j|ƒn|ru|jƒn|r |t    j
kr t j ƒj |ƒn|S(N(RpR4RVR<R9RHRER-RRFtRealFamilyIDStartRBRCt FreeFamilyID(R    R?tisFreeIDRmR!RG((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt    DelFamilyËs cCs+x$|jjƒD]}|j|ƒqWdS(N(R4RgRN(R    R?((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt DelAllFamilyÜscCs|jS(N(R7(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRÄásc
Csi|_i|_x|jjƒD]ò}|jƒ}|jƒx<t|jƒƒD](}|j|ƒ}||j|j    ƒ<qQW|j
ƒ}xˆ|j ƒD]z\}}t |ƒ}|j |dƒ|||<||jkrçg|j|<n|j|}    ||    kr–|    j|ƒq–q–Wq"WdS(N(R5R6R4tvaluesRÇR¹R    RRRsRtitemsRLRVR<RC(
R    RmR?RWRþRtreqIDStrtvtreqIDtreqFamilyIDList((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt__afterLoadDBFamilyDataãs&         
 
  cCs|jj|dƒS(Ni(R5RH(R    Rº((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetPlayerFamilyIDüscCs*||jkrg|j|<n|j|S(N(R6(R    Rº((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetPlayerReqJoinFamilyIDListscCs0|j|ƒ}||kr,|j|ƒtStS(N(RXRCRBR=(R    RºR?RU((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRs
  cCs0|j|ƒ}||kr,|j|ƒtStS(N(RXR^RBR=(R    RºR?RU((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRs
  cCsY|j|ƒ}xC|ddd…D].}|j|ƒ}|sDq#n|j|ƒq#WdS(Niÿÿÿÿ(RXRpR(R    RºRUR?Rm((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytDelPlayerReqJoinFamilyIDAllscCs|jS(N(R:(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetCrossZoneCfgDict"scCs ||_dS(N(R:(R    tcrossZoneCfgDict((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytSetCrossZoneCfgDict#sc Cstjd|ƒt|j|ƒs'dStjƒjƒ}||kr_tjdƒ||_dS||}i}g}x|jjƒD]Œ}|jƒ}|jƒ}d}    x6|j    ƒD](\}
} tj
|| ƒr¶|
}    Pq¶q¶W|    s||kr|j |ƒqq…|    ||<q…W|r3tj dd|ƒdS||_i|_ i|_|j|}tjd||fƒx!|jƒD]}    |j|    ƒqWtjd|jƒƒxQ|jjƒD]@}|jƒ}|j|dƒ}    |j|    ƒ} | j|ƒq½WtS(Ns,¿ç·þ¹«»á»¥Í¨ÅäÖøüÐÂ! updCrossZoneCfgDict=%ss!±¾¿ç·þδ·ÖÅä·ÖÇøµÄÖ»¸üÐÂÅäÖü´¿É!itFamilyCrossZoneCfgErrorsnoZoneServerIDList=%ss4±¾¿ç·þÖØÖù«»á»¥Í¨·ÖÇø! crossServerID=%s,zoneDict=%ssGetZoneIDListThisServer=%s(R?tLogtCheckCrossZoneCfgR:t GetGameWorldRœR4RPRÇRQtCheckServerIDInListRCtSendGameErrorExR8R9RgREtGetZoneIDListThisServerRHR,RB( R    tupdCrossZoneCfgDictt crossServerIDtzoneDicttfamilyZoneDicttnoZoneServerIDListRmR?R(R!tzIDtserverIDRangeListRG((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytUpdCrossZoneCfgDict$sP      
                 cCsRi|_i|_d}|j|ƒ}x$|jjƒD]}|j|ƒq7WdS(Ni(R8R9RER4RPR,(R    R!RGRm((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt__setFamilyToDefaultZone\s        cCsÑtjƒjƒ}|s!|}nd}tjƒ}|tjkritƒrTd}qÍtƒsÍd}qÍndtjƒrÍ||j    krÍ|j    |}x9|j
ƒD](\}}tj ||ƒrž|}PqžqžWn|S(s¢»ñÈ¡·þÎñÆ÷IDÔÚ±¾¹«»áÊý¾Ý·þÎñÆ÷ÖÐËùÊôµÄ·ÖÇøID£¬
        @return: zoneID -2-»ò´«ÊäÊý¾ÝÖУ»-1-·ÖÇø²»ÔÚ±¾·þÎñÆ÷£»0-δ»¥Í¨Ä¬ÈÏ·ÖÇø0£»>0-ÔÚ±¾·þÊý¾ÝÖÐËùÔÚ·ÖÇøID
        iÿÿÿÿiþÿÿÿi( R?R`Rœt GetServerTypeRFtserverType_MaintIsFamilyCrossInTransDatat IsFamilyCrosst IsCrossServerR:RQRa(R    Rt curServerIDR!t
serverTypeRfRiRj((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRAfs"                    cCs |jjƒS(N(R8Rg(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRc~scCs|jj|dƒS(Niÿÿÿÿ(R9RH(R    R?((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetFamilyZoneID€scCsMd}||jkr%|j|}nd}|dkrI|j|ƒ}n|S(Niÿÿÿÿi(R9R<RE(R    R?R!RG((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRI‚s icCsBd}||jkr%|j|}nt|ƒ}||j|<|S(N(R<R8R(R    R!RG((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyREs   cCs¬tjƒ}|tjkrdStƒr,dStƒs9dS|jrI|jStjƒjƒ}xJ|j    j
ƒD]9\}}x*|j ƒD]}tj ||ƒr„|Sq„WqkWdS(Niÿÿÿÿiþÿÿÿi( R?RmRFRnRoRpR<R`RœR:RQRPRa(R    RsRrReRfRj((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetCurCrossServerID£s              cCs ||_dS(N(R<(R    tcurCrossServerID((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytSetCurCrossServerID¼scCstƒs dS|jS(Ni(RpR=(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt GetCurZoneID½scCs ||_dS(N(R=(R    t    curZoneID((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt SetCurZoneID¿scCs|jS(N(R;(R    ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytGetCurZoneServerIDListÀscCs ||_dS(N(R;(R    tcurZoneServerIDList((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytSetCurZoneServerIDListÁscCsd
\}}d \}}d \}}xû|jjƒD]ê}|jƒ}    ||jƒ7}|d7}xCt|jƒƒD]/}
|j|
ƒ} || jƒ7}|d7}qsWxu|jj|    ƒD]a} |jj    |    | ƒ} xCt| j
ƒƒD]/}| j |ƒ}||jƒ7}|d7}qçWq¹Wq4Wd}|t j d|ƒ|7}tjd|t|ƒfƒ|t j d|ƒ|7}tjd|t|ƒfƒ|t j d|ƒ|7}tjd|t|ƒfƒt|tƒr|ji|d6|d6|d    6ƒn|S( NitisSave DBFamily count :%s len=%ss!Save DBFamilyMem count :%s len=%ss$Save DBFamilyAction count :%s len=%st familyDataCntt membreDataCntt actionDataCnt(is(is(is(R4RPRÇR9R    RRR7RhRdRIRXtCommFunct
WriteDWORDR?R^RUt
isinstancetdicttupdate(R    tcntDictRtfamilySavaDataR€tmemberSavaDataRtactionSavaDataRmR?tmemIndexRþR@RctaIndexRDtsaveData((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt GetSaveDataÄs6    
%c Cs0tj||ƒ\}}tjd|ƒxFt|ƒD]8}tjƒ}||j|||ƒ7}|j|ƒq6Wtj||ƒ\}}tjd|ƒxjt|ƒD]\}tj    ƒ}||j|||ƒ7}|j
}|j |ƒ}|s÷q¨n|j |ƒq¨Wtj||ƒ\}}tjd|ƒxˆt|ƒD]z}tj ƒ}||j|||ƒ7}|j
}|j}    |j |ƒ}|s–q>n|jj||    ƒ}
|
j|ƒq>W|jƒtjƒj|jjƒƒtjƒ} | tjkr|jtƒƒn| tjkr,|jƒn|S(NsLoad DBFamily count :%ssLoad DBFamilyMem count :%ssLoad DBFamilyAction count :%s(R‚t    ReadDWORDR?R^txrangeRR¿treadDataR>RjR RpRÿRRR7RdREt!_FamilyMgr__afterLoadDBFamilyDataRBRCtOnFamilyIDInitR4RgRmRFtserverType_CrossCenterRkt LoadZoneCfgRnt"_FamilyMgr__setFamilyToDefaultZone( R    tdatastpostdataslentcntt_R
R?RmR@RcRs((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytLoadPyGameDataësH               
  N((R:R;t__doc__R R>R<RHRÞR'RýRRJRpRBRNRORÄR’RWRXRRRYRZR\RkR–RARcRtRIRERuRwRxRzR{R}RŽRœ(((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR3QsH    "     *                                                                 
            8    
                                      'cCsÌi}tjƒ}tjƒ}xt|jƒƒD]|}|j|ƒ}|jƒ|kr^q1n|jƒ}|jƒ}||kri||<n||}g|j    ƒ||<q1Wtj
d||fƒ|S(Ns!¿ç·þ¹«»á·ÖÇøÅäÖüÓÔØ: appID=%s,%s( R?tGetAppIDt IpyGameDataPYtIPY_DataR    tGetFamilyCrossCounttGetFamilyCrossByIndextGetCrossServerIDR"tGetServerIDListR^(R[tappIDt
ipyDataMgrRWtipyDataReR!Rf((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR•s      
cCs!||krtjdƒdStS(Ns¿ç·þ¹«»á»¥Í¨·ÖÇøÅäÖò»±ä²»´¦Àí(R?R^RB(tcurCrossZoneCfgDictRd((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR_-s  cCsKtjƒrGtƒ}| s2tjƒj|ƒ r6dStƒtƒndS(sÔÖØ¶ÁÅäÖÃÑéÖ¤Ð޸ĺóµÄÅäÖÃÊÇ·ñ·ûºÏ¹æ¶¨£¬²»·ûºÏµÄ»°£¬»¹ÊÇʹÓþÉÅäÖõķ¶Î§£¬²¢Óʼþ֪ͨÔËά
    ¹«»á·ÖÇøÅäÖÃͬ²½¹æÔò£º ÓÉ¿ç·þÖÐÐļÓÔØÅäÖà -> Ñé֤ͨ¹ýºó·¢¸øËùÓпç·þ -> ¿ç·þÑé֤ͨ¹ýºó·¢¸øËù¹ÜϽµÄ·ÖÇøËùÓÐÓÎÏ··þÎñÆ÷
    N(R?t IsCrossCenterR•RnRoRkt!Sync_CenterToCross_FamilyCrossCfgtSync_CrossToServer_FamilyInfo(R[((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytOnReloadConfig9s     
cCs |tjkrt|ƒndS(N(RFtserverType_CrossRª(RsR((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytSync_CenterToCross_FamilyInfoFs icCswtjƒ}|jƒ}|s/tjdƒdSi|d6}|rK|gn    |jƒ}tjtj    ||tj
ƒdS(Ns4ûÓй«»á»¥Í¨ÅäÖûòûÓÐÑéÖ¤ÕýÈ·µÄ»¥Í¨·ÖÇøÅäÖò»Í¨Öª£¡R[( RnRoRZR?R^RgtCrossMsgt SendToServerRFtCC2C_FamilyCrossCfgt dirType_Cross(Rt    familyMgrR[tdataMsgt serverIDList((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRªNs    cCsj|tjkrdS|d}|s'dStjƒtjkr@dStjƒ}|j|ƒs_dStƒdS(NR[(    RFR”R?RmR­RnRoRkR«(R´t fromServerIDRsRdR³((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR±Ys
 c CsJtjd|||fƒtjƒ}|jƒ}|s<dStjƒjƒ}||kr^dS||}tjd||fƒxÄ|jƒD]¶}|rª||krªqŒn||kr¼qŒn||}|rðtj||ƒsäqŒn|g}    n|}    |j    |ƒ}
|
j
ƒ} i|d6|d6| d6} t j t j| |    ƒqŒWdS(NsMSync_CrossToServer_FamilyInfo toServerID=%s,syncZoneID=%s,syncFamilyIDList=%ss#    crossServerID=%s,zoneCfgDict=%sR[R!tzoneServerIDList(R?tDebugLogRnRoRZR`RœRcRaRER.R¯tSendToClientServerRFtC2S_FamilyCrossInfo( t
toServerIDt
syncZoneIDtsyncFamilyIDListR³R[Ret zoneCfgDictR!tcfgServerIDListttoServerIDListRGR·R´((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR«ks4   
 
  cCs tjƒ}|j|ƒ|j|dƒd|krT|j|dƒt|ƒnd|krœ|jƒ}|d}|j|ƒ||krœtƒqœndS(NR!R[R·(    RnRoRwRzR\tCheckCrossFamilyTransDataR{R}tSync_FamilyCrossInfo(R´R¶R³R|tupdZoneServerIDList((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRº¤s  
 
   cCstjƒjtjƒdkS(Ni(RntGetEventTrigMgrtGetValueRFtDef_FamilyCrossState(((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRpÂscCstjƒjtjƒdkS(Ni(RnRÄRÅRFtDef_FamilyTransDataTime(((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRoÆscCsÛtƒrtjdƒdStjddƒ}tjƒjtj    ƒd}||krotjd||fƒdStj
ƒ}|j ƒ}d}tj ƒj ƒ}xz|jƒD]l\}}    xS|    jƒD]E\}
} tj|| ƒrÅ|}tjd|||
| fƒPqÅqÅW|r¬Pq¬q¬W|s7tjd|ƒdS|rj||kr¸tjd|||fƒdSnNtjƒj|ƒ} | jƒ} | tjkr¸tjd    ||| fƒdStjƒjtjƒ}|r)| r)ttjƒƒ}||dkr)tjd ||tj|ƒfƒdSntjd ||fƒtjƒjtjttjƒƒƒi}tj
ƒ}|j|ƒ}|jƒ}tjdt|ƒƒtjtj i|d6|d6|d6|gƒdS(Ns±¾·þ¹«»áÒѾ­¿ç·þÁË!t FamilyCrossis-±¾·þ¹«»á»¥Í¨ËùÐ迪·þÌì²»×ã! serverDay=%s < %sisO±¾·þ¹«»áËùÊô¿ç·þID! serverID=%s,crossServerID=%s,zoneID=%s,serverIDRangeList=%ss#±¾·þ¹«»áδ·ÖÅ以ͨ·ÖÇø! serverID=%ssB±¾·þ¹«»á»¥Í¨·ÇÄ¿±ê¿ç·þID²»´¦Àí! serverID=%s,crossServerID=%s != %ssK±¾·þ¹«»á»¥Í¨Ä¿±ê¿ç·þID·ÇÁ¬½Ó״̬! serverID=%s,crossServerID=%s,connState=%sii<sE±¾·þ¹«»á»¥Í¨´«ÊäÊý¾ÝÖÐ! serverID=%s,crossServerID=%s,transDataTime=%ssB±¾·þ¹«»á¿ªÆô»¥Í¨¿ªÊ¼´«Ê乫»áÏà¹ØÊý¾Ý! serverID=%s,crossServerID=%ss dataslen=%stsyncDatat familyIDListR‡i(!RpR?R¸RŸt
GetFuncCfgRnRÄRÅRFt Def_ServerDayRoRZR`RœRQRaR^tCrossMgrtGetSSServerMgrt GetSSServert GetConnStatet ssConn_NormalRÇRLRMtChangeTimeNumToStrtSetValueRŽRJRUR¯tSendToCrossServertS2C_FamilyData(t connServerIDtignoreCDt NeedServerDayt    serverDayR³R[ReRtcIDRfR!RjtssServert    connStatet transDataTimetcurTimeR‡RÉRÊ((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRÁÊs^           #%  .cCs|d}|d}|d}tjd|||fƒt|||ƒ}|d}|s¢|d}tjdd||fƒtjtjitd    6|gƒdS|d\}}    }
} t    j
ƒ} | j |ƒ} | j ƒ}g}xJ|    D]B}|j }| j|tƒ| j| j|ƒƒ|j|ƒqìWx?|
D]7}|j}| j|ƒ}|scq9n|j|ƒq9Wxc| D][}|j}|j}|j}| j|ƒ}|s·q{n|j||ƒ}|j|ƒq{Wtd
|d |ƒtjtjitd    6|gƒdS( NRÉRÊR‡sHÊÕµ½ÓÎÏ··þͬ²½µÄ»¥Í¨¹«»áÊý¾Ý! fromServerID=%s,cntDict=%s,familyIDList=%siitS2C_FamilyDataErrors1»¥Í¨¹«»áÊý¾Ýͬ²½Ê§°Ü! fromServerID=%s,errorMsg=%stisOKR¼R½(R?R^t__unpackFamilyDataRbR¯R¹RFtC2S_FamilyDataRetR=RnRoRERÄRÆRNR,R>RCR RpRÿRRdRER«RB(R´R¶RÉRÊR‡t    unpackRetRàterrorMsgR!tfamilyDataListtmemberDataListtactionDataListR³RGt    actionMgrR½R
R?RmR@Rc((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRÕsN
 
 
 
 
                           cCs:d}|dt|ƒ}}}tjd|ƒi}tjƒ}g}    tj||ƒ\}
}tjd|
ƒxÀt|
ƒD]²} tj    ƒ} || j
|||ƒ7}|    j | ƒ| j } | |kræd| |f}t |fS| j}|j|ƒ}|dkr'd| ||f}t |fS|||<qWt|ƒdkr[d|}t |fS|jƒd}t|    ƒ}|jd    dƒ}||kr¯d
||f}t |fSg}tj||ƒ\}
}tjd |
ƒxFt|
ƒD]8} tjƒ} || j
|||ƒ7}|j | ƒqëWt|ƒ}|jd dƒ}||krkd ||f}t |fSg}tj||ƒ\}
}tjd|
ƒxFt|
ƒD]8} tjƒ} || j
|||ƒ7}|j | ƒq§Wt|ƒ}|jddƒ}||kr'd||f}t |fSt||    ||fS(NR~is__unpackFamilyData: dataslen=%ssRead DBFamily count :%ss-ͬ²½µÄÊý¾Ý¹«»áID²»Æ¥Åä! familyID=%s not in %ssCͬ²½µÄ¹«»áÊý¾Ý²»ÊôÓÚ±¾¿ç·þ! familyID=%s,familyServerID=%s,zoneID=%sis5ͬ²½µÄ¹«»áÊý¾Ý·ÖÇøÒì³£¿ÉÄÜ´æÔÚ¶à¸ö·ÖÇø! zoneIDDict=%sRs.ͬ²½µÄ¹«»á¸öÊý²»Æ¥Åä! uppackFamilyCnt=%s != %ssRead DBFamilyMem count :%sR€s.ͬ²½µÄ³ÉÔ±¸öÊý²»Æ¥Åä! uppackMemberCnt=%s != %ssRead DBFamilyAction count :%sRs.ͬ²½µÄÐÐΪ¸öÊý²»Æ¥Åä! uppackActionCnt=%s != %s(RUR?R^RnRoR‚RRRR¿R‘RCRÆR=R›RARgRHRjRRB(RÉRÊR‡RäR—R˜R™t
zoneIDDictR³RåRšR›R
R?R(R!tuppackFamilyCntRRætuppackMemberCntR€RçtuppackActionCntR((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRá>sp        
     
 
 
 
 
 
cCs|d}tjd||fƒtjƒjtjdƒ|sDdStjd|ƒtjƒjtjdƒtj    |ƒdS(NRàs1ÊÕµ½»¥Í¨¹«»áÊý¾Ýͬ²½½á¹û! fromServerID=%s,isOK=%sis?»¥Í¨¹«»áÊý¾Ýͬ²½³É¹¦£¬±¾·þÕýʽ¿ªÆô¿ç·þ¹«»á»¥Í¨! fromServerID=%si(
R?R^RnRÄRÓRFRÇRÆtChPlayertSyncOnlinePlayerToCross(R´R¶Rà((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyRâˆs
 cCs_tjƒrtƒrdSntjƒ}x0|jƒD]"}|j|ƒ}|jtƒq5WdS(N(    R?t IsMainServerRpRnRoRcRER&RB(R³R!RG((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pytOnMinute—s      cCstƒs dStjƒ}tjƒ}|jƒ|_|jƒ|_t    |jƒ|_
|rnt j ||ƒn t j |ƒdS(N(RpRnRotChPyNetSendPackttagSCFamilyCrossInfoRxtZoneIDR{t ServerIDListRUt    ServerCntt NetPackCommont SendFakePacktSendFackPackOnline(t    curPlayerR³t
clientPack((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyR¦s       ()RíRR‚R?RFR·RñRöRŸRBRnRÍR¯R–RRMRR>R`RiR¾RR3R•R_R¬R®RªR±R«RºRpRoR=RÁRÕRáRâRðR<RÂ(((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\StructData\DBFamily.pyt<module>sN                 \$PÆuÿÌ                       9            =    7    J