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
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
)"jc@s|ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZdZdZdZdZdZdZe dd^ƒZ!\Z"Z#Z$e"Z%e$Z&e dƒ\Z'Z(Z)Z*dZ+e dd_ƒ\Z,Z-Z.e dƒ\Z/Z0Z1Z2dZ3e dƒ\Z4Z5Z6Z7dZ8d    e9fd
„ƒYZ:d d`d „ƒYZ;d e:fd„ƒYZ<ddad„ƒYZ=ddbd„ƒYZ>ddcd„ƒYZ?dddd„ƒYZ@d„ZAd„ZBd„ZCd„ZDd„ZEd„ZFd„ZGd„ZHd„ZId „ZJd!„ZKd"„ZLd#d#d#d$„ZMd%„ZNd&„ZOd'„ZPd(„ZQd)„ZRd*„ZSeTd+„ZUd,„ZVd-„ZWd.„ZXd/„ZYd0„ZZd1„Z[d2„Z\d#d#d#e,d3„Z]d#d4„Z^id#d5„Z_d#d#id#dd6„Zad#d#d#d#dd7„Zbd8„Zcd9„Zdd:„Zed;„Zfd<„Zgdd#d=„Zhd>„Zidd?„Zjdd@„ZkddA„ZldddB„ZmdC„Znd#ddD„ZodE„ZpdF„ZqdG„ZrdH„ZsdI„Ztd#d#d#dJ„ZudK„ZvewdL„ZxdM„ZydN„Zzd#ddO„Z{dP„Z|dQ„Z}dR„Z~d#ddS„ZdT„Z€dU„Zd#ddV„Z‚dW„ZƒdX„Z„dY„Z…d#ddZ„Z†d[„Z‡d\„Zˆd#d]„Z‰dS(eiÿÿÿÿNiiiciii i”5wtFamilyGCZFightercBs#eZd„Zd„Zd„ZRS(cCs1d|_d|_d|_d|_d|_dS(Ni(t    fighterIDthpthpMaxthpBaset
fightPower(tself((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt__init__ms                     cCs |jdkS(Ni(R(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytIsDeaduscCs>|j||_t|jd|dƒ|_|j|_dS(NidgY@(RRtintRR(RthpFightPowerMultitaddHPPer((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytRefreshFighterAttrws (t__name__t
__module__RRR (((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRjs        tFamilyGCZCityWallcBsweZddddd„Zd dd„Zd„Zd„Zd„Zd„Zd„Z    d d„Z
d    „Z d
„Z RS( icCs»||_d|_d|_||_||_||_g|_g|_d|_t    ƒ|_
d|_ d|_ d|_ d|_d|_d|_i|_i|_i|_g|_dS(Ni(tzoneIDtbatTypetgroupNumtcityIDtcityLVtfamilyIDtguardMemIDListt fighterIDListt guardNPCCountRtguardNPCtattrLockRRRtfightPowerTotalt    atkedTimet atkReportDictt defReportDicttfighterHurtDicttinCityPlayerIDList(RRRRR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR€s*                                                                             cCs¢d|_||_g|_||_|jrO|jtdd|jƒ7_n|rg|j|7_nd|_i|_i|_i|_g|_    |j
ƒdS(Nii( RRRRtrangeRRRRR tRefreshCityAttr(RRRR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt ResetDefensešs                    "                    
cCs|jƒd|_dS(Ni(R"R(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt OnFightStart¬s
    cCs!|jdks|j rtStS(Ni(RRtTruetFalse(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytIsBroken²scCs|js dS|jdS(Ni(R(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt GetCurGuardID¸s    cCs–|js dS|jjdƒ|js*dS|jd}|j|ƒr|jj|j_tjd||jj|jjfƒntjd|ƒ|S(Nis     Çл»ÏÂÒ»¸öNPCÊØÎÀ: %s, %s/%ss    Çл»ÏÂÒ»¸ö·ÀÊØÈËÔ±: %s(Rtpopt
IsGuardNPCRRRt    GameWorldtDebugLog(Rt nextGuardID((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt    NextGuard¾s         )cCs|jdko|dkS(Nii'(R(RR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR*Ísc     CsL|jr*tjd|j|jfƒdS|dkrB||_n|j}|j}d}tjd|ƒ}|r|j    ƒ}ntj
ddƒ}tj d||||fƒt ƒj |jƒ}d|_d|_d|_g}xÛ|jD]Ð}|j|ƒr&|j}    tj
ddƒ|    _n|j|ƒ}    |    j||ƒ|j|    j7_|j|    j7_|j|    j7_|j|    j|gƒtj d|||    j|    j|    j|jfƒqðW|jƒg|D]}
|
d^qÕ|_|j|_tj d    |||j|j|jfƒtj d
|ƒtj d |jƒtS( Ns9¹«»á¹¥³ÇÕ½ÒѾ­Ëø¶¨Õ½¶·ÊôÐÔ²»ÄÜË¢ÐÂ! cityID=%s,familyID=%sitActFamilyGCZCampLVt FamilyGCZCityisL¹«»á¹¥³ÇսˢгdzØÊôÐÔ: cityID=%s,cityLV=%s,addHPPer=%s,hpFightPowerMulti=%stFamilyGCZXiuluosR    ³ÉÔ±ÊôÐÔ: cityID=%s,fighterID=%s,fightPower=%s,hpBase=%s,hpMax=%s,cityHPMax=%ssG    ³Ç³ØÊôÐÔ: cityID=%s,cityLV=%s,fightPowerTotal=%s,hpBase=%s,hpMax=%ss        ·ÀÊØÈËÔ±Õ½Á¦IDÅÅÐò=%ss        ·ÀÊØÈËÔ±IDÅÅÐò˳Ðò=%s(RR+tErrLogRRtNoneRt IpyGameDataPYtGetIpyGameDatat GetAddHPPert
GetFuncCfgR,tGetFamilyGCZMgrt
GetActZoneRRRRRR*RRtGetZoneJoinMemberR tappendtsortRRR%( RRRR t campIpyDataR
tzonetsortFighterIDListRtfightertf((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR"ÑsJ                                  *
  )cCsW|jƒ}||jkr.|jj|ƒnt|j|j|j|jd|ƒdS(Nt toCrossPlayer(t GetPlayerIDR R;tSync_FamilyGCZBatCityInfoRRRR(Rt crossPlayertplayerID((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytSetPlayerInCitys
 %cCs2|jƒ}||jkr.|jj|ƒndS(N(RCR tremove(RRERF((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytSetPlayerOutCity
s N( R RRR3R#R$R'R(R.R*R"RGRI(((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR}s                     2    tFamilyGCZMembercBseZdddd„ZRS(icCsžtt|ƒjƒ||_d|_d|_||_||_||_d|_    d|_
d|_ d|_ d|_ d|_d|_d|_d|_dS(Nit(tsuperRJRRRRRFRRtfmLVt
playerNametjobtrealmLVtfacetfacePictlvttotalHurtValuet
awardState(RRRRF((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRs"                                                            (R RR(((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRJstFamilyGCZFamilycBsSeZddd„Zd„Zd„Zed„Zd„Zed„Zd„Z    RS(icCsÁ||_||_d|_d|_d|_d|_i|_d|_d|_d|_    d|_
d|_ d|_ d|_ d|_d|_g|_i|_t|||j|ƒ|_dS(NiiRK(RRRRtcampLVtcampExpt roundInfoDictt
sortWeightt
familyNameRStleaderIDt
leaderNametemblemIDt emblemWorldtserverIDRtjoinMemberIDListtmemAddCampExpInfoRtcityWall(RRR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR)s(                                                                        cCsQd|_d|_|jj|j|jƒ|jj|_t|j|j    ƒdS(Ni(
RRRcR#RWRaRtSync_FamilyGCZCampInfoRR(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytOnRoundFamilyResetAs         cCs3|jjƒ|jj|_t|j|jƒdS(N(RcR$RRdRR(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytOnRoundFamilyFightStartJs cCsD|jj|jƒ}|jj|_|r@t|j|jƒn|S(N(RcR"RWRRdRR(RtisNotifytisOK((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytRefreshFamilyAttrQs
cCs:d}x-|jjƒD]}||jddƒ7}qW|S(Nitscore(RYtvaluestget(Rt
totalScoretinfo((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt GetTotalScoreYsc
Cs||jkr3tjd|j||jfƒdS|j}|j}t||tjƒ}|}t    j
d|ƒ}|r…|j ƒnd}    t    j d|dƒ}
tj d|j|||||||    fƒx|    dkr_||    kr_|
r_|d7}||    8}t    j
d|ƒ}|r&|j ƒnd}    t    j d|dƒ}
tj d|||    fƒqÐW||_||_|jj|dƒ||j|<g} t} ||krèt} tj d|j||fƒ|jtƒrèd} qèn|r
t|j|jd| ƒn| S(    NsG·Ç¹«»á¹¥³ÇÕ½Ëø¶¨³ÉÔ±ÎÞ·¨¼Ó´ó±¾Óª¾­Ñé! familyID=%s,playerID=%s not in %sR/iiseÔö¼Ó´ó±¾Óª¾­Ñé: familyID=%s,playerID=%s,addCampExp=%s,campLV-Exp=%s-%s,updLV-Exp=%s-%s,lvupNeedExp=%ss9    ´ó±¾ÓªÉý¼¶: updCampLV=%s,updCampExp=%s,lvupNeedExp=%ss+´ó±¾ÓªµÈ¼¶±ä¸ü! familyID=%s,campLV=%s to %st defMemIDList(RaR+R2RRWRXtmintChConfigtDef_UpperLimit_DWordR4R5tGetLVUPNeedExptGetIpyGameDataNotLogR,RbRlR&R%RiR3RdR( RRFt
addCampExpRgRWRXt
updCampExpt    updCampLVR=t lvupNeedExpt nextIpyDataRptisLVUP((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt
AddCampExp`s@             #!
 
           cCsRg}tjƒ}x9|jD].}|j|ƒ}|s=qn|j|ƒqW|S(N(t CrossPlayertGetCrossPlayerMgrRatFindCrossPlayerR;(RtcrossPlayerListtcrossPlayerMgrRFRE((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytGetCrossPlayerLists (
R RRReRfR%RiRoR|R‚(((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRV&s                  -tFamilyGCZBatGroupcBskeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd de
d„Z d    „Z d
„Z RS( cCsL||_||_||_i|_g|_d|_d|_g|_dS(Ni(RRRt cityWallDictt_FamilyGCZBatGroup__cityIDListt#_FamilyGCZBatGroup__topHurtPlayerIDt&_FamilyGCZBatGroup__topHurtPlayerValuetinBatScenePlayerIDList(RRRR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR›s                                cCs¢|jr"|jr"|j|jfSxm|jjƒD]\}|j|ƒ}|sSq2nx8|jjƒD]'\}}||jkrc||_qcqcWq2W|j|jfS(N(R†R‡R„tkeyst GetCityWallRtitems(RRRcRFt    hurtTotal((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytGetTopHurtPlayerIDValue¨scCs|||_|_dS(N(R†R‡(Rt topPlayerIDt topHurtValue((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytUpdTopHurtPlayerIDValue¶scCs%|js|jjƒ|_n|jS(N(R…R„R‰(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt GetCityIDListºs    cCs;d}||jkr%|j|}ntr7tƒ}n|S(N(R3R„R&R(RRRc((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRŠ¿s  cCsag}xT|jƒD]F}|j|ƒ}|s4qn|j}||kr|j|ƒqqW|S(N(R‘RŠRR;(Rt familyIDListRtcityR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytGetGroupFamilyIDListÈs     cCsítƒj|jƒ}|j|ƒ}|s.dS|j|_|j|_xD|jD]9}|j|ƒ}|sqqPn|j|_|j|_qPW|j|j_|j|j_|jj    }|j|j
|<||j kré|j j |ƒn|S(N( R8R9RtGetZoneJoinFamilyRRRaR:RcRR„R…R;(RRR>t
joinFamilyRFt
joinMemberR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytAddGroupFamilyÓs&    icCs”t|dƒ}t|j||ƒ}|j|_|j|_|j|d|ƒ|rad|_n||j|<||jkr|jj    |ƒn|S(s    ´´½¨×Ô¶¨Òå³Ç³Ø£¬ÈçÐÞÂÞ³Ç
        @param cityID: ×Ô¶¨Òå³Ç³ØID
        @param cityLV: ³Ç³ØµÈ¼¶
        @param guardMemIDList: ²¼·ÀÍæ¼ÒIDÁбí
        @param guardNPCCount: ²¼·ÀϵͳNPCÊýÁ¿
                        ³Ç³Ø×ÜÊôÐÔ£º (²¼·ÀµÄÍæ¼Ò + ²¼·ÀϵͳNPC)ÊôÐÔ×ܺÍ
        idRi(
RqRRRRR#RR„R…R;(RRRRRt
isAttrLocktnewCity((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytCreateCityWallês    cCsQ|jƒ}||jkr.|jj|ƒnt|j|j|jd|ƒdS(NRB(RCRˆR;tSync_FamilyGCZBatSceneInfoRRR(RRERF((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytSetPlayerInSceneþs
 cCs2|jƒ}||jkr.|jj|ƒndS(N(RCRˆRH(RRERF((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytSetPlayerOutScenes N(R RRRRR‘RŠR”R˜R3R&R›RRž(((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRƒ˜s                                      t FamilyGCZZonecBsŒeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z d d d „Z d d d d „ZRS(cCs‚||_d|_g|_i|_i|_i|_d|_d|_i|_i|_    d|_ g|_ i|_ i|_dS(Ni(Rt joinFamilyCnttlockFamilyIDListtjoinFamilyDicttjoinMemberDicttroundGroupDicttroundNumt    roundOvertfamilyGuessDicttplayerGuessDictR3tstatGuessRetDicttguessFinalFamilyIDListtinBatScenePlayerIDDicttinBatCityPlayerIDDict(RR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRs                                                        cCsj||_d|_i|_i|_i|_x6|jD]+}|j|ƒ}|sXq7n|jƒq7WdS(Ni(R¥R¦R¤R«R¬R¡R•Re(RR¥RR–((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt OnRoundReset s                    cCs=x6|jD]+}|j|ƒ}|s+q
n|jƒq
WdS(N(R¡R•Rf(RRR–((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytOnRoundFightStart.s cCsO||jkri|j|<n|j|}t|j||ƒ}|||<|S(N(R¤RƒR(RRRt groupNumDicttbatGroup((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt AddBatGroup7s  
cCs`||jkri|j|<n|j|}|j|dƒ}|dkr\tr\tƒ}n|S(N(R¤RlR3R&Rƒ(RRRR¯R°((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt GetBatGroup?s  cCs|jS(N(R¡(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytGetZoneLockFamilyIDListJscCs;d}||jkr%|j|}ntr7tƒ}n|S(N(R3R¢R&RV(RRR–((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR•Ks  cCs›||jkrdStƒ}|j|dƒ||jkrN|jj|ƒn|jj|ƒ}x4|jD])}|jj|dƒ|j    |dƒqjWdS(Ni(
R¢R8tSetFamilyIDZoneIDR¡RHR)RaR£R3tSetPlayerIDZoneID(RRtgczMgrR–RF((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytDelZoneJoinFamilyTs    cCs€d}||jkr%|j|}nt|j|ƒ}||j|<||jkrf|jj|ƒntƒj||jƒ|S(N(R3R¢RVRR¡R;R8R´(RRR–((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytAddZoneJoinFamilybs cCs;d}||jkr%|j|}ntr7tƒ}n|S(N(R3R£R&RJ(RRFR—((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR:os  cCsad}||jkr%|j|}n"t|j||ƒ}||j|<tƒj||jƒ|S(N(R3R£RJRR8Rµ(RRFRR—((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytAddZoneJoinMemberxs icCsŽx‡|jjƒD]v\}}xg|jƒD]Y}|j||ƒ}|sMq)n||kse||kru|j|ƒq)|j|ƒq)WqWdS(N(R¤R‹R‰R²RžR(RRERRtbTypet    groupDicttgNumR°((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytSetPlayerInBatSceneƒsc CsÌxÅ|jjƒD]´\}}x¥|jƒD]—}|j||ƒ}|sMq)nxp|jƒD]b}    |j|    ƒ}
|
s{qZn||ksŸ||ksŸ||    kr¯|
j|ƒqZ|
j|ƒqZWq)WqWdS(N(R¤R‹R‰R²R‘RŠRIRG( RRERRRRºR»R¼R°tcIDRc((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytSetPlayerInBatCitys$(R RRR­R®R±R²R³R•R·R¸R:R¹R½R¿(((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRŸ s                                                            t FamilyGCZMgrcBsPeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    RS(cCsi|_i|_i|_dS(N(tzoneDicttfamilyIDZoneIDDicttplayerIDZoneIDDict(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR¤s            cCs-|s|jj|dƒn ||j|<dS(N(RÂR)R3(RRR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR´ªs cCs-|s|jj|dƒn ||j|<dS(N(RÃR)R3(RRFR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRµ±s cCs•|jj|dƒx<|jjƒD]+\}}||kr#|jj|ƒq#q#Wx<|jjƒD]+\}}||krb|jj|ƒqbqbWdS(N(RÁR)R3RÂR‹RÃ(RRRtfZoneIDRFtpZoneID((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt ClearGCZZone¸s  cCsBd}||jkr%|j|}nt|ƒ}||j|<|S(N(R3RÁRŸ(RRR>((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR9Âs   cCsYd}||jkrC|j|}|j|ƒ}|j|ƒ}ntrUtƒ}n|S(N(R3RÂR9R•R&RV(RRR–RR>((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt GetJoinFamilyÌs  cCstd}||jkr^|j|}|j|ƒ}|j|ƒ}|rp|j|jƒ}qpntrptƒ}n|S(N(R3RÃR9R:R•RR&RV(RRFR–RR>R—((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytGetJoinFamilyByPlayerID×s  cCsYd}||jkrC|j|}|j|ƒ}|j|ƒ}ntrUtƒ}n|S(N(R3RÃR9R:R&RJ(RRFR—RR>((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt GetJoinMemberäs  (
R RRR´RµRÆR9RÇRÈRÉ(((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRÀ¡s                
    
          cCs(tj}|s$tƒ}|t_n|S(N(t
PyGameDatatg_familyGCZMgrRÀ(tmgr((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR8ïs
         c'Cs_tjƒsdStƒ}tjƒ}|jtjƒ}x!|jƒD]\}}|j    |ƒ}|j
ƒsqqDn|j dƒ}|j ƒ}|j ƒ}|j|ƒ|j|ƒ}    ||    _|jdgƒ|    _|jdiƒ|    _|jdiƒ|    _|jddƒ|    _|jddƒ|    _tjd||    jt|    jƒ|    jfƒ|jtj|ƒ}
xÖt|
j
ƒƒD]Â} | d} |
j | ƒ} | j ƒ}| jƒ}| jƒ}| jƒ}| jƒ}| j ƒ}|    j |ƒ}||_!||_"||_#||_$|jd    d
ƒ|_%|jd dƒ|_&|jd d
ƒ|_'|jd dƒ|_(|jddƒ|_)|jddƒ|_*|jddƒ|_+|jddƒ|_,|jdgƒ|_-|jdiƒ|_.|jdiƒ|_/|jddƒ|_0tjd|| ||j#|j$|j/fƒqzW|jtj1|ƒ}xÓt|j
ƒƒD]¿}|d}|j |ƒ}|j ƒ}|jƒ}|jƒ}|jƒ}|jƒ}|j ƒ}|    j2||ƒ}||_!||_"||_3|jdd
ƒ|_4|jddƒ|_5|jddƒ|_6|jddƒ|_7|jddƒ|_8|jd dƒ|_(|jddƒ|_9|jddƒ|_:|jddƒ|_;|jddƒ|_<|jd dƒ|_=|jd!dƒ|_>tjd"|||||j;|j<|j9fƒqhW|jtj?|ƒ}xt|j
ƒƒD]}|d}|j |ƒ} | j ƒ}!| jƒ}| jƒ}| jƒ}"| jƒ}| j@ƒ}#| j ƒ}$|    jA||ƒ}%|%só|    jB||ƒ}%n|%sÿqSn|r|%jC|ƒn|%jD|!|"ƒ|%jE|!ƒ}&|&s@qSn|"|&_F|#|&_G|$jd#gƒ|&_H|$jd$gƒ|&_I|$jd%dƒ|&_J|$jddƒ|&_;|$jddƒ|&_<|$jd dƒ|&_=|$jddƒ|&_,|$jd&iƒ|&_K|$jd'iƒ|&_Ltjd(|||||!|&jM|&j;|&j<t|&jIƒ|&jIf
ƒqSWqDWdS()NiR¡R§R¨R¥R¦s<¼ÓÔØ¹¥³ÇÕ½·ÖÇø¼Ç¼! zoneID=%s,joinFamilyCnt=%s,lockCnt=%s,%siR[RKR\R]RSR^R_R`RRaRbRYRZsG    ¼ÓÔØ·ÖÇø¹«»á zoneID=%s,%s,familyID=%s,campLV=%s-%s,roundInfoDict=%sRNRORPRQRRRTRURRRRsP    ¼ÓÔØ·ÖÇø³ÉÔ± zoneID=%s,familyID=%s,%s,playerID=%s,hp=%s/%s,totalHurtValue=%sRRRRRsf    ¼ÓÔØ·ÖÇø³Ç³Ø zoneID=%s,batType=%s,batType=%s,%s,cityID=%s,familyID=%s,hp=%s/%s,fighterIDList=%s,%s(NR+t IsCrossServerR8t    DBDataMgrt GetGameRecMgrt GetRecTypeMgrt ShareDefinetDef_GameRecType_FamilyGCZMgrtGetRecIDKeyListt GetRecIDMgrtGetCounttAtt    GetValue1t GetUserDictRÆR9R RlR¡R§R¨R¥R¦tLogtlentGetRecTypeIDMgrt#Def_GameRecType_FamilyGCZJoinFamilyR!t    GetValue2t    GetValue3t    GetValue4t    GetValue5R¸RRRWRXR[R\R]RSR^R_R`RRaRbRYRZt#Def_GameRecType_FamilyGCZJoinMemberR¹RMRNRORPRQRRRTRURRRRt!Def_GameRecType_FamilyGCZCityWallt    GetValue6R²R±R˜R›RŠRRRRRRRR('R¶t
gameRecMgrt
recTypeMgrRt_trecIDMgrt zoneRecDataR t zoneDataDictR>tjoinFamilyRecMgrtfIndextfNumt familyRecDataRRRRWRXtfamilyDataDictR–tjoinMemberRecMgrtpIndextpNumt memberRecDataRFRMtplayerDataDictR—tcityWallRecMgrtcIndextcNumt cityRecDataRRRt cityDataDictR°R“((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt OnLoadPyDataösä              ,
                          '
                      *
                   Cc CsøtjƒsdStjƒ}|jtjƒ|jtjƒ|jtjƒ|jtj    ƒt
ƒ}|j j ƒ}tj d|ƒxl|D]d}|sžqŒn|j|ƒ}|jtj|ƒ}|jƒ}|j|jƒ|jƒ}i|d6|jd6|jd6|jd6|jd6}|j|ƒtj d||jt|ƒ|fƒxØ|jjƒD]Ç\}    }
x¸|
j ƒD]ª} |j|    | ƒ} | sŸq{n| jƒ} xwt| dƒD]f\}}| j|ƒ}|sâq»n|jtj    |ƒ}|jƒ}|j|ƒ|j |j!ƒ|j"|j#ƒ|j$|j%ƒ|j&|j'ƒ|j(|j)ƒi
|j*d    6|j+d
6|j,d 6|j-d 6|j.d 6|j/d6|j0d6|j1d6|j2d6|j3d6}|j|ƒtj d||    | |||j'|j)|j-|j.t|j+ƒ|j+f ƒq»Wq{WqbWxÀt|dƒD]¯\}}|j4|ƒ}|sdq=n|jtj|ƒ}|jƒ}|j|ƒ|j |j!ƒ|j"|j#ƒ|j$|j5ƒ|j&|j6ƒi |j7d6|j8d6|j9d6|j:d6|j;d6|j<d6|j=d6|j0d6|j>d6|j?d6|j@d6|jAd6}|j|ƒtj d||||j5|j6|j@fƒx`t|j>dƒD]L\}}|jB|ƒ}|sÃqœn|jtj|ƒ}|jƒ}|j|ƒ|j |ƒ|j"|j!ƒ|j$|j#ƒ|j&|jCƒi |jDd 6|jEd!6|jFd"6|jGd#6|jHd$6|j:d6|jId%6|jJd&6|j-d 6|j.d 6|j/d6|jKd'6}|j|ƒtj d(|||||j-|j.|jIfƒqœWq=WqŒWdS()Ns%±£´æ¹«»á¹¥³ÇÕ½·ÖÇø¼Ç¼! zoneIDList=%sR¡R§R¨R¥R¦s7----- zoneID=%s,joinFamilyCnt=%s,lockFamilyIDList=%s,%siRRRRRRRRRRss    ±£´æ·ÖÇø³Ç³Ø zoneID=%s,batType=%s,groupNum=%s,%s,cityID=%s,familyID=%s,attrLock=%s,hp=%s/%s,fighterIDList=%s,%sR[R\R]RSR^R_R`RaRbRYRZsG    ±£´æ·ÖÇø¹«»á zoneID=%s,%s,familyID=%s,campLV=%s-%s,roundInfoDict=%sRNRORPRQRRRTRURsT        ±£´æ·ÖÇø³ÉÔ± zoneID=%s,familyID=%s,%s,playerID=%s,hp=%s/%s,totalHurtValue=%s(LR+RÍRÎRÏt DelDataByTypeRÑRÒRÜRáRâR8RÁR‰RÙR9RÛt
AddRecDatat    SetValue1R R³R§R¨R¥R¦t SetUserDataRÚR¤R‹R²R‘t    enumerateRŠt    SetValue2Rt    SetValue3Rt    SetValue4Rt    SetValue5Rt    SetValue6RRRRRRRRRRRR•RWRXR[R\R]RSR^R_R`RaRbRYRZR:RMRNRORPRQRRRTRUR( RäR¶t
zoneIDListRR>t    gczRecMgrRèR¡tzoneDataRR»RR°t
cityIDListRöRR“RôR÷tcityDataRìRR–RêRít
familyDataRñRFR—RïRòt
memberData((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt OnSavePyDatazs¦          &   !(!     M  !(
 ,   !(
+     2cCs|jƒ}t|ƒ\}}|s(dSt||ƒt||ƒt|||ƒt|||ƒtj|tj    ||ƒdS(N(
RCtGetPlayerActJoinInfotSync_FamilyGCZActInfotSync_FamilyGCZBatGroupInfoRdtSync_FamilyGCZGuessInfotPlayerActFamilyCTGAssisttSyncFamilyCTGAssistRÑtActionName_FamilyGCZ(RERFRR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytOnCrossPlayerLoginÙs   cCs4|dks|tkr"d|fS|d|dfS(Ni
i(tFamilyGCZState_Award(tstate((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt GetRoundStateès
cCs+tjƒsdSt||ƒt|ƒdS(N(R+RÍtDoMailReissueAwardtDelFamilyGCZZone(RtipyData((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt OnCrossActEndîs
 
cCs(tjƒsdSt|ƒt|ƒdS(N(R+RÍRR (RR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytOnCrossActStartõs
 
 
cCsÕtjd|ƒtjƒ}|jtj|ƒ|jtj|ƒ|jtj|ƒ|jtj    |ƒt
j tj |ƒtj ƒ}|jtj|ƒ|jtj|ƒ|jtj|ƒtƒj|ƒdS(NsÖØÖù¥³ÇÕ½»î¶¯Êý¾Ý! zoneID=%s(R+RÙRÎRÏtDelDataByTypeIDRÑRÒRÜRáRâRtResetFamilyCTGAssistRtGetBillboardMgrtClearBillboardtDef_CBT_FamilyGCZScoretDef_CBT_FamilyGCZPlayerHurttDef_CBT_FamilyGCZRoundHurtR8RÆ(RRät billboardMgr((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRüs  cCs1tjƒsdS|tkr-td|ƒdSdS(NttoZoneID(R+RÍtFamilyGCZState_PublicityRegtSync_C2CS_FamilyGCZCallReg(RRR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytOnCrossActInStateRefreshs    cCsátjƒsdS|tkr*t|ƒdSt|ƒ\}}|dkrÐ|tkrƒ|dkrpt||ƒnt|||ƒqÐ|tkr´t    ƒ}|j
|ƒ}|j ƒqÐ|t krÐt |ƒqÐnt||ƒdS(Nii(R+RÍRt DoStartAwardRtFamilyGCZRoundState_GrouptDoLockActFamilyt DoRoundGrouptFamilyGCZRoundState_FightR8R9R®tFamilyGCZRoundState_Overt DoRoundOvertDoGenerateGuess(RRRtcurRoundt
roundStateR¶R>((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytOnCrossActStateChanges&  
           cCs»|jƒ}d\}}tƒ}|j|ƒ}|rS|j|j}}||fS|jƒ}|st|jƒ}ntjt    j
|ƒ\}}|r·|t j ƒjƒkr·|dfSdS(sª»ñÈ¡Íæ¼Ò²ÎÓëµÄ»î¶¯ÐÅÏ¢£¬Èç¹û·µ»ØµÄÓзÖÇøID¼°»î¶¯ID£¬´ú±íÒ»¶¨ÊǻÖеÄ
    ±ØÐëÊÇzoneID¡¢actID¶¼Ò»Ö±²ÅÄÜÊÓΪͬһ¸ö»î¶¯£¬ÇÒactState·Ç0
    @return: [zoneID, familyID]
    i(ii(ii( RCR8RÉRRtGetFamilyServerIDt GetServerIDtCrossMgrtGetCrossActServerZoneInfoRÑRR+t GetGameWorld(RERFRRR¶R—t gczServerIDt crossServerID((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR ?s      
 
c    CsÖtjtjtjƒ}|s"dS|jtjƒ}|s>dS|jƒ}tƒ}|j    |ƒ}|sldS|j
}t j |ƒ}|sŽdS|j ƒ}t|j|ƒ|_tjd||||jf|ƒdS(NsP¸üй¥³ÇÕ½³ÉÔ±: familyID=%s,state=%s,cacheFightPower=%s,joinMember.fightPower=%s(R+t
GetActInfoRÑRt ActNum_CrossRlt ActKey_StateRCR8RÉRtPlayerViewCachet FindViewCachetGetFightPowerTotaltmaxRR,(    REtactInfoRRFR¶R—RtcurCachetcacheFightPower((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytOnCrossJoinFamilyMemberUpd[s(              ic    Cs
tjtjtjƒ}|s"dS|jtjƒ}|tkrDdS|jtjƒ}t    j
d|ƒ}|srdStj |ƒ}|s‹dS|j ƒ}|j ƒ}    t    jd|    ƒ}
|
s¿dStjƒjƒ} tƒ} tjƒjƒ} x|
D]}| |jƒkrqón|jƒ}|r5||kr5qón|jƒ}|r{|tjkrotj||ƒ roqón|g}ng|| }| j|ƒ}|jƒ}i|d6|d6|d6|d6|d6}tjtj||dtjƒ|sót|| ƒqóqóWdS(    NtActTimetActZonetcfgIDRt needFamilyCnttzoneServerIDListtregFamilyIDListtdirType( R+R:RÑRR;RlR<R%t ActKey_CfgIDR4R5tGetActTypeIpyDatatGetJoinFamilyCntt GetZoneSigntGetIpyGameDataListR5tGetSSServerMgrtGetCrossServerIDListR8R7R4tGetCrossServerIDt    GetZoneIDtGetServerIDListtserverType_MaintCheckServerIDInListR9R³tCrossMsgt SendToServertC2CS_FamilyGCZCallRegtdirType_MainAndCross(t
toServerIDt toServerTypeR$RARRGRtactTypeIpyDataRHtzoneSigntzoneIpyDataListtotherCrossServerIDListR¶t curServerIDt zoneIpyDataRRIttoServerIDListR>RJtdataMsg((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR&usP          "  )c' Cs¶|d}|d}|d}|d}|d}tjƒr^tjƒr^tjdƒdSntjƒjƒ}g}tjƒ}    xÁ|    j    ƒD]³}
|    j
|
ƒ} | j ƒx‘t | j ƒƒD]}} | j| ƒ} tj| jƒ|ƒsôqÁn| jƒ}||kr|d8}qÁn|j| jƒ| jƒ| gƒqÁWqW| sY|dkrztjd    t|ƒ|fƒdS|jd
tƒg}x£|| D]—}|d } | jƒ}| jƒ}| jƒ}| jƒ}| j|ƒ}|rü|jƒnd }| jƒ}| jƒ}| jƒ}| jƒ}|||||||||g    }g}xÃt | j ƒƒD]¯}| j|ƒ}|jƒ}|jƒ}|jƒ}|jƒ} |jƒ}!|j ƒ}"|j!ƒ}#|jƒ}$|j"ƒ}%|||| |!|"|#|$|%g    }&|j|&ƒqlW|j||gƒq›Wi|d6|d6|d 6}tj#d||t|ƒ|fƒ||krt$||ƒn"t%j&t'j$||gdt'j(ƒdS(NRGRRHRIRJs±¾·þ¹«»áÒÑ¿ç·þ²»´¦Àí¹¥³ÇÕ½±¨Ãû!iisI¹¥³ÇÕ½¹«»á¾ùÒѱ¨Ãû»òûÓÐÐèÒª±¨ÃûµÄ! familySortListCnt=%s,needFamilyCnt=%streverseiÿÿÿÿRKt syncRegLists@¹¥³ÇÕ½·¢Ëͱ¨ÃûÊý¾Ý! cfgID=%s,zoneID=%s,regCnt=%s,fromServerID=%sRK()R+t IsMainServertDBFamilyt IsFamilyCrossR,R7R4RÎt GetFamilyMgrtGetZoneIDListThisServertGetZoneFamilyMgrtSortR!RÕtGetAtRWtGetIDR;R?tGetLVRÚR<R%tGetNamet GetLeaderIDt
FindMembert GetPlayerNamet GetEmblemIDt GetEmblemWordRCtGetJobt
GetRealmLVtGetFacet
GetFacePictGetFmLVRÙtCS2C_FamilyGCZRegDataRXRYRÑt dirType_Cross('Ret fromServerIDRGRRHRIRJRbtfamilySortListt    familyMgrRÄtzoneMgrtitfamilyRRgtsortInfoR[RSR\t leaderMemberR]R^t
emblemWordR`Rt
familyInfot
memberListtmIndextmemberRFRNRORPRQRRRRMt
memberInfo((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRZ¬s~
 
 
 
 
 
 
*
        !         !# "c+ CsÙ|d}|d}|d}tjd|||t|ƒfƒtjtjtjƒ}|sptjdƒdS|jtj    ƒ}|t
kr£tjd|ƒdS|jtj ƒ}||krÜtjd||fƒdSt j d|ƒ}|sødS|jƒ}    t jd    |    ƒ}
|
s dStjƒjƒ} d} xB|
D]:} || jƒkr?| | jƒkr?| jƒ} Pq?q?W| dkržtjd
|ƒdStj|ƒ}|s·dS|jƒ}tƒ}|j|ƒ}||_xÂt|d ƒD]±\}}|\}}|\    }}}}}}}}}tj|| ƒs_tjd ||| fƒqôn|j|ƒ}||_||_||_ ||_!||_"||_#||_$||_%d |_&|j%}x«|D]£} | \    }!}"}}#}$}%}&}'}(|j'|!|ƒ})|"|)_(||)_|#|)_)|$|)_*|%|)_+|&|)_,|'|)_-|(|)_.|!|j/krÏ|j/j0|!ƒqÏqÏWtjd ||||t|j/ƒ|j/fƒqôW|j1ƒ}*tjd|t|*ƒ|*fƒdS(NRGRRgs@¹¥·ÀÕ½ÊÕµ½±¨ÃûÊý¾Ý! cfgID=%s,zoneID=%s,fromServerID=%s,regCnt=%ss¹¥·ÀÕ½ÊÕµ½±¨ÃûÊý¾ÝʱÎ޻s(¹¥·ÀÕ½ÊÕµ½±¨ÃûÊý¾Ýʱ·Ç±¨Ãû״̬! state=%ss.¹¥·ÀÕ½ÊÕµ½±¨ÃûÊý¾Ýʱ»î¶¯²»Ò»ÖÂ! cfgID=%s != %sRERFs1¹¥·ÀÕ½ÊÕµ½±¨ÃûÊý¾Ýʱ±¾¿ç·þûÓжÔÓ¦·ÖÇø! zoneID=%sis7    ·Ç±¾»î¶¯·ÖÇø¹«»á! familyID=%s,serverID=%s not in %ss>    %s,familyID=%s,serverID=%s,fightPowerTotal=%s,memCnt=%s,%ss/±¾·ÖÇø×ܱ¨Ãû¹«»áÊý! zoneID=%s,regCntTotal=%s,%s(2R+RÙRÚR:RÑRR;R2RlR<R%RLR4R5RORPR7R4R3RTRSRURMRNR8R9R RþRWR¸R[RSR\R]R^R_R`RRWR¹RNRORPRQRRRRMRaR;R³(+ReRRGRRgRARtactCfgIDRR_R`RbRIRcR^t JoinFamilyCntR¶R>tnumtregInfoRˆR‰RR[RSR\R]R^R‡R`RR–RŒRFRNRORPRQRRRRMR—RJ((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR}õs”
 
 
#     $            !                                         !                                    *  cCs²tƒ}|j|ƒ}tj|ƒ}|r?|jƒ|_n|j}tjd||fƒg}|jƒ}tjdt|ƒ|fƒx9|D]1}|j    |ƒ}    |j
|    j |    j |    gƒq•W|j dtƒg}
g} xxt|dƒD]g\} } | d}    |    j}| |kr=|
j
||    j gƒqön|j|ƒ| j
||    j ƒqöWtjdt|
ƒ|
fƒ| r¤tjdt| ƒ| fƒnt|ƒdS(Ns2¹¥³ÇÕ½Ëø¶¨×îÖÕ²ÎÓëÃûµ¥: zoneID=%s,joinFamilyCnt=%ss    ±¨Ãû×ÜÊý: %s, %sRfiiÿÿÿÿs    ×îÖÕÃûµ¥: %s, %ss    É¾³ýÃûµ¥: %s, %s(R8R9R+RMRNR RÙR³RÚR•R;RRSR<R%RþRR·R (RRR¶R>R^R tsortListRJRR–tfinalLockFamilyListtdelRegFamilyListRR…((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR*Ps:           
       
c Cs6tj|ƒ}|sdS|jƒ}tjd|||fƒt|ƒtjddiƒ}t|ƒ|krtdS|t|ƒ}t|ƒ|kršdS|t|ƒ}|}tƒ}    |    j    |ƒ}
i} |dkrò|d} |
j
ƒ} xë| D]ã}|
j |ƒ}|sq÷n|j j | iƒ}|j dtƒ}|j dtƒ}|tkrst|dtƒ}n(|tkr•t|dtƒ}n|}|| kr´g| |<n| |}||kr÷|j|ƒq÷q÷Wtjd| ƒntjƒ}|jtj|ƒ|
j|ƒxútD]ò}t|ƒ|krCq%n|t|ƒd}|s}tjd|||fƒq%ng}|dkrÄ|
j
ƒ}tjd    |||t|ƒ|fƒne|| kr| |}tjd
|||t|ƒ|fƒn&tjd |||t|ƒ|fƒx+tdd|ƒD]}|
j ||ƒq=Wi}g}xO|D]G}|
j |ƒ}|s‹qjn|j|ƒ|j!|j"ƒg||<qjW|j#d d „dt$ƒg|D]}|j%^qÕ}t|ƒ}tjd|||fƒd}xþt&|ƒD]ð\}}|d7}||krNd}n|
j'||ƒ}|s‰tjd||||fƒq#n|j(|ƒ}|sÁtjd||||fƒq#n|dd|d|||_)t*|ƒtjd|||||||fƒq#Wq%Wt+|ƒt,|t$ƒdS(NsE========== ¹«»á¹¥³ÇÕ½ÂִηÖ×é: zoneID=%s,curRound=%s,joinFamilyCnt=%stFamilyGCZGroupSetiRt updownStatesÉÏÒ»ÂÖÉý½µ¼¶½áËã»ã×Ü: %sis4±¾ÂÖÕ½³¡²»ÐèÒª·Ö×é: zoneID=%s,curRound=%s,batType=%ssJÊ×ÂÖÕ½³¡·Ö×éÖ±½ÓÈ¡·ÖÇøËø¶¨¹«»áÃûµ¥: zoneID=%s,curRound=%s,batType=%s,%s,%ssJ·ÇÊ×ÂÖ·Ö×éÖ±½ÓÈ¡ÉÏÂÖ½ú±£½µ¹«»áÃûµ¥: zoneID=%s,curRound=%s,batType=%s,%s,%ss@±¾ÂÖ·Ö×é¿ÉÄÜûÓй«»áÃûµ¥: zoneID=%s,curRound=%s,batType=%s,%s,%stkeycSs|j|jƒfS(N(RRo(RA((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt<lambda>ÑsRfs5¿ªÊ¼·Ö×é°´ÅÅÐòºóµÄ˳ÐòÑ­»·²åÈëÿ×é! ¹«»áÊý:%s, %s, %ssF¹«»á·Ö×éʱս¶··Ö×é²»´æÔÚ! zoneID=%s,batType=%s,groupNum=%s,familyID=%ssD¹«»á·ÖÅäµ½Õ½¶··Ö×éʧ°Ü! zoneID=%s,batType=%s,groupNum=%s,familyID=%si'idsK    ¹«»áID·Ö×é: zoneID=%s,curRound=%s,batType=%s,groupNum=%s,familyID=%s,%s(-R+RMRNRÙR.R4tGetFuncEvalCfgtstrR8R9R³R•RYRlt BatType_MintUpdownState_KeeptUpdownState_UpRqt BatType_MaxtUpdownState_DownR@R;RÎRRRÑR"R­t BatTypeListRÚR2R!R±RRoR<R%RRþR²R˜RZtUndFamilyRoundHurtBillboardRtRefreshFamilyGCZBillboard(R0RRR^R R”t roundSetDictt batTypeDictt groupValue1R¶R>tnextBatTypeFamilyInfotpreRoundR¡RR–t    roundInfoRR•t nextBatTypetbatFamilyIDListR#tgroupCntRtgroupFamilyDicttgroupFamilySortListRAtgroupFamilyIDSortListtgroupFamilyIDCnttindexR°((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR+vs² 
     
 
      ) 
)&   
     !
/
 cCs€|s
dS|j}|j}|j}|j}d
\}}}|j}|j}    |j}
t|j|j    ƒ} t
|j j j ƒƒ} d} |j jr¶|j jt|j jƒ} nttjddƒƒ}tjd||| | |j j|j jfƒ|tj}|tj}|j}i|jd6}tjtj|
|||||||||| |dtd|d|    d    |ƒ dS( NiR0is^¼ÆË㹫»áÂÖ´ÎÉ˺¦°ñÖµ: familyID=%s,familyRoundHurt=%s,memHurtTotal=%s,cityRemainHPPer=%s, %s/%sR_tautoSorttvalue3tvalue5tuserData(iii(RR[R\R]R^R`RtGetRoundHurtGroupIDRRtsumRcRRkRRtfloattevalR4tGetFuncCompileCfgR+R,RrtDef_PerPointValueRZR_tPlayerBillboardtUpdateBillboardRÑR"R%(R–tdataIDtname1tid2tname2ttype2tvalue1tvalue2R±R²R¤t groupValue2t memHurtTotaltcityRemainHPPertfamilyRoundHurttcmpValuet    cmpValue2t    cmpValue3R³((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR ës2                                 &      !+cCs]tjƒsdStƒ}|jjƒ}|s2dSx$|D]}|sKq9nt|ƒq9WdS(N(R+RÍR8RÁR‰R¡(t    curMinuteR¶RR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytOnMinuteProcesss      c+Cs´|sptjtjtjƒ}|s(dS|jtjƒ}|sDdSt|ƒ\}}| si|tkrpdSnt    ƒ}|j
|ƒ}|j r•dS|j }|s¨dStj d|||fƒtjƒ}    |    jtj|ƒ}
|
jƒtjddiƒ} x‘|jjƒD]€\} } | jt| ƒiƒ}|sPtjd| ƒnd„|jƒDƒ}| jƒ}x|D]}|j| |ƒ}|sqynt| |ƒ}|    jtj||ƒ}|jƒx½t|jƒƒD]©}|j|ƒ}|j ƒ}|d}tj!||t"dƒ}|j#|ƒ}|s?qán|j$j|iƒ}|j%i| d6|d    6|d
6|d 6ƒ||j$|<qáWqyWqW|j&ƒ}xì|D]ä}|j#|ƒ}|sÊq©n|j'}|j(}|j)}|j*} d\}!}"}#|j+}$|j,}%|j-}&|j.ƒ}'|j/}(i|%d 6|j$d 6})t0j1tj2|||| |!|"|#|'|(d|dt"d|$d|&d|)ƒ
q©W|    jtj2|ƒ}*|*jƒdS(Ns.¹¥³ÇÕ½°ñµ¥ÅÅÐò! zoneID=%s,roundNum=%s,force=%sR”is*¹¥³ÇÕ½Õ½³¡ÀàÐÍûÓÐÅäÖÃÃû´Î»ý·Ö! batType=%scSs%i|]\}}|t|ƒ“qS((R    (t.0tktv((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pys
<dictcomp>;s    iiRRtrankRjR_R§R¾R°R±R²R³(iii(3R+R:RÑRR;RlR<RR,R8R9R¦R¥R,RÎRt GetBillboardR!tSortDataR4R˜R¤R‹R™R2R‰R²R´R"R!RÕRÖRptGetOrderValueByDictR&R•RYtupdateR³RR[R\R]R^R_R`RoRZRºR»R (+RtforceRARR0R1R¶R>R¥R#tplayerHurtBillObjtbatTypeScoreInfoRR»t rankScoreInfot rankScoreDictt groupNumListRR°RÃtroundBillboardObjtbIndextbillDataRRÏRjR–R§R¡R¼R½R¾R¿RÀRÁRÂR±R_R²RÇRÈR³tfamilyScoreBillObj((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR¡s†             
 
 
)                                   !,
cCs9tƒ}|j|ƒ}|jr%dS|j}|s8dSt|tƒ|j}tjddiƒ}t    |ƒ|krydS|t    |ƒ}t    |ƒ|krŸdS|t    |ƒ}t
j ƒ}t j d||fƒxW|jjƒD]F\}    }
t    |    ƒ|krqân|t    |    ƒ} | d} t| ƒdkr<| dnd} |
jƒ}t j d||    | | |fƒx·|D]¯}|j|    |ƒ}|s™qunt|    |ƒ}|jtj||ƒ}t j d||    ||jƒfƒx>t|jƒƒD]*}|j|ƒ}|jƒ}|jƒ}|jƒ}|tj|}|d}t}|| krq|    t krqt!}n+| rœ|t"| krœ|    t#krœt$}n|j%|ƒ}|s·qön|j&j'|iƒ}|j(i|d6ƒ||j&|<t j d    ||    |||||fƒt)||ƒqöWquWqâWd|_dS(
NR”is0========== ¹¥³ÇÕ½ÂִνáËã: zoneID=%s,roundNum=%siis:zoneID=%s,batType=%s,upRank=%s,downRank=%s,groupNumList=%ss2zoneID=%s,batType=%s,groupNum=%s,groupFamilyCnt=%sR•sa    Éý±£½µ¼¶zoneID=%s,batType=%s,groupNum=%s,rank=%s,familyID=%s,updownState=%s,hurtValueTotal=%s(*R8R9R¦R¥R¡R%R R4R˜R™RÎRR+RÙR¤R‹RÚR‰R²R´RÐRÑR"RÕR!RÖRpt GetCmpValuet GetCmpValue2RrR¹R›RRœtDef_PerGroupFamilyCntRšRžR•RYRlRÓRd(RR¶R>R¥R R”R¢R£R#RR»t
batTypeSettupRanktdownRankRÙRR°RÃt billboardObjRÛRÜRRÇRÈthurtValueTotalRÏR•R–R§((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR.gsp                  
"   #   
    "             c Csõ|tjddƒkrdStƒ}|j|ƒ}tjddƒ}tjƒ}|jtj    |ƒ}t
|j ƒ|ƒ}xht |ƒD]Z}|j |ƒ}    |    jƒ}
|
|jkr‰d|j|
<tjd|||
fƒq‰q‰Wt|ƒdS(NtFamilyGCZGuessiiis6¹¥³ÇÕ½Éú³É¾º²Â±¸Ñ¡Ãûµ¥: zoneID=%s,index=%s,familyID=%s(R4R˜R8R9R7RÎRRÐRÑR RqRÕR!RÖRpR§R+RÙR( RRR¶R>t guessRankMaxR#t scoreBillObjtguessCntR¯RÜR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR/«s        !
cCst|ƒt|ƒdS(N(R.R(R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR(Ás
 
cCs |d|S(Nid((RR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR´ÊscCs|d}|d}||fS(Nid((RÃRR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytGetRoundHurtGroupIDInfoËs
 
c3CsÌ |jƒ}tƒ}|j|ƒ}|sBtj|d|ƒdS|j}|j}|j|ƒ}|j|ƒ}|stj|d|ƒdS|j    |j
}    }
|j |    |
ƒ} | sÙtj|d|    |
fƒdStj t jt jƒ} | sûdS| jt jƒ} | sdSt| ƒ\}}|d}|d%krs| sX|rs|tkrstj|d
| ƒdSn|dkrÈt|ƒd kr›|d nd}t|ƒd kr½|d nd }t|ƒd krß|d n|}d}||kr|}|d kr$|}q$n|j|ƒ}|sBtj|d|ƒdS|jj}| j|ƒ}|s{tj|d|ƒdSt||||    |
|||d|ƒ
}tj|d|dk|jfƒn    |dkrvt|ƒd krð|d nd}t|ƒd kr|d nd}t|ƒd kr4|d nd}t|ƒdkrV|dn|}d}||krŒ|}|d kr›|}q›n|j|ƒ}|s¹tj|d|ƒdS|jj}| j|ƒ}|sòtj|d|ƒdS|j|krtj|d|jƒdS|j|}t||||    |
||d||ƒ
}tj|d|dk|jfƒnR|d    krXt|ƒd krž|d nd}t|ƒd krÀ|d nd}t|ƒd krâ|d n|}t|ƒdkr|dnd }t|ƒdkr&|dnd}|j|ƒ}|sYtj|d|ƒdS|j}|j|ƒ}|jj}|j}||}g} |tkr| j|ƒ}|sÏtj|d|ƒdS||jkròtj|dƒdS| j|ƒn´|tkržx^| j j!ƒD]M}||kr6qn| j|ƒ}| s|j"ƒr^qn| j|ƒqWt| ƒ|kr¶t#j$| ƒ| | } q¶ntj|d|ƒdS|t| ƒ}!i}"d}#xd| D]\}|j}t||||    |
||d|!||ƒ }|dkrÙ|!|"|<|#|7}#qÙqÙWt%||    |
|||"|#ƒnp|dkrßt|ƒd kr€|d nd}t|ƒd kr¢|d n|}|j|ƒ}|sÕtj|d|ƒdS|jj}|sö| j&ƒ}$n    |g}$d}xa|$ddd…D]L}%| j|%ƒ}&|&s:qn|&j"ƒs|%t'|gkr^qn|&}PqW|sƒtj|dƒdS|j}|j}t||||    |
||d|ƒ    }tj|d|dk||fƒné|dkrE    t|ƒd kr    |d n|    }'t|ƒd kr)    |d n|
}(t(|||'|(ƒnƒ|dkr–    t|ƒd krm    |d nd })|d }*t)||| |)|*ƒn2|dkr
t|ƒd kr¾    |d nd }+t|ƒd krà    |d nd },|,d kr
t*j+|j,ƒ}-t#j$|-ƒ|-|, }.n    |g}.x!|.D]}/|j-|/|+t.ƒq.
Wt/|j|jƒtj|dt|.ƒ|+|j0|j1fƒn;|dkrM t|ƒd krµ
|d n|j0}0t|ƒd krÚ
|d n|j1}1|0r t2j3d|0ƒ r tj|d |1ƒdS|0|_0|1|_1tj|d!|0|1fƒ|j4ƒn{|d"kru d|_5tj|d#ƒnS|d$krÈ t|ƒd kr |d nd }2t6j7|t j|||2|j,ƒndS(&s GMÃüÁ·½±ã¿ª·¢²âÊÔÓÃ
    s·Ç¹¥³ÇÕ½²ÎÈü³ÉÔ±:%sNs·Ç¹¥³ÇÕ½²ÎÈü¹«»á:%ss Ã»ÓÐÕ½¶··Ö×é:batType-group:%s-%sitathRÍtss·ÇÕ½¶·½×¶Î!state=%siiis¹¥»÷·½²»´æÔÚ:%ssÄ¿±ê³Ç³Ø²»´æÔÚ:%ssatkOK:%s,remainHP:%sisÊ£ÓàѪÁ¿²»Äܳ¬¹ýµ±Ç°ÑªÁ¿:%sii
s²»Äܹ¥»÷×Ô¼º¹«»ás·Ç¼¼Äܹ¥»÷ÀàÐÍ(%s)iÿÿÿÿsûÓпɻ÷»ÙµÄ³Ç³ØÁË!skillOK:%s,Ä¿±ê:%s,¹¥»÷·½:%stptgtxs'³ÉÔ±¾èÏ×:ÈËÊý(%s)x%s:campLV(%s),Exp(%s)tcR/s´ó±¾ÓªÃ»Óиõȼ¶:%ssÉèÖôó±¾ÓªµÈ¼¶:%s,Exp:%sta0sÖØÖÿç·þÁì½±¼Ç¼tas(sashskss(8RCR8RÉR+t DebugAnswerRRR9R•RRR²R:RÑRR;RlR<RR,RÚRcRRŠt __DoGMAtkCityR3RR:RtAtkType_SkillSingleR;tAtkType_SkillAreaR„R‰R'trandomtshuffleRœR‘t XiuluoCityIDt__GMPrintGroupCityt __DoGMGuesstcopytdeepcopyRaR|R&RdRWRXR4R5RiRURt
OnGMAssist(3REtmsgListRFR¶R—RRR>R–RRR°RARR0R1tvalue0t    tagCityIDt atkCntTotalt atkFamilyIDt atkMemberIDt atkJoinFamilyt    curCityIDttagCitytatkOKtremainHPRåtatkTypet    hurtMultit hurtFamilyCntt atkJoinMembert batFightPowertcanAtkedCityListt oneHurtTotalthurtDictt killCntTotalRRR“RºR¼RétguessFamilyIDListRvtmemCntt    memIDListt playerIDListtmemIDRWRXt    assistCnt((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt
OnGCZGMCMDÐsv             
  """    '& """"     '& """""         
         * 
 ""             $& "" "
 ""        / %%               "%c
Cstƒ}|j|ƒ}|j||ƒ}|jƒ}tj|d|||t|ƒfƒx®t|dƒD]\}}    |j|    ƒ}
|
s“qln|
j    ƒr¥dnd} tj|d||    |
j
ƒt|
j ƒt|
j ƒfƒtj|d|
j |
j| fƒqlWdS(Ns'---·ÖÇø(%s)·Ö×éÀàÐÍ(%s)×é(%s)³Ç³ØÊý(%s)isÒÑ»÷»ÙRKs$³Ç³Ø%02d:%s,·ÀÊØÈËÔ±ID:%s,ÈËÊý:%s/%ss    HP: %s/%s %s(R8R9R²R‘R+RôRÚRþRŠR'R(RRRR( RERRRR¶R>R°RRöRR“tbroken((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRû·s     & /'c *Cs¸|jƒ} tƒ} | j|ƒ} ||krDtj|dƒdS| j||ƒ}|s`dS|j|ƒ}|j|ƒ}|sœtj|d|ƒdS|sºtj|d|ƒdS|j}|j}| j|ƒ}|sõtj|dƒdStj    d||||||||    fƒd}i}|    rH|    |j
krH|    gn|j
}|r|}x{|dkrÚ|rÚ|d8}|j dƒ}|j |ƒ| j |ƒ}|j}||j7}|j|dƒ|||<q`Wtj    d    ||t|ƒ|fƒn |r¡|}xn|dkr}|r}|j dƒ}|j |ƒ| j |ƒ}|j}||8}|j|dƒ|||<qWtj    d
|t|ƒ|fƒnd}ttjƒƒ}g}tj    d ||j|j|fƒxÞ|jƒ rÂ|dkrÂ|jd}|j|ƒr&|j}n| j |ƒ}| sH|jƒrX|jƒqån|j |ƒ||_|j} td| |ƒ|_| |j}!td|j|!ƒ|_|tkr|jdkrd|_d|_|}!tjd ||fƒntj    d |||!| |j|j|jfƒ||!8}|jj|dƒ|!|j|<|j j|dƒ|!|j |<|jƒrœ|d7}|jƒntj    d|||j|j fƒqåWtj    d|j|j|fƒ|r| j|ƒ}"|"rt!|"ƒqnx|j"ƒD]\}#}tj    d|#|fƒ| j |#ƒ}$|$sYqn|$j#|7_#|$j#t$j%}%|$j#t$j%}&t&j'|#t(j)|%|&dt*d|ƒ|jƒr¿qn|j+j|#dƒ||j+|#<|j+|#}'|j,ƒ\}(})|'|)kr|j-|#|'ƒqqW|jƒs:t!|ƒntj    d|ƒt.||||| ƒs…|
t/kr…t0|||ƒq…nt1||||ƒ|r´t2||d|ƒn|S(sôGM¹¥»÷³Ç³Ø
    @param curCityID: ¹¥»÷·½³Ç³ØID
    @param tagCityID: ·ÀÊØ·½³Ç³ØID
    @param atkCntTotal: ´óÓÚ0ʱָ¶¨×ܹ¥»÷´ÎÊý
    @param hurtValueTotal: ´óÓÚ0ʱָ¶¨×ÜÉ˺¦
    @param atkMemberID: ·¢Æð¹¥»÷µÄ³ÉÔ±ID£¬Èç¹ûΪ0ÔòËùÓгÉԱƽ̯¹¥»÷
    s²»Äܹ¥»÷×Ô¼ºµÄ³Ç³ØNs¹¥»÷·½²»´æÔÚ:%ss±»¹¥»÷·½²»´æÔÚ:%ssÎÞ¹éÊô¹«»á³Ç³Ø²»ÄÜ·¢Æð¹¥»÷svGM¹¥»÷³Ç³Ø: zoneID=%s,batType=%s,groupNum=%s,curCityID=%s,tagCityID=%s,atkCntTotal=%s,hurtValueTotal=%s,atkMemberID=%siis<°´×Ü´ÎÊý¹¥»÷: atkCntTotal=%s,remainHurtTotal=%s,atkMem=%s,%ss-°´×ÜÉ˺¦¹¥»÷: remainHurtTotal=%s,atkMem=%s,%ss<¼ÆËãGM¹¥»÷³Ç³Ø: tagCityID=%s,cityHP=%s/%s,remainHurtTotal=%ss,    GM¹¥»÷ÐÞÂ޳ǷÀ±¬: zoneID=%s,tagCityID=%ssM    tagGuardID=%s,remainHurtTotal=%s,lostHP=%s,hpBef=%s/%s,hpUpd=%s,cityHP=%ssG        remainHurtTotal=%s,killCnt=%s,atkReportDict=%s,defReportDict=%ss cityHP=%s/%s,atkedGuardIDList=%ss¹¥»÷·½³ÉÔ±Êä³ö: memID=%s,%sR°R¤sA    ¹¥»÷·½¹«»á³Ç³ØÒѱ»´Ý»Ù£¬²»ÔÙÀÛ¼Ó±¾ÂÖ¹«»áÉ˺¦°ñÖµ! familyID=%sRp(3RCR8R9R+RôR²RŠRR•R,RaR)R;R:RRlRÚR    ttimeRRR'RR*RRR.RR@RúRÙRRR R‹RTRrR¹RºtUpdatePlayerBillboardByIDRÑR!R&RRRtCheckXiuluoCitytAtkType_NormalRœRDRd(*RERR0RRRRRRåRR t
gmPlayerIDR¶R>R°tcurCityRt curFamilyIDt tagFamilyIDt curJoinFamilytremainHurtTotalt memHurtDictt atkMemIDListt remainAtkCnttatkMemIDt    atkMembertmemHurttkillCnttcurTimetatkedGuardIDListRttagGuardthpBeftlostHPt tagJoinFamilyRR—RÇRÈtplayerRoundHurtTotalRættopHurtPlayerValue((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRõÇsâ                   '
      &     
##  
                      &
   
      %       cCs/tƒ}|j|ƒ}tjddƒ}||kr:dS|j||ƒ}|sVdS|jtƒ}    |    rodSd}
xC|jjƒD]2} | j    ƒrq…n|
d7}
|
dkr…dSq…Wt
j d||||f|ƒtj ddƒ} tj ddƒ} |j t| d| d    tƒt|||ƒtS(
NR1iiisNÊ£ÏÂÒ»¸ö¹«»áδ±»´Ý»Ù£¬Ë¢ÐÂÐÞÂÞ³Ç! zoneID=%s,curRound=%s,batType=%s,groupNum=%siiRR™(R8R9R4R˜R²RŠRúR„RkR'R+RÙR7R›R%Rœ(RR0RRRFR¶R>tappearRoundListR°t
xiuluoCitytaliveFamilyCntRt xiuluoCityLVR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRXs0      
  c
CsÓ|jƒ} | rˆ|tkrˆtjd|||f| ƒ|tkrit|||||| d|ƒqˆt|||| |d|ƒn| r¹|tkr¹t|||| ||    |
ƒnt||||| ƒdS(Ns'¹¥³ÇÕ½¹¥»÷ʧ°Ü: atkRet=%s:%s,atkType=%sRB(RCt    AtkRet_OKR+R2RRDRœR( tatkRetterrMsgRER RRR0RRRRt atkPlayerID((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytSendFamilyGCZAtkResultts  "c%Cs¥tƒ}|j|ƒ}    |    j||ƒ}
|
s4dSg} |dkrR|g} nntjƒ} |
j} x6| D].}| j|ƒ}|sqnn| j|ƒqnWt    j
d|||| f|ƒ| sÊdSg}d\}}t ||ƒ}t j ƒ}|jtj||ƒ}|jƒ}|jƒr‚|jdƒ}|jƒ}|    j|ƒ}|r‚|j}||kr|j|ƒqq‚n|
jƒd}d}|rÞ||krº|j|ƒn|    j|ƒ}|rÞ|j}qÞntjƒ}||_||_||_||_||_ ||_!|t"kré|ré||krN|j|ƒn||_#||_$||_%g|_&x_|j'ƒD]Q\}}tj(ƒ}||_)|t*j+|_,|t*j+|_-|j&j|ƒqWt.|j&ƒ|_/n|
j0ƒ} g|_1xÖ| D]Î}|
j2|ƒ}!|!s&qntj3ƒ}"||"_)|!j4|"_5|!j|"_6|j7|!jdƒ|"_8|!j9t*j+|"_:|!j9t*j+|"_;|!j<t*j+|"_=|!j<t*j+|"_>|!j?|"_@|j1j|"ƒqWt.|j1ƒ|_Ag|_BxŠ|D]‚}|    j|ƒ}#|#sqùntjCƒ}$||$_D|#jE|$_F|#jG|$_H|#jI|$_J|#jK|$_L|#j|$_6|jBj|$ƒqùWt.|jBƒ|_MtjN| |ƒdS(Ns>Sync_FamilyGCZBatSceneInfo zoneID=%s,batType=%s,groupNum=%s,%si(ii(OR8R9R²R3R}R~RˆRR;R+R,R´RÎRRÐRÑR"tGetIDOrderDictRÕRÖRpR•R\RR:RtChPyNetSendPackttagSCFamilyGCZBatSceneInfotBatTypetGroupNumt TopFamilyIDt TopLeaderIDt TopPlayerIDtTopPlayerFamilyIDRt AtkPlayerIDtAtkTypetKillCnttHurtListR‹ttagSCFamilyGCZBatSceneHurttCityIDRrR¹t    HurtValuet HurtValueExRÚtHurtCntR‘tCityListRŠttagSCFamilyGCZBatSceneCityRtCityLVtFamilyIDRltRankRtHPtHPExRtHPMaxtHPMaxExRt LastAtkedTimetCityCnttPlayerInfoListttagSCFamilyGCZBatScenePlayertPlayerIDRNtNameROtJobRQtFaceRRtFacePict    PlayerCnttSendFakePackToPlayerList(%RRRR<R RRRBR¶R>R°R€RtnotifyPlayerIDListRFREtsceneShowPlayerIDListt topFamilyIDt topLeaderIDRÃR#troundHurtBillboardt idOrderDictttopFamilyBillboardt    topFamilyRŽttopPlayerFamilyIDt    topMembert
clientPackRRŒthurttsyncCityIDListRcR“R—t scenePlayer((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRœ†sÀ                                                                                                       c    Cs    tƒ}    |    j|ƒ}
|
j||ƒ} | s4dS| j|ƒ} | sMdSg} |dkrk|g} nqtjƒ}| j}x6|D].}|j|ƒ}|s¨q‡n| j    |ƒq‡Wt
j d|||||f|ƒ| sædS| j ƒ}| j |ƒr | j}n|
j|ƒ}d\}}|rD|j|j}}ntjƒ}||_| j|_| j|_||_|tj|_|tj|_|tj|_|tj|_||_ ||_!||_"|tj|_#|tj|_$tj%| |ƒdS(NsGSync_FamilyGCZBatCityInfo zoneID=%s,batType=%s,groupNum=%s,cityID=%s,%si(ii(&R8R9R²RŠR3R}R~R RR;R+R,R(R*RR:RRR?ttagSCFamilyGCZBatCityInfoRLRRRRRStGuardIDRrR¹RURVRWRXRGtAtkRetRIRMRNRc(RRRRR:R<t    hurtValueR,RBR¶R>R°RcR€RRdRFREtguradIDtcurGuardtguardHPt
guradHPMaxRn((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRDøsZ                                          cCs·|jƒ}tƒ}|j|ƒ}|s.dStjƒ}g|_xK|jjƒD]:\}}tjƒ}||_    ||_
|jj |ƒqSWt |jƒ|_ tj||ƒdS(N(RCR8RÈR?ttagSCFamilyGCZContributionInfot
ContriListRbR‹ttagSCFamilyGCZContributionR]tContributionValueR;RÚt    ContriCntR}t SendFakePack(RERFR¶R–RnRtvaluetcontri((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt$__clientServer_QueryContributionInfo-    s                   c    CsQtƒ}|j|ƒ}|s"dStjƒ}||_g|_xe|jjjƒD]Q\}}tj    ƒ}||_
|t j |_ |t j |_|jj|ƒqSWt|jƒ|_g|_xe|jjjƒD]Q\}}tj    ƒ}||_
|t j |_ |t j |_|jj|ƒqÖWt|jƒ|_tj||ƒdS(N(R8RÇR?ttagSCFamilyGCZBatReportRSt
DefRepListRcRR‹ttagSCFamilyGCZBatRepHurtt TagFamilyIDRrR¹RMRNR;RÚt    DefRepCntt
AtkRepListRt    AtkRepCntR}R(    REt repFamilyIDR¶t    repFamilyRnR#RutdefReptatkRep((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt__clientServer_QueryBatReport@    s0                           c Cstƒ}|j|ƒ}|j|ƒ}|s1dStjƒ}||_g|_xŒ|jjj    ƒD]x\}}|j
|ƒ}    tj ƒ}
||
_ |    r¡|    j nd|
_|tj|
_|tj|
_|jj|
ƒqbWt|jƒ|_tj||ƒdS(NRK(R8R9R•R?t$tagSCFamilyGCZGroupFamilyMemHurtInfoRSt HurtMemListRcRR‹R:t tagSCFamilyGCZGroupFamilyMemHurtR]RNR^RrR¹RMRNR;RÚt
HurtMemCntR}R( RERR#R¶R>R–RnRR€R—R+((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt&__clientServer_QueryGroupFamilyMemHurt^    s&                  c Cs¢d}g}t|||ƒ\}}x0|jƒD]"\}}    ||    kr1|}Pq1q1W|r˜tjdi|d6|d6tƒ}
|
r˜|
jƒ}q˜n||fS(NitActGuesst
TemplateIDtAwardID(t__statGuessFinalR‹R4tGetIpyGameDataByConditionR&tGetAwardItemList( RRtguessTemplateIDRFt playerAwardIDt awardItemListRæR©tawardIDtrightPlayerIDListR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytGetGuessAwardInfou    s #cCs[tj|ƒ}|sdStƒ}|j|ƒ}|js>dStjd|ƒtjƒ}xù|jjƒD]è}|dkrƒqkn|j    |ƒ}|sžqkn|j
}|j }    t j |ƒ}
|
rÑ|
jƒnd} tj| ƒ} |jtdtƒ@sÌ|jtdtƒB|_|jtj|ƒ} | jƒ}|j|dƒ}d}|jƒ}tj||||||    ƒ}|rÌ| r¬|g}tjd|||d| ƒqÉtjd||f|ƒqÌn|jtdtƒ@s²|jtdtƒB|_|jtj|ƒ} | jƒ}|j|dƒ}d}|j ƒ}tj||||||    ƒ}|r²| r’|g}tjd|||d| ƒq¯tjd    ||f|ƒq²n|jtdt!ƒ@sk|jtdt!ƒB|_|j"ƒ}t#|d||ƒ\}}|rS| r9g}tjd
|||d| ƒqPtjd ||ƒqSqkqkWdS( Ns'¹«»á¹¥³ÇÕ½Óʼþ²¹·¢Î´ÁìÈ¡½±Àø: zoneID=%si'iitFamilyGCZAwardHurtR\s8²¹·¢¹¥³ÇÕ½¸öÈ˽±ÀøÊ±ÕÒ²»µ½Íæ¼Ò»º´æÇø·þID! billRank=%s,%stFamilyGCZAwardScores8²¹·¢¹¥³ÇÕ½¹«»á½±ÀøÊ±ÕÒ²»µ½Íæ¼Ò»º´æÇø·þID! billRank=%s,%stFamilyGCZAwardGuesss,²¹·¢¹¥³ÇÕ½¾º²Â½±ÀøÊ±ÕÒ²»µ½Íæ¼Ò»º´æÇø·þID! %s($R+RMR8R9R£RÙRÎRR‰R:RRMR=R>R4tGetMainServerIDRUtpowtAwwardType_PlayerHurtRÐRÑR!R>RlR3tGetPersonalTempIDtGetActBillboardTempAwardt
PlayerMailt SendMailByKeyR2tAwwardType_FamilyScoreR tGetFamilyTemplIDtAwwardType_GuesstGetGuessTempIDRŸ(RRR^R¶R>R#RFR—RRMt    viewCacheR`R\tbillObjt
idRankDicttbillRankt    billValuetawardTemplateIDtplayerAwardItemListt    paramListRæRœ((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR†    sp                                 cCs+tjtjtjƒ}|s"dS|jtjƒ}|jtjƒ}| sT| rXdStj|ƒ}|sqdSt    ƒ}|j
|ƒ}|j s–dSt ||ƒ}    |    s¯dSg}
|rÓ|j j|gƒ}
n|jƒ} t||| ƒ\} } tjƒ}||_|
|_t|jƒ|_| |_t|jƒ|_g|_xN| jƒD]@\}}tjƒ}||_t|ƒ|_|jj|ƒqXWt|jƒ|_g|_xK|j jƒD]:\}}tj ƒ}||_!||_"|jj|ƒqÇWt|jƒ|_#t$j%|    |ƒdS(N(&R+R:RÑRR;RlR<RLtGetActTypeIpyDataByCfgIDR8R9R§tGetGCZSyncCrossPlayerListR¨R­R—R?ttagSCFamilyGCZGuessInfoR]tSelectFamilyIDListRÚt    SelectCnttFinalFamilyIDListtFinalCntt RightInfoListR‹ttagSCFamilyGCZGuessRightR–tRightPlayerCntR;tRightCnttGuessFamilyListttagSCFamilyGCZGuessFamilyRSt
GuessValuet    FamilyCntR}Rc(RREtselectPlayerIDRARRGR^R¶R>R€tselectFamilyIDListRštfinalFamilyIDListR©RnRRžtrightRt
guessValuet familyGuess((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRÕ    sX                                            c    Csštƒ}|j|ƒ}|jdkrC|j}|j}||fSg}i}|dkrq|tkrq||fStjddƒ}tj    ƒ}|j
t j |ƒ}    xRt |    jƒƒD]>}
|    j|
ƒ} |j| jƒƒt|ƒ|kr·Pq·q·Wtj|ƒ} tjd|||| fƒi}x9|jjƒD](\} }tj| ||| |dƒq;Wtjd||fƒ||_||_||fS(NRæisL¹«»á¹¥³Çսͳ¼Æ¾º²Â½á¹û: zoneID=%s,guessTemplateID=%s,finalFamilyIDList=%s,%st    FamilyGCZs!    zoneID=%s,statGuessRetDict=%s(R8R9R©R3RªRR4R7RÎRRÐRÑR R!RÕRÖR;RpRÚR+tGetActGuessRightRankAwardIDDictRÙR¨R‹tStatActGuessRet(RRRšR¶R>R©RÇt guessCountMaxR#RèR¯RÜtrightRankAwardIDDictRFR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR—
s6            
 
          cCs~|r |gSg}tjƒ}xX|jƒD]J}|j|ƒ}|sMq,nt|ƒd|kriq,n|j|ƒq,W|S(Ni(R}R~tGetPlayerIDListRR R;(RRER€RRF((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR·4
s cCsPtjtjtjƒ}|s"dS|jtjƒ}|jtjƒ}| sT| rXdStj    d|ƒ}|stdSt
||ƒ}|sdSt j ƒ}tj ƒjƒ|_||_|jtjdƒ|_|jƒ|_|jƒ|_||_g|_|tkr*tƒ}|j|ƒ}    x|    jƒD]ó}
|    j|
ƒ} | sQq0nt jƒ} |
| _| j | _!| j"| _#| j$| _%| j&| _'| j(| _)| j*t+j,| _-| j*t+j,| _.| j/| _0| j1| _2|    j3| j0ƒ} | r| j4| _5| j6| _7n|jj8| ƒq0Wnt9|jƒ|_:t;j<||ƒdS(NREi(=R+R:RÑRR;RlR<RLR4R5R·R?ttagSCFamilyGCZActInfoR7R4t CrossServerIDtZoneIDt    ActKey_IDtActIDt GetStartDatet    StartDatet
GetEndDatetEndtDatetCfgIDt ActFamilyListR%R8R9R³R•ttagSCFamilyGCZActFamilyRSR[R^RStLVR`tServerIDR^tEmblemIDR_t
EmblemWordRRrR¹t
FightPowert FightPowerExR\tLeaderIDR]t
LeaderNameR:RQt
LeaderFaceRRt LeaderFacePicR;RÚt FamilyCountR}Rc(RRERARRGRR€RnR¶R>RR–t    actFamilyt    leaderMem((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR F
s^                               cCs­tjtjtjƒ}|s"dS|jtjƒ}|s>dSt|ƒ\}}|sZdSt||ƒ}|ssdSt    ƒ}|j
|ƒ}t j ƒ}    |j |    _g|    _xØ|jjƒD]Ç\}
} t jƒ} |
| _g| _xx| jƒD]j} |j|
| ƒ}|sqónt jƒ}| |_|jƒ|_t|jƒ|_| jj|ƒqóWt| jƒ| _|    jj| ƒq¼Wt|    jƒ|    _t j!||    ƒdS(N("R+R:RÑRR;RlR<RR·R8R9R?ttagSCFamilyGCZBatGroupInfoR¥tRoundNumtBatListR¤R‹ttagSCFamilyGCZBatRAt    GroupListR‰R²ttagSCFamilyGCZBatGroupRBR”t FamilyIDListRÚt FamilyIDCntR;tGroupCntt
BatTypeCntR}Rc(RRERARR0RæR€R¶R>RnRR¯tbatInfoRR°tgroup((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR„
sF                        cCs¯|s
dStjtjtjƒ}|s,dS|jtjƒ}|tkrNdStƒ}|j    |ƒ}|j
|ƒ}|sdS|r‘|g}    n |j ƒ}    |    s§dSt j ƒ}
|
jƒ||
_|j|
_|j|
_|jj|
_|jjtj|
_|jjtj|
_|jjtj|
_|jjtj|
_|jjtj|
_ |jjtj|
_!g|
_"x«|j#j$ƒD]š\} } t j%ƒ} | | _&| jddƒ| _'| jddƒ| _(| jddƒ| _)| jddƒ| _*| jddƒ| _+|
j"j,| ƒqŠWt-|
j"ƒ|
_.g|
_/xC|j0D]8}|dkrq||krqqMn|j2|ƒ}|sŒqMnt j3ƒ}||_4|j5|_6|j7|_8|j9|_:|j;|_<|j=|_>|j?tj|_@|j?tj|_A|jtj|_ |jtj|_!|jtj|_|jtj|_|jBtj|_C|jBtj|_D|
j/j,|ƒqMWt-|
j/ƒ|
_EtFjG|    |
ƒdS(NRiRRÏRjR•(HR+R:RÑRR;RlR<R%R8R9R•R‚R?ttagSCFamilyGCZCampInfotClearRSRWtCampLVRXtCampExpRcRRRRRrR¹tHPBasetHPBaseExRRWRXRRURVt RoundInfoListRYR‹ttagSCFamilyGCZCampRoundRëRARBRTtScoret UpdownStateR;RÚtRoundCntt
DefMemListRaR3R:ttagSCFamilyGCZCampMemR]RNR^RMtFamilyLVROR_RQR`RRRaRRáRâRTt    TotalHurtt TotalHurtExt    DefMemCntR}Rc(RRRERpRARR¶R>R–R€RnR¥RntroundObjRFR—tdefMem((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRd¯
s†        
                             cCsNtjƒj|ƒ}t|ƒ}|dkr1dStj||||dƒdS(Nis%PlayerActFamilyGCZ.__OnFamilyGCZQuery(R+tGetPlayerManagertGetPlayerByIndextGetGCZCrossServerIDR}tPyPackForwarding(R¯t
clientDatattickt    curPlayerR9((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytOnFamilyGCZQuery s   cCsk|jƒ}|j}|j}|j}|j}    tƒ}
|
j|ƒ} | sRdS| j} |
j| ƒ} |dkrƒt    |ƒnä|dkr¥| j
|||ƒnÂ|dkrÁ| j
|ƒn¦|dkræ| j ||||    ƒn|dkr| j |ƒne|dkr3|    r|    n| j }t ||ƒn4|dkrg|    rK|    n| j }t|| |ƒndS(Niiiiiii(RCt    QueryTypeRARBRSR8RÉRR9R‚R½R¿RRŽR“(RER RRt    reqDataExRFt    queryTypeRRR#R¶R—RR>RŠ((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt__OnFamilyGCZQuery s8                                 cCsatjtjtjƒ}|r]t|ƒ}| r]|jtjƒr]t|ƒt    |ƒq]ndS(N(
R+R:RÑRR;t!__CheckPlayerFamilyGCZByMapServerRlR<tSync_FamilyGCZPlayerInfotSync_FamilyGCZSQInfo(RRAtisReset((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt OnPlayerLogin8 s 
cCsn|tjkrdStjƒ}xHt|jƒƒD]4}|j|ƒ}tj|ƒs\q2nt|ƒq2WdS(N(    RÑR;R+R    txrangetGetPlayerCountR
tIsNormalPlayerR(tactNumt playerManagerR¯R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytRefreshActFamilyGCZInfoD s c
CsL|jƒ}|jtjƒ}|jtjƒ}tjtjtj    ƒ}|j
tj dƒ}|j
tj dƒ}|j
tj dƒ}||krõtjd||f|ƒt||ƒt|ƒ\}}    |rñ||krñt|||ƒndStjd|||f|ƒt||||ƒt||ƒtjt|ƒ|ƒtS(Nis3¹¥³ÇÕ½»î¶¯ID²»±ä£¬²»´¦Àí£¡  playerActID=%s,state=%ss4¹¥³ÇÕ½»î¶¯Íæ¼ÒÖØÖÃ! actID=%s,playerActID=%s,state=%s(RCtNomalDictGetPropertyRrtDef_PDict_FamilyGCZIDtDef_PDict_FamilyGCZRoundNumR+R:RÑRR;RlRÔRLR<R,t__checkUpdJoinServerIDRt__doPlayerRoundChanget__doPlayerFamilyGCZResettChPlayertSyncOnlinePlayerToCrossR R%(
RRFt playerActIDtplayerRoundNumRAtactIDRGRR¥Ræ((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRQ s&    cCsŽ|s
dS|tkr'tjdƒdS|jtjƒ}|rTtjd|ƒdStj|ƒ}tj|tj|ƒtjd|ƒdS(Ns    ¹«Ê¾ÆÚ¼ä²»Ëø¶¨²ÎÓëÇø·þIDs$    ÒÑËø¶¨²ÎÓëÇø·þID! gczServerID=%ss"    Ëø¶¨²ÎÓëÇø·þID! gczServerID=%s(    R%R+R,R RrtDef_PDict_FamilyGCZServerIDt PlayerControlR3tNomalDictSetProperty(RRR8((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR#l s  cCs¤|jƒ}tj|tj|ƒtj|tjdƒtjddƒ}tj    d|||f|ƒ|dkr–t
||j tj ƒ|t ƒnt|ƒdS(NitFamilyGCZEnergyisF    ¹¥³ÇÕ½»î¶¯Íæ¼ÒÂִαä¸ü! playerRoundNum=%s,roundNum=%s,addEnergy=%s(RCR,R-RrR"t"Def_PDict_FamilyGCZContributionCntR4R7R+R,t    SetEnergyR tDef_PDict_FamilyGCZEnergyR&R(RR)R¥RFt    addEnergy((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR${ s  #
cCsCtj|tj|ƒtj|tjdƒtj|tjdƒtj|tjdƒtj|tjdƒtj|tjdƒtj|tj    dƒtj|tj
dƒd}t j ƒ}x>t |jƒƒD]*}|j|ƒ}td|jƒƒ}qÕWxOt d|dƒD]:}tj|tj|dƒtj|tj|dƒqWx-t jddƒD]}    tj||    dƒqhW|r?tj|ƒ}
|
rê|
jƒ} tj|d| ƒ|
jƒ} | rêtj|| gƒqênt jddƒ} tj|tj| ƒtj|tj
dƒt |ƒt!|ƒnt"S(Niit FamilyGCZItemitFamilyGCZRecycleItemtActFamilyGCZResetR.(#R,R-RrR!R+R"R/R1tDef_PDict_FamilyGCZEnergyTimetDef_PDict_FamilyGCZAwardStatetDef_PDict_FamilyGCZSQLayerR4tIPY_DataR!tGetActFamilyGCZSQCounttGetActFamilyGCZSQByIndexR@t
GetGridCnttDef_PDict_FamilyGCZSQGridItemIDt Def_PDict_FamilyGCZSQGridItemCntR˜t ItemControlert RecycleItemR+R¶t GetCTGIDListt
PlayerCointDoResetCTGCountByIDListtGetActShopTypetFunctionNPCCommontResetShopItemBuyCountByShopTypeR7RRR%(RRR*RGt
gridCntMaxt
ipyDataMgrR¯RtgridNumtitemIDR^tresetCTGIDListtshopTypet    maxEnergy((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR%‡ s@   
 c    Csº|jtjƒsdS|jtjƒ}tjddƒ}|jtjƒ}||kr’|rŽtjdƒt    j
|tjdƒt |ƒndSt t j ƒƒ}||}| sÁ|dkrë|}t    j
|tj|ƒt |ƒdStjddƒd}|s dS||}|dkr%dSt    j
|tj|ƒt|||ƒ}tjd|||||f|jƒƒ||kr©tjdƒt    j
|tjdƒnt||ƒdS(    NR.is¹¥³ÇÕ½ÌåÁ¦ÒÑÂú!iii<s@ʱ¼ä»Ö¸´¹¥³ÇÕ½ÌåÁ¦: passTime=%s(%s-%s),addEnergy=%s,updEnergy=%ssÒÑÂú!(R RrR!R1R4R7R6R+R,R,R-RR    RRqRCR0(    Rt    curEnergyRMtlastTimeR-tpassTimet needSecondsR2t    updEnergy((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt    OnProcess´ sB   
 
 
         cCsWtjddƒ}t|t|dƒƒ}tj|tj|ƒ|rSt|ƒn|S(NR.ii(    R4R7RqR@R,R-RrR1R(Rt    setEnergyRgRMRR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR0Û s  cCsp|jtjƒ}|s*tj|ƒ}ntjtj|ƒd}|dkrlt    j
d||j ƒƒn|S(Nis0Íæ¼Òµ±Ç°Ã»Óй¥³ÇÕ½»î¶¯ËùÊô¿ç·þID! gczServerID=%s( R RrR+R,R3R5R6RÑRR+RÙRC(RR8R9((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyR å s c    Cs§tjƒj|ƒ}|j}|j}t|ƒ}|dkrCdS|dkrat||ƒ}n t|ƒ}|swdSi|d6}tj    ||||dd|ƒdS(NiiRvs,PlayerActFamilyGCZ.__OnFamilyGCZContributionR(
R+R    R
tContributionTypetUseCountR t__doContiributionHight__doContiributionLowR}R (    R¯R RRtcontributionTypetuseCountR9RvR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytOnFamilyGCZContributionø s             c CsÛ|j}|j}|s!i}n|jddƒ}|jƒ}tƒ}    |    j|ƒ}
|
sqtjd|ƒdS|
j} |    j    | ƒ} | s§tjd| |ƒdStj
d| |||f|ƒ| j ||ƒdS(NRvis·Ç¹¥³ÇÕ½²ÎÈü³ÉÔ±ÎÞ·¨¼Ó¾­Ñé!s'·Ç¹¥³ÇÕ½²ÎÈü¹«»áÎÞ·¨¼Ó¾­Ñé! familyID=%ssG¹¥³ÇÕ½¼Ó¾­Ñé! familyID=%s,contributionType=%s,useCount=%s,addCampExp=%s( RURVRlRCR8RÉR+R2RRÇR,R|( RER RRRRYRZRvRFR¶R—RR–((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt__OnFamilyGCZContribution s&                      c
 
Cs||jƒ}tjddƒ}tjddƒ}| s>| rBdSt|ƒ}|jtjƒ}||krŠtj    d||f|ƒdS||}| s´t
j |||dƒ r¸dS|d7}t
j |tj|ƒt |ƒtjddƒ}tjddƒ}tj|ƒ}    tj    d||||||    f|ƒ|    rxt|    ƒdkrxtj||    gd    d
tigƒn|S( NtFamilyGCZContributionLowiis2¹¥³ÇÕ½ÒÑ´ï±¾ÂÖ×î´óµÍ¼¶¾èÏ×´ÎÊý! contriCnt=%s >= %sRËiisW¹¥³ÇÕ½µÍ¼¶¾èÏ×: moneyType=%s,costMoney=%s,contriCnt=%s/%s,addCampExp=%s,randItemInfo=%steventtFamilyGCZContiribution(RCR4R7R˜RÚR RrR/R+R,R,tPayMoneyR-RtGetResultByWeightListR?tGivePlayerItemOrMailR&(
RRFt    moneyTypet costMoneyListtmaxCntt    contriCntt    costMoneyRvtrandItemWeightListt randItemInfo((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRX% s0   
 
 
    %c Csz|jƒ}tjddƒ}|dkr.dStj|||ƒ\}}}|||}|dkrtjd|||||f|ƒdStj|||||dƒtjddƒ|}tjddƒ}    g}
xKt    |ƒD]=} tj
|    ƒ} | rät | ƒdkrä|
j | ƒqäqäWtjd||||
f|ƒ|
rvt j|tj|
ƒd    dtigƒn|S(
NtFamilyGCZContributionHighiisX¹¥³ÇÕ½¸ß¼¶¾èÏ×ÏûºÄµÀ¾ß²»×ã! costItemID=%s,useCount=%s,bindCnt=%s,unBindCnt=%s,lackCnt=%sR_iisH¹¥³ÇÕ½¸ß¼¶¾èÏ×: costItemID=%s,useCount=%s,addCampExp=%s,awardItemList=%sR^(RCR4R7t
ItemCommontGetPackItemBindStateIndexInfoR+R,tDelCostItemByBindR˜R!RaRÚR;R?Rbt MergeItemListR&( RRZRFt
costItemIDtcostItemIndexListtbindCntt    unBindCnttlackCntRvRhRœRæRi((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRWB s.           +c
    CsTtjƒj|ƒ}|j}|jƒ}t|ƒ}|dkrFdSd}d}|tkrÎ|jtj    ƒ}|dkrqt
j ddƒ}|s›dSt j ||tjƒstjd||ƒdSnLt
j ddƒ}|sêdSt j ||tjƒstjd||ƒdSi|d6|d6}    tj||||d    td
|    ƒdS( Nit FamilyGCZAtkis ¹¥³ÇÕ½ÆÕ¹¥µÀ¾ß²»×ã! useItemID=%sis ¹¥³ÇÕ½¼¼ÄܵÀ¾ß²»×ã! useItemID=%st    useItemIDRNs#PlayerActFamilyGCZ.__OnFamilyGCZAtkR(R+R    R
RHRCR RR RrR1R4R7RktFindItemInPackByItemIDt IPY_GameWorldtrptItemR,R}R R%(
R¯R RRR RFR9RuRNR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytOnFamilyGCZAtkl s6         "c>Cs! |j}|j}|j}|s*i}n|jddƒ}|jddƒ}    |jƒ}
tjd||||f|
ƒtjtj    tj
ƒ} | s©tj dƒdS| jtj ƒ} | sÅdSt | ƒ\} }| sð| r|tkrtj d| | |f|
ƒdStƒ}|j|
ƒ}|sCtj d|
ƒdS|j}|j}|j|ƒ}|s‚tj d||
ƒdS|j|j}}|j}|j}|j|ƒ}|j||ƒ}|sìtj d    ||f|
ƒdSd
}g}|tkrÄtjd d ƒ}tjd d ƒ}d2\}}x^|jjƒD]M}||kr\qDn|j|ƒ}| sD|j ƒr„qDn|j!|ƒqDWt"|ƒ|krÂt#j$|ƒ|| }qÂnþ|t%kržtjd d ƒ}| sõ||krt&t'd||||| ||ƒ    dS|j|ƒ}|sVt&t'd||||| ||ƒ    dS|j ƒrˆt&t(d||||| ||ƒ    dSd}|j!|ƒn$tjd d
ƒ}| sÊ| sÊ||krðt&t'd||||| ||ƒ    dS|j|ƒ}|s+t&t'd||||| ||ƒ    dS|j ƒr]t&t(d||||| ||ƒ    dS|j)ƒ|krµtjd|j)ƒ|j*fƒt&t+d||||| ||ƒ    dS|j!|ƒ|sît&t'd||||| ||ƒ    dS|j,}||} }!t"|ƒd
kr*|!t"|ƒ} ntjd||!| f|
ƒt-t.j.ƒƒ}"tjddƒ}#i}$d}%xó|D]ë}| s~|j ƒrq~nd}&|j}| }'g}(tjd||j/|j0| |#|j*f|
ƒx|j ƒ rìt"|(ƒ|#krì|'dkrì|j*d})|j1|)ƒr=|j2}*n|j3|)ƒ}*|* s_|*j4ƒro|j5ƒqên|(j!|)ƒ|"|_6|*j/}+t7d|+|'ƒ|*_/|+|*j/},t7d|j/|,ƒ|_/|t8kr|j/dkrd
|_/d
|*_/|'},tj9d||f|
ƒntjd|)|'|,|+|*j0|*j/|j/f|
ƒ|'|,8}'|j:j|dƒ|,|j:|<|j;j|dƒ|,|j;|<|*j4ƒrÃ|&d
7}&|%d
7}%|j5ƒntjd|'|&|j:|j;f|
ƒqêW|(sùq~n| |$|<|jrJ|j<|jƒ}-|-r1t=|-ƒnt>||jd|(ƒnt?||||t@|
| |&ƒq~W|$s™t&t'd||||| ||ƒ    dS|rÓtjd||
ƒtAjB|d did
|6ƒnM|    dkr     |    d
}.tjd |    |.f|
ƒtAjC|i|.tDjE6ƒng}/|tFkrb    |rM    tjGd!dƒ}/q‰    tjGd!d
ƒ}/n'|t%tgkr‰    tjGd!d ƒ}/ng}0tjd!d ƒ|%}1tjGd!d"ƒ}2xHtH|1ƒD]:}3tjI|2ƒ}4|4rÄ    tJ|4tKƒrÄ    |0j!|4ƒqÄ    qÄ    Wt"|$ƒ}5tL|$jMƒƒ}6tjd#|5|6|%f|
ƒi|d$6|%d%6|5d&6|6d'6}7tjN|/|0ƒ}8tjd(|8|/|0f|
ƒtAjO||8d)d d*|7ƒ|jP|!7_Ptjd+|jP|
ƒ|jPtDjQ}9|jPtDjQ}:tRjS|
tjT|9|:d,|ƒ|j ƒsá |jUj|
dƒ|!|jU|
<tjd-||
|!|jUf|
ƒt=|ƒ|jU|
};|jVƒ\}<}=|;|=krÁ |jW|
|;ƒtjd.|;|=f|
ƒqõ tjd/|;|=|<f|
ƒntjd0||
ƒt&t@d1||||| |||$|%ƒ tXS(3NRuiRNs4¹¥³ÇÕ½¹¥»÷: atkType=%s,tagCityID=%s,tagGuardID=%s,%ss¹¥·ÀÕ½ÊÕµ½±¨ÃûÊý¾ÝʱÎ޻s4¹¥³ÇÕ½·Ç¹¥»÷½×¶Î: state=%s,curRound=%s,roundState=%ss·Ç¹¥³ÇÕ½²ÎÈü³ÉÔ±!s·Ç¹¥³ÇÕ½²ÎÈü¹«»á! familyID=%ss(¹¥³ÇÕ½·Ö×é²»´æÔÚ! batType=%s,groupNum=%siRtiisTagIDError-tagCityIDtGroupNoTagCityt    TagBrokensTagIDError-tagCityID-GuardIDsCurGuardID=%s,fighterIDList=%stTagDeadt
NoAtkedTags2batFightPower=%s,totalHurtValue=%s,oneHurtTotal=%sR0is[¼ÆËã¹¥»÷³Ç³Ø: tagCityID=%s,cityHP=%s/%s,oneHurtTotal=%s,oneCanAtkDefMax=%s,fighterIDList=%ss%    ÐÞÂ޳ǷÀ±¬: zoneID=%s,familyID=%ssP    tagGuardID=%s,remainHurtTotal=%s,lostHP=%s,hpBef=%s/%s,hpUpd=%s,cityHPUpd=%ssG        remainHurtTotal=%s,killCnt=%s,atkReportDict=%s,defReportDict=%sRptNoHurts    ¿Û³ýµÀ¾ß: useItemID=%st costItemDicts'    ¿Û³ýÌåÁ¦: curEnergy=%s,updEnergy=%stFamilyGCZAtkAwardis0    hurtCnt=%s,hurtValueTotal=%s,killCntTotal=%sR RthurtCntRåsA    giveAwardItemList=%s,fixAwardItemList=%s,killAwardItemList=%st    eventNamet notifyDataExs+    ¸üÐÂÍæ¼Ò»î¶¯×ÜÉ˺¦°ñÖµ! memTotalHurt=%sR¤sH    ¸üб¾ÂÖ¹«»á³ÉÔ±¹±Ï×É˺¦! familyID=%s,playerID=%s,addHurtValue=%s,%ss8    ¸üÐÂΪ±¾×éÉ˺¦µÚÒ»Íæ¼Ò: playerRoundHurtTotal=%s > %ssL    Î´³¬¹ý±¾×éÉ˺¦µÚÒ»Íæ¼Ò: playerRoundHurtTotal=%s <= %s,topPlayerHurtID=%ss?    ×Ô¼º¹«»á³Ç³ØÒѱ»´Ý»Ù£¬²»ÔÙÀÛ¼Ó±¾ÂÖ¹«»áÉ˺¦°ñÖµ! familyID=%stOK(ii(YRHt    TagCityIDt
TagGuardIDRlRCR+R,R:RÑRR;R2R<RR,R8RÉRRRÇRRRcRR9R²R÷R4R7R„R‰RŠR'R;RÚRøRùRöR=t AtkRet_OthertAtkRet_TagBrokenR(RtAtkRet_TagDeadRR    RRRR*RR:RR.RR@RúRÙRRR•R RdRDR9R}tCostPlayerResourcestSetPlayerNomalDictRrR1RR˜R!Rat
isinstancetlistRµRkRntGivePlayerResourcesRTR¹RºRR!RRRR%(>RER RRRR Rt
tagGuardIDRuRNRFRARR0R1R¶R—RRR$RRR!RR>R°R RR ttagCIDRRRRTR-toneCanAtkDefMaxRRR,R%R.RR/R0R1R2RRtfixAwardItemListtkillAwardItemListtkillAwardRandCnttkillAwardWeightListRætrandItemRRåRƒtgiveAwardItemListRÇRÈR3ttopHurtPlayerIDR4((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt__OnFamilyGCZAtk“ sˆ                                            "" """ " " "             &.  
                      )
   
 
     !
     #"  
  "      
      (cCs*|s
dS|jtkr&t|ƒndS(N(RHRR(RR Rh((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt__OnFamilyGCZAtk_Ret s
 cCsNtjƒj|ƒ}t|ƒ}|dkr1dStj||||dƒdS(Nis%PlayerActFamilyGCZ.__OnFamilyGCZGuess(R+R    R
R R}R (R¯R RRR9((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytOnFamilyGCZGuessœ s   cCs£|j}|sdS|jƒ}tjtjtjƒ}|sAdS|jtjƒ}|s]dSt    j
ddƒ}    ||    kr™tj d||    f|ƒdSt |ƒd}
|
s³dSt ƒ} | j|
ƒ} t    jddƒ} ||  }xJ|D]B}|| jkrîtj d|
||| jjƒf|ƒdSqîWx.|D]&}| jj|dƒd| j|<q;W|| j|<tjd|| jf|ƒt|
d|ƒdS(    NRæis(¹«»á¹¥³ÇÕ½·Ç¾º²Â½×¶Î: state=%s not in %siisQ¹«»á¹¥³ÇÕ½¸Ã¹«»áID²»¿É¾º²Â! zoneID=%s,selectFamilyIDList=%s,familyID=%s not in %ss%¹«»á¹¥³ÇÕ½¾º²Â: %s,familyGuessDict=%sRÅ(R¹RCR+R:RÑRR;RlR<R4R˜R2R R8R9R7R§R‰R¨R,R(RER RRRRÆRFRARtcanGuessStateListRR¶R>RÎR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt__OnFamilyGCZGuess¤ s@          
       $ c Csstjddƒ}||kr6tj|d|ƒdStƒ}|j|ƒ}tjddƒ}|| }|s™|jjƒ}    t    j
|    ƒ|    | }nx.|D]&}
|jj |
dƒ||j|
<q Wd} x8|j jƒD]'} | dkrà| | krà| } qàqàWx4t | d| d|dƒD]} ||j | <q+Wtj|d|t|j ƒfƒt|ƒdS(NRæis·Ç¾º²Â½×¶Î!state=%siii'sÐÂÔö¾º²ÂÈËÊý:%s, ×Ü:%s(R4R˜R+RôR8R9R7R§R‰RøRùRlR¨R!RÚR( RERRRéRÆRœR¶R>RÎR’Rt    maxFackIDtpID((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRüÌ s.     
   $ &#
c    Cs§|j}|jƒ}|jtjƒ}|td|ƒ@rXtjd||f|ƒdSt|ƒ}|dkrtdSi|d6}t    j
||||dt d|ƒdS(Nis2¹«»á¹¥³ÇÕ½ÒÑÁìÈ¡¸Ã½±Àø! awardType=%s,awardState=%siRUs&PlayerActFamilyGCZ.__GetFamilyGCZAwardR( tDataExRCR RrR7R¤R+R,R R}R R%(RR Rt    awardTypeRFRUR9R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pytGetFamilyGCZAwardî s        "cCs|s
dSt|ƒdS(N(R(RR Rh((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt__GetFamilyGCZAward_Rets
c    Cs¯|j}|d}|jƒ}tjtjtjƒ}|sAdS|jtjdƒ}    |    t    krztj
d|    |ƒdS|jtj dƒ}
tj |
ƒ} | s¨dSt |ƒd} | sÂdStƒ} | j|ƒ}|r|jtd|ƒ@rtjd||jf|ƒdSnd}d}|tkr€| jƒ}t| |    ||ƒ\}}|swtj
d| |ƒdS|}nu|tkr¡tjddƒ}nT|s»tj
d    |ƒdS|j}|j}|}d}d}d}|tkr|}tj}| jƒ}n.|tkr9|}tj }| j!ƒ}ndS|satj
d
| |f|ƒdSt"j#ƒ}|j$|| ƒ}|j%ƒ}|j|dƒ}|sÇtj
d | |||f|ƒdStj&||||||ƒ}|sïdS|}|r|jtd|ƒB|_n|td|ƒB}t'j(|i|t)j*6ƒtj+d | ||||f|ƒi| d 6|d6|d6|d6}t'j,||ddd|dt-ƒt-S(NRUis¹«»á¹¥³ÇÕ½·ÇÁì½±½×¶Î: state=%sis2¹«»á¹¥³ÇÕ½ÒÑÁìÈ¡¸Ã½±Àø! awardType=%s,awardState=%ss%¹«»á¹¥³ÇÕ½Íæ¼ÒûÓоº²Â½±Àø! zoneID=%sRæis·Ç¹«»á¹¥³ÇÕ½²ÎÈü³ÉÔ±!s8¹«»á¹¥³ÇÕ½Á콱ʱûÓÐÅÅÐн±ÀøÄ£°æ! zoneID=%s,awardType=%ssK¹«»á¹¥³ÇÕ½Á콱ʱûÓÐÉϰñ! zoneID=%s,awardType=%s,billboardType=%s,billID=%ssb¹«»á¹¥³ÇÕ½Íæ¼ÒÇëÇóÁìÈ¡½±Àø! zoneID=%s,awardType=%s,awardValue=%s,updAwardState=%s,awardItemList=%sRR¡t
awardValueRMR‚tFamilyGCZAwardtdrDictt    isForceDR(.R RCR+R:RÑRR;RlR<RR2RLR¶R R8RÉRUR¤R,R¬R­RŸtAwwardType_LikeR4R˜RRMR3R¥R!R¦RªR R«RÎRRÐR>R§R}R‹RrR7RÙRŽR%(RER RRRR¡RURFRARRGR^RR¶R—RMR¤R³R›RœRtbillIDt billboardTypeR²R#R¯R°R±t updAwardStateR¦((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt__GetFamilyGCZAwards˜    
                                         ""c CsÍtjƒj|ƒ}|j}|jƒ}|jtjƒ}|sad}tj    |tjdƒnt
j d|ƒ}|s}dS|j ƒ}|dks¡||kr¿tj d||f|ƒdS|jtj|ƒræt||ƒdSt
jddƒ}    |jƒ}
|     s|
rdS|jƒjtjƒ} tj|    | |
ƒ\} } | smtj d|    |
f|ƒdSd}xQtd|dƒD]<}|jtj|ƒr©q‡n|d7}|dkr‡Pq‡q‡W|dkrëtj|jƒƒ}nd}tj d||ƒ|sîtj|jƒƒ}tj d|||f|ƒ|sGdS|\}}| sa| redStj|| | |
td    ƒtj    |tj||ƒtj    |tj||ƒt j!|||ggd
d t"igƒt||ƒdStj|| | |
td    ƒtj    |tj|t#ƒ|j$ƒ}t j!||d
d t"igƒt||ƒtj d |||f|ƒxUtd|j ƒdƒD]:}tj    |tj|dƒtj    |tj|dƒq“W|d}t
j%d|ƒr%tj d||ƒtj    |tj|ƒt|ƒdS|j&ƒ}tj|ƒ}|rt'|ƒdkr|\}}t j!|||ggd
dt"igƒntj dt(|ƒ|ƒtj    |tjdƒt|ƒdS(NitActFamilyGCZSQs1ʥȪ³é½±²»´æÔڸøñ×Ó±àºÅ! layerNum=%s, gridNum=%sR3s1ʥȪ³é½±µÀ¾ß²»×ã! costItemID=%s, costItemCount=%sis-¹«»á¹¥³ÇսʥȪ³é½±×îºóÒ»¸ñ±Ø¹ý¹Ø! layerNum=%ss<¹«»á¹¥³ÇսʥȪ³é½±Î´¹ý¹Ø! layerNum=%s,gridNum=%s,randItem=%st FamilyGCZSQR^tFamilyGCZSQGridtFamilyGCZSQPasssC¹«»á¹¥³ÇսʥȪ³é½±¹ý¹Ø! layerNum=%s,gridNum=%s,passAwardItemList=%ss    ÏÂÒ»²ã! nextLayerNum=%sitFamilyGCZSQPassAlls*    Ã»ÓÐÏÂÒ»²ãÁË£¬´ÓÍ·¿ªÊ¼! awardItemEx=%s()R+R    R
tGridNumRCR RrR8R,R-R4R5R<R,R=RR7tGetCostItemCnttGetItemManagertGetPackRwRxRktGetItem_FromPack_ByIDR!t    CanHappent GetPassRateRatGetGridWeightItemListt
ReduceItemR%R>R?RbR&t SQPass_ItemIDtGetLayerAwardItemListRutGetLayerWeightItemListRÚR™(R¯R RRRIRFtlayerNumRtgridCntRot costItemCounttitemPackt    hasEnought itemIndexListtemptyCntR¼tisPassR–RJt    itemCounttpassAwardItemListt nextLayerNumtweightItemListt awardItemEx((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt OnFamilyGCZSQ}s˜        
   (        
 
  +
cCsttjƒ}|jtjƒ|_|jtjƒ|_|jtjƒ|_    |jtj
ƒ|_ t j ||ƒdS(N(R?ttagSCFamilyGCZPlayerInfoR RrR/tContributionCntR1tEnergyR6t
EnergyTimeR7t
AwardStatet NetPackCommonR(RRn((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRÞs cCs|jtjƒ}tjd|ƒ}|s.dStjƒ}||_|rU|g}ntd|j    ƒdƒ}g|_
xe|D]]}tj ƒ}||_ |jtj |ƒ|_|jtj|ƒ|_|j
j|ƒq~Wt|j
ƒ|_tj||ƒdS(NR­i(R RrR8R4R5R?ttagSCFamilyGCZSQInfotSQLayerR!R<t
SQGridListttagSCFamilyGCZSQGridR²R=tItemIDR>t    ItemCountR;RÚt    SQGirdCntRÑR(RRIR¾RRnt syncGridListR¼tgrid((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyRçs&                ii((((((ŠRrR+RÊRÑR4RÑR?RºRERR=RwR,R?R}R¨RBRkRÎRiR5RXR&RøRRýtFamilyGCZState_PublicityR%RR)R,R-R!RŸtBatType_JuniortBatType_Middlet BatType_HighRšRtUpdownState_NoneRžR›RœRàRRöR÷R9R‰RˆR‡RúR¬R¥RªR¨R»tobjectRRRJRVRƒRŸRÀR8RùR RRRRRR'R2R RDR&RZR}R*R+R RËR&R¡R.R/R(R´RêRRûRõRR=R3RœRDR‚RŽR“RŸRRR—R·R RRdRRRRRR#R$R%RSR%R0R R[R\RXRWRyR™RšR›RRüR¢R£R¬RËRR(((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActFamilyGCZ.pyt<module>sì                          “rs–N        „    _                        
    &        7    I    [    &    u         O    D                        ç    ‘ r5                    O:    %  > +]    $                       -    '
                *    'ú        (    "        w    a