hzr
2 天以前 c999bc50d37b5371f92ba71b3ab70f6eeb0e5076
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
N”sgc@s ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZdZdZejZejZejZejZ ddId„ƒYZ!ddJd„ƒYZ"ddKd    „ƒYZ#d
dLd „ƒYZ$d dMd „ƒYZ%ddNd„ƒYZ&d„Z'ddOd„ƒYZ(d„Z)d„Z*d„Z+d„Z,d„Z-d„Z.d„Z/d„Z0d„Z1d„Z2d„Z3d„Z4dd„Z6d „Z7e8d!„Z9d"„Z:d#„Z;d$„Z<d%„Z=d&„Z>d'd(„Z?d'e8d)„Z@dd'e8e8d*„ZAddd'd+„ZBdd'dd'deCd,„ZDd-„ZEd.„ZFd/„ZGd0„ZHd1„ZId2„ZJd3„ZKd4„ZLd5„ZMd6„ZNddd'dd7„ZOd8„ZPd9„ZQd:„ZRd;„ZSd<„ZTd=„ZUd>„ZVd?„ZWd@„ZXdA„ZYdB„ZZdC„Z[dddD„Z\ddE„Z]dddF„Z^dddG„Z_idH„Z`dS(PiÿÿÿÿNi@itChampionshipOfficialcBs,eZd„Zd„Zd„Zd„ZRS(cCsVd|_d|_d|_d|_d|_i|_g|_|jƒd|_dS(Ni(    tzoneIDt
officialIDtlastDismissJuniorTimetrankt worshipCounttapplyPlayerInfot challengeListt ResetPlayert worshipDouble(tself((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyt__init__`s                            
    cCsUd|_d|_d|_d|_d|_d|_d|_d|_d|_dS(Nit(    tplayerIDtaccIDt
playerNametjobtlvt
fightPowertrealmLVtfacetfacePic(R
((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRos                                    cCs¸x|jjƒD]ö}tj|ƒ}|ri}tj|ƒ}|jddƒ|d<|jdt|ƒƒ|d<|jddƒ|d<|jddƒ|d<|jddƒ|d<|jd    dƒ|d    <|jd
dƒ|d
<|jd dƒ|d <||j|<qqWi|jd 6|jd 6|j    d6|j
d6|j d6|j d6|j d6|jd6|jd6|jd6|jd6|jd6|jd6|jd6|jd6|jd6|jd6S(NtAccIDR tNametJobitLVt
FightPoweritRealmLVtFacetFacePicRRRRR RRRRRRRRRRRR    (RtkeystPlayerViewCachet FindViewCachetGetCachePropDataDicttgettstrRRRRR RRRRRRRRRRR    (R
t applyPlayerIDtcurCachetplayerShortInfot    cacheDict((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyt    GetString{s&!22cCs1x*|jƒD]\}}t|||ƒq WdS(N(titemstsetattr(R
tattrDicttktv((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytSetAttr‘s(t__name__t
__module__R RR(R.(((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR]s             tChampionshipOfficialZoneMgrcBs#eZd„Zd„Zd„ZRS(cCs||_i|_dS(N(Rt officialInfo(R
R((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR ™s        cCs±d}||jkrM|j|}tjƒr“|jr“t||jƒq“nFtjd|ƒ}|r“tƒ}|j    |_    ||_
||j|<n|s­tj d|ƒn|S(NRs%ÏɹٹÙÖ°Êý¾ÝÐÅÏ¢²»´æÔÚ! officialID=%s( tNoneR2t    GameWorldt IsCrossServerR tUpdCachePlayerInfot IpyGameDataPYtGetIpyGameDataRRRtErrLog(R
Rt officialObjtipyData((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytGetOfficialObjžs          cCs1x*|jjƒD]}|j|kr|SqWdS(N(R2tvaluesR (R
R toffObj((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytGetPlayerOfficial²s(R/R0R R<R?(((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR1–s        tChampionshipGuesscBs#eZd„Zd„Zd„ZRS(cCsCd|_d|_d|_d|_d|_d|_d|_dS(Ni(Rt    guessTypet guessPlayerIDt tagPlayerIDt
moneyTotalt    guessRanktisClose(R
((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR »s                            cCs@i|jd6|jd6|jd6|jd6|jd6|jd6S(NRRARERBRCRD(RRARERBRCRD(R
((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR(Ås!cCs1x*|jƒD]\}}t|||ƒq WdS(N(R)R*(R
R+R,R-((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR.És(R/R0R R(R.(((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR@¸s    
    tChampionshipBatPlayercBs#eZd„Zd„Zd„ZRS(cCs^d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_    dS(NiR (
RRR RRRRRRR(R
((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR Òs                                        cCshi
|jd6|jd6|jd6|jd6|jd6|jd6|jd6|jd6|jd    6|j    d
6S( NRRR RRRRRRR(
RRR RRRRRRR(R
((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR(ßs+cCs1x*|jƒD]\}}t|||ƒq WdS(N(R)R*(R
R+R,R-((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR.ãs(R/R0R R(R.(((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRGÏs         tChampionshipBattlecBs#eZd„Zd„Zd„ZRS(cCsgd|_d|_d|_d|_d|_d|_d|_i|_d|_d|_    d|_
dS(Ni( toverTimeRt    groupMarkt    battleNumt    playerIDAt    playerIDBt winPlayerIDt playerBatDicttroomIDtmapIDt    copyMapID(R
((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR ës                                            cCsTi|jd6|jd6|jd6|jd6|jd6|jd6|jd6|jd6S(    NRIRRJRKRLRMRNRO(RIRRJRKRLRMRNRO(R
((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR(ûs+cCs1x*|jƒD]\}}t|||ƒq WdS(N(R)R*(R
R+R,R-((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR.ÿs(R/R0R R(R.(((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRHès        tChampionshipPKZoneMgrcBsPeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    RS(cCs:||_i|_i|_i|_i|_i|_dS(N(Rt
playerDictt
battleInfot    guessInfotsupportCountInfotsyncGuessPlayerIDInfo(R
R((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR s                        cCsG||jkri|j|<n|j|}|||<||j|<dS(N(RU(R
RJRKtbattlet
battleDict((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyt    AddBattles  
 cCs{d}||jkr>|j|}||kr>||}q>n|s^tjd||fƒn| rwtrwtƒ}n|S(Ns9Î޸ÿç·þÅÅλÕù°ÔÈü¶ÔÕ½³¡´ÎÐÅÏ¢: groupMark=%s,battleNum=%s(R3RUR4tLogtFalseRH(R
RJRKRYRZ((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyt    GetBattles    cCs¡d}||jkrd|j|}x?|jƒD].}||jksS||jkr/|}Pq/q/Wn|s„tjd||fƒn| rtrtƒ}n|S(Ns8Î޸ÿç·þÅÅλÕù°ÔÈü¶ÔÕ½³¡´ÎÐÅÏ¢: groupMark=%s,playerID=%s(    R3RUR=RLRMR4R\R]RH(R
RJR RYRZtbat((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytGetBattleByPlayerID)s    cCs |jjƒS(N(RTR(R
((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytGetBatPlayerIDList:scCsWd}||jkrA|j|}tjƒrAt||ƒqAntrStƒ}n|S(N(R3RTR4R5R6R]RG(R
R t    batPlayer((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyt GetBatPlayer;s   cCsM||jkri|j|<n|j|}||krEg||<n||S(N(RV(R
R RAtplayerGuessDict((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytGetPlayerGuessListGs    cCsg}d}|jj|iƒjƒ}xQ|D]I}|j||ƒ}|sRq.n|jr.|jr.|j|jƒq.q.W|S(Ni(RUR"RR^RIRNtappend(R
ttop8PlayerIDListt preGroupMarkt battleNumListRKtbatObj((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytGetTop8PlayerIDListPs (
R/R0R R[R^R`RaRcReRk(((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRSs                                  cCs| st|dƒ rdStjƒj|ƒ}|rš|j|_|j|_|j|_|j|_|j|_|j    |_    |j
|_
|j |_ dS|dkr%|jr³dSd||_d||_t j ddƒ|_t j ddƒ|_t j d    d
ƒ|_t j d d ƒ|_    dStj|ƒ}|r tj|ƒ}|jd |jƒ|_|jd|jƒ|_|jd|jƒ|_|jd|jƒ|_|jd|jƒ|_|jd|j    ƒ|_    |jd|j
ƒ|_
|jd|j ƒ|_ ndS(NRi'saccID%s@robot@s1sname%siiiÈi,i †i@Bi
iRRRRRRRR(thasattrt PyDataManagertGetDBPlayerPackDataManagertGetPlayerPackObjRRRRRRRRtrandomtrandintRR R!R"(tobjR t packDataObjR%R'((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR6]sF               tChampionshipMgrcBs\eZd„Zd„Zd„Zed„Zd„Zd„Zd„Z    d„Z
d„Z RS(    cCsi|_i|_dS(s“×¢ÒâÇø·Ö¿ç·þÆ¥Åä·ÖÇø¡¢ÅÅλ·ÖÇø¡¢ÏɹٷÖÇø£¬ÈýÕß²»Ò»Ñù
                                        Æ¥Åä·ÖÇø£ºµ±Ç°½øÐÐÖеĿç·þÆ¥ÅäPK·ÖÇø CrossRealmPK
                                        ÅÅλ·ÖÇø£ºÈ¡ÉÏÒ»Èü¼¾µÄ¿ç·þÆ¥ÅäPK·ÖÇøÅÅÃûǰ64×÷ΪPK·ÖÇø£¬¿ÉÄÜÓ뵱ǰ½øÐÐÖеĿç·þPK·ÖÇø²»Ò»Ñù
                                        ÏɹٷÖÇø£ºÓÉÅÅλ·ÖÇøPK¾ö³öµÄ½á¹û×öΪÏɹٷÖÇø£¬¿ÉÄÜÓ뵱ǰ½øÐÐÖеÄÅÅλPK·ÖÇø²»Ò»Ñù
        N(t _pkZoneInfot_officialZoneInfo(R
((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR Œs        cCs i|_dS(N(Ru(R
((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyt ClearPKZone–s    cCs |jjƒS(N(RuR(R
((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytGetChampPKZoneIDListšscCsed}||jkr%|j|}n"|rGt|ƒ}||j|<n|satjd|ƒn|S(Ns#ÕÒ²»µ½¿ç·þÅÅλÈü·ÖÇø¹ÜÀí! zoneID=%s(R3RuRSR4R9(R
RtaddNewt    pkZoneMgr((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytGetChampPKZoneMgr›s cCsaxH|jjƒD]7}|j|ƒ}|s1qn||jƒkr|SqWtjƒjtjƒS(N(    RuRR{RaR4t GetGameWorldt GetDictByKeyt ShareDefinet!Def_Notify_WorldKey_CrossPKZoneID(R
R RRz((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytGetPlayerPKZoneID¦scCs i|_dS(N(Rv(R
((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytClearOfficialZone³s    cCs |jjƒS(N(RvR(R
((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytGetChampOfficialZoneIDList·scCs<||jkr|j|}nt|ƒ}||j|<|S(N(RvR1(R
Rt
offZoneMgr((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytGetChampOfficialZoneMgr¸s
  cCsRx9|jjƒD](}|j|ƒ}|j|ƒr|SqWtjƒjtjƒS(N(    RvRR„R?R4R|R}R~R(R
R RRƒ((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytGetPlayerOfficialZoneIDÀs
( R/R0R RwRxR]R{R€RR‚R„R…(((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRt‰s    
                          cCs.tj}|dkr*tƒ}|t_n|S(N(t
PyGameDatatg_championshipMgrR3Rt(tmgr((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytGetChampionshipMgrÉs
          c+
CsïtjƒsdStƒ}tjƒ}|jtƒ}tjd|jƒƒtj    j
ƒ}x¹t |jƒƒD]¥}|j |ƒ}|j ƒ}|jƒ}|jƒ}|jƒ}    |jƒ}
|jƒ} |jƒ} y| rët| ƒni} Wn i} nX|d}|d}|j|tƒ}||krÄ|rÄtƒ}||_||_||_||_|    |_|
|_| |_| |_|j |||ƒtjd||||    |
| fƒqm|    rm|    }t!ƒ}||_||_"||j#|<tjd||fƒqmqmW|jt$ƒ}tjd|jƒƒxYt |jƒƒD]E}|j |ƒ}|jƒ}|jƒ}|d}|d}|jƒ}|jƒ}|jƒ}tj%|j&ƒdƒ}|j|ƒ}|sçqOn|j'||ƒ}t(ƒ}||_||_)||_*||_+||_,||_-||_.|j/|ƒ||j0krmi|j0|<n|j0|}|j1|dƒd||<qOW|jt2ƒ}tjd|jƒƒxQt |jƒƒD]=}|j |ƒ}|j ƒ} |jƒ}!|jƒ}|jƒ}|jƒ}"|"d    }#|"d    }$|jƒ}%|jƒ} y| rct| ƒng}&Wn g}&nX|j3|ƒ}'t4ƒ}(||(_|!|(_5| |(_6||(_"|#|(_7|$|(_8|%|(_9d
„|&Dƒ|(_:|(|'j;|!<tjd ||!||%fƒqÑW|jt<ƒ})tjd |)jƒƒx°t |)jƒƒD]œ}|)j |ƒ}|jƒ}!|jƒ}|jƒ} | sqKnyt| ƒ}*Wn
qKnX|j3|ƒ}'|'j=|!ƒ}(|(s×qKn|(j>j/|*ƒqKWdS( Ns¼ÓÔØ¿ç·þÅÅÎ»Íæ¼Ò·Ö×é¼Ç¼! %sidsV·Ö×éÍæ¼Ò: zoneID=%s,groupMark=%s,battleNum=%s,playerIDA=%s,playerIDB=%s,winPlayerID=%ss²ÎÈüÍæ¼Ò: zoneID=%s,playerID=%ss¼ÓÔØ¿ç·þÅÅÎ»Íæ¼Ò¾º²Â¼Ç¼! %siis¼ÓÔØ¿ç·þÅÅÎ»Íæ¼Ò¹ÙÖ°ÐÅÏ¢! %si
cSsi|]}i|“qS(((t.0R$((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pys
<dictcomp>Ds    s/    zoneID=%s,officialID=%s,playerID=%s,rank=%ss ¼ÓÔØ¿ç·þÅÅλ¹ÙÖ°ÌôÕ½¼Ç¼ÐÅÏ¢! %s(?R4R5R‰tGetUniversalRecMgrt GetTypeListt"Def_RecType_CrossChampionshipGroupR\tCountR~tCrossChampionshipEnterStateInfoR=txrangetAttGetTimet    GetValue1t    GetValue2t    GetValue3t    GetValue4t    GetValue5t GetStrValue3tevalR{tTrueRHRIRRJRKRLRMRNROR[RGR RTt"Def_RecType_CrossChampionshipGuesstToIntDeft GetStrValue1ReR@RARERBRCRDRFRfRWR"t%Def_RecType_CrossChampionshipOfficialR„RRRRR    RRR2t)Def_RecType_CrossChampionshipOffChallengeR<R(+tchampMgrtuniversalRecMgrtgroupRecDataListt groupMarkListtindextrecDataRIRt    groupInfoRLRMRNt    strValue3RORJRKRzRYR RbtguessRecDataListRVRARERBRCRDRFtplayerGuessListtguessObjtplayerSupportCountDicttofficialRecDataListRRt worshipValueRR    RtapplyPlayerIDListRƒR>tchallengeRecDataListt challengeDict((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyt OnServerStartÐsð             
 
 
                                                       
 
                                          
 
 
                                 !   cCs tƒdS(N(tSaveChampionshipData(((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyt OnServerClose`sc
CstjƒsdStƒ}tjƒ}|jƒ}tjd|ƒ|jtƒ|jtƒ}x¶|D]®}|j    |ƒ}|s†qen|j
ƒ}tjd|t |ƒ|fƒxA|D]9}|j ƒ}|j |ƒ|jdƒ|j|ƒq¹Wtjd||jjƒfƒxú|jjƒD]é\}    }
tjd||    t |
ƒfƒxº|
jƒD]¬\} } |    d| } |j ƒ}|j| jƒ|j |ƒ|j| ƒ|j| jƒ|j| jƒ|j| jƒd| j}|jdd    ƒ}|j|ƒq_Wq&WqeWtjd
ƒ|jtƒ|jtƒ}xé|D]á}|j    |ƒ}|shqGnx½|jjƒD]¬\}}x|jƒD]\}}x€|D]x}|j ƒ}|j |ƒ|j|d|jƒ|j|ƒ|j|j ƒ|j|j!ƒ|j"d|j#ƒq¤Wq‘WqxWqGW|j$ƒ}tjd |ƒ|jt%ƒ|jt%ƒ}|jt&ƒ|jt&ƒ}x‰|D]}|j'|ƒ}xi|j(jƒD]X}|j)|ƒ}|sÎq­n|j ƒ}|j|j*ƒ|j |ƒ|j|j+ƒ|j|j,d |j-ƒ|j|j.ƒ|j|ƒd|j/jƒ}|jdd    ƒ}|j|ƒtjd |||j+|j.t |j0ƒfƒxb|j0D]W}|j ƒ}|j |ƒ|j|ƒt1|ƒ}|jdd    ƒ}|j|ƒqªWq­WqˆWdS(Ns)±£´æ¿ç·þÅÅÎ»Íæ¼Ò·Ö×é¼Ç¼! pkZoneIDList=%ss%    zoneID=%s,batPlayerIDCount=%s, %sis    zoneID=%s,battleInfoKey=%ss'        zoneID=%s,groupMark=%s,count=%sids%ss R s±£´æ¿ç·þÅÅÎ»Íæ¼Ò¾º²Â¼Ç¼!s*±£´æ¿ç·þÅÅÎ»Íæ¼Ò¹ÙÖ°ÐÅÏ¢! offZoneIDList=%si
sE        zoneID=%s,officialID=%s,playerID=%s,rank=%s,challengeCount=%s(2R4R5R‰R‹RxR\tDeleteRRŒR{RatlentAddRect    SetValue1t    SetValue2t    SetValue3RURR)tSetTimeRIRLt    SetValue4RMt    SetValue5RNROtreplacet SetStrValue3R›RVRERCRDt SetStrValue1RFR‚RžRŸR„R2R<RR RR    RRRR#(R R¡t pkZoneIDListR¢RRztbatPlayerIDListR R¥RJt    groupDictRKRjR¦R§R¨RARdRBt guessObjListRªt offZoneIDListR¬R¯RƒRR>R°t challRecData((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR²ds¦                            $            &    cCs¿tjƒsdSi}tƒ}xt|jƒD]f}|j|ƒ}xN|jjƒD]=}|j|ƒ}|srqQn|jsqQn|||j<qQWq,W|r»g}t    j
t j ||ƒndS(N( R4R5R‰R‚R„R2RR<R t CrossRealmMsgtSendMsgToClientServerR~t(CrossServerMsg_ChampionshipDailyOfficial(tdailyOfficialInfoR RRƒRR>tserverGroupIDList((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytDoOnDayÄs"         cCs…tjƒsdStƒ}xe|jƒD]W}g}g}|j|ƒ}x·|jjƒD]¦}|j|ƒ}|sxqWn|js‡qWn|j    rÉd|_    |j
|ƒtj d|||jf|ƒnt j d|ƒ}|rW|jƒrW|j
|ƒqWqWW|rgtj|ƒ}|j}d|_    tj d|||jf|ƒ||krg|j
|ƒqgn|r&t||ƒq&q&WdS(Nis=ÖØÖýñÈÕË«±¶Ä¤°ÝÌØÈ¨ÏɹÙ: zoneID=%s,officialID=%s,playerID=%sRis=Ëæ»ú½ñÈÕË«±¶Ä¤°ÝÌØÈ¨ÏɹÙ: zoneID=%s,officialID=%s,playerID=%s(R4R5R‰R‚R„R2RR<R R    RfR\R7R8tGetJuniorOfficialIDListRptchoiceRt(Send_CrossServerMsg_ChampionshipOfficial(R RtsyncOfficialIDListtmainOfficialListRƒRR>t mainIpyData((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyt    DoOnDayExÛs@                                   cCs»tƒ}xE|jƒD]7}|j|ƒ}|s7qn||jƒkrtSqWxc|jƒD]U}|j|ƒ}x=|jjƒD],}||j    krœtS||j
krƒtSqƒWq^Wt S(N( R‰RxR{RaRšR‚R„R2R=R RR](R R RRzRƒR>((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytIsChampionshipPlayers     cCsŽx‡|jƒD]y\}}tj|ƒs.q ntjd|ƒ}|sLq n|jƒ}|sdq n|g}tjd|g||ƒq WdS(NRtCrossChampionshipOfficialDaily(R)t PlayerControltGetDBPlayerAccIDByIDR7R8tGetDailyAwardItemListtPlayerCompensationt SendMailByKey(tmsgDataR RR;t awardItemListt    paramList((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRÈs     cCst|tjƒjƒƒdS(N(tNotifyPlayerChampionshipInfoR4R|tGetTick(t    curPlayer((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytDoChampionshipOpen-scCs:tjƒrdStj|tjƒs)dSt||ƒdS(N(R4R5RÕt GetFuncCanUseR~tGameFuncID_ChampionshipRÝ(Rßttick((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyt OnPlayerLogin1s   c    Csõ|jƒ}tƒ}|jƒ}x|D]}t|d|ƒq(Wx$|jƒD]}t|d|ƒqOW|rñ|j|ƒ}|j|ƒ}|s—dS||jkr×i|d6|d6dd6}t    j
t j |ƒqñt |ƒt||ƒndS(NRßRR tChampionshipGuessQueryt
exDataType(t GetPlayerIDR‰Rxt Sync_ChampionshipPKZoneGroupInfoR‚tSync_ChampionshipOfficialInfoR€R{RXRÆtSendMsgToCrossServerR~t!ClientServerMsg_ChampionshipGuesstSync_ChampionshipGuessPriInfotSync_ChampionshipGuessPubInfo(    RßRãR R RÀRt playerZoneIDRztsendMsg((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRÝ<s$       
c
CsÞtjtjƒ}|sdStjtjƒr2dStƒ}tjddƒ\}}tjj    |ƒ}x_|j
ƒD]Q}|j |ƒ}|s“qrng}i}xœ|j j ƒD]‹\}    }
x||
j ƒD]n\} } x_| D]W} | jrðqÛnd| _|    |kr|j|    ƒn|j    | dƒ| j|| <qÛWqÈWq¯Wtjd||||fƒ| sr| roqrnxQ|j ƒD]C\} }g}||dgg}tjd| g||dtƒq|WqrWtjtjdƒd    S(
Nsstate is not error.s already done.tCrossChamGuessiisG¾º²ÂÐèÒª·µ»¹Íæ¼ÒÐÅÏ¢: moneyItemID=%s,zoneID=%s,backGuessTypeList=%s, %stCrossChampionshipGuessBackt    crossMailtOK(tPlayerDBGSEventtGetDBGSTrig_ByKeytDef_CrossChampionshipStateErrortDef_CrossChampionshipErrorDoR‰R7tGetFuncEvalCfgtChConfigtMoneyItemIDDictR"RxR{RVR)RFRfRDR4R\RØRÙRštSetDBGSTrig_ByKey(t
stateErrorR t    moneyTypet_t moneyItemIDRRztbackGuessTypeListtplayerGuessMoneyInfoRARdRBRÃRªt
totalMoneyRÜt addItemList((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytChampionshipErrorDoSs@              )'cCsAtjƒsdStƒ|dkr=|ddkr=tƒndS(Nii(R4R5tDispose_CrossChampionshipStateR3R²(t    curMinute((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytOnMinuteProcess€s  
cCs£d}tjtjƒd}|}tj|ƒ}|rf|d|krftjd|ƒt|dfStjƒ}|j    ƒ}|dkr”t
dfS|j dƒ}|j |dƒ}| sÄ| rÎtdfS|j ƒ|j ƒ|jƒ}}    }
|jƒ|jƒ|jƒ} } } |dd|    d|
d    }| dd| d| d    }tjƒ}tjd
ƒtjd dƒ}tjd |ƒtjd ||    |
|fƒtjd| | | |fƒd}xs|D]k}tjj|tjƒ}|tjd|ƒ}|tjd|ƒ}||krÙ||krÙ|}qÙqÙWtjd|ƒtj|||gƒ}tjd||fƒtjdƒt
|dfS(NtChampionshipStartDateiis1ÒѾ­¼ÓÔØ¹ý±¾ÈÕ¿ç·þÅÅλÕù°ÔÈü¿ªÊ¼ÈÕÆÚ£¡loadSign=%siR iii<s&===== ¼ÓÔØ½ñÌì¿ç·þÅÅλÕù°ÔÈüʱ¼ä =====t CrossChamFBs¿ªÆôÈÕÆÚÁбí: %ss7fristDay=%s,firstHour=%s,firstMinute=%s,startSeconds=%ss2lastDay=%s,lastHour=%s,lastMinute=%s,endSeconds=%stsecondssnowStartDate=%ss;¿ç·þÅÅλÕù°ÔÈü¿ªÊ¼ÈÕÆÚ¼ÓÔØÍê±Ï! loadSign=%s,nowStartDate=%ss==============================================================(RôRõt Def_ServerDayR7t GetConfigExR4tDebugLogR]tIPY_DatatGetChampionshipTimeCountRštGetChampionshipTimeByIndext GetStartDayt GetStartHourtGetStartMinutet    GetEndDayt
GetEndHourt GetEndMinutet GetServerTimeR\RøtdatetimetstrptimeRùtTYPE_Time_YmdFormatt    timedeltat SetConfigEx(tkeyt openServerDaytloadSigntChampionshipStartDateInfot
ipyDataMgrtcountt firstIpyDatat lastIpyDatatfristDayt    firstHourt firstMinutetlastDaytlastHourt
lastMinutet startSecondst
endSecondst curDateTimetCrossChamDateListt nowStartDatet    startDatetstartDateTime0t startDateTimet endDateTime((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyt__GetChampionshipStartDate‹sJ   
 
&&     c! Csìtƒ\}}|p|}tjƒ}tjtjƒ}tjtjƒ}tjtjƒ}d}|}tjƒ}    t    j    j
d|    j |    j |    j |    j|    jftjƒ}    g}
|rŸtj|tjƒ}t    j    j
|tjƒ} tjƒ} x¨t| jƒƒD]‘} | j| ƒ}|jƒ|jƒ|jƒ}}}|jƒ|jƒ|jƒ}}}|dd|d|d}|dd|d|d}| t    jd|ƒ}| t    jd|ƒ}|    |ks|    |krîqn|j ƒ}|j!ƒ}| r—|r—|    |}|j"dd|j#d}tj$d|    ||j"|j#|fƒ||kr—||\}}t%j&|
d||ƒq—nPqWn| r¶||kr¶dStj'd    |||fƒtj'd
||fƒ|j(tj|ƒ|j(tj|ƒtj)tj|ƒtj)tj|ƒt*}||kr§|r§|t+j,dkrtt-}t.||ƒq¤tj/d |||fƒtj)tjdƒq§n|s·t0ƒn|rÀn(|sÖtj'd ƒn|rìtj/d ƒnü||krè||krtj'd||fƒqè|r–|t+j,kr–|r–|t+j,kr–t+j,j1|ƒ}t+j,j1|ƒ} |d| kr\|t+j2kr˜t3dƒq“|t+j4kr´t3dƒq“|t+j5krÐt3dƒq“|t+j6krét7ƒq“|t+j8krt3dƒq“|t+j9kr!t:dƒq“|t+j;kr=t:dƒq“|t+j<kr“t=|ƒq“qåtj/d|||| fƒtj)tjdƒt0ƒqè|t+j,dkrº| rºt>ƒqètj/d|ƒtj)tjdƒt0ƒndS(Nis%d-%d-%d %d:%d:00iiii<R
sV    ¹ã²¥ÅжÏ: curDateTime=%s,startDateTime=%s,diffDays=%s,diffSeconds=%s,diffMinute=%ss=¿ç·þÅÅλÕù°ÔÈü״̬±ä¸ü: befState=%s,updState=%s,stateError=%ss/crossChampionshipID=%s,dbCrossChampionshipID=%ssk¿ç·þÅÅλÕù°ÔÈüÖØÖûʱ·ÇÊ׸ö״̬£¬Òì³£²»´¦Àí: crossChampionshipID=%s,dbCrossChampionshipID=%s,updState=%ss¿ç·þÅÅλÕù°ÔÈü·Ç»î¶¯ÖУ¬²»´¦Àí!s'¿ç·þÅÅλÕù°ÔÈü»î¶¯×´Ì¬ÒѾ­Òì³££¬²»´¦Àí!s5¿ç·þÅÅλÕù°ÔÈü״̬²»±ä²»´¦Àí: befState=%s,updState=%si@i iiiisU¿ç·þÅÅλÕù°ÔÈü״̬Á÷³ÌÒì³£: befState=%s,updState=%s,befStateIndex=%s,updStateIndex=%siÿÿÿÿs#¿ç·þÅÅλÕù°ÔÈü״̬Òì³£: updState=%s(?R4R4R|RôRõtDef_CrossChampionshipStatetDef_CrossChampionshipIDRöRRRtyeartmonthtdaythourtminuteRùtTYPE_Time_FormattChangeTimeStrToNumRR7RRRRRRRRRRRt GetStateValuet GetNotifyInfotdaysR
R RÕtWorldNotifyCrossR\tSetDictRûR]R~tCrossChampionshipStateListRštDoCrossChampionshipStartR9t%Send_CrossServerMsg_ChampionshipStateR¤tCrossChampionshipState_Group64tDoCrossChampionshipGroupRandtCrossChampionshipState_Group32tCrossChampionshipState_Group16tCrossChampionshipState_Guess4tDoCrossChampionshipTopPlayer8tCrossChampionshipState_Group8t CrossChampionshipState_GroupSemitDoCrossChampionshipGroupByWFt!CrossChampionshipState_GroupFinalRtDoCrossChampionshipStartEntertDoCrossChampionshipFinalOver(!t reloadRefreshtisReloadR0t    gameWorldtbefStatetdbCrossChampionshipIDRütupdStatetcrossChampionshipIDR-RÊR1R!R¤t timeIpyDatatstartDayt    startHourt startMinutetendDaytendHourt    endMinuteR+R,R2R3tnotifyInfoDictt diffDateTimet
diffMinutet    notifyKeyRÜt
isNewStartt befStateIndext updStateIndex((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRºsÀ    &&   
          
 
       
 
 
cCsotjdƒtjd||fƒg}d}tjƒ}tjƒ}xit|jƒƒD]U}|j|ƒ}||jƒkrˆq[n|jƒ}||kr[|j    |ƒq[q[Wtj
ƒ}    xn|D]f}|    j t j |ƒ}
|    j t j|ƒ} | dkr|
d} n|
} || krÇ| }qÇqÇWtjd||fƒtjƒ} | jtƒ| jtƒ| jtƒ| jtƒtjtj|ƒtjtj|ƒtjtjdƒtjtjdƒtƒ}|jƒ|rDtjƒ}xH|D]=}||}}|jt j!||ƒ}|j"ƒ}tjd|||fƒ|s]qn|j#|t$ƒ}xËtt%ƒD]½}||kr’Pn|j&|ƒ}|j'}t(ƒ}||_)||_*||j+|<|j,|ƒ}i|d6|d6|j-d    6|j.d
6}t/d |ƒtjd |||j-|j.fƒq|WqWntjd ƒt0dt$ƒt1dt$ƒdS(Ns === ¿ç·þÅÅλÕù°ÔÈüл¿ªÊ¼ ===s"crossChampionshipID=%s,updState=%siis&hisZoneIDList=%s,championshipSeason=%ss3zoneID=%s,championshipSeason=%s,billboardDataLen=%sRR RRt StartPlayers?    AddBattlePlayer index=%s,playerID=%s,accID=%s,fightPower=%ss==============================================================tnewActtisSync(2R4R\tGetCrossZoneNameR7RtrangetGetCrossRealmPKSeasonCounttGetCrossRealmPKSeasonByIndext    GetZoneIDRfR|R}Rùt Def_WorldKey_CrossPKZoneSeasonIDt#Def_WorldKey_CrossPKZoneSeasonStateR‹R´RR›RžRŸRôRûR6R5RöR÷R‰RwRmtGetCrossBillboardManagertGetCrossBillboardR~tDef_CBT_CrossRealmPKtGetCountR{RštDef_CrossChampionshipPlayerMaxR‘tIDRGRR RTRcRRtDR_CrossChampionshipPKREt&Send_CrossServerMsg_ChampionshipPlayer(RXRWt hisZoneIDListtchampionshipSeasont crossZoneNameR!R¤t seasonIpyDataRRTtseasonIDt seasonStatet checkSeasonR¡R tcrossBillboardMgrt groupValue1t groupValue2t billboardObjtbillboardDataLenRzt billboardDataR Rbt    getPlayertdataDict((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRD;sz                    
                      ( .   cCs)t|dƒ}|dkr"dn|d}tjd|||fƒg}tƒ}x¬|jƒD]ž}|j|ƒ}|sƒqbn|dkrž|jƒ}nÉg}|jj|iƒj    ƒ}x¥|D]}    |j
||    ƒ}
|
sêqÆn|
j s2tj d|||    |
j |
jf|
jƒt|||    ƒn|
jsAqÆn|
j|krÆ|j|
jƒqÆqÆW|dkr£t|ƒtkr£|dgtt|ƒ7}nt|ƒ} tjd|| f|ƒ|sÕqbntj|ƒtjd|ƒi} x½t|d    ƒD]¬\} }|r7||kr7|j|ƒn| |krŠtƒ}||_||_| |_||_|| | <| |j|<q    |j
|| |ƒ}|s¬q    n||_q    WxDtd    d    |ƒD]/}    |j
||    ƒ}
|
sñqÍn|
j}|
j}|j|ƒ}|j|ƒ}|s-d
n|j }|sBd
n|j }|sWdn|j!}|sldn|j!}tjd ||
j|
j||||||f    |ƒi    |d 6|d 6|    d6|d6|d6|d6|d6|d6|d6}t"d|ƒqÍWqbWtjdƒt#|ƒt$|ƒdS(Nii@isJ=== ¿ç·þÅÅλÕù°ÔÈüËæ»ú·Ö×é === groupMark=%s,battleCount=%s,preGroupMark=%ss\ÉÏÒ»ÂÖÕ½¶·Î´½áË㣬ִÐÐÇ¿ÖÆ½áËã! zoneID=%s,preGroupMark=%s,battleNum=%s,mapID=%s,copyMapID=%siszoneID=%s,batPlayerCount=%ssbatPlayerIDList=%siR ss    ¶ÔÕ½×éÐÅÏ¢: zoneID=%s,groupMark=%s,battleNum=%s,playerIDA=%s(%s),playerIDB=%s(%s),fightPowerA=%s,fightPowerB=%sRRJRKRLtaccIDAt fightPowerARMtaccIDBt fightPowerBtGroups==============================================================(%tintR4R\R‰RxR{RaRUR"RR^RIR9RQRRRPtDoBattleOverLogicRNRfRµt"Def_CrossChampionshipPlayerWFCountRptshufflet    enumerateRHRRJRKRLRMRkRcRRRwRxt%Send_CrossServerMsg_ChampionshipGroup(RJt battleCountRhtsyncPlayerIDListR RRzRÁRiRKRjtbatPlayerCountRZtnumR RYRLRMt
playerObjAt
playerObjBRˆRŠR‰R‹R‡((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRG‰sŽ              #                           
             , 
 
cCsc|dkrd}n|dkr*d}ndSttdƒ}tjd|||fƒg}tƒ}xÔ|jƒD]Æ}|j|ƒ}|s•qtngg}}|jj|iƒj    ƒ}    |    j
ƒxü|    D]ô}
|j ||
ƒ} | sòqÎn| j s:tj d|||
| j| jf| jƒt|||
ƒn| js`|jdƒ|jdƒqÎ| j| jkr{| jn| j} | j| jkrŸ| jn| j} |j| ƒ|j| ƒqÎWt|ƒ|krö|dg|t|ƒ7}n|| }t|ƒ|kr0|dg|t|ƒ7}n|| }tjd||||f|ƒd}
i}||}xÇttƒddd…D]¬}||}||d}|
d7}
tƒ}||_||_|
|_||_||_|||
<||j|<|r!||kr!|j|ƒn|rC||krC|j|ƒn|j|ƒ}|j|ƒ}|smd    n|j}|s‚d    n|j}|s—dn|j}|s¬dn|j}tjd
|||
||||||f    |ƒi    |d 6|d 6|
d 6|d6|d6|d6|d6|d6|d6}td|ƒqŠWqtWtjdƒt |ƒt!|ƒdS(NiiisJ=== ¿ç·þÅÅλÕù°ÔÈüʤ¸º·Ö×é === groupMark=%s,battleCount=%s,preGroupMark=%ss\ÉÏÒ»ÂÖÕ½¶·Î´½áË㣬ִÐÐÇ¿ÖÆ½áËã! zoneID=%s,preGroupMark=%s,battleNum=%s,mapID=%s,copyMapID=%sis=zoneID=%s,groupMark=%s,winPlayerIDList=%s,losePlayerIDList=%siR ss    ¶ÔÕ½×éÐÅÏ¢: zoneID=%s,groupMark=%s,battleNum=%s,playerIDA=%s(%s),playerIDB=%s(%s),fightPowerA=%s,fightPowerB=%sRRJRKRLRˆR‰RMRŠR‹RŒs==============================================================("RRR4R\R‰RxR{RUR"RtsortR^RIR9RQRRRPRŽRNRfRLRMRµRkRHRRJRKRcRRRwRxR’(RJRhR“R”R RRztwinPlayerIDListtlosePlayerIDListRiRKRjRNt losePlayerIDRZRÁtiRLRMRYR—R˜RˆRŠR‰R‹R‡((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRNës”               
         #     $$ 
 
    
 
 
                        
     & 
 
c Csœd}tjd|ƒtƒ}xh|jƒD]Z}|j|ƒ}|sNq-n|jj|iƒjƒ}|jƒxt|D]l}|j    ||ƒ}|sžqzn|j
sztj d||||j |j f|jƒt|||ƒqzqzW|jƒ}tjd||f|ƒd}tj}    tjddƒ}
tjj|    ƒ} tjd|    | |
f|ƒ|jj|iƒ} x| jƒD]\} }d    }d    }xz|D]r}|j|ks¡|j| krËq¡nd
|_|j}|j}| s¡||krÿq¡n|d
7}||7}q¡W|d    ks‚|
d    ks‚| r<q‚n||
}||
g}| |d    gg}tjd | g||d t ƒq‚Wq-Wtjd ƒdS(Nis0=== ¿ç·þÅÅλÕù°ÔÈü²ú³öǰ8Ç¿  === preGroupMark=%ss\ÉÏÒ»ÂÖÕ½¶·Î´½áË㣬ִÐÐÇ¿ÖÆ½áËã! zoneID=%s,preGroupMark=%s,battleNum=%s,mapID=%s,copyMapID=%ss$ÅÅλ·ÖÇø8Ç¿Íæ¼ÒIDÁбí: zoneID=%s, %siRðis;¾º²Â·µÀû»õ±ÒÀàÐÍ: moneyType=%s,moneyItemID=%s,multiPrice=%siitCrossChampionshipGuess8Ròs==============================================================(!R4R\R‰RxR{RUR"RR™R^RIR9RQRRRPRŽRkR~tTYPE_Price_GongdePointR7t
GetFuncCfgRùRúRVR)RARBRFRCRDRØRÙRš(RhR RRzRiRKRjRgRARýt
multiPriceRÿRdRBt    guessListtguessCorrectCounttguessCorrectMoneyRªRCRDtmoneyPriceTotalRÜR((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRKJs\    
         #                  
 
 ' cCsdS(N((tstate((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRP„sicCsStjd|ƒt|ƒtd|ƒtd|ƒtd|ƒtd|ƒdS(sR Í¬²½¿ç·þÅÅλÕù°ÔÈüÊý¾Ýµ½×Ó·þÎñÆ÷
    @param serverGroupID: Îª0ʱͬ²½ËùÓÐ×Ó·þ
    s.ͬ²½¸ø×Ó·þÅÅλÕù°ÔÈüÊý¾Ý: syncServerGroupID=%st serverGroupIDN(R4R\RERxR’t%Send_CrossServerMsg_ChampionshipGuessRÎ(R§((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyt(Sync_CrossChampionshipDataToClientServer‰s
    c    Cs£tƒ}|jƒ}tjtjƒ}tjtjƒ}tjtjƒ}i|d6|d6|d6|d6|d6}|rƒ|gng}tjt    j
||ƒdS(NRvtStatet
StateErrort PKZoneIDListtNewAct( R‰RxRôRõR6R5RöRÆRÇR~t CrossServerMsg_ChampionshipState(    R§RhR RÀRvRªR«tdataMsgRÊ((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRE–s     )cCsøi}tƒ}xœ|jƒD]Ž}g}|j|ƒ}|sCqn|dkr[|jƒn|}    x<|    D]4}
|j|
ƒ} | s‰qhn|j| jƒƒqhW|||<qWi|d6|d6|d6} |rØ|gng} tj    t
j | | ƒdS(NRitzoneBatPlayerInfot clearPlayer( R‰RxR{R3RaRcRfR(RÆRÇR~t!CrossServerMsg_ChampionshipPlayer(R”R§RiR±R°R Rt batPlayerListRzt playerIDListR RbR¯RÊ((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRx¢s$     c Cs$g}|dkr(|j|jƒƒnÍ|dkr=|gn tjjƒ}tƒ}x|jƒD]}|j|ƒ}|sƒqbnxk|D]c}|j    j
|iƒ}    |    s±qŠnx9|    j ƒD]+}
|j ||
ƒ}|j|jƒƒq¾WqŠWqbW|r|gng} t jtj|| ƒdS(N(R3RfR(R~RR=R‰RxR{RUR"RR^RÆRÇt CrossServerMsg_ChampionshipGroup( RJt    battleObjR§R¯tsyncGroupMarkListR RRztgMarkRZR–RÊ((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR’¹s& $     cCs“tƒ}g}|rÁ|rÁ|dkrL|j|krL|j|jƒƒqÁ|j|ƒ}|rÁxZ|jjƒD]F}    ||    kr‰qqn|    |}
x!|
D]} |j| jƒƒqšWqqWqÁni|rÐ|nid6|d6} |rUi} |rü|gn    |jƒ}x6|D].}|j|ƒ}|s0qn|j    | |<qWi| d6| d<n|rd|gng}|ryg}nt
j t j | |ƒdS(NtexDataR¢tzoneSupportCountInfotpubInfo(R‰R3RBRfR(R{RVR=RxRWRÆRÇR~t CrossServerMsg_ChampionshipGuess(t
syncZoneIDR RªR§R¹tsyncPubR R¢RzRdR©tguessR¯RºtsyncZoneIDListRRÊ((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR¨Ñs8      
 !      c
Cs÷|d}|d}|d}|d}|d}tjtjƒ}tjtj|ƒtjtj|ƒtjtj|ƒ||ks|rìtƒ}|jƒ}|jƒt    j
d||||fƒx|D]}    |j |    ƒqÒWnt ƒdS(NRvRªR«R¬R­sP×Ó·þÖØÖÿç·þÅÅλÕù°ÔÈü¶ÔÕ½Êý¾Ý! dbID=%s,ID=%s,PKZoneIDList=%s,prePKZoneIDList=%s( RôRõR6RûR5RöR‰RxRwR4R\R{tOnMapServerInitOK(
RÚRvRªR«R¬RhtdbIDR tprePKZoneIDListR((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR®ös$
 
 
 
 
     
 cCs^tjƒrdStjtjƒ}tjtjƒ}tjtj|ƒtjtj    |ƒdS(N(
R4R5RôRõR5RötSendMapServerMsgExR~t*Def_Notify_WorldKey_CrossChampionshipStatet/Def_Notify_WorldKey_CrossChampionshipStateError(RªR«((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRÁs c Csÿ|d}|d}|d}tƒ}x§|jƒD]™\}}|j|tƒ}|sm|rÍi|_qÍq4x]|D]U}|d}|d}    |j|    ƒ}
|
s¼tƒ}
|
|j|    <n|
j|ƒqtWq4W|rûx!|jƒD]}t    |ƒqäWndS(NRiR±R°RR (
R‰R)R{RšRTRcRGR.RRè( RÚRiR±R°R RR³RzR+R Rb((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR²s*
 
 
     
 
    c Cs$i}tƒ}xä|D]Ü}|d}|d}|d}|j|tƒ}|j||ƒ}|sƒtƒ}|j|||ƒn|j|ƒ||kr©i||<n||}    ||    krÌg|    |<n|    |}
||
kr|
j|ƒqqWx'|jƒD]\}}    t    ||    ƒqWdS(NRRJRK(
R‰R{RšR^RHR[R.RfR)Rè( RÚt syncGroupInfoR R+RRJRKRzRYt groupMarkDictRi((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRµ<s.     
 
 
       
 
 cCs)|d}|d}|jddƒ}| s=t|tƒ rFi}n|jddƒ}|jddƒ}tƒ}i}x |D]}    |    d}
|    d    } |    d
} |    d } | |krÇg|| <n|| }|j| ƒ|| krðq€ntj| ƒsq€n|j|
t    ƒ}d}|j
| | ƒ}x'|D]}|j | kr6|}Pq6q6W|sxt ƒ}|j|ƒn|j |    ƒq€Wg}|dkrí|d }xE|jƒD]4\}
}|j|
t    ƒ}||_|j|
ƒq²Wn|d kr|sdStj|ƒsdS|jddƒ}
|j|
t    ƒ}||j|<tjƒj|ƒ}|dkrldSt||ƒt|
||ƒdS|dkr%|jddƒ}
|dkrÊt|
d|ƒn|sÔdStj|ƒsçdS||g}tj|d|t    ƒ}|r!t||ƒndSdS(NR¹R¢R»RæR R iRRARBRCRºRåR@t Championship(R"R3t
isinstancetdictR‰RfRÕRÖR{RšReRCR@R.R)RWRXR4tGetPlayerManagertFindPlayerByIDRìRítCrossRealmPlayert MapServer_QueryCrossPlayerResult(RÚRãR¹R¢R»RæR R t syncKeyInfoR+RRARBRCtsyncTagPlayerIDListRzRªR©R¿t pubZoneIDListRºRWRßtmsgInfo((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR¼[sˆ
 
         
 
 
 
 
        
           cCstd|||fƒS(Ns
%d%03d%02d(R(RRJRK((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytGetChampionshipPKRoomIDsc( Cs.|s
dStjjƒ}||kr:tjd|ƒdStƒ}|j|ƒ}|s\dS|j||ƒ}|sxdSt|||ƒ}|j    rÉtjd||||j
tj |j    ƒf|ƒdS|j }|j }    ||    g}
tjd|||||    |
f|ƒd \} } |rX|    rXi} xq|jjƒD]`\}}xQ|D]I}| sNt|ƒdkrsqNn|d}| j|dƒ|| |<qNWq;W| j|dƒ}| j|    dƒ}tjd| |jf|ƒ||kr|} |    } tjd|| f|ƒqÖ||krJ|    } |} tjd    |    | f|ƒqÖ|j|ƒ}|j|    ƒ}|rw|jnd}|rŒ|jnd}||krÔ||    } } tjd
||||    | | f|ƒqÖ||kr|    |} } tjd ||||    | | f|ƒqÖtj|
ƒ|
\} } tjd ||||    | | f|ƒn~|r‡|} |    } tjd || f|ƒnO|    r¶|    } |} tjd|    | f|ƒn tjd|| | |
f|ƒ| |_
ttjƒƒ|_    |j| ƒ}|j| ƒ}i}|dkr<t|| | gƒ}n|dkr]tjddƒ}nT|dkr~tjddƒ}n3|dkrŸtjddƒ}ntjddƒ}gg}}|råt|ƒdkrå|\}}nxÐ| | gD]Â}|sqòn|| kr)|}d|} | }!n|}d|} | }!|j|dƒ}"tjd||||"|!|f|ƒ|"r‰|"g}#ng}#|g}$tj| |$||#dtƒqòWtd|ƒ|r×|j ƒni}%|rï|j ƒni}&i|%d6|&d6|j ƒd6|d6}'t!d|'ƒtS(!Ns"¿ç·þÅÅλ½áËã·Ö×éÒì³£! groupMark=%ssf¿ç·þÅÅλPK¶ÔÕ½ÒѾ­½áËã¹ýÁË£¬²»Öظ´½áËã! zoneID=%s,groupMark=%s,battleNum=%s,winPlayerID=%s,overTime=%ssi½áËã¿ç·þÅÅλPKʤ¸º½á¹û: zoneID=%s,groupMark=%s,battleNum=%s,playerIDA=%s,playerIDB=%s,roomPlayerIDList=%siiis    ×Ü»ý·Ö: %s, %ssE    ¿ç·þÅÅλÈüÍæ¼ÒÀÛ¼Æ×Ü·Ö¸ßÕß»ñʤ! winner is playerIDA=%s,loserID=%ssE    ¿ç·þÅÅλÈüÍæ¼ÒÀÛ¼Æ×Ü·Ö¸ßÕß»ñʤ! winner is playerIDB=%s,loserID=%ss|    ¿ç·þÅÅλÈü¶ÔÕ½µØÍ¼Ã»ÓÐÍæ¼Ò²ÎÓë»òûÓÐʤ¸ºÍæ¼Ò£¬Õ½Á¦¸ß»ñʤ! fightPowerA=%s(%s) > fightPowerB=%s(%s),winnerID=%s,loserID=%ss|    ¿ç·þÅÅλÈü¶ÔÕ½µØÍ¼Ã»ÓÐÍæ¼Ò²ÎÓë»òûÓÐʤ¸ºÍæ¼Ò£¬Õ½Á¦¸ß»ñʤ! fightPowerA=%s(%s) < fightPowerB=%s(%s),winnerID=%s,loserID=%ss†    ¿ç·þÅÅλÈü¶ÔÕ½µØÍ¼Ã»ÓÐÍæ¼Ò²ÎÓë»òûÓÐʤ¸ºÍæ¼Ò£¬Õ½Á¦ÏàÍ¬Ëæ»úÍæ¼Ò»ñʤ! fightPowerA=%s(%s) = fightPowerB=%s(%s),winnerID=%s,loserID=%ssG    ¿ç·þÅÅλÈü¶ÔÕ½Íæ¼ÒÂÖ¿Õ£¬Ä¬ÈÏ»ñʤ! winner is playerIDA=%s,loserID=%ssG    ¿ç·þÅÅλÈü¶ÔÕ½Íæ¼ÒÂÖ¿Õ£¬Ä¬ÈÏ»ñʤ! winner is playerIDB=%s,loserID=%ssP    ¿ç·þÅÅλÈüPK·¿¼äÎÞÍæ¼Ò! roomID=%s,winnerID=%s,loserID=%s,roomPlayerIDList=%si@tCrossChamWFAwardi iiisCrossChampionshipPKWin%ssCrossChampionshipPKLose%sse    ½áËã¿ç·þÅÅλÈüÍæ¼Ò½±Àø: zoneID=%s,groupMark=%s,battleNum=%s,rank=%s,tagPlayerID=%s,addItemList=%sRòR¶twinnertloserRYtplayerRankInfot
PKRoomOver(ii("R~RR=R4R9R‰R{R^RÔRIRNtChangeTimeNumToStrRLRMR\ROR)RµR"RcRRpRRttimetGetZoneIDRankInfoR7RøRØRÙRšR’R(Rw((RRJRKR£R RzR¶RPRLRMtroomPlayerIDListtwinnerIDtloserIDttotalScoreDictt batPlayerIDt
batRetListtretInfotaddScoret playerScoreAt playerScoreBtplayerAtplayerBR‰R‹RÖR×RØtwfAwardItemListtwAwardItemListtfAwardItemListR Rt mailTypeKeyRCRRÜR´t
winnerInfot    loserInfoR‡((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRŽsÞ             )                
"                                     
    
            cCs|d}|d}|d}|d}|d}|d}|d}|d}    |d    }
|d
} |d
} tjjƒ} | | kr¡tjd | |ƒdStƒ}|j| ƒ}|sÃdS|j| |ƒ}|sùtjd | | f|ƒdS|j}|j    }|j
}||g}||ksM||ksM| sM| sM| rttjd | | |||f|ƒdS||j kr“g|j |<n|j |}t |ƒ|
ks¹|
ràtjd| | |||f|ƒdS|j rtjd| | ||jtj|j ƒf|ƒdS|r+dnd}|j|||||    gƒtjd| | |||t |ƒ|||||    f |ƒt}x?|D]7}|j j|gƒ}t |ƒ|
kr•t}Pq•q•W|rït| | |ƒrïdSntd|ƒdS(NR RCt
funcLineIDtisWinRät    baseScorethpScoret    timeScoret
pkCountMaxids(¿ç·þÅÅλ¾µÏñPK½á¹û·Ö×éÒì³£! groupMark=%ss>¿ç·þÅÅλ¾µÏñPK½á¹ûÍæ¼Ò²»ÔÚ¸ÃÅÅλ·Ö×éÖÐ! zoneID=%s,groupMark=%ssc¿ç·þÅÅλ¾µÏñPK½á¹ûÍæ¼ÒID´íÎó! zoneID=%s,groupMark=%s,playerID=%s,tagPlayerID=%s,roomPlayerIDList=%ssa¿ç·þÅÅλ¾µÏñPK½á¹ûÒÑ´ïPK´ÎÊýÉÏÏÞ! zoneID=%s,groupMark=%s,playerID=%s,tagPlayerID=%s,batRetList=%ssn¿ç·þÅÅλ¾µÏñPKʤ¸ºÒѾ­½áËã¹ýÁË£¬²»ÔÙ¸üÐÂPK½á¹û! zoneID=%s,groupMark=%s,battleNum=%s,winPlayerID=%s,overTime=%siis—¿ç·þÅÅλ¾µÏñPK½á¹û: zoneID=%s,groupMark=%s,battleNum=%s,playerIDA=%s,playerIDB=%s,batCount=%s,isWin=%s,addScore=%s,baseScore=%s,hpScore=%s,timeScore=%sR¶(R~RR=R4R9R‰R{R`RKRLRMRORµRIRNRÚRfR\RšR"R]RŽR’(R§RÚR RCRïRðRäRñRòRóRôRRJR£R RzR¶RKRLRMRÝRât    isAllOvert roomPlayerIDtbatList((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyt"ClientServerMsg_ChampionshipPKOver‘sr
 
 
 
 
 
 
 
 
 
 
                  -                 )    2  c/ Csxtjdƒd}tƒ}|jƒtj}tj|ƒ|jƒ}tjd|ƒg}i}tj    ƒ}x¦|D]ž}tjd||ƒt
j d||ƒ}|r¹|j ƒng}    g}
|j |ƒ} | sàqxn| jj|iƒjƒ} xÊ| D]Â} | j|| ƒ}|s&qn|jsntjd||| |j|jf|jƒt||| ƒn|jr™|j|
kr™|
j|jƒn|jr|j|
kr|
j|jƒqqW|j|ƒ}t||
ƒ}xv|jƒD]h\}}| j|ƒ}|sdn|j}|s/dn|j }t
j d    |ƒ}|r\|j!ƒnd}|rt|j"ƒng}|rŒ|j#ƒnd}tjd
||||||||f|ƒ|rt$ƒ}||_%||_&||_'||_(||j)|<n|g}t*j+d |g||d t,ƒt-j.|||    ||ƒtj/||||    |ƒqóWd }tj0}t
j1dd iƒ}t2j3j|ƒ}tjd|||f|ƒ| j4j|iƒ} xL| jƒD]>\}!}"d}#d}$xŸ|"D]—}%|%j5|ksó|%j6|!krqónd|%_7|%j8}&|%j9}'|%j:}(|& só|&|krZqón||&})|)|'krvqón|#d7}#|$|(7}$qóW|jt;|#ƒdƒ}*|$dksÔ|*dksÔ| rËqÔn|$|*}+|#|*g}||+dgg},t*j+d|!g|,|d t,ƒqÔWqxWidd6}-t<d|-ƒg}.t=j>|.ddƒtj?|ƒt-j@|ƒtjdƒdS(NsF===================== Ö´Ðпç·þÅÅλ×îÖÕ½áËã ===========================ispkZoneIDList=%ss=== ½áËãÅÅλ·ÖÇø: zoneID=%s ===t CrossZonePKs\×îÖÕÕ½¶·Î´½áË㣬ִÐÐÇ¿ÖÆ½áËã! zoneID=%s,finalGroupMark=%s,battleNum=%s,mapID=%s,copyMapID=%sR itChampionshipRankss    ×îÖÕÅÅÃû: zoneID=%s,rank=%s,playerID=%s,officialID=%s,xiangongID=%s,rankAwardItemList=%s,accID=%s,fightPower=%stCrossChampionshipPKRankRòiRðs?¾º²Â·µÀû»õ±ÒÀàÐÍ: moneyType=%s,moneyItemID=%s,multiPriceDict=%sitCrossChampionshipGuess4t OfficialResetRæR¹tChampionshipOversC===================================================================(AR4R\R‰RR~t!Def_WorshipType_CrossChampionshipt GameWorshiptDelWorshipPlayerRxRjR7R8tGetServerGroupIDListR{RUR"RR^RIR9RQRRRPRŽRLRfRMR„RÜR)RcRRtGetMainOfficialIDtGetRankAwardItemListt GetXiangongIDRRRRR R2RØRÙRšt GameXiangongtAddXiangongPlayertAddWorshipPlayerRŸRøRùRúRVRARBRFRCRERDR#RÎRÕRAtSendNewWorshipPlayert#SendNewXiangongPlayerToClientServer(/tfinalGroupMarkR t worshipTypeRÀtsyncNewWorshipListtsyncNewXiangongDictR{Rt zoneIpyDatatserverIDRangeListtfinalPlayerIDListRzRiRKRjRƒRØR RRbRRt rankIpyDataRtrankAwardItemListt
xiangongIDR>RÜRARýtmultiPriceDictRÿRdRBR¢R£R¤RªRCRERDt
playerRankR¡R¥RR¹RÊ((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRQÖsº     
                 #    #                                             
 
 
 '     cCsgtƒ}|j|ƒ}|s"iSd}gg}}|jj|iƒjƒ}x¨|D] }|j||ƒ}    |    s{qWn|    j sW|    j r•qWn|    j|    jkr°|    jn|    j    }
|    j|    jkrÔ|    j    n|    j} |j
|
ƒ|j
| ƒqWWd} gg} }|jj| iƒjƒ}x¨|D] }|j| |ƒ}    |    sTq0n|    j s0|    j rnq0n|    j|    jkr‰|    jn|    j    }
|    j|    jkr­|    j    n|    j} | j
|
ƒ|j
| ƒq0Wd}gg}}|jj|iƒjƒ}x¨|D] }|j||ƒ}    |    s-q    n|    j s    |    j rGq    n|    j|    jkrb|    jn|    j    }
|    j|    jkr†|    j    n|    j} |j
|
ƒ|j
| ƒq    Wt j d|||f|ƒt j d|| |f|ƒt j d|||f|ƒi}x<|D]4}|s#qn||kr´|| krp||krTd||<q±||kr±d||<q±qE||krE||kr•d||<q±||kr±d||<q±qEq||kr|| kr||kråd    ||<qB||krBd
||<qBqE||krE||kr&d ||<qB||krBd||<qBqEqqWt j d ||f|ƒ|S( Niiis-     8Ç¿Èüʤ¸º: zoneID=%s,ʤÕßID=%s,°ÜÕßID=%ss-    °ë¾öÈüʤ¸º: zoneID=%s,ʤÕßID=%s,°ÜÕßID=%ss-    ×ܾöÈüʤ¸º: zoneID=%s,ʤÕßID=%s,°ÜÕßID=%siiiiis    zoneID=%s,playerRankInfo=%s( R‰R{RUR"RR^RIRNRLRMRfR4R\(RR´R RzR tfinalWinPlayerIDListtfinalLosePlayerIDListRiRKRjRNRœt semiGroupMarktsemiWinPlayerIDListtsemiLosePlayerIDListt wlGroupMarktwinGroupPlayerIDListtloseGroupPlayerIDListRØR ((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRÜNs”      $$   $$   $$                    c Csg}tƒ}x¡|jƒD]“}|dkr@||kr@qn|j|ƒ}|dkrj|jjƒn|}x<|D]4}    |j|    ƒ}
|
s˜qwn|j|
jƒƒqwWqWi|rÂ|nid6|d6} |râ|gng} t    j
t j | | ƒdS(NR¹t officialList( R‰R‚R3R„R2RR<RfR(RÆRÇR~t#CrossServerMsg_ChampionshipOfficial( t    syncZonIDRÏR§R¹RR RRƒtofficialIDListRR>R¯RÊ((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRÎ¥s     !  cCsC|d}|d}| s+t|tƒ r4i}n|jddƒ}tƒ}|dkrh|jƒni}x«|D]£}|d}|d}|j|ƒ}    |    j|ƒ}
|
sÌtƒ}
|
|    j|<n|
j    |ƒ||kròg||<n||} || kru| j
|ƒququWx'|j ƒD]\}} t || ƒq)W|sPdS|dkr6|d    } |d
} |d}|d }x¸|j ƒD]ž\}}t jƒj|ƒ}|dks‘|jƒ rÑq‘ntjƒ}| |_t|jƒ|_| |_||_|rd nd |_tj||ƒq‘Wn    |dkrç|d}|d}|d
} |d}|d}t jƒj|ƒ}|r?tjƒ}||_t|jƒ|_| |_||_||_tj||ƒq?nX|dkr?|d}|sdStj|ƒsdS||g}t j!|d|t"ƒndS(NR¹RRæR RýRRtOfficialApplyReplytmainPlayerNametmainOfficialIDt    replyDictiitOfficialChallengeR t tagPlayerNametRettOfficialWorshipRÉ(#RÊRËR"R‰RR„R<RR2R.RfR)RéR4RÌRÍR3t    GetInitOKtChPyNetSendPackt&tagGCChampionshipOfficialApplyReplyRett
PlayerNameRµtNameLentMainOfficialIDt
OfficialIDtIsOKt NetPackCommont SendFakePackt%tagGCChampionshipOfficialChallengeRetR)RÕRÖRÎRÏRš(RÚR¹RRæR tsyncZoneOfficialInfoR+RRRƒR>R"R$R%R&R tisOKRßt
clientPackR(R)RÓ((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR ¸s†
 
           
 
       
 
 
 
 
              
 
 
 
 
                  
 c Cs3d|krdS|d}|dkrW|d}|d}t||d|d|ƒdS|dkrgdS|d}|d}|d}|d    }|d
}|d }|d }    | s»| r¿dStjtjƒ}
|
rïtjd |
|ƒdSitjd6tjd6} tjtj    ƒ} || ks7| | |krUtjd|| f|ƒdSt
j ddƒ\} }t
j ddƒ}||}|    | kr³tjd|    | f|ƒdSt ƒ}|j|ƒ}|sÕdS|j|ƒ}|stjd||f|ƒdS|}|dkr|dks2||krStjd|||f|ƒdS|jƒ}||krtjd|||f|ƒdSnd}|j||ƒ}xÐ|D]È}|j|kr.|dkr |j|kr tjd|||||jf|ƒdSn|}tjd|jƒ|ƒq®|dkr®|j|krvtjd|||||jf|ƒdSq®q®W|s†dn|j}|||krÉtjd||||||f|ƒdSt}|sÞt|ƒ|krtjd||t|ƒ|f|ƒdStƒ}||_||_||_||_||_d|_|j|ƒt}||j kr‚i|j |<n|j |}|j!|dƒd||<|j!|dƒ}tjd||||f|ƒn|j|7_tjd|||||jf|ƒt|||||d |ƒdS(!NRæRåRR R§R¹R@RARCREt
guessMoneyRýs+¿ç·þÅÅλ״̬ÒѾ­Òì³£ÎÞ·¨¾º²Â! stateError=%siis?¾º²ÂÀàÐÍ´íÎó»òµ±Ç°×´Ì¬ÎÞ·¨½øÐиÃÀàÐ;º²Â! guessType=%s,state=%sRðiis3¾º²Â»õ±ÒÀàÐͲ»Ò»ÖÂ! moneyType=%s != curMoneyType=%ss>¸Ã·ÖÇø²»´æÔڸòÎÈüÍæ¼Ò£¬ÎÞ·¨ÅÅλ¾º²Â! zoneID=%s,tagPlayerID=%sis1¾º²ÂÃû´Î´íÎó! zoneID=%s,guessType=%s,guessRank=%ssEÄ¿Ç°Íæ¼Ò·Ç¸Ã·ÖÇø8Ç¿Íæ¼Ò£¬ÎÞ·¨¾º²Â! zoneID=%s,tagPlayerID=%s not in %ss{ÒѾ­´æÔڸþº²Â£¬µ«ÊDz»ÄÜÐ޸ľº²ÂÃû´Î£¬ÎÞ·¨¾º²Â! zoneID=%s,guessType=%s,tagPlayerID=%s, guessRank(%s) != guess.guessRank(%s)s+ÒѾ­´æÔڸþº²Â£¬Íæ¼Ò½øÐмÓ×¢!  guessInfo=%ssx¸ÃÃû´ÎÒѾ­¾º²ÂÁËÆäËûÍæ¼Ò£¬ÎÞ·¨Öظ´¾º²ÂͬһÃû´Î! zoneID=%s,guessType=%s,tagPlayerID=%s,guessRank=%s,ÒѾ­¾º²Â¹ýµÄÍæ¼ÒID=%ss{³¬³ö×î´ó¿ÉͶע·ÝÊý¶î¶È£¬ÎÞ·¨¾º²Â! zoneID=%s,guessType=%s,tagPlayerID=%s,guessMoneyAlready=%s,guessMoney=%s,guessMoneyMax=%ssm³¬³öÿ¸öÍæ¼Ò×î´ó¾º²ÂÈËÊý£¬ÎÞ·¨¾º²Â! zoneID=%s,guessType=%s,playerGuessListLen=%s >= guessTagPlayerCountMax=%ssS¸üб»¾º²ÂÍæ¼ÒÖ§³ÖÈËÊýÖµ! zoneID=%s,guessType=%s,tagPlayerID=%s,superPlayerCount=%ssJ¸üоº²Â! zoneID=%s,guessType=%s,tagPlayerID=%s,guessRank=%s,moneyTotal=%sR¾("R¨RôRõRöR4R9R~tCrossChampionshipState_Guess8RJR5R7RøR R‰R{RcRkR3ReRCRER\R(RDR]RµR@RRARBRfRšRWR"(R§RÚRæRR RARCRER9RýRütguessTypeStateDictR¦t curMoneyTypet
moneyValuet guessCountMaxt guessMoneyMaxR Rzt tagBatPlayertguessTagPlayerCountMaxRgRªR©R¿tguessMoneyAlreadyR¾R«tsuperPlayerCount((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRë    sÊ 
 
 
 
 
 
 
 
 
 
 
                                                                      c Cs|d}|d}|d}tƒ}|j|ƒ}|j|ƒ}|sitjd||f|ƒdS|j}tjd|ƒ}    |    sŽdS|    jƒ}
|
sÁtjd|||f|ƒdS|j    d7_    |j
ræd|d<n|g} t || d    |ƒdS(
NRR RCs:¸Ã·ÖÇøÄ¿±êÍæ¼ÒûÓйÙÖ°£¬ÎÞ·¨Ä¤°Ý! zoneID=%s,tagPlayerID=%sRsE¸Ã¹ÙÖ°ÎÞϼ¶Ïɹ٣¬ÎÞ·¨Ä¤°Ý! zoneID=%s,tagPlayerID=%s,tagOfficialID=%siR    R¹( R‰R„R?R4R9RR7R8RÌRR    RÎ( R§RÚRR RCR RƒR:t tagOfficialIDRÑtjuniorOfficialIDListRÏ((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyt#ClientServerMsg_ChampionshipWorshipŠ    s.
 
 
                  c
Csò|d}|d}|d}|d}|d}|d}|rÊtƒ}|j|ƒ}    |    j|ƒ}
|
ssdS||
jkr£tjd|||f|ƒdS|
jj|dƒt||gƒdSt    j
d|ƒ} | sædS| j ƒ} || krtjd    ||| f|ƒdSt    j
d|ƒ} | s;dS| j ƒ}|rktjd
||f|ƒdStƒ}|j|ƒ}    |    j|ƒ}|    j|ƒ}
| s¯|
r³dS|j sÝtjd |||f|ƒdS|
j r tjd ||||
j f|ƒdS||
jkr=tjd |||f|ƒdSt    jddƒ}|r­t|
jƒ|kr­tjd||||
jjƒ|f|ƒtj||dƒdSg}x‘|    jjƒD]€}|    j|ƒ}|säqÃn|j |kr$tjd||f|ƒtj||dƒdS||jkrÃ|j|ƒqÃqÃWt    jddƒ}|r«t|ƒ|kr«tjd|||||f|ƒtj||dƒdStj|t|ƒ||
j|<t||gƒtj||dƒdS(NRR R%RtcanceltPropDatas=²»ÔÚÏɹÙÉêÇëÁбíÀï! zoneID=%s,mainOfficialID=%s,officialID=%sRsOÉêÇë¹ÙÖ°ID·Ç¸Ã½çÖ÷ϼ¶¹ÙÖ°£¬ÎÞ·¨ÉêÇë! mainOfficialID=%s,officialID=%s not in %ss7¿É±»ÌôÕ½µÄ¹ÙÖ°ÎÞ·¨ÉêÇë! mainOfficialID=%s,officialID=%ssGÏɹÙËùÊô½çÖ÷ÎÞÍæ¼Ò£¬ÎÞ·¨ÉêÇë! zoneID=%s,mainOfficialID=%s,officialID=%ssTÏɹÙÒÑÓÐÍæ¼ÒÈÎÖ°£¬ÎÞ·¨ÉêÇë! zoneID=%s,mainOfficialID=%s,officialID=%s,offPlayerID=%ss;ÒѾ­ÉêÇë¹ý¸Ã¹ÙÖ°! zoneID=%s,mainOfficialID=%s,officialID=%stCrossChamOfficialisq¸Ã¹ÙÖ°ÒÑ´ïµ½×î´óÉêÇëÍæ¼ÒÊý! zoneID=%s,mainOfficialID=%s,officialID=%s,applyPlayerIDList=%s,applyPlayerCountMax=%stChampionshipOfficialApplyFullsDÍæ¼ÒÒѾ­ÓÐÈÎÖ°¹ÙÖ°£¬ÎÞ·¨ÉêÇëÆäËû¹ÙÖ°! zoneID=%s,player officialID=%stChampionshipAlreadyHasOfficialis{Íæ¼ÒÒѴﵽͬʱÉêÇë¹ÙÖ°×î´óÊý! zoneID=%s,mainOfficialID=%s,officialID=%s,playerApplyOfficialIDList=%s,playerApplyCountMax=%stChampionshipOfficialApplyMaxtChampionshipOfficialApplyOK(R‰R„R<RR4R9tpopR3RÎR7R8RÌtGetCanBeReplaceR R\R RµRRÕtNotifyCodeCrossR2RfRR Rš(R§RÚRR R%RRGRHR RƒR:RÑRER;t canBeReplacet
mainOffObjtapplyPlayerCountMaxtplayerApplyOfficialIDListtoffIDR>tplayerApplyCountMax((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyt)ClientServerMsg_ChampionshipOfficialApply©    sš
 
 
 
 
 
                               #     c Cs¾tjƒrdStjƒj|ƒ}|jƒ}|j}|j}|j}|j}t    ƒ}    |    j
|ƒ}
|
swdSi|
d6|d6|d6|d6|d6|d6} t j t j| ƒdS(NRR R%RR$R7(R4R5RÌtGetPlayerByIndexRçR0R1tPlayerIDR2R‰R…RÆRêR~t.ClientServerMsg_ChampionshipOfficialApplyReply( R¤t
clientDataRãRßR R%RR$R7R RRï((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyt OnChampionshipOfficialApplyReply
s                       cCsU|d}|d}|d}|d}|d}|d}tƒ}|j|ƒ}    |    j|ƒ}
|    j|ƒ} |
s|dS| s†dS|
j|kr¹tjd|||
jf|ƒdS|| jkrøtjd||||| jjƒf|ƒdSi||6} |g} | jj    |ƒ|rd    }x†|    j
jƒD]u}|    j|ƒ}|s[q:n|j|kr€|}| j |ƒn||jkr:|jj    |ƒ| j |ƒq:q:W|rÙtjd
|||f|ƒq|| _x!| jjƒD]}d    | |<qòWi| _nid d 6|
j d 6| d6|d6|d6}t || d|ƒdS(NRR R%RR$R7sH·Ç½çÖ÷£¬ÎÞ·¨»ØÓ¦ÏɹÙÉêÇë! zoneID=%s,mainOfficialID=%s,mainOffPlayerID=%ss~Íæ¼ÒûÓÐÔÚ¸ÃÏɹÙÉêÇëÁбíÀ²»ÐèÒª»ØÓ¦! zoneID=%s,mainOfficialID=%s,officialID=%s,applyPlayerID=%s not in applyPlayerIDList=%sisiͬÒâÍæ¼Ò¹ÙÖ°ÉêÇëʱ£¬ÉêÇë¹ÙÖ°Íæ¼ÒÒѾ­ÈÎÖ°ÆäËû¹ÙÖ°£¬²»´¦Àí£¡ zoneID=%s,applyPlayerID=%s,applyPlayerOffID=%sR#RæR$R&R¹(R‰R„R<R R4R9RR\RRNR2RfRRÎ(R§RÚRR R%RR$R7R RƒRRR:R&RÏtapplyPlayerOffIDRUR>trefusePlayerIDR¹((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRZ(
s`
 
 
 
 
 
            #              c
Cs[|d}|d}|d}|d}|d}|d}||krftjd||f|ƒdStjd|ƒ}|s‚dS|jƒ}    ||    kr»tjd    |||    f|ƒdStjd|ƒ}
|
s×dS|
jƒ} | stjd
||f|ƒdStƒ} | j|ƒ} | j|ƒ}| j|ƒ}| sK| rOdS|j    sytj
d |||f|ƒdSxr| j j ƒD]a}| j|ƒ}|sªq‰n|j    |kr‰tjd ||f|ƒt j||d ƒdSq‰Wd}|j    }|s)tj
d|||f|ƒd}n”||kratj
d|||||f|ƒd}n\|jddƒ}|j}||krŽdnd}tj
d|||||||f|ƒ|g}|jdt|ƒƒ}|dkr|jjittjƒƒd6|d6|d6|jddƒd6ƒt|jƒdkrV|jjdƒntj|t|ƒ|jƒ||_    xa| j j ƒD]P}| j|ƒ}|s­qŒn||jkrŒ|jj|ƒ|j|ƒqŒqŒW|rtjd|gg||gdtƒqnidd6|d6|jd6|d6|d6|d6}t ||d |ƒdS(!NRR R%RRCRHs5ÌôÕ½Ïɹٲ»ÄÜÌôÕ½×Ô¼º! mainOfficialID=%s,officialID=%sRsOÉêÇë¹ÙÖ°ID·Ç¸Ã½çÖ÷ϼ¶¹ÙÖ°£¬ÎÞ·¨ÌôÕ½! mainOfficialID=%s,officialID=%s not in %ss5¸ÃÏɹÙÎÞ·¨±»ÌôÕ½Ìæ»»! mainOfficialID=%s,officialID=%ssGÏɹÙËùÊô½çÖ÷ÎÞÍæ¼Ò£¬ÎÞ·¨ÌôÕ½! zoneID=%s,mainOfficialID=%s,officialID=%ssFÍæ¼ÒÒѾ­ÓÐÈÎÖ°¹ÙÖ°£¬ÎÞ·¨ÌôÕ½ÆäËû¹ÙÖ°!  zoneID=%s, player officialID=%sRKisKÌôսĿ±êÏɹÙÎÞÍæ¼ÒÈÎÖ°£¬Ö±½Ó»ñʤ! zoneID=%s,mainOfficialID=%s,officialID=%siszÌôսĿ±êÏɹÙÍæ¼ÒIDÒѱä¸ü£¬ÐèҪˢкóÖØÐÂÌôÕ½! zoneID=%s,mainOfficialID=%s,officialID=%s,offPlayerID(%s) != tagPlayerID(%s)iRsvÌôսĿ±êÏɹÙÍæ¼ÒID½á¹û! zoneID=%s,mainOfficialID=%s,officialID=%s,fightPower=%s,tagFightPower=%s,tagPlayerID=%s,Ret=%sRtTimeR)RR it$CrossChampionshipOfficialBeChallengeRòR'RæR(R¹(!R4R9R7R8RÌROR‰R„R<R R\R2RRÕRPR"RR#RRfRRÛRµRNRR RšRRRØRÙRRÎ(R§RÚRR R%RRCRHRÑRER;RQR RƒRRR:RUR>R)t offPlayerIDRt tagFightPowerRÏRR¹((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyt-ClientServerMsg_ChampionshipOfficialChallengek
sž
 
 
 
 
 
                                               &
    +cCsltjƒrdStjƒj|ƒ}|jƒ}|j}|j}tƒ}|j|ƒ}|sedS|j    |ƒ}    |    j
|ƒ}
|
r’|
j ng} t j ƒ} || _|| _|| _g| _x{| D]s} t jƒ}| jddƒ|_t|jƒ|_| jddƒ|_| jddƒ|_| jj|ƒqÏWt| jƒ| _tj|| ƒdS(NRR R_iR)(R4R5RÌRXRçR0R1R‰R…R„R<RR,t,tagGCChampionshipOfficialChallengeRecordInfotZoneIDt
RecordListt(tagGCChampionshipOfficialChallengeRecordR"R.RµR/t ChallengeTimeR)Rft RecordCountR3R4(R¤R[RãRßR R%RR RRƒR:RR8R°t
recordPack((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyt$OnChampionshipOfficialChallengeQueryÛ
s8                                 c Cs¾tjƒrdStjƒj|ƒ}|jƒ}|j}|j}|j}tƒ}|j    |ƒ}    |    sndSi|    d6|d6|d6|d6|d6t
j |ƒd6}
t j tj|
ƒdS(NRR R%RRCR(R4R5RÌRXRçR0R1RYR‰R…RÎtGetCrossPlayerNameRÆRêR~t(ClientServerMsg_ChampionshipOfficialKick( R¤R[RãRßR R%RRCR RRï((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytOnChampionshipOfficialKick s                  cCs|d}|d}|d}|d}|d}|d}tjd|ƒ}|sXdS|jƒ}    ||    kr‘tjd|||    f|ƒdStƒ}
|
j|ƒ} | j|ƒ} | j|ƒ} | sÑdS| sÛdS| j|krtjd    ||| jf|ƒdS| j s'| j|krQtj    d
|||| j|f|ƒdStj
d d ƒ}|rÄt t j ƒƒ}|| j }||kr¸tjd ||||f|ƒdS|| _ n| jƒ|rütjd|gg||gdtƒn||g}t||ƒdS(NRR RR%RRCRsK¹ÙÖ°ID·Ç¸Ã½çÖ÷ϼ¶¹ÙÖ°£¬ÎÞ·¨´ÇÍË! mainOfficialID=%s,officialID=%s not in %ssH·Ç½çÖ÷£¬ÎÞ·¨´ÇÍËϼ¶ÏɹÙ! zoneID=%s,mainOfficialID=%s,mainOffPlayerID=%ssrµ±Ç°ÏɹÙÍæ¼ÒID·ÇÄ¿±êÍæ¼ÒID£¬ÎÞ·¨´ÇÍË! zoneID=%s,mainOfficialID=%s,officialID=%s,offPlayerID(%s) != tagPlayerID(%s)RIisF½çÖ÷´ÇÍËϼ¶ÏɹÙCDÖÐ! zoneID=%s,mainOfficialID=%s,passSeconds(%s) < %stCrossChampionshipOfficialBeKickRò(R7R8RÌR4R9R‰R„R<R R\R RRÛRRRØRÙRšRÎ(R§RÚRR RR%RRCRÑRER RƒRRR:tkickCDtcurTimet passSecondsRÏ((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRm sZ
 
 
 
 
 
                         
(  c
CsžtjƒrdStjƒj|ƒ}|jƒ}|j}|j}tƒ}|j|ƒ}|sedSi|d6|d6|d6|d6}    t    j
t j |    ƒdS(NRR R%R( R4R5RÌRXRçR0R1R‰R…RÆRêR~t)ClientServerMsg_ChampionshipOfficialLeave(
R¤R[RãRßR R%RR RRï((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytOnChampionshipOfficialLeave] s              "c Cs|d}|d}|d}|d}tjd|ƒ}|sDdS|jƒ}||kr}tjd|||f|ƒdStƒ}|j|ƒ}    |    j|ƒ}
|
s®dS|
j sÇ|
j|krñtj    d||||
j|f|ƒdS|
j
ƒ|g} t || ƒdS(NRR R%RRsS¹ÙÖ°ID·Ç¸Ã½çÖ÷ϼ¶¹ÙÖ°£¬ÎÞ·¨Ö÷¶¯ÀëÈÎÏɹÙ! mainOfficialID=%s,officialID=%s not in %ssk·Ç±¾ÏɹÙÍæ¼ÒID£¬ÎÞ·¨Ö÷¶¯ÀëÈÎÏɹÙ! zoneID=%s,mainOfficialID=%s,officialID=%s,offPlayerID(%s) != playerID(%s)( R7R8RÌR4R9R‰R„R<R R\RRÎ( R§RÚRR R%RRÑRER RƒR:RÏ((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRso s2
 
 
 
              
     cCs†tƒ}|rP|j|jƒƒ}||kr4dStj|tjƒsPdSn|j|ƒ}|sidS|dkrºi}x-|j    j
ƒD]\}}|j ƒ||<q‹W|j ƒ}n–g}x|j
ƒD]\}}    xp|    D]h}
|j ||
ƒ} | sqàn| j|kr&|j| jƒn| j|krà|j| jƒqàqàWqÍWtjƒ} tjtjƒ| _tjtjƒ| _|| _g| _x!|j
ƒD]\}}    tjƒ} || _g| _xÄ|    D]¼}
|j ||
ƒ} | súqÖnd„| jj
ƒDƒ}tjƒ}|
|_ | j!|_"| j|_#| j|_$t%j&|dt'ƒj(ddƒ|_)t*|j)ƒ|_+| jj|ƒqÖWt*| jƒ| _,| jj| ƒq¥Wt*| jƒ| _-g| _.xÎ|D]Æ}|j/|ƒ}|sÿqÞntj0ƒ}||_1|j2|_3t*|j3ƒ|_4|j5|_6|j7|_8|j9tj:|_;|j9tj:|_<|j=|_>|j?|_@|jA|_B| j.j|ƒqÞWt*| j.ƒ| _C|dkrÙtDjE|| ƒn©tFjGƒ}xštH|jIƒƒD]†}|jJ|ƒ}|dksø|jKƒ r,qøn|j|jƒƒ}||krSqøntj|tjƒsnqøntDjE|| ƒqøWdS(NcSs%i|]\}}|t|ƒ“qS((R#(RŠR,R-((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pys
<dictcomp>¿ s    t ensure_asciis R (LR‰R€RçRÕRáR~RâR{R3RUR)RRaR^RLRfRMR,t%tagGCCrossChampionshipPKZoneGroupInfoRôRõR6tActIDRöR«Ret    GroupListttagGCCrossChampionshipPKGroupt    GroupMarkt
BattleListROttagGCCrossChampionshipPKBattlet    BattleNumRNt WinPlayerIDt    PlayerIDAt    PlayerIDBtjsontdumpsR]R½t    BattleRetRµt BattleRetLent BattleCountt
GroupCountt
PlayerListRcttagGCCrossChampionshipPKPlayerRYRR.R/RRRRRtDef_PerPointValueRt FightPowerExRRRRRRt PlayerCountR3R4R4RÌRtGetPlayerCountRXR+(RRÈRßR RîRzRJRÂR´RiRKR¶R8t    groupPackt battleRetDictt
battlePackR Rbt
playerPackt playerManagerR((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRè‘ s¤                                  $                   cCs»|jƒ}tƒ}|j|ƒ}|s.dStj|tjƒsGdS|j|ƒ}|s`dStj    ƒ}||_
g|_ x|j j ƒD]\}}|r²||kr²qŽn|s¾gn|j|gƒ}    tjƒ}
||
_g|
_|j|gƒ} xl| D]d} | j} |    r.| |    kr.qntjƒ}| |_| j|_| j|_|
jj|ƒqWt|
jƒ|
_|j j|
ƒqŽWt|j ƒ|_tj||ƒdS(N(RçR‰R€RÕRáR~RâR{R,ttagGCChampionshipGuessPriInfoRet    GuessListRVR)R"ttagGCChampionshipGuessPriListt    GuessTypetGuessPlayerListRCttagGCChampionshipGuessPlayerPriRYRDt
MoneyTotalREt    GuessRankRfRµR‹RŽR3R4(RßRÐR R RîRzR8RARdRÑt priListPackR©R¿RCt priPlayerPack((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRìð sF                                   cCs^tƒ}|rP|j|jƒƒ}||kr4dStj|tjƒsPdSn|j|ƒ}|sidStj    ƒ}||_
g|_ xö|j j ƒD]å\}}|r»||kr»q—n|sÇgn|j|gƒ}    tjƒ}
||
_g|
_x`|j ƒD]R\} } |    r(| |    kr(qntjƒ} | | _| | _|
jj| ƒqWt|
jƒ|
_|j j|
ƒq—Wt|j ƒ|_|dkr±tj||ƒn©tjƒ}xšt|jƒƒD]†}|j |ƒ}|dksÐ|j!ƒ rqÐn|j|jƒƒ}||kr+qÐntj|tjƒsFqÐntj||ƒqÐWdS(N("R‰R€RçRÕRáR~RâR{R,ttagGCChampionshipGuessPubInfoReR“RWR)R"ttagGCChampionshipGuessPubListR•R–ttagGCChampionshipGuessPlayerPubRYt SupportCountRfRµR‹RŽR3R3R4R4RÌRRŒRXR+(RRßRÐR RîRzR8RAR«RÑt pubListPackRCt supportCountt pubPlayerPackR‘R((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRí sX                                   cCs±tƒ}|rP|j|jƒƒ}||kr4dStj|tjƒsPdSntjƒ}||_    g|_
|j |ƒ}|dkr›|j jƒ}nx5|D]-}|j|ƒ}|sÃq¢ntjƒ}    |j|    _|j|    _t|    jƒ|    _|j|    _|j|    _|jtj|    _|jtj|    _|j|    _ |j!|    _"|j#|    _$tj%ƒ}
||
_&|j'|
_(|j)|
_*|j+|
_,|    |
_-g|
_.x|j/j0ƒD]ó\} } tjƒ} | | _| j1ddƒ| _t| jƒ| _| j1ddƒ| _| j1ddƒ| _| j1ddƒ}|tj| _|tj| _| j1ddƒ| _ | j1d    dƒ| _"| j1d
dƒ| _$|
j.j2| ƒq¶Wt|
j.ƒ|
_3|j
j2|
ƒq¢Wt|j
ƒ|_4|dkrt5j6||ƒn©t7j8ƒ}xšt9|j:ƒƒD]†}|j;|ƒ}|dks#|j<ƒ rWq#n|j|jƒƒ}||kr~q#ntj|tjƒs™q#nt5j6||ƒq#WdS( NRR RiRRiRRR(=R‰R…RçRÕRáR~RâR,ttagGCChampionshipOfficialInfoRet OfficialListR„R3R2RR<ttagGCChampionshipOfficialPlayerR RYRR.RµR/RRRRRR‰RRŠRRRRRRttagGCChampionshipOfficialR1RtLastDismissJuniorTimeRt WorshipCountR    t WorshipDoubletOfficialPlayertApplyPlayerListRR)R"RftApplyPlayerCountt OfficialCountR3R4R4RÌRRŒRXR+(RR"RßR RîR8RƒRR>t    offPlayertoffPackR$t
playerInfot applyPlayerRR‘R((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRéZ s„                                                cCs+i}|j|ƒtjd||ƒdS(NsCrossChampionship_%s(tupdatetDataRecordPackt SendEventPack(t    eventNameR‡t
drDataDict((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRwª s ((((((((aR4R~R7RRôR,tIPY_PlayerDefineRØRÎR³RÆRÕRmR3RRR†RùtPlayerFBRRpRÛRRuRt/Def_UniversalGameRecType_CrossChampionshipGroupRt/Def_UniversalGameRecType_CrossChampionshipGuessR›t2Def_UniversalGameRecType_CrossChampionshipOfficialRžt6Def_UniversalGameRecType_CrossChampionshipOffChallengeRŸRR1R@RGRHRSR6RtR‰R±R³R²RËRÒRÓRÈRàRäRÝRR3RR4R]RRDRGRNRKRPR©RERxR’RšR¨R®RÁR²RµR¼RÔRŽRøRQRÜRÎR RëRFRWR\RZRcRkRnRmRtRsRèRìRíRéRw(((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyt<module>s²                                              9"Y    ,@                `        )                         -     /     N    b    _    :      %                     ¦        Ž    E    x    W    V    |        i        C    p    +        C        "_ /;P