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
L$×ic@snddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZdZdZd„Zd„Zd„Z d„Z!d„Z"d    „Z#d
„Z$d „Z%d „Z&d „Z'd„Z(d„Z)d„Z*d„Z+d„Z,d„Z-dd<d„ƒYZ.d„Z/d„Z0d„Z1d„Z2ddd„Z3d„Z4dd„Z6d„Z7d„Z8d „Z9d!„Z:d"„Z;d#„Z<d$„Z=d%„Z>d&„Z?d'„Z@d(„ZAd)„ZBd*„ZCd+„ZDd,„ZEd-„ZFd.„ZGd/„ZHd0„ZId1„ZJd2„ZKd3„ZLddd4„ZMeNddd5„ZOid6„ZPdd7„ZQd8„ZRd9„ZSd:„ZTd;„ZUdS(=iÿÿÿÿNiicCs
|jƒS(N(t    GetValue1(trecData((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetRecUpdScore4scCs |j|ƒS(N(t    SetValue1(Rtscore((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytSetRecUpdScore5scCs
|jƒS(N(t    GetValue2(R((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt GetRecAtkType6scCs |j|ƒS(N(t    SetValue2(RtatkType((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt SetRecAtkType7scCs
|jƒS(N(t    GetValue3(R((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetRecTagPlayerID8scCs |j|ƒS(N(t    SetValue3(Rt tagPlayerID((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytSetRecTagPlayerID9scCs
|jƒS(N(t    GetValue4(R((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt GetRecIsWin:scCs|j|rdndƒS(Nii(t    SetValue4(RtisWin((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt SetRecIsWin;scCs
|jƒS(N(t    GetValue5(R((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt
GetRecFace<scCs |j|ƒS(N(t    SetValue5(Rtface((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt
SetRecFace=scCs
|jƒS(N(t    GetValue6(R((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt GetRecFacePic>scCs |j|ƒS(N(t    SetValue6(RtfacePic((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt SetRecFacePic?scCs
|jƒS(N(t    GetValue7(R((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt GetRecRealmLV@scCs |j|ƒS(N(t    SetValue7(RtrealmLV((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt SetRecRealmLVAscCs
|jƒS(N(t    GetValue8(R((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetRecLVBscCs |j|ƒS(N(t    SetValue8(RttagLV((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytSetRecLVCstArenaMgrcBsbeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z RS(
cCs(i|_d|_d|_g|_dS(Ni(t_ArenaMgr__playerMatchDictt_ArenaMgr__allotCrossServerIDt_ArenaMgr__curZoneIDt_ArenaMgr__curZoneServerIDList(tself((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt__init__Hs
                cCs i|_dS(N(R*(R.((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt
ResetArenaQs    cCs|jj|gƒS(N(R*tget(R.tplayerID((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetPlayerMatchInfoUscCs||j|<dS(N(R*(R.R2t matchIDList((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytSetPlayerMatchInfoVscCs|jS(N(R+(R.((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetAllotCrossServerIDYscCs ||_dS(N(R+(R.tallotCrossServerID((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytSetAllotCrossServerIDZscCstƒs dS|jS(Ni(t IsArenaCrossR,(R.((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt GetCurZoneID[scCs ||_dS(N(R,(R.t    curZoneID((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt SetCurZoneID]scCs|jS(N(R-(R.((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetCurZoneServerIDList^scCs ||_dS(N(R-(R.tcurZoneServerIDList((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytSetCurZoneServerIDList_s( t__name__t
__module__R/R0R3R5R6R8R:R<R=R?(((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyR)Fs                                        cCs(tj}|s$tƒ}|t_n|S(N(t
PyGameDatat
g_arenaMgrR)(tmgr((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt GetArenaMgras
         cCsÍtjƒ}|jƒsiStj|jƒƒ}i}d}tjƒ}tj    ƒ}x÷t
|j ƒƒD]ã}|j |ƒ}|jƒ|kr•qhn|j ƒ}|jƒ}    |jƒ}
|jƒ} |    sÑqhntj|    tjƒ} || krøqhn| s | |kr| }i}n|
|kr3i||
<n||
} g| | |<qhWtji|ƒ\}}|s£tjdƒsŸtjd|ƒtjddƒniStjƒjƒ}||krÅiS||S(NtArenaCrossZoneCfgErrori(tCrossMgrtGetSSServerMgrtGetCrossCenterIDt    GameWorldtChangeTimeNumToDatetimet GetCrossTimetNonetGetAppIDt IpyGameDataPYtIPY_DatatrangetGetArenaCrossCounttGetArenaCrossByIndext    GetZoneIDt GetStartDatetGetCrossServerIDtGetServerIDListtChangeStrToDatetimetChConfigtTYPE_Time_Format_Ymdt CheckServerIDtCheckCrossZoneCfgt GetConfigExtSendGameErrorExt SetConfigExt GetGameWorldt GetServerID(tssMgrt crossDateTimet crossZoneDictt verDateTimetappIDt
ipyDataMgrtindextipyDatatzoneIDt ipyStartDatet crossServerIDt serverIDListt ipyDataTimetzoneDcittisOKterrInfot curServerID((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetCrossZoneCfgDicthsL               
 cCs tƒdS(N(tSync_C2S_ArenaCrossInfo(((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytOnCrossServer_Conn_CrossCenter›scCstjƒrtƒndS(N(RJt IsCrossServerRt(((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytOnReloadConfig s 
ic    Csðtjd|ƒtƒ}|s$dStjtjƒ}tjd|ƒx¢|jƒD]”\}}|rx||krxqTn|r¢tj||ƒs–qTn|g}n
g|}|j    |gƒ}i|d6|d6}t
j t j ||ƒqTWdS(Ns%Sync_C2S_ArenaCrossInfo toServerID=%ss    zoneCfgDict=%sRjtrecServerIDList(RJtDebugLogRsRGtGetFuncCrossZoneRecRYtDef_FBMapID_ArenatitemstCheckServerIDInListR1tCrossMsgtSendToClientServert ShareDefinetC2S_ArenaCrossInfo(    t
toServerIDttoZoneIDt zoneCfgDictt zoneRecDictRjtcfgServerIDListttoServerIDListRxtdataMsg((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRt¦s$     
cCsÕ|d}|d}tƒ}|jƒ}|rU||krUtjd||fƒn|j|ƒ|j|ƒ|j|ƒtƒs‰dStjƒj    ƒ}||krÃt
j ƒj t jdƒntƒtƒdS(NRjRxs:###ÑÝÎ䳡ËùÊô¿ç·þ±ä¸ü! befCrossServerID=%s,fromServerID=%si(RER6RJtLogR8R<R?t__checkArenaWillCrossR`Rat    DBDataMgrtGetEventTrigMgrtSetValueR€tDef_ArenaCrossStatet__arenaCrossRegtSync_ArenaCrossInfo(Rˆt fromServerIDRjRxtarenaMgrtbefCrossServerIDtserverID((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRÅs"
 
             cCsZtƒs dStƒ}|jƒ}|jƒ}|jƒ}tjtj||||ƒdS(N(    R9RER6R:R=RGtSync_CrossZoneInfoRYR{(t    curPlayerR’RlRjRm((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRás           cCstjƒjtjƒdkS(Ni(R‹RŒtGetValueR€RŽ(((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyR9ìscCs7tƒs dStƒjƒ}|s3tjdƒdS|S(sÜ»ñÈ¡±¾·þ¿ç·þÑÝÎ䳡·ÖÅ䏸µÄ¿ç·þ·þÎñÆ÷ID
    @return: >0-ÒÑ¿ç·þÇÒÓÐÄ¿±ê¿ç·þ·þÎñÆ÷ID; 0-δ¿ç·þ£»-1-ÕÒ²»µ½ËùÊô¿ç·þ
    @attention: ²»ÄÜÓÃÓÚÅжÏÊÇ·ñ¿ç·þÁË£¬ÓпÉÄÜÒÑ¿ç·þÁË£¬µ«ÊÇ·ÖÅäÒì³££»ÊÇ·ñ¿ç·þÁËÇëʹÓàIsArenaCross ÅжÏ
    is ¸Ã·þÎñÆ÷ÑÝÎ䳡ÎÞËùÊô¿ç·þ·þÎñÆ÷IDiÿÿÿÿ(R9RER6RJtErrLog(Rl((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetArenaCrossServerIDîs     cCsgtjƒjtjƒr)tjdƒtStjƒjtjƒsRtjdƒdSt    j
ddƒ}|s{tjdƒdStjƒjtj ƒd}||kr¾tjd||fƒdStj ƒ}|j tjƒ}|jƒdkrÿtjdƒdStƒjƒ}|s%tjd    ƒdStjƒjtjd
ƒtjd |ƒtj|ƒtƒtS( NsÑÝÎ䳡ÒѾ­¿ªÊ¼¿ç·þÁË!s¸Ã·þÎñÆ÷ÔÝʱ먦·Å¼ÓÈë¿ç·þ!t
ArenaCrossisÑÝÎ䳡먦·Å¿ç·þ¹¦ÄÜ!s+ÑÝÎ䳡δ´ï¿ª·Å¿ç·þ¿ª·þÌì! serverDay=%s < %sis'±¾·þÑÝÎ䳡°ñµ¥ÒÑÓÐÊý¾Ý±¾Öܲ»ÔÙÔÊÐí¿ç·þ!s%±¾·þÑÝÎ䳡ÔÝʱδ·ÖÅ䏸ij¸ö¿ç·þ·þÎñÆ÷!is*±¾·þÑÝÎ䳡¿ÉÒÔ¿ªÊ¼¿ç·þÁË! crossServerID=%s(R‹RŒR—R€RŽRJR‰tTruet Def_CanCrossROt
GetFuncCfgt Def_ServerDaytGetBillboardMgrt GetBillboardt Def_BT_ArenatGetCountRER6RtChPlayertSyncOnlinePlayerToCrossR(tcrossServerDayt    serverDayt billboardMgrt    billBoardRl((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRŠûs8        cCs<tƒ}|dkrdSi}tjtj||gƒdS(Ni(R™R~tSendToCrossServerR€t S2C_ArenaReg(RlRˆ((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRs      cCstƒ}|sdSd}x6|jƒD](\}}tj||ƒr&|}Pq&q&W|svtjd|||fƒdStjtjƒ}||kr¡g||<n||}||krÇ|j    |ƒntj
tj|ƒtj d||fƒt d|ƒdS(NisHÓÎÏ··þδ·ÖÅ䏸±¾¿ç·þÑÝÎ䳡! fromServerID=%s,joinZoneID=%s,zoneCfgDict=%ss;¿ç·þÑÝÎ䳡·þÎñÆ÷¼ÓÈë¿ç·þ³É¹¦! fromServerID=%s,joinZoneID=%sRƒ( RsR|RJR}R˜RGRzRYR{tappendtSetFuncCrossZoneRecR‰Rt(RˆR‘R„t
joinZoneIDRjR†R…Rx((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRª#s,          
  cCsCtjtjƒ}x*|jƒD]\}}||kr|SqWdS(Ni(RGRzRYR{R|(R”R…t    recZoneIDRm((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetCrossRecZoneIDAs
 c    Cs,tjdƒtjddiƒ}d„|jƒDƒ}|jƒ}|jƒtjt    j
ƒ}d}d}x¹|jƒD]«\}}|sœtj dƒPnd}t |ƒ}    x(|D] }
|    |
krÔ||
}qµPqµW|sð||d}n|süqyn|} t jtj|||| d    tƒqyWtƒjƒtƒ} | sHdSi} x°|jƒD]¢}x™|D]‘}xˆ| jƒD]z\}}tj||ƒsŸq{n|| kr¸g| |<n| |}||krÞ|j|ƒntjd
||fƒq{WqhWq[Wtjt    j
| ƒtƒtjd ƒdS( Ns.=============== ÖØÖÿç·þÑÝÎ䳡 ===============RšicSs%i|]\}}|t|ƒ“qS((tint(t.0tktv((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pys
<dictcomp>Qs    tArenaBillboardAwardWeekCrosss)¿ç·þÑÝÎ䳡ûÓÐÅäÖÃÇø·þ»¥Í¨Êý¶ÔÓ¦½±ÀøÄ£°æ!iiÿÿÿÿt isClearDatas=ÀúÊ·ÒѾ­¿ç·þµÄÓÎÏ··þĬÈϼÓÈëÐÂÈü¼¾·ÖÇø! serverID=%s,zoneID=%ss*==========================================(RJR‰ROtGetFuncEvalCfgR|tkeystsortRGRzRYR{R˜tlentPlayerBillboardtDoGiveBillboardAwardByActTempIDR€t Def_CBT_ArenaR›RER0RstvaluesR}R«R¬Rt(tserverCntStrTempDicttserverCntTempDictt serverCntListR…tfuncNametmailKeyRjRmt
templateIDt zoneServerCntt    serverCntt groupValue1R„tcrossZoneRecDictR”R†Rx((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytOnCrossWeekResetJsX  
     &        
 # cCs<tjƒrtƒn"tjƒr8tƒr8tƒq8ndS(N(RJRvRÈt IsMainServerR9t__doGiveArenaAwardWeek(((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt OnWeekCross…s  
      cCs&tjƒr"tƒr"tƒq"ndS(N(RJRÉR9t__doGiveArenaAwardDay(((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt
OnDayCrossŽs      cCsEtƒrtjdƒdStƒtƒjƒtƒrAtƒndS(Ns#±¾·þÑÝÎ䳡ÒÑ¿ç·þÓÉ¿ç·þʼþ´¦Àí¹ýÖÜ!(R9RJRyRÊRER0RŠR(((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytOnWeek•s          
cCs%tƒrtjdƒdStƒdS(Ns#±¾·þÑÝÎ䳡ÒÑ¿ç·þÓÉ¿ç·þʼþ´¦Àí¹ýÌì!(R9RJRyRÌ(((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytOnDay£s
     cCs>tjddiƒ}d}d}tjtj|||ƒdS(NtArenaBillboradAwarditArenaBillboardAwardDay(ROR¶RºtDoGiveBillboardAwardByMailR€R¡(tbillboradAwardDictRÁRÂ((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyR̪s
cCsDtjddiƒ}d}d}tjtj|||dtƒdS(NRÐitArenaBillboardAwardWeekRµ(ROR¶RºRÒR€R¡R›(RÓRÁRÂ((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRʱs
cCs;tj|tjƒsdSt|ƒt|ƒt|ƒdS(N(t GameFuncCommt GetFuncCanUseR€tGameFuncID_Arenat__loginUpdPlayerScoretSync_ArenaInfoR(R–((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytOnFBPlayerOnLogin¸s 
 
 
c CsM|jƒ}tjƒ}|jtj|ƒ}|jƒs=dS|j|jƒdƒ}|jƒ}|j    ƒ}|j
ddƒ}|r›t j ƒj ƒ}nttjƒƒ}tj||ƒsïtjdtj|ƒtj|ƒf|ƒdSt|ƒ}    |jtjƒ}
tj|tj|    ƒtjd|
|    tj|ƒf|ƒdS(NitCrossis9Íæ¼ÒÉÏÏßÑÝÎ䳡¼Ç¼»ý·Ö·Ç±¾Öܲ»¸üÐÂ! recTime=%s,curTime=%ss:Íæ¼ÒÉÏÏ߸üÐÂÑÝÎ䳡»ý·Ö: befScore=%s,updScore=%s,recTime=%s(t GetPlayerIDR‹t GetGameRecMgrtGetRecTypeIDMgrR€tDef_GameRecType_ArenaRecordR¢tAttGetTimet GetUserDictR1RGRHRLR°ttimeRJtCheckTimeIsSameWeekR‰tChangeTimeNumToStrRtNomalDictGetPropertyRYtDef_PDict_ArenaScoret PlayerControltNomalDictSetProperty( R–R2trecMgrtrecIDMgrt finalRecDatatrecTimetuserDictt
isCrossRectcurTimetupdScoretbefScore((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRØÀs*         # &cCs4tj|tjƒsdStƒr&dSt|ƒdS(N(RÕRÖR€R×R9t__DoArenaSeasonReset(R–((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytOnFBPlayerOnWeekØs     
cCs4tj|tjƒsdStƒs&dSt|ƒdS(N(RÕRÖR€R×R9Ró(R–((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytOnFBPlayerOnWeekCrossás     
cCsCtjddƒ}tj|tj|dƒt|ƒt|ƒdS(NtArenaSetit    ArenaOpen(RORRèt    GiveMoneyR€tTYPE_Price_ArenaTicketRóR(R–tstoreMax((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt DoArenaOpenês
 
 
cCsGtjddƒ}tjd|ƒtj|tj|ƒt|ƒdS(NRöis¾º¼¼³¡Èü¼¾ÖØÖã¡initScore=%s(    RORRJRyRèRéRYRçRÙ(R–t    initScore((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRóñs
 
cCs)tjddƒ}|tj|ƒ7}|S(NRöi(RORtPlayerGoldInvesttGetArenaTicketMax(R–Rú((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetArenaTicketStoreMaxùsc    Cstjƒj|ƒ}|j}|rgtjddƒ\}}| s`| s`tj|||ƒ rgdSntƒ}t    j
||||dt ƒdS(Nt
ArenaMatchis%GameLogic_Arena.__OnArenaMatchRefresh( RJtGetPlayerManagertGetPlayerByIndext    IsRefreshROR¶Rèt    HaveMoneyR™t CrossPlayertPyPackForwardingR›(Rht
clientDatattickR–t    isRefresht    costMoneyt
moneyValueRl((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt OnArenaMatch    s    $    c    Csotjƒjƒ}ddl}|jƒ}d|_i|d6}tƒ}tj||||dt    d|ƒdS(Niÿÿÿÿit gmMatchIDLists%GameLogic_Arena.__OnArenaMatchRefresht    reqDataEx(
RJR`tGetTickt ChPyNetPackttagCSArenaMatchRR™RRR›(R–R RRRRRl((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt GMArenaMatchs           "cCs"|j}t||d|d|ƒS(NR‘R(Rt__DoArenaMatchRefresh(t crossPlayerRRR‘RR    ((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt__OnArenaMatchRefresh s    c9Cs5    |si}n|jƒ}tjddƒ}t|ƒ}|jdgƒ}tjd|||f|ƒt|ƒ}    |    s~dS|    \}
} tjd|
| |f|ƒtj    ƒ} | j
|
| ƒ} | sÏdSt ƒ}|j |ƒ}| r!t|ƒ|kr!tjd|ƒt ||ƒdS|r|| r|| r|tjddƒ\}}|r||r|tj|dd    i||6ƒq|ng}g}i}tj|ƒ}|r¯|jƒnd
}tjd dƒ}tjƒ}|rç|d
d
nd
}t|ƒ}tjd ||||f|ƒ||}|rŠ||krŠtjd d ƒ}tjd|||f|ƒd
}x`|ddd…D]K}|\}}tjd|||f|ƒ||kr¿q~ng} x¡t||ƒD]}!||!\}"}#|"t|ƒdd}$|$|kr6tjd|!|#|"|$|f|ƒPn|!d}|$|krRqÕn| j|"|#gƒqÕW| s…tjd|ƒq~ntj| ƒ| d
\}"}#|j|#ƒtjd|#|"f|ƒq~Wt|ƒ|krtjd||ƒ||kr‡t||ƒ}%tj|%ƒ|%|t|ƒ }&|&jƒxH|&D]=}!||!\}"}#|j|#ƒtjd|#|"f|ƒq@Wq‡qn’tjd||f|ƒ| jƒ}'| j|ƒd}(tjd dƒ})||)}*tjd|'|(|*|)f|ƒtjdd ƒ\}+},|(|+|,}-tjd|+|,|-f|ƒxZt|*ƒD]L}.td|-|,ƒ}/|-|/krxPnt|/|-ƒ}0tj|0ƒ|(|0kr°|0j|(ƒn|0sºPnx·|0D]¯}1|1|'krÙqÁn| j|1dƒ}2|2j ƒ}3tj!|3ƒ}4|4s3tjd|3|1|/|-f|ƒqÁn|j|1ƒ|4||3<|/dkrot|ƒ|*krpPqpqÁPqÁWtjd|/|-|f|ƒ|/d}-qOW|jƒxV|D]N}5|5|'ksÎ|5d
krÒPn| j|5dƒ}2|2j ƒ}3|j|3ƒq°Wtjd||f|ƒ|ræx |D]˜}6|6|krUtj"|d|6ƒq)n|6|krgq)ntj!|6ƒ}4|4s–tj"|d|6ƒq)ntj"|d|6ƒ|j|6ƒ|4||6<q)W|| }tjd ||ƒn|t|ƒ}7tjd!|7|ƒg} d}8x‹|8d
kr£|7d
kr£|r£|8d8}8tj#d
|dƒ}!||!\}"}#|#|kr|j|#ƒ| j|"|#gƒ|7d8}7qqW| rý| jd"t$ƒx@| D]5\}.}#|#|krÁ|j|#ƒ|j|#ƒqÁqÁWntjd#||ƒ|j%||ƒt |||ƒdS($NRiR s:¾º¼¼³¡Íæ¼ÒË¢ÐÂÆ¥ÅäÁбí: isRefresh=%s,isSys=%s,reqDataEx=%ss1billboardType=%s,groupValue1=%s,needMatchCount=%ss    ·ÇË¢ÐÂÇÒÓÐÊý¾Ý£¬Ö±½Óͬ²½£¡itArenat costMoneyDictitArenaMatchRobotsAÍæ¼ÒÕ½Á¦=%s,»úÆ÷ÈË×î´óÕ½Á¦=%s,Æ¥Åä»úÆ÷ÈËÕ½Á¦ÏµÊý=%s,»úÆ÷ÈË×ÜÊý=%sis)È«²¿Æ¥Åä»úÆ÷ÈË: %s, reFightPower=%s <= %siÿÿÿÿs:    ´¦ÀíÆ¥Åä»úÆ÷ÈËÕ½Á¦¶Î: fpPerA=%s,fpPerB=%s,loopIndex=%sidsd        ±ÈµÍ°Ù·Ö±È»¹Ð¡µÄÕ½Á¦Ìø³ö£¬½øÈëÏÂÒ»¶ÎÆ¥ÅäÂß¼­: %s,robotID=%s,robotFightPower=%s,fpPer=%s < %ss%        ¸ÃÕ½Á¦·¶Î§¶ÎûÓзûºÏµÄ»úÆ÷ÈË!s1        Æ¥Åä»úÆ÷ÈË: robotID=%s,robotFightPower=%ssB    ¿ÉÆ¥ÅäµÄ»úÆ÷ÈË»¹²»¹»£¬´ÓÊ£ÏÂδ±éÀúµÄ»úÆ÷ÈËÄÚÆ¥Åä: loopIndex=%ssÆ¥ÅäÕæÈË: reFightPower=%s > %sisA    maxOrder=%s,playerOrder=%s,matchPlayerCnt=%s,leastRobotCnt=%ss.    fromLowerCnt=%s,matchPerRank=%s,toOrder=%ssE    ÎÞÕ½¶·»º´æµÄÍæ¼Ò²»Æ¥Åä: tagID=%s,order=%s,fromOrder=%s,toOrder=%ss7    Æ¥ÅäÍæ¼Ò: fromOrder=%s,toOrder=%s,matchOrderList=%ss2    Æ¥Åä°ñµ¥½á¹û: matchIDList=%s,matchOrderList=%ss²»ÄÜÆ¥Åä×Ô¼º!%ssûÓÐÕ½¶·»º´æÄ¿±ê²»Æ¥Åä!%ssÖ¸¶¨Æ¥ÅäID(%s)s     Ö¸¶¨Æ¥Åä½á¹û: matchIDList=%ss    ×îÖÕ»¹Ðè»úÆ÷ÈËÊý=%streverses     ×îÖÕÆ¥Åä½á¹û: matchIDList=%s(&RÜROR¶R¹R1RJRytGetArenaBillboardTypeValueR‹RŸR RER3t__SyncMatchListRtCostPlayerResourcestPlayerViewCachet FindViewCachetGetFightPowerTotalRtGetRobotFightPowerSortListRQtfloatR«trandomtshuffleR¸R¢t IndexOfByIDtmaxtremoveRàtGetIDtFindBattleViewCachet DebugAnswertrandintR›R5(9RR    tisSysR‘RR2tmatchScoreListtneedMatchCountR t    typeValuet billboardTypeRÆR§R¨R’R4R
R tmatchOrderListt viewCacheDictt curViewCachetplayerFightPowertrobotFPCoefficienttrobotFPSortListtrobotFightPowerMaxt robotCntTotalt reFightPowertmatchRobotFPPerListt    loopIndext
fpPerRangetfpPerAtfpPerBt robotFPIDListt
robotIndextrobotFightPowertrobotIDtfpPert randIndexListtmatchIndexListtmaxOrdert playerOrdert leastRobotCnttmatchPlayerCntt fromLowerCntt matchPerRankttoOrdert_t    fromOrdert    orderListtordertbillDatattagIDt    viewCachet
matchOrdert    gmMatchIDt needRobotCnttdoCnt((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyR$s>               #      
       
 
  ' 
         
 
 
!
    cCsYtjƒ}g|_x|D]}||kr;||}ntj|ƒ}|sVqntjƒ}||_|rtj|t    j
ƒ}|j ƒ|_ |j ƒ|_|jƒ|_|jƒ|_|jƒ|_|tj|_|tj|_|jƒ|_|jƒ|_n d||_ |jj|ƒqWt|jƒ|_t j!||ƒdS(Nsp%s("tChPyNetSendPackttagSCArenaMatchListt    MatchListRR(ttagSCArenaMatchInfotPlayerIDt
TurnAttacktGetCacheLineupFightPowerR€tBatPreset_ArenaDeft GetPlayerNamet
PlayerNamet
GetRealmLVtRealmLVtGetLVtLVtGetFacetFacet
GetFacePictFacePicRYtDef_PerPointValuet
FightPowert FightPowerExt
GetTitleIDtTitleIDRatServerIDR«R¹t
MatchCountRt SendFakePack(RR4R1t
clientPacktmatchIDRRt    matchInfot
fightPower((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRès4              cCsntjd}}tjƒrdd}|r7t|ƒ}n|sRtjd|ƒdStj}|}n||fS(Nis)ÕÒ²»µ½ÑÝÎ䳡ËùÊô¿ç·þ°ñµ¥! mainServerID=%s(R€R¡RJRvR¯R˜R¼(t mainServerIDR/RÆR®((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRs         cCsJtjƒ}|jtjƒ|_|jtjƒ|_tj    ||ƒdS(N(
RWttagSCArenaPlayerInfoRæRYRçtScoretDef_PDict_ArenaWinCnttWinCntt NetPackCommonRp(R–Rq((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRÙs
 c CsÀtj|tjdƒsdStj|tjƒtj    |tj
dƒt j |ƒ}|j tjƒ}tj|tjƒ\}    }
|ji|    d6|
d6|d6|d6ƒtƒ} t|| fS(Nit
exItemRatetexItemIDRRt(RèRR€Rùt
PlayerTaskt AddTaskValueRYtTaskType_ArenaBattlet PlayerSuccesstDoAddSuccessProgresstSuccType_OSAArenaBattleR\tGetPlayerLineupFightPowerRæRçt PlayerBeautytGetBeautyEffInfotEffType_ArenaItemExtupdateR™R›( R–tmapIDt
funcLineIDttagTypeRQt    valueListt    reqExDictRtRR{R|Rl((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytOnTurnFightRequests)    c? Csþ|s
dS|jƒ}|d}    |d}
|tjk} tjd| |    f|ƒ|jƒ} t| ƒ} | sudS| \}}tjƒ}|j    ||ƒ}|s©dS|
j
ddƒ}}d}|    t j krþ|j |    ƒ}|rõ|jƒnd}n|}d#\}}| r½tƒj|ƒ}tjddƒ}t|ƒ}|d}|    |kr—|j|    ƒ}||krt|}tjd||ƒqtnÝtjddƒ\}}|j|ƒd} |j|    ƒd}!| dkrW|!dkrW| |||}"xUt|ƒD]D}#|"|d}$|"|!ko7|$knrF|#}Pn|$d}"q Wntjd    | |!|f|ƒ||krŠ||n|d
}%|%\}}tjd ||%f|ƒn|dkrõ|rõ||}tj|||d |ƒn|dkr-|r-||}tj|    ||d |ƒng}&|&tjd dƒ7}&|
j
ddƒ}'|
j
ddƒ}(|'r»|(r»tj|'ƒr»|&j|(dgƒtjd|'|(|&fƒq»n|ji|    d6|d6|d6tj|&ƒtj6ƒtjd|    | |||&fƒtj |didt j!6ƒtj"||&dddt#ƒt$|t%dt%d| ƒtj&ƒrtdnd})|
j
ddƒ}*t't(j(ƒƒ}+t)j*|    ƒ},|,r¿|,j+ƒnd}-|,r×|,j,ƒnd}.|,rï|,j-ƒnd}/|,r|,j.ƒnd}0|,r|,j/ƒnd}1|,r7|,j0ƒnd}2|,rXt1j2|,t j3ƒnd}3|    |-|.|/|0|1|2|3g}4it4d6|d6|d6|4d 6|+d!6|)d"6}5t1j5|| ||| |5ƒ|    t j krú|-rút)j*|ƒ}6|6rþ|6j+ƒnd}7|6r|6j,ƒnd}8|6r.|6j-ƒnd}9|6rF|6j.ƒnd}:|6r^|6j/ƒnd};|6rv|6j0ƒnd}<||7|8|9|:|;|<|*g}=it6d6| d6|d6|=d 6|+d!6|)d"6}5tj|-ƒ}>t1j5|    |>||| |5ƒnt%S($Niis#½áË㾺¼¼³¡! isWin=%s,tagPlayerID=%sRiRsÔÚÆ¥ÅäÖеÄ! scoreIndex=%sis;ÔÚ¸´³ðÖеÄ! curPlayerRank=%s,tagPlayerRank=%s,scoreIndex=%siÿÿÿÿsscoreIndex=%s,winScoreInfo=%sRÆRöiR{R|sEºìÑÕ¸ÅÂʶîÍâ»ñµÃ1¸öÎïÆ·: exItemRate=%s, exItemID=%s, awardItemList=%sRt atkAddScoret defDecScoresV¾º¼¼³¡½áËã½±Àø: tagPlayerID=%s,isWin=%s,atkAddScore=%s,defDecScore=%s,awardItemList=%sRt    eventNamet isNotifyAwardR+R‘RttR    taddScoreRñttagInfotbatTimetcross(ii(7RÜRYt Def_FactionARJRytGetMainServerIDRR‹RŸR R1R€tRealPlayerIDStarttFindByIDt GetCmpValueRER3ROR¶R¹RhR$RQRºtUpdatePlayerBillboardByIDt    CanHappenR«R‡tFBCommontGetJsonItemListt Over_itemInfoRRRùtGivePlayerResourcestFalseRR›RvR°RãRRRaReRgRaRcR_R\R]R^tRecAtkType_AtktSend_C2S_TurnFightAwardAftertRecAtkType_Def(?RtguidRˆR‰t
winFactiontstatMsgtreqDatat    awardDictR2RRŒRR‘R.R/RÆR§R¨tcurScoreRñttagScoret tagBillDatat tagUpdScroeRŽRR4t winScoreListtscoreCntt
scoreIndexttagIndexRIRJt curPlayerRankt tagPlayerRanktfromRankRhttoRankt winScoreInfot awardItemListR{R|Rït curFightPowerR•t tagViewCachet tagServerIDttagFacet
tagFacePict
tagRealmLVR't tagPlayerNamet tagFightPowerR”t    afterDictR2RrtcurFacet
curFacePict
curRealmLVtcurLVt curPlayerNametcurInfottagMainServerID((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytOnTurnFightAwardCross,s¾ 
 
 
    
 
   !01 cCs™|d}|d}|d}|d}|d}    |d}
|\} } } }}}}}tdtjdd    ƒƒ}tjƒ}|jtj|ƒ}|j|ƒ}|j    |    ƒt
||ƒt ||ƒt || ƒt ||ƒt|| ƒt|| ƒt||ƒt||ƒt||ƒ|ji|d
6|d 6|d 6| d 6|
d6ƒtƒrŠtjd|ƒtj|tj|ƒn|tkršdStjƒj|ƒ}|s¹dS|jtjƒ}tj |tj|ƒtjd|||f|ƒ|rI|jtj!ƒ}tj |tj!|dƒ}tjd||ƒnt"|ƒt#j$|t#j%dƒt&j'|t&j(dƒt)j*|tj+dƒdS(NR    R“RñR”R•R–i2RöitNametAddScoreRjRnRÛs)±¾·þÒÑ¿ç·þͬ²½¸üб¾·þ°ñ»ý·Ö! updScore=%ss score=%s,addScore=%s,updScore=%sis updWinCnt=%s(,tminRORR‹RÝRÞR€Rßt
AddRecDatatSetTimeRR
RRRRR#R(t SetUserDataR9RJRyRºRœR¡R£RtFindPlayerByIDRæRYRçRèRéRxRÙtPlayerZhanlingtAddZhanlingValuetZhanlingType_ArenaCntt PlayerGubaotAddGubaoSpecEffLayertGubaoEffType_ArenatPlayerActivitytAddDailyTaskValuetDailyTask_Arena(R2RˆR‰RRÁR    R“RñR”R•RïRR»R¼R½R¾R'R¿RÀtmaxCountt
gameRecMgrt    atkRecMgrRR–RtwinCntt    updWinCnt((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytC2S_TurnFightAwardAfter¬sT
 
 
 
 
 
           0     
((VR‹RJR\R€R[RèROR€R×RÑRºRRýRWRzR„RÕRRÔRBR}RžRYR~RGR£R"RãR£R¥RRRR
R RRRRRRRR R#R%R(R)RERsRuRwRtRRMRR9R™RŠRRªR¯RÈRËRÍRÎRÏRÌRÊRÚRØRôRõRûRóRÿR RRR¢RRRRÙRRÉRß(((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt<module>s¦                                                                                                    3                                                  ;                                                                          Ä              €