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
z5Êic@stddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZdZdZd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Z d „Z!d„Z"d„Z#d„Z$d„Z%d„Z&d„Z'ddCd„ƒYZ(d„Z)d„Z*d„Z+d„Z,d„Z-d„Z.e/dd„Z0d„Z1de/d„Z2d „Z3dd!„Z5d"„Z6d#„Z7d$„Z8d%„Z9d&„Z:d'„Z;d(„Z<d)„Z=d*„Z>d+„Z?d,„Z@d-„ZAejBddd.„ZCd/„ZDd0„ZEd1„ZFd2„ZGd3„ZHd4„ZId5„ZJd6„ZKdd7„ZLd8„ZMd9„ZNd:„ZOd;„ZPd<„ZQd=„ZRddd>„ZSd?„ZTe/ddd@„ZUdA„ZVdB„ZWdS(DiÿÿÿÿNiicCs
|jƒS(N(t    GetValue1(trecData((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytGetRecServerID.scCs |j|ƒS(N(t    SetValue1(RtserverID((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytSetRecServerID/scCs
|jƒS(N(t    GetValue2(R((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyt GetRecAtkType0scCs |j|ƒS(N(t    SetValue2(RtatkType((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyt SetRecAtkType1scCs
|jƒS(N(t    GetValue3(R((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytGetRecTagPlayerID2scCs |j|ƒS(N(t    SetValue3(Rt tagPlayerID((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytSetRecTagPlayerID3scCs
|jƒS(N(t    GetValue4(R((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyt GetRecIsWin4scCs|j|rdndƒS(Nii(t    SetValue4(RtisWin((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyt SetRecIsWin5scCs
|jƒS(N(t    GetValue5(R((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyt
GetRecFace6scCs |j|ƒS(N(t    SetValue5(Rtface((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyt
SetRecFace7scCs
|jƒS(N(t    GetValue6(R((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyt GetRecFacePic8scCs |j|ƒS(N(t    SetValue6(RtfacePic((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyt SetRecFacePic9scCs
|jƒS(N(t    GetValue7(R((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyt GetRecRealmLV:scCs |j|ƒS(N(t    SetValue7(RtrealmLV((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyt SetRecRealmLV;scCs
|jƒS(N(t    GetValue8(R((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytGetRecLV<scCs |j|ƒS(N(t    SetValue8(RttagLV((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytSetRecLV=st
QunyingMgrcBsªeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z d „Z d „Zd „Zd„Zd„Zd„Zd„ZRS(cCsCi|_i|_i|_g|_d|_d|_g|_dS(Ni(t_QunyingMgr__playerMatchDictt_QunyingMgr__crossZoneCfgDictt_QunyingMgr__crossZoneRecDictt!_QunyingMgr__crossRegServerIDListt_QunyingMgr__allotCrossServerIDt_QunyingMgr__curZoneIDt _QunyingMgr__curZoneServerIDList(tself((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyt__init__Bs                            cCs#i|_|jiƒg|_dS(N(R*tSetCrossZoneRecDictR-(R1((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyt ResetQunyingRs         cCs|jj|dggƒS(Ni(R*tget(R1tplayerID((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytGetPlayerMatchInfoXscCs||g|j|<dS(N(R*(R1R6t
playerRankt matchRankList((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytSetPlayerMatchInfoYscCs|jS(N(R+(R1((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytGetCrossZoneCfgDict[scCs ||_dS(N(R+(R1tcrossZoneCfgDict((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytSetCrossZoneCfgDict\scCs|jS(N(R-(R1((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytGetCrossRegServerIDList^scCsg|j|ƒ}|r0tjd||fƒdS||jkrR|jj|ƒntjd|ƒtS(Ns>¿ç·þȺӢ°ñ·þÎñÆ÷ÒѾ­·ÖÅäÁËÎÞ·¨ÔÙ±¨Ãû! serverID=%s,recZoneID=%ss)¿ç·þȺӢ°ñ·þÎñÆ÷¼ÓÈ뱨Ãû³É¹¦! serverID=%s(tGetCrossRecZoneIDt    GameWorldtDebugLogR-tappendtTrue(R1Rt    recZoneID((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytAddCrossRegServerID_scCs=|jƒ}x*|jƒD]\}}||kr|SqWdS(Ni(tGetCrossZoneRecDicttitems(R1Rt zoneRecDictRDt serverIDList((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyR?js
  cCs<|jr|jStjƒr8tjtjƒ|_|jSiS(N(R,R@t IsCrossServertCrossMgrtGetFuncCrossZoneRectChConfigtDef_FBMapID_Qunying(R1((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyRFss      cCs ||_tjtj|ƒdS(N(R,RKtSetFuncCrossZoneRecRMRN(R1tcrossZoneRecDict((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyR3}s    cCsÀtjƒsdS|jƒ}||krE|||<ttj|ƒn7||}x*|D]"}||krV|j|ƒqVqVW|j|ƒx0|D](}||jkr|jj    |ƒqqWt
S(N( R@RJRFtfillQunyingRobott ShareDefinetDef_CBT_QunyingRBR3R-tremoveRC(R1RDRIRHtrecServerIDListR((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytAddCrossZoneRecs   
 
    cCs|jS(N(R.(R1((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytGetAllotCrossServerID–scCs ||_dS(N(R.(R1tallotCrossServerID((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytSetAllotCrossServerID—scCstƒs dS|jS(Ni(tIsQunyingCrossR/(R1((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyt GetCurZoneID˜scCs ||_dS(N(R/(R1t    curZoneID((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyt SetCurZoneIDšscCs|jS(N(R0(R1((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytGetCurZoneServerIDList›scCs ||_dS(N(R0(R1tcurZoneServerIDList((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytSetCurZoneServerIDListœs(t__name__t
__module__R2R4R7R:R;R=R>RER?RFR3RVRWRYR[R]R^R`(((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyR)@s$                                             
                            cCs(tj}|s$tƒ}|t_n|S(N(t
PyGameDatat g_qunyingMgrR)(tmgr((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyt GetQunyingMgržs
         cCsßtƒ}|jƒ}i}tjƒ}tjƒ}x·t|jƒƒD]£}|j|ƒ}|jƒ|krsqFn|j    ƒ}|j
ƒ}||kr¤i||<n||}    g|j ƒ}
i|
d6|j ƒd6|j ƒd6|    |<qFWi} xU|jƒD]G\}}    i} x(|    jƒD]\}} | d| |<qW| | |<qWi}xU|jƒD]G\}}    i} x(|    jƒD]\}} | d| |<q}W| ||<q^Wtj| |ƒ\}}|sÛtjd|ƒiS|S(Nt ServerIDListtSplitServerCnttMatchServerCnttQunyingCrossZoneCfgError(RfR;R@tGetAppIDt IpyGameDataPYtIPY_DatatrangetGetQunyingCrossCounttGetQunyingCrossByIndextGetCrossServerIDt    GetZoneIDtGetServerIDListtGetSplitServerCnttGetMatchServerCntRGt CheckServerIDtCheckCrossZoneCfgtSendGameErrorEx(t
qunyingMgrtcurCrossZoneCfgDicttupdCrossZoneCfgDicttappIDt
ipyDataMgrtindextipyDatat crossServerIDtzoneIDtzoneDictRItcurZoneServerIDDicttzoneServerIDDicttzoneInfotupdZoneServerIDDicttisOKterrInfo((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytCheckUpdCrossCfg_Qunying¥sF           
 
 cCs4tƒ}tjd|ƒtƒ}|j|ƒdS(NsÆô¶¯¼ÓÔØ¿ç·þȺӢ°ñÅäÖÃ: %s(R‰R@tLogRfR=(R<Ry((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytOnCrossCenterStartÑs
         cCsTt}tƒ}|jiƒtƒ}tjd|ƒ|j|ƒt||ƒdS(ss ¿ç·þÖÐÐĹýÖÜ£¬±¾¹¦ÄÜÓÉ¿ç·þÖÐÐĹýÖÜÇý¶¯Èü¼¾ÖØÖ㬰´Ë³ÐòÖ´ÐУ¬È·±£Âß¼­ÏȺóÒ»ÖÂ
    ¿ç·þÖÐÐÄ -> ¸÷¿ç·þ -> ÓÎÏ··þ
    s¹ýÖÜ¿ç·þȺӢ°ñÅäÖÃ: %sN(RCRfR=R‰R@RŠt__sync_CC2C_QunyingCrossCfg(tisResetRyR<((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytCrossCenterOnWeekØs           cCsTtjƒrPtƒ}|sdStjd|ƒtƒj|ƒt|tƒndS(s[ÖØ¶ÁÅäÖÃÑéÖ¤Ð޸ĺóµÄÅäÖÃÊÇ·ñ·ûºÏ¹æ¶¨£¬²»·ûºÏµÄ»°£¬»¹ÊÇʹÓþÉÅäÖõķ¶Î§£¬²¢Óʼþ֪ͨÔËά
    NsÖØ¶Á¿ç·þȺӢ°ñÅäÖÃ: %s(R@t IsCrossCenterR‰RŠRfR=RŒtFalse(R<((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytOnReloadConfigès     cCs#tƒjƒ}t|t|ƒdS(N(RfR;RŒR(RRz((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytSync_CenterToCross_QunyingInfoösicCsOi|d6|d6}|r#|gn    |jƒ}tjtj||tjƒdS(NR<R(tkeystCrossMsgt SendToServerRRtCC2C_QunyingCrossCfgt dirType_Cross(R<RRtdataMsgRI((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyRŒüscCsK|d}|d}tƒ}|j|ƒ|r:tƒntd|ƒdS(NRR<(RfR=tOnCrossWeekResettSync_CrossToServer_QunyingInfo(R˜t fromServerIDt
serverTypeRR<Ry((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyR–s
 
     
 c Cstjd||fƒtƒ}|jƒ}|s6dStjƒjƒ}||krXdS||}|jƒ}tjd||fƒx||jƒD]n}|d}|rÌtj||ƒsÀq’n|g}    n
g|}    i|d6|d6}
t    j
t j |
|    ƒq’WdS(Ns7Sync_CrossToServer_QunyingInfo toServerID=%s,isReset=%ss#    crossServerID=%s,zoneRecDict=%sRgRRH( R@RARfR;t GetGameWorldt GetServerIDRFtvaluestCheckServerIDInListR”tSendToClientServerRRtC2S_QunyingCrossInfo( t
toServerIDRRyR<R€t zoneCfgDictRHtcfgInfotcfgServerIDListttoServerIDListR˜((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyRšs*      
 
 
c    CsÕ|d}tƒ}|j|ƒ|j|ƒtƒs:dSd}g}tƒjƒ}tjƒjƒ}x6|jƒD](\}}||krt|}|}PqtqtW|j    |ƒ|j
|ƒ|sÊt ƒnt ƒdS(NRHi( RfRYR3t__checkQunyingWillCrossRFR@RRžRGR]R`t__qunqingCrossRegtSync_QunyingCrossInfo(    R˜R›RHRyRRIRtzIDtsIDList((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyR¢4s*
             
cCsKtƒs dStƒ}|jƒ}|jƒ}tjtj|||ƒdS(N(RZRfR[R^RKtSync_CrossZoneInfoRMRN(t    curPlayerRyRRI((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyRªSs          cCstjƒjtjƒdkS(Ni(t    DBDataMgrtGetEventTrigMgrtGetValueRRtDef_QunyingCrossState(((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyRZ\scCs7tƒs dStƒjƒ}|s3tjdƒdS|S(sÞ»ñÈ¡±¾·þ¿ç·þȺӢ°ñ·ÖÅ䏸µÄ¿ç·þ·þÎñÆ÷ID
    @return: >0-ÒÑ¿ç·þÇÒÓÐÄ¿±ê¿ç·þ·þÎñÆ÷ID; 0-δ¿ç·þ£»-1-ÕÒ²»µ½ËùÊô¿ç·þ
    @attention: ²»ÄÜÓÃÓÚÅжÏÊÇ·ñ¿ç·þÁË£¬ÓпÉÄÜÒÑ¿ç·þÁË£¬µ«ÊÇ·ÖÅäÒì³££»ÊÇ·ñ¿ç·þÁËÇëʹÓàIsQunyingCross ÅжÏ
    is ¸Ã·þÎñÆ÷ȺӢ°ñÎÞËùÊô¿ç·þ·þÎñÆ÷IDiÿÿÿÿ(RZRfRWR@tErrLog(R€((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytGetQunyingCrossServerID^s     cCs¦tƒrtjdƒtStjƒjtjƒsCtjdƒdSt    j
ddƒ}|sltjdƒdStjƒjtj ƒd}||kr¯tjd||fƒdSt    j
ddƒ}|rî||krîtjd||fƒdStj ƒ}|j tjƒ}|jƒd    ks*|jƒr;tjd
ƒdStƒjƒ}|sdtjd d ƒdStjƒjtjdƒtjd |ƒtj|ƒtƒtS(NsȺӢ°ñÒѾ­¿ç·þÁË!s¸Ã·þÎñÆ÷ÔÝʱ먦·Å¼ÓÈë¿ç·þ!t QunyingCrossisȺӢ°ñ먦·Å¿ç·þ¹¦ÄÜ!s+ȺӢ°ñδ´ï¿ª·Å¿ç·þ¿ª·þÌì! serverDay=%s < %st
QunyingSets/¿ª·þÌì²»×ãÖØÖÃÌìÒ²²»ÔÊÐí¿ç·þ! serverDay=%s < %sis#±¾·þȺӢ°ñÒÑÓÐÊý¾Ý±¾Öܲ»ÔÙÔÊÐí¿ç·þ!tQunyingNOAllotCrossServerIDs(¸Ã·þÎñÆ÷ȺӢ°ñÔÝʱδ·ÖÅ䏸ij¸ö¿ç·þ·þÎñÆ÷s0±¾·þȺӢ°ñ״̬ÉèÖÃΪ¿ªÊ¼¿ç·þÁË! crossServerID=%s(RZR@RŠRCR¯R°R±RRt Def_CanCrossRlt
GetFuncCfgt Def_ServerDaytGetBillboardMgrt GetBillboardtDef_BT_QunyingtGetCounttGetLayerIDListRfRWRxtSetValueR²tChPlayertSyncOnlinePlayerToCrossRª(tcrossServerDayt    serverDayt serverDayNeedt billboardMgrt    billBoardR€((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyR¨ks@           cCs<tƒ}|dkrdSi}tjtj||gƒdS(Ni(R´R”tSendToCrossServerRRtS2C_QunyingReg(R€R˜((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyR©Žs      cCstƒj|ƒdS(N(RfRE(R˜R›((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyRɗscCstjƒrt|ƒndS(N(R@RJt__doCrossQunyingServerMatch(t
serverTime((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytOnMinuteœs  c#
Csz|jƒd}|j}|j}|dkrW|dkrW|dkrWtjdƒdStƒ}|jƒ}|svdS|jƒ}tjƒj    ƒ}tj
d|ƒtj
dt |ƒ|fƒ||krÒdS||}t }    x€|j ƒD]r\}
} | d} | d} | d    }tj
d
|
| | |fƒg}g}xÔ| D]Ì}t|ttfƒrýt |ƒd krý|d}|d}|}||}xx||krù|dkrù|d8}t|| d|ƒ}|j||ggƒ|d}qWqIt|ttfƒrIqIqIWx¶|D]®}|j|ƒr;q nt }xb|D]Z}|d|kom|dknrHt}|d }||krž|j|ƒnPqHqHW|r²q n||kr |j|ƒq q Wtj
d t |ƒ|fƒ|rtj
d t |ƒ|fƒnxI|D]A}|d}|d}|d }|sLqntj|ƒtj
d|||fƒxft |ƒ|krÛ|| }||}|d}tj
d||fƒ|j||ƒrvt}    qvqvW|sèqng}g}|jƒ}xot||dƒD]Z}||kr,qnt ||ƒ} | |kr[|j|ƒqn|j| |gƒqWxè|D]à}!|rû|jƒ|d}"|"d} |"d}| d7} | |dd<| |krá|jdƒntj
d|| fƒn@|r$tj|ƒ}tj
d|ƒn|!}tj
d|ƒ|j||!gƒryt}    qyqyWqWqïW|    sodStƒdS(Niiis.ÖÜÒ»0µã~0µã5·ÖÖ®¼ä½øÐеȴý²»Æ¥ÅäȺӢ°ñ¿ç·þ·Ö×és,ȺӢ°ñ¿ç·þÖ´ÐзþÎñÆ÷·Ö×鯥Åä! curServerID=%ssÒѱ¨Ãû·þÎñÆ÷IDÊý=%s,%sRgRhRis0zoneID=%s,%s,splitServerCnt=%s,matchServerCnt=%sissplitServerIDList=%s,%ssotherServerIDList=%s,%ss0    serverIDStart=%s ~ %s,unMatchServerIDList=%ss5    Ôö¼Ó·ÖÇøÆ¥Åä×é: recZoneID=%s,matchServerIDList=%ss-    ÓÅÏȼÓÈëδÂú×é: recZoneID=%s,serverCnt=%ss     Ëæ»ú¼ÓÈëÈÎÒâ×é: recZoneID=%ss     ×Ô¼ºÐ¿ªÒ»¸ö×é: recZoneID=%s( tweekdaythourtminuteR@RARfR>R;RRžRŠtlenRRGt
isinstancetlistttupletminRBtinttlongR?RCtrandomtshuffleRVRFRntsorttpoptchoiceRš(#RËt
curWeekdaytcurHourt    curMinuteRytregServerIDListRzt curServerIDR‚tisNewRR…tserverIDInfoListtsplitServerCnttmatchServerCnttsplitServerIDListtotherServerIDListt serverIDInfot    serverIDAt    serverIDBt serverIDStarttdoCntt serverIDEndt regServerIDt    isInSplittsplitServerInfotunMatchServerIDListtmatchServerIDListRDt
unFullListtfullServerIDListRHt    serverCntt
unServerIDtunFull((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyRÊ¡sÔ        $        
 
 
 
 '
 
 
 
  $
    
 
 
 
 
 
 
 
 
 
 
 cCs©tjdƒtjddiƒ}tjtjd|ddtƒtjddiƒ}tjtjd|ddtƒt    j
ƒj tjƒt ƒj ƒtjdƒdS(    Ns.=============== ÖØÖÿç·þȺӢ°ñ ===============t QunyingAwardit
QunyingDayt isClearDatait QunyingWeeks*==========================================(R@RŠRltGetFuncEvalCfgtPlayerBillboardtDoGiveBillboardAwardByMailAllRRRSRR¯R»tRemoveBillboardRfR4(tbillboardAwardDict((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyR™-s   cCs8tjddiƒ}tjtjd|ddtƒdS(NR÷iRøRù(RlRûRüRýRRRSR(Rÿ((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyt
OnDayCross?scCstƒrtjdƒdStjƒjtjƒd}tj    ddƒ}|ru||krutjd||fƒdStj
dƒtj ddiƒ}t j tjd|dd    tƒtjƒjtjƒtƒjƒtƒrìtƒntƒtj
d
ƒdS( Ns±¾·þȺӢ°ñÒÑ¿ç·þÓÉ¿ç·þ´¦Àí¹ýÖÜ!iR¶s-¿ª·þÌì²»×ã±¾Öܲ»ÖØÖÃȺӢ°ñ! serverDay=%s < %ss*=============== ÖØÖÃȺӢ°ñ ===============R÷iRúRùs*==========================================(RZR@RAR¯R°R±RRRºRlR¹RŠRûRütDoGiveBillboardAwardByMailR½RR»RþRfR4R¨R©RQ(RÄRÅRÿ((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytOnWeekDs$           
 cCsRtƒrtjdƒdStjddiƒ}tjtjd|ddt    ƒdS(Ns±¾·þȺӢ°ñÒÑ¿ç·þÓÉ¿ç·þ´¦Àí¹ýÌì!R÷iRøRù(
RZR@RARlRûRüRRRR½R(Rÿ((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytOnDaybs      cCs‚tjƒrtƒnhtjƒr[tƒjƒ}xJ|jƒD]}ttj    |ƒq>Wn#tj
ƒr~t ƒrtdStƒndS(N( R@RR‹RJRfRFR“RQRRRSt IsMainServerRZ(trecDictRD((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyt OnServerStartjs 
      
cCsÇtjƒ}|j|||ƒ}|jƒ}tjtjƒ}i}xŒ|D]„\}}    tj    d|    ƒ}
|
svqLn|
j
ƒ} |
j ƒ} | | f} | |kr³g|| <n|| }|j |
j ƒƒqLWg}|jƒ}|jƒxœ|D]”}|\}}||}tj|ƒt|ƒ}||d}x"t||ƒD]}||7}qKWx)t||ƒD]}|j ||ƒqpWq÷W|| }tjd|t|ƒfƒ|j|ƒdS(NtRobotis/Ìî³äȺӢ°ñ»úÆ÷ÈË: maxCount=%s,fillRobotIDLen=%s(R¯R»R¼t GetMaxCounttPlayerViewCachetGetRobotFightPowerSortListRMtRobotTempNum_QunyingRltGetIpyGameDatat GetTempValue1t GetTempValue2RBtGetIDR“RÙR×RØRÐRnR@RAtSetOrderRuleByLayer(t billboardTypet groupValue1t groupValue2RÆRÇtmaxCounttrobotFPSortListt    robotDictt_trobotIDt robotIpyDatat
tempValue1t
tempValue2trankKeyt    robotListtlayerRobotIDListt robotKeyListtrobotKeytrankAtrankBt robotIDListtrobotCntt needRobotCntR~((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyRQxsB       
 
 
 
 cCsrtjddƒ}tj|tjƒ}||kr7dS||}tj|tj|dƒt|ƒt|ƒdS(NtQunyingChallengeit QunyingOpen(    RlR¹t PlayerControltGetMoneyRRtTYPE_Price_QunyingTickett    GiveMoneyRªtSync_QunyingInfo(R®tstoreMaxtcurMoneyt    giveMoney((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyt DoQunyingOpen s 
 
 
cCsFtƒs dS|jtjƒrBtj|tjdƒt|ƒndS(Ni(RZtNomalDictGetPropertyRMtDef_PDict_QunyingRefreshCntR(tNomalDictSetPropertyR,(R®((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytOnFBPlayerOnWeekCross«s      cCs¶tj|tjƒsdStjƒjtjƒd}tj    ddƒ}|r}||kr}t
j d||f|j ƒƒdS|j tjƒr²tj|tjdƒt|ƒndS(NiR¶s1¿ª·þÌì²»×ã±¾Öܲ»ÖØÖÃÍæ¼ÒȺӢ°ñ! serverDay=%s < %si(t GameFuncCommt GetFuncCanUseRRtGameFuncID_QunyingR¯R°R±RºRlR¹R@RAt GetPlayerIDR1RMR2R(R3R,(R®RÄRÅ((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytOnFBPlayerOnWeek³s  cCs1tj|tjƒsdSt|ƒt|ƒdS(N(R5R6RRR7RªR,(R®((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytOnFBPlayerOnLoginÇs
 
 
c
CsÖ|s
dS|d}t|ƒdkr0|dnd}|dkrYt||||ƒdStj|tjdƒsudStƒ}|dkr—t||fStj    ƒj
|j ƒƒ}    |    s¼dSt |    ||ƒsÒdStS(Nii( RÐt__doQuickFightR(t    HaveMoneyRRR*R´RCt CrossPlayertGetCrossPlayerMgrtFindCrossPlayerR8t__checkAtkQunyingPlayer(
R®tmapIDt
funcLineIDttagTypettagIDt    valueListttagRanktquickCntR€t crossPlayer((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytOnTurnFightRequestÎs$
"       cCs$|d}t|||ƒs dStS(Ni(R@RC(RHRARBRCRDRERF((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytOnTurnFightRequestCrossís
cCsxtjd||fƒ|dkr'dStj|tj|dƒsFdSi}xHtjddƒD]4}|d \}}|j|dƒ||||<q_Wg|j    ƒD]\}}||g^q¤}t
j ||ddt igd    t ƒd}    d
}
g} x7|D]/} i| dd 6| d
d 6} | j | ƒqWi| tj6d
tj6|d 6|d6}tj|||    |
|ƒdS(s/Ö´ÐÐËÙÕ½£¬±ØÊ¤¡¢Ö»¸ø¹Ì¶¨Õ½¶·½±Àø£¬Ãû´Î²»±ä
    s ÈºÓ¢°ñËÙÕ½: tagID=%s,quickCnt=%siNtQunyingR&iiteventt isNotifyAwarditItemIDtCountRDRG(R@RAR(tPayMoneyRRR*RlRûR5RGt ItemControlertGivePlayerItemOrMailRRBtFBCommont Over_itemInfot Over_isSweept NotifyFBOver(R®RARDRGt awardItemDicttitemtitemIDt    itemCountt awardItemListtlineIDtisPasst jsonItemListtitemInfotitemDicttoverDict((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyR;ôs( "+% (c    Csy|jƒ}| s||kr#dS|jƒ}tƒj|ƒ\}}||krŠtjd||f|ƒt|tdtd|ƒdSt|ƒ}|s dS|\}}    t    j
ƒ}
|
j ||    ƒ} | sÔdS| j ƒ} |d} d}d| ko t | ƒknr| | }n||krutjd|||f|ƒtj|dƒt|tdtd|ƒdStS(    s¼ì²é¿É·ñ¹¥»÷Ä¿±ê
    NsHȺӢ°ñ²»¿É¹¥»÷²»ÔÚÆ¥ÅäÁбíÀïµÄÄ¿±êÃû´Î! tagID=%s not in matchRankList=%stisSysR›iisDȺӢ°ñ¹¥»÷ʱĿ±êÃû´ÎÍæ¼ÒID²»Ò»ÖÂ! tagRank=%s,tagID=%s != tagIDNow=%stQunyingTagRankIDErr(R8tGetMainServerIDRfR7R@RAt__DoQunyingMatchRefreshRCtGetQunyingBillboardTypeValueR¯R»R¼R¿RÐR=t
NotifyCode(RHRDRFR6R›RR9t    typeValueRRRÆRÇt layerIDListttagIndexttagIDNow((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyR@s8       
"  cCsttjd}}tjƒrjd}|r=tƒj|ƒ}n|sXtjd|ƒdStj}|}n||fS(Nis)ÕÒ²»µ½ÈºÓ¢°ñËùÊô¿ç·þ°ñµ¥! mainServerID=%s(RRR½R@RJRfR?R³RS(t mainServerIDRRRD((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyRf6s         c,Cs-|s
dS|jƒ}|d}    |d}
|
d} |tjk} tjd| |    | f|ƒt||    | ƒ} | s|dS|jƒ}t|ƒ}|sždS|\}}tj    ƒ}|j
||ƒ}|j ƒ}|j |dƒ}d}g}| rDt jddƒ}| }tj||||ƒr1| }qDtjd|ƒn|jitj|ƒtj6|    d6|d    6|d
6ƒtjd |    | |f|ƒtj|d idtj6ƒ| rØtj||d d dtƒnt|tdtd|ƒttjƒƒ}tj |    ƒ}|r$|j!ƒnd}|r<|j"ƒnd}|rT|j#ƒnd}|rl|j$ƒnd}|r„|j%ƒnd}|rœ|j&ƒnd} |    |||||| g}!it'd6|d
6| d6|!d6|d6}"t(j)||||| |"ƒ|    tj*kr)|r)tj |ƒ}#|#r8|#j!ƒnd}$|#rP|#j"ƒnd}%|#rh|#j#ƒnd}&|#r€|#j$ƒnd}'|#r˜|#j%ƒnd}(|#r°|#j&ƒnd})||$|%|&|'|(|)g}*it+d6| d
6|d6|*d6|d6}"tj|ƒ}+t(j)|    |+||| |"ƒntS(Niiis2½áËãȺӢ°ñÕ½¶·! isWin=%s,tagPlayerID=%s,tagRank=%sR&is    ¸üаñµ¥Ê§°ÜRtupdRanktcurRanks,    tagPlayerID=%s,isWin=%s,awardItemList=%sRKt    eventNameRMRbR›tR    RFttagInfotbatTime(,R8RMt Def_FactionAR@RAR@RdRfR¯R»R¼tGetIDOrderDictR5RlRûRütUpdateBillboardLayertupdateRStGetJsonItemListRTR=tCostPlayerResourcesRRR*tGivePlayerResourcesRReRCRÕttimeR    t FindViewCacheRžtGetFacet
GetFacePict
GetRealmLVtGetLVt GetPlayerNametRecAtkType_Atkt
TurnAttacktSend_C2S_TurnFightAwardAftertRealPlayerIDStarttRecAtkType_Def(,RHtguidRARBt
winFactiontstatMsgtreqDatat    awardDictR6RRERFRt    canAtkRetR›RhRRRÆRÇt
idRankDictRnRmR[tcmpValueRrt tagViewCachet tagServerIDttagFacet
tagFacePict
tagRealmLVR't tagPlayerNameRqt    afterDictt curViewCacheRàtcurFacet
curFacePict
curRealmLVtcurLVt curPlayerNametcurInfottagMainServerID((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytOnTurnFightAwardCrossCst 
 
 
         5)) cCs¹|d}|d}|d}|d}|d}    |\}
} } } }}}d}tjƒ}|jtj|ƒ}|j|ƒ}|j|    ƒt||ƒt||
ƒt    ||ƒt
|| ƒt || ƒt || ƒt ||ƒt||ƒ|ji|d6|d6|d    6ƒ|tkr*dStjƒj|ƒ}|sIdS|jtjƒ}| s~d
|koy|knrµtj|tj|ƒtjd ||ƒt|ƒndS( NR    RnRFRqRritNametCurRanktTagRankis     ¸üÐÂÀúÊ·×î¸ßÅÅÃû! tagRank=%s(R¯t GetGameRecMgrtGetRecTypeIDMgrRRtDef_GameRecType_QunyingRecordt
AddRecDatatSetTimeR
RRRRRR#R(t SetUserDataRR@tGetPlayerManagertFindPlayerByIDR1RMtDef_PDict_QunyingRankHighestR(R3RAR,(R6RARBRR”R    RnRFRqRrRRRR‘R’R'R“Rt
gameRecMgrt    atkRecMgrRR®t rankHighest((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytC2S_TurnFightAwardAfter’s>
 
 
 
 
          " # cCsô|jtjƒ}|jtjƒ}|s.dStjd||fƒtjddiƒ}tjddiƒ}i}x÷|jƒD]é\}}t    |ƒ}||kr½tjd|ƒq‚n||krÏq‚n||}    |t
d|    ƒ@rtjd|ƒq‚n|t
d|    ƒO}x8|D]0}
|
d \} } |j | dƒ| || <qWtjd    |||fƒq‚Wg|jƒD]\} } | | g^q|} tjd
|| fƒt j |tj|ƒtj|| d d tigƒt|ƒdS( Ns=ÁìȡȺӢ°ñÀúÊ·×î¸ßÅÅÃû³É¾Í½±Àø! rankHighest=%s,awardRecord=%sR÷iis    Î´´ïµ½: rank=%sis    ÒÑÁìÈ¡: rank=%sis    ¿ÉÁìÈ¡: rank=%s,%s,%ss!    awardRecord=%s,awardRecord=%sRLtQunyingRankHighest(R1RMR©tDef_PDict_QunyingRankSuccAwardR@RARlRûRGRÕtpowR5R(R3RQRRRR,(R®R¬t awardRecordt rankAwardDictt rankIndexDictRWtrankStrtitemListtrankR~R_RYRZR[((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytGetQunyingRankHighestAward»s<   
 +
cCst|ƒdS(N(tCheckQunyingTicketRecover(R®((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyt    OnProcessÞs
c    CsÎtjddƒ}tj|tjƒ}|jtjƒ}||kr|r{t    j
dƒtj |tjdƒt |ƒndSt tjƒƒ}||}| s®|dkrßt    j
dƒtj |tj|ƒt |ƒdStjddƒd}||krdS||}t|||ƒ}|||}tj |tj|ƒt    j
d||t    j|ƒfƒtj|tj|ƒtj|tjƒ|krÀt    j
d    ƒtj |tjdƒnt |ƒdS(
NR&isȺӢÌôÕ½ÁîÒÑÂú!isÖØÉèȺӢÌôÕ½Áî»Ö¸´Ê±¼ä!ii<s-»Ö¸´ÈºÓ¢ÌôÕ½Áî: %s,passSeconds=%s,Éϴλָ´:%ssÒÑÂú!(RlR¹R(R)RRR*R1RMtDef_PDict_QunyingRecoverTimeR@RAR3R,RÕRzRÔtChangeTimeNumToStrR+(    R®R-t    curTickettlastRecoverTimetcurTimet passSecondst    cdSecondst
recoverCnttupdRecoverTime((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyR¸âs<   
 
 
# 
c Cs    tjƒj|ƒ}|j}|jƒ}i}|rÚtjddƒ}|r—|jtj    ƒ}||krŠtj
d||f|ƒdS||d<ntj ddƒ\}    }
|     sÓ|
sÓt j ||    |
ƒ rÚdSntƒ} tj||| |dtd|ƒdS(Nt QunyingMatchis)    ÒÑ´ï×î´óˢдÎÊý! refreshCnt=%s >= %st
refreshCntis)GameLogic_Qunying.__OnQunyingMatchRefresht    reqDataEx(R@R§tGetPlayerByIndext    IsRefreshR8RlR¹R1RMR2RARûR(R<R´R=tPyPackForwardingRC( R~t
clientDatattickR®t    isRefreshR6RÅt
refreshMaxRÄt    costMoneyt
moneyValueR€((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pytOnQunyingMatch s$       $    "cCs"|j}t||d|d|ƒS(NR›RÅ(RÇRe(RHRÉRÊR›RÅRË((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyt__OnQunyingMatchRefresh"s    cCs*|s
dS|j}|r&t|ƒndS(N(RÇR,(R®RÉR‡RË((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyt__OnQunyingMatchRefresh_Ret&s      c%Cs|si}n|jƒ}tjd||f|ƒtƒ}t|ƒ}|sTdS|\}}    tjƒ}
|
j||    ƒ} | sˆdS| jƒ} | j    ƒ} t
| ƒ}| j ||dƒ}|j |ƒ\}}| r*|r*||kr*||kr*tjd||f|ƒt ||| ƒdStjddiƒ}|jƒ}|jƒg}x(|D] }||krb||}PqbqbW|s||d}n|jƒtjd|||f|ƒ|sÎdS|re| retjddƒ\}}|r|rtj|dd    i||6ƒnd
|kre|d
}|d7}tj|i|tj6d d ƒqeng}d|ko‚|knr—|j|ƒnx!t|ƒD]\}}|\}}d}|t
|ƒdkrí||dd }n|d kr|d kr|d}q||}n|dkre|d krP|d krP|d}qˆ|||d}n#|d krz|}n||d}t|dƒ}t||ƒ}||krÓtjd||||fƒPnt||dƒ} tj| ƒt
| ƒ}!d }"xx| D]p}#|#|kr$q n| |#d}$tjd|||!|#|$f|ƒ|j|#ƒ|"d7}"|"|kr Pq q W||dkr|d}n
|d}||kr¤Pq¤q¤W|jƒtjd||ƒ|j |||ƒt ||| ƒt!S(Ns-ȺӢ°ñÍæ¼ÒË¢ÐÂÆ¥ÅäÁбí: isRefresh=%s,isSys=%sis<    ·ÇË¢ÐÂÇÒÓÐÊý¾Ý£¬Ö±½Óͬ²½! playerRank=%s,matchRankList=%sRÃiÿÿÿÿs0    layerIDCnt=%s,playerRank=%s,matchRuleList=%siRKt costMoneyDictRÄt    resetTypetWeekis0Æ¥Å乿ÔòÒì³£! mIndex=%s,fromRank=%s,toRank=%s,%ss/    Æ¥ÅäÃû´Î: %s ~ %s,%sÃû,randRank=%s,tagID=%ss"    Æ¥ÅäÃû´Î½á¹û: matchRankList=%s("R8R@RARfRfR¯R»R¼R¿RtRÐR5R7t__SyncQunyingMatchListRlRûR“RÙR=RxtSetPlayerNomalDictRMR2RBt    enumeratetNonetmaxRÔR³RnR×RØR:RC(%RHRËRbR›RÅR6RyRhRRRÆRÇRiRŒt
layerIDCntR8t    matchRankR9t matchRuleDicttrankListt matchRuleListR¶RÍRÎRÄtmIndext    matchRuletrankDifftmatchCnttnextDifftfromRankttoRankt randRankListtrankCnttmCnttrandRankRD((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyRe.s¶               % 
 
 
    
 
&                 # 
 
 
c
CsŸt|ƒ}tjƒ}g|_xU|D]M}|dks(||krLq(n||d}tj|ƒ}|suq(ntjƒ}||_||_|rXt    j
|t j ƒ}    |j ƒ|_|jƒ|_|jƒ|_|jƒ|_|jƒ|_|    tj|_|    tj|_|jƒ|_|jƒ|_|jƒ|_ |j!ƒ|_"n d||_|jj#|ƒq(Wt|jƒ|_$t%j&||ƒdS(Niisp%s('RÐtChPyNetSendPackttagSCQunyingMatchListt    MatchListR    tFindBattleViewCachettagSCQunyingMatchInfotRanktPlayerIDR‚tGetCacheLineupFightPowerRRtBatPreset_QunyingDefR€t
PlayerNameR~tRealmLVRtLVR|tFaceR}tFacePicRMtDef_PerPointValuet
FightPowert FightPowerExt
GetTitleIDtTitleIDt GetModelMarkt    ModelMarktGetEquipShowSwitchtEquipShowSwitchRžtServerIDRBt
MatchCountR=t SendFakePack(
RHR9RiRÚt
clientPackR¶tmatchIDt    viewCachet    matchInfot
fightPower((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyRÕ®s>                 cCsttjƒ}|jtjƒ|_|jtjƒ|_|jtjƒ|_    |jtj
ƒ|_ t j ||ƒdS(N(RêttagSCQunyingPlayerInfoR1RMR2t
RefreshCntRºtLastRecoverTimeR©t RankHighestR¯t RankSuccAwardt NetPackCommonR(R®R((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyR,Òs ((XR¯R@R‚RRR(RlRüR    RêRRQRvR5RcR=RKR”RÁRSRMR×RzRR…RRRR
R RRRRRRRR R#R%R(R)RfR‰R‹RŽR‘R’RRŒR–RšR¢RØRªRZR´R¨R©RÉRÌRÊR™RRRRR½RQR0R4R9R:RIRJR;R@RfRR­R·R¹R¸RÏRÐRÑReRÕR,(((s‚D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Qunying.pyt<module>s¨                                                                                      ^        ,                    !                      #                    Œ                    (                                 &     O    )    #        +        €    $