hwj35
2025-06-16 12bfd1cd414e0fa14310a800df8288a844d6489f
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
ZÑÆgc@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ƒ rdS|dkr¦|jr4dSd||_d||_tjddƒ|_tjddƒ|_tjd    d
ƒ|_tjd d ƒ|_dSt    j
|ƒ}|rt    j |ƒ}|j d |jƒ|_|j d|jƒ|_|j d|jƒ|_|j d|jƒ|_|j d|jƒ|_|j d|jƒ|_|j d|j ƒ|_ |j d|jƒ|_ndS(NRi'saccID%s@robot@s1sname%siiiÈi,i †i@Bi
iRRRRRRRR(thasattrRRtrandomtrandintRRRRRR R!R"RR(tobjR R%R'((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR6]s0       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(Rq(R
((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyt ClearPKZone‰s    cCs |jjƒS(N(RqR(R
((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytGetChampPKZoneIDListscCsed}||jkr%|j|}n"|rGt|ƒ}||j|<n|satjd|ƒn|S(Ns#ÕÒ²»µ½¿ç·þÅÅλÈü·ÖÇø¹ÜÀí! zoneID=%s(R3RqRSR4R9(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(    RqRRwRaR4t GetGameWorldt GetDictByKeyt ShareDefinet!Def_Notify_WorldKey_CrossPKZoneID(R
R RRv((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytGetPlayerPKZoneID™scCs i|_dS(N(Rr(R
((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytClearOfficialZone¦s    cCs |jjƒS(N(RrR(R
((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytGetChampOfficialZoneIDListªscCs<||jkr|j|}nt|ƒ}||j|<|S(N(RrR1(R
Rt
offZoneMgr((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytGetChampOfficialZoneMgr«s
  cCsRx9|jjƒD](}|j|ƒ}|j|ƒr|SqWtjƒjtjƒS(N(    RrRR€R?R4RxRyRzR{(R
R RR((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytGetPlayerOfficialZoneID³s
( R/R0R RsRtR]RwR|R}R~R€R(((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRp|s    
                          cCs.tj}|dkr*tƒ}|t_n|S(N(t
PyGameDatatg_championshipMgrR3Rp(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>7s    s/    zoneID=%s,officialID=%s,playerID=%s,rank=%ss ¼ÓÔØ¿ç·þÅÅλ¹ÙÖ°ÌôÕ½¼Ç¼ÐÅÏ¢! %s(?R4R5R…tGetUniversalRecMgrt GetTypeListt"Def_RecType_CrossChampionshipGroupR\tCountRztCrossChampionshipEnterStateInfoR=txrangetAttGetTimet    GetValue1t    GetValue2t    GetValue3t    GetValue4t    GetValue5t GetStrValue3tevalRwtTrueRHRIRRJRKRLRMRNROR[RGR RTt"Def_RecType_CrossChampionshipGuesstToIntDeft GetStrValue1ReR@RARERBRCRDRFRfRWR"t%Def_RecType_CrossChampionshipOfficialR€RRRRR    RRR2t)Def_RecType_CrossChampionshipOffChallengeR<R(+tchampMgrtuniversalRecMgrtgroupRecDataListt groupMarkListtindextrecDataRIRt    groupInfoRLRMRNt    strValue3RORJRKRvRYR RbtguessRecDataListRVRARERBRCRDRFtplayerGuessListtguessObjtplayerSupportCountDicttofficialRecDataListRRt worshipValueRR    RtapplyPlayerIDListRR>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 OnServerCloseSsc
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‡RtR\tDeleteR‰RˆRwRatlentAddRect    SetValue1t    SetValue2t    SetValue3RURR)tSetTimeRIRLt    SetValue4RMt    SetValue5RNROtreplacet SetStrValue3R—RVRERCRDt SetStrValue1RFR~RšR›R€R2R<RR RR    RRRR#(RœRt pkZoneIDListRžRRvtbatPlayerIDListR R¡RJt    groupDictRKRjR¢R£R¤RARdRBt guessObjListR¦t offZoneIDListR¨R«RRR>R¬t challRecData((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR®Ws¦                            $            &    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 CrossRealmMsgtSendMsgToClientServerRzt(CrossServerMsg_ChampionshipDailyOfficial(tdailyOfficialInfoRœRRRR>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\R7R8tGetJuniorOfficialIDListRmtchoiceRt(Send_CrossServerMsg_ChampionshipOfficial(RœRtsyncOfficialIDListtmainOfficialListRRR>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…RtRwRaR–R~R€R2R=R RR](R RœRRvRR>((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytIsChampionshipPlayer÷s     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(tNotifyPlayerChampionshipInfoR4RxtGetTick(t    curPlayer((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytDoChampionshipOpen scCs:tjƒrdStj|tjƒs)dSt||ƒdS(N(R4R5RÑt GetFuncCanUseRztGameFuncID_ChampionshipRÙ(RÛttick((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyt OnPlayerLogin$s   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…Rtt Sync_ChampionshipPKZoneGroupInfoR~tSync_ChampionshipOfficialInfoR|RwRXRÂtSendMsgToCrossServerRzt!ClientServerMsg_ChampionshipGuesstSync_ChampionshipGuessPriInfotSync_ChampionshipGuessPubInfo(    RÛRßR RœR¼Rt playerZoneIDRvtsendMsg((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"RtRwRVR)RFRfRDR4R\RÔRÕR–tSetDBGSTrig_ByKey(t
stateErrorRœt    moneyTypet_t moneyItemIDRRvtbackGuessTypeListtplayerGuessMoneyInfoRARdRBR¿R¦t
totalMoneyRØt addItemList((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytChampionshipErrorDoFs@              )'cCsAtjƒsdStƒ|dkr=|ddkr=tƒndS(Nii(R4R5tDispose_CrossChampionshipStateR3R®(t    curMinute((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytOnMinuteProcessss  
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<RsV    ¹ã²¥ÅжÏ: 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(?R0R4RxRðRñtDef_CrossChampionshipStatetDef_CrossChampionshipIDRòRRRtyeartmonthtdaythourtminuteRõtTYPE_Time_FormattChangeTimeStrToNumRR7R
RŒR R R RRRRRRt GetStateValuet GetNotifyInfotdaysRR    RÑtWorldNotifyCrossR\tSetDictR÷R]RztCrossChampionshipStateListR–tDoCrossChampionshipStartR9t%Send_CrossServerMsg_ChampionshipStateR tCrossChampionshipState_Group64tDoCrossChampionshipGroupRandtCrossChampionshipState_Group32tCrossChampionshipState_Group16tCrossChampionshipState_Guess4tDoCrossChampionshipTopPlayer8tCrossChampionshipState_Group8t CrossChampionshipState_GroupSemitDoCrossChampionshipGroupByWFt!CrossChampionshipState_GroupFinalR‹tDoCrossChampionshipStartEntertDoCrossChampionshipFinalOver(!t reloadRefreshtisReloadR,t    gameWorldtbefStatetdbCrossChampionshipIDRøtupdStatetcrossChampionshipIDR)RÆR-RR t timeIpyDatatstartDayt    startHourt startMinutetendDaytendHourt    endMinuteR'R(R.R/tnotifyInfoDictt 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\tGetCrossZoneNameR7R
trangetGetCrossRealmPKSeasonCounttGetCrossRealmPKSeasonByIndext    GetZoneIDRfRxRyRõt Def_WorldKey_CrossPKZoneSeasonIDt#Def_WorldKey_CrossPKZoneSeasonStateR‡R°R‰R—RšR›RðR÷R2R1RòRóR…Rst PyDataManagertGetCrossBillboardManagertGetCrossBillboardRztDef_CBT_CrossRealmPKtGetCountRwR–tDef_CrossChampionshipPlayerMaxRtIDRGRR RTRcRRtDR_CrossChampionshipPKRAt&Send_CrossServerMsg_ChampionshipPlayer(RTRSt hisZoneIDListtchampionshipSeasont crossZoneNameRR t seasonIpyDataRRPtseasonIDt seasonStatet checkSeasonRRœtcrossBillboardMgrt groupValue1t groupValue2t billboardObjtbillboardDataLenRvt billboardDataR Rbt    getPlayertdataDict((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR@.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…RtRwRaRUR"RR^RIR9RQRRRPtDoBattleOverLogicRNRfR±t"Def_CrossChampionshipPlayerWFCountRmtshufflet    enumerateRHRRJRKRLRMRgRcRRRtRut%Send_CrossServerMsg_ChampionshipGroup(RJt battleCountRhtsyncPlayerIDListRœRRvR½RiRKRjtbatPlayerCountRZtnumR RYRLRMt
playerObjAt
playerObjBR…R‡R†RˆR„((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRC|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…RtRwRUR"RtsortR^RIR9RQRRRPR‹RNRfRLRMR±RgRHRRJRKRcRRRtRuR(RJRhRR‘RœRRvtwinPlayerIDListtlosePlayerIDListRiRKRjRNt losePlayerIDRZR½tiRLRMRYR”R•R…R‡R†RˆR„((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRJÞ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…RtRwRUR"RR–R^RIR9RQRRRPR‹RkRztTYPE_Price_GongdePointR7t
GetFuncCfgRõRöRVR)RARBRFRCRDRÔRÕR–(RhRœRRvRiRKRjRgRARùt
multiPriceRûRdRBt    guessListtguessCorrectCounttguessCorrectMoneyR¦RCRDtmoneyPriceTotalRØRÿ((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRG=s\    
         #                  
 
 ' cCsdS(N((tstate((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRLwsicCsStjd|ƒt|ƒtd|ƒtd|ƒtd|ƒtd|ƒdS(sR Í¬²½¿ç·þÅÅλÕù°ÔÈüÊý¾Ýµ½×Ó·þÎñÆ÷
    @param serverGroupID: Îª0ʱͬ²½ËùÓÐ×Ó·þ
    s.ͬ²½¸ø×Ó·þÅÅλÕù°ÔÈüÊý¾Ý: syncServerGroupID=%st serverGroupIDN(R4R\RARuR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(NRstStatet
StateErrort PKZoneIDListtNewAct( R…RtRðRñR2R1RòRÂRÃRzt CrossServerMsg_ChampionshipState(    R¤RdRœR¼RsR§R¨tdataMsgRÆ((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRA‰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(NRetzoneBatPlayerInfot clearPlayer( R…RtRwR3RaRcRfR(RÂRÃRzt!CrossServerMsg_ChampionshipPlayer(R‘R¤ReR®R­RœRt batPlayerListRvt playerIDListR RbR¬RÆ((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRu•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(RzR‹R=R…RtRwRUR"RR^RÂRÃt CrossServerMsg_ChampionshipGroup( RJt    battleObjR¤R¬tsyncGroupMarkListRœRRvtgMarkRZR“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(RwRVR=RtRWRÂRÃRzt CrossServerMsg_ChampionshipGuess(t
syncZoneIDR R¦R¤R¶tsyncPubRœRŸRvRdR¥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(NRsR§R¨R©RªsP×Ó·þÖØÖÿç·þÅÅλÕù°ÔÈü¶ÔÕ½Êý¾Ý! dbID=%s,ID=%s,PKZoneIDList=%s,prePKZoneIDList=%s( RðRñR2R÷R1RòR…RtRsR4R\RwtOnMapServerInitOK(
RÖRsR§R¨R©RdtdbIDRœtprePKZoneIDListR((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR«és$
 
 
 
 
     
 cCs^tjƒrdStjtjƒ}tjtjƒ}tjtj|ƒtjtj    |ƒdS(N(
R4R5RðRñR1RòtSendMapServerMsgExRzt*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(NReR®R­RR (
R…R)RwR–RTRcRGR.RRä( RÖReR®R­RœRR°RvR+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…RwR–R^RHR[R.RfR)Rä( RÖt syncGroupInfoRœR+RRJRKRvRYt 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ÒRwR–ReRCR@R.R)RWRXR4tGetPlayerManagertFindPlayerByIDRèRétCrossRealmPlayert MapServer_QueryCrossPlayerResult(RÖRßR¶RŸR¸RâR Rœt syncKeyInfoR+RRARBRCtsyncTagPlayerIDListRvR¦R¥R¼t pubZoneIDListR·RWRÛtmsgInfo((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyR¹Nsˆ
 
         
 
 
 
 
        
           cCstd|||fƒS(Ns
%d%03d%02d(RŠ(RRJRK((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytGetChampionshipPKRoomIDôsc( 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("RzR‹R=R4R9R…RwR^RÑRIRNtChangeTimeNumToStrRLRMR\ROR)R±R"RcRRmRRŠttimetGetZoneIDRankInfoR7RôRÔRÕR–RR(Rt((RRJRKRŸRœRvR³RPRLRMtroomPlayerIDListtwinnerIDtloserIDttotalScoreDictt batPlayerIDt
batRetListtretInfotaddScoret playerScoreAt playerScoreBtplayerAtplayerBR†RˆRÓRÔRÕtwfAwardItemListtwAwardItemListtfAwardItemListR Rÿt 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³(RzR‹R=R4R9R…RwR`RKRLRMROR±RIRNR×RfR\R–R"R]R‹R(R¤RÖR RCRìRíRáRîRïRðRñRRJRŸRœRvR³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}Rzt!Def_WorshipType_CrossChampionshipt GameWorshiptDelWorshipPlayerRtRfR7R8tGetServerGroupIDListRwRUR"RR^RIR9RQRRRPR‹RLRfRMR€RÙR)RcRRtGetMainOfficialIDtGetRankAwardItemListt GetXiangongIDRRRRR R2RÔRÕR–t GameXiangongtAddXiangongPlayertAddWorshipPlayerRœRôRõRöRVRARBRFRCRERDR#RÊRÑR=tSendNewWorshipPlayert#SendNewXiangongPlayerToClientServer(/tfinalGroupMarkRœt worshipTypeR¼tsyncNewWorshipListtsyncNewXiangongDictRxRt zoneIpyDatatserverIDRangeListtfinalPlayerIDListRvRiRKRjRRÕR RRbRRt rankIpyDataRtrankAwardItemListt
xiangongIDR>RØRARùtmultiPriceDictRûRdRBRŸR R¡R¦RCRERDt
playerRankRžR¢RÿR¶RÆ((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRMÉ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…RwRUR"RR^RIRNRLRMRfR4R\(RR±RœRvRtfinalWinPlayerIDListtfinalLosePlayerIDListRiRKRjRNR™t semiGroupMarktsemiWinPlayerIDListtsemiLosePlayerIDListt wlGroupMarktwinGroupPlayerIDListtloseGroupPlayerIDListRÕR ((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRÙAs”      $$   $$   $$                    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ÃRzt#CrossServerMsg_ChampionshipOfficial( t    syncZonIDRËR¤R¶RRœRRtofficialIDListRR>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+RRRR>RR!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òR4R9RztCrossChampionshipState_Guess8RFR1R7RôRR…RwRcRkR3ReRCRER\R(RDR]R±R@RRARBRfR–RWR"(R¤RÖRâRR RARCRER6RùRøtguessTypeStateDictR£t curMoneyTypet
moneyValuet guessCountMaxt guessMoneyMaxRœRvt 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œRR: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"RRDRERœRR:RÍRBR;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$R4(R4R5RÉtGetPlayerByIndexRãR-R.tPlayerIDR/R…RRÂRæRzt.ClientServerMsg_ChampionshipOfficialApplyReply( R t
clientDataRßRÛR R"RR$R4Rœ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$R4sH·Ç½çÖ÷£¬ÎÞ·¨»ØÓ¦ÏɹÙÉêÇë! 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\RRKR2RfRRÊ(R¤RÖRR R"RR$R4RœRROR:R#RËtapplyPlayerOffIDRRR>trefusePlayerIDR¶((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRW
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"RRCREs5ÌôÕ½Ïɹٲ»ÄÜÌôÕ½×Ô¼º! 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=%sRHisKÌôսĿ±êÏɹÙÎÞÍæ¼ÒÈÎÖ°£¬Ö±½Ó»ñʤ! 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ÈRLR…R€R<R R\R2RRÑRMR"RR#RRfRŠRØR±RKRR R–RRRÔRÕRRÊ(R¤RÖRR R"RRCRERÍRBR;RNRœRROR:RRR>R&t offPlayerIDRt tagFightPowerRËRR¶((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyt-ClientServerMsg_ChampionshipOfficialChallenge^
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ÉRURãR-R.R…RR€R<RR)t,tagGCChampionshipOfficialChallengeRecordInfotZoneIDt
RecordListt(tagGCChampionshipOfficialChallengeRecordR"R+R±R,t ChallengeTimeR&Rft RecordCountR0R1(R RXRßRÛR R"RRœRRR:RR5R¬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ÉRURãR-R.RVR…RRËtGetCrossPlayerNameRÂRæRzt(ClientServerMsg_ChampionshipOfficialKick( R RXRß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)RFisF½çÖ÷´ÇÍËϼ¶ÏɹÙ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ÍRBRœRROR:tkickCDtcurTimet passSecondsRË((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRj 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ÉRURãR-R.R…RRÂRæRzt)ClientServerMsg_ChampionshipOfficialLeave(
R RXRßRÛR R"RRœRRë((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pytOnChampionshipOfficialLeaveP 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ÍRBRœRR:RË((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRpb 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|_BtCjD|jEƒ|_F| j.j|ƒqÞWt*| j.ƒ| _G|dkrîtHjI|| ƒn©tCjJƒ}xštK|jLƒƒD]†}|jM|ƒ}|dks |jNƒ rAq n|j|jƒƒ}||krhq ntj|tjƒsƒq ntHjI|| ƒ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 (OR…R|RãRÑRÝRzRÞRwR3RUR)RRaR^RLRfRMR)t%tagGCCrossChampionshipPKZoneGroupInfoRðRñR2tActIDRòR¨Rbt    GroupListttagGCCrossChampionshipPKGroupt    GroupMarkt
BattleListROttagGCCrossChampionshipPKBattlet    BattleNumRNt WinPlayerIDt    PlayerIDAt    PlayerIDBtjsontdumpsR]R¹t    BattleRetR±t BattleRetLent BattleCountt
GroupCountt
PlayerListRcttagGCCrossChampionshipPKPlayerRVRR+R,RRRRRtDef_PerPointValueRt FightPowerExRRRRRRR4tGetAccIDServerIDRtServerIDt PlayerCountR0R1RÉRŒtGetPlayerCountRUR((RRÅRÛRœRêRvRJR¾R±RiRKR³R5t    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ÝRzRÞRwR)ttagGCChampionshipGuessPriInfoRbt    GuessListRVR)R"ttagGCChampionshipGuessPriListt    GuessTypetGuessPlayerListRCttagGCChampionshipGuessPlayerPriRVRDt
MoneyTotalREt    GuessRankRfR±RŠRŠR0R1(RÛRÍR RœRêRvR5RARdRÎ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ÝRzRÞRwR)ttagGCChampionshipGuessPubInfoRbR’RWR)R"ttagGCChampionshipGuessPubListR”R•ttagGCChampionshipGuessPlayerPubRVt SupportCountRfR±RŠRŠR3R0R1R4RÉRŒR‹RUR((RRÛRÍRœRêRvR5RAR§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ÝRzRÞR)ttagGCChampionshipOfficialInfoRbt OfficialListR€R3R2RR<ttagGCChampionshipOfficialPlayerR RVRR+R±R,RRRRRR†RR‡RRRRRRttagGCChampionshipOfficialR.RtLastDismissJuniorTimeRt WorshipCountR    t WorshipDoubletOfficialPlayertApplyPlayerListRR)R"RftApplyPlayerCountt OfficialCountR0R1R4RÉRŒR‹RUR((RRRÛRœRêR5RRR>t    offPlayertoffPackR$t
playerInfot applyPlayerRRRš((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRåN s„                                                cCs+i}|j|ƒtjd||ƒdS(NsCrossChampionship_%s(tupdatetDataRecordPackt SendEventPack(t    eventNameR„t
drDataDict((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyRtž s ((((((((aR4RzR7RRðR)tIPY_PlayerDefineRÔRËR²RÂRÑRmR0RRýR‚RõtPlayerFBRRmRØR~RrRŒt/Def_UniversalGameRecType_CrossChampionshipGroupR‰t/Def_UniversalGameRecType_CrossChampionshipGuessR—t2Def_UniversalGameRecType_CrossChampionshipOfficialRšt6Def_UniversalGameRecType_CrossChampionshipOffChallengeR›RR1R@RGRHRSR6RpR…R­R¯R®RÇRÎRÏRÄRÜRàRÙRR3RR0R]RR@RCRJRGRLR¦RARuRR–R¥R«R¾R¯R²R¹RÑR‹RõRMRÙRÊRRçRCRTRYRWR`RhRkRjRqRpRäRèRéRåRt(((sdE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossChampionship.pyt<module>s²                                              9"Y    @                `        )                         -     /     N    b    _    :      %                     ¦        Ž    E    x    W    V    |        i        C    p    +        C        "` /;P