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
$ïic@szddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZdZdZd„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-d„Z.dd<d„ƒYZ/d„Z0d„Z1d„Z2d„Z3ddd„Z4d„Z5dd„Z7d„Z8d„Z9d „Z:d!„Z;d"„Z<d#„Z=d$„Z>d%„Z?d&„Z@d'„ZAd(„ZBd)„ZCd*„ZDd+„ZEd,„ZFd-„ZGd.„ZHd/„ZId0„ZJd1„ZKd2„ZLd3„ZMddd4„ZNeOddd5„ZPid6„ZQdd7„ZRd8„ZSd9„ZTd:„ZUd;„ZVdS(=iÿÿÿÿNiicCs
|jƒS(N(t    GetValue1(trecData((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetRecUpdScore5scCs |j|ƒS(N(t    SetValue1(Rtscore((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytSetRecUpdScore6scCs
|jƒS(N(t    GetValue2(R((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt GetRecAtkType7scCs |j|ƒS(N(t    SetValue2(RtatkType((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt SetRecAtkType8scCs
|jƒS(N(t    GetValue3(R((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetRecTagPlayerID9scCs |j|ƒS(N(t    SetValue3(Rt tagPlayerID((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytSetRecTagPlayerID:scCs
|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 GetRecRealmLVAscCs |j|ƒS(N(t    SetValue7(RtrealmLV((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt SetRecRealmLVBscCs
|jƒS(N(t    GetValue8(R((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetRecLVCscCs |j|ƒS(N(t    SetValue8(RttagLV((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytSetRecLVDstArenaMgrcBsbeZd„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__Is
                cCs i|_dS(N(R*(R.((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt
ResetArenaRs    cCs|jj|gƒS(N(R*tget(R.tplayerID((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetPlayerMatchInfoVscCs||j|<dS(N(R*(R.R2t matchIDList((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytSetPlayerMatchInfoWscCs|jS(N(R+(R.((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytGetAllotCrossServerIDZscCs ||_dS(N(R+(R.tallotCrossServerID((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytSetAllotCrossServerID[scCstƒ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)Gs                                        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 GetArenaMgrbs
         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.pytGetCrossZoneCfgDictisL               
 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ƒ}|rb||krbtjd||fƒtj|ƒn|j|ƒ|j|ƒ|j|ƒt    ƒs–dStj
ƒj ƒ}||kr¾t ƒnt ƒdS(NRjRxs:###ÑÝÎ䳡ËùÊô¿ç·þ±ä¸ü! befCrossServerID=%s,fromServerID=%s(RER6RJtLogtChPlayertSyncOnlinePlayerToCrossR8R<R?t__checkArenaWillCrossR`Rat__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(t    DBDataMgrtGetEventTrigMgrtGetValueR€tDef_ArenaCrossState(((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     cCsXtƒrtjdƒtStjƒjtjƒsCtjdƒdSt    j
ddƒ}|sltjdƒdStjƒjtj ƒd}||kr¯tjd||fƒdStj ƒ}|j tjƒ}|jƒdkrðtjdƒdStƒjƒ}|stjd    ƒdStjƒjtjdƒtjd
|ƒtj|ƒtƒtS( NsÑÝÎ䳡ÒѾ­¿ç·þÁË!s¸Ã·þÎñÆ÷ÔÝʱ먦·Å¼ÓÈë¿ç·þ!t
ArenaCrossisÑÝÎ䳡먦·Å¿ç·þ¹¦ÄÜ!s+ÑÝÎ䳡δ´ï¿ª·Å¿ç·þ¿ª·þÌì! serverDay=%s < %sis'±¾·þÑÝÎ䳡°ñµ¥ÒÑÓÐÊý¾Ý±¾Öܲ»ÔÙÔÊÐí¿ç·þ!s%±¾·þÑÝÎ䳡ÔÝʱδ·ÖÅ䏸ij¸ö¿ç·þ·þÎñÆ÷!s*±¾·þÑÝÎ䳡¿ÉÒÔ¿ªÊ¼¿ç·þÁË! crossServerID=%s(R9RJR‰tTrueR•R–R—R€t Def_CanCrossROt
GetFuncCfgt Def_ServerDaytGetBillboardMgrt GetBillboardt Def_BT_ArenatGetCountRER6tSetValueR˜RŠR‹RŽ(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      c CsPtjƒ}|jƒd}|j}|dkrN|dkrNtjdƒdStƒ}|sadSd}x6|jƒD](\}}tj||ƒrt|}PqtqtW|sÄtjd|||fƒdSt    j
t j ƒ}    ||    krïg|    |<n|    |}
||
kr|
j |ƒnt    jt j |    ƒtjd||fƒtd|ƒdS(    Niiis#ÖÜÌì23µãºó²»ÔÊÐí¼ÓÈë¿ç·þÑÝÎ䳡·ÖÇø!isHÓÎÏ··þδ·ÖÅ䏸±¾¿ç·þÑÝÎ䳡! fromServerID=%s,joinZoneID=%s,zoneCfgDict=%ss;¿ç·þÑÝÎ䳡·þÎñÆ÷¼ÓÈë¿ç·þ³É¹¦! fromServerID=%s,joinZoneID=%sRƒ(RJt GetServerTimetweekdaythourR‰RsR|R}R™RGRzRYR{tappendtSetFuncCrossZoneRecRt( RˆRt
serverTimet
curWeekdaytcurHourR„t
joinZoneIDRjR†R…Rx((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyRª#s8                
  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.pytGetCrossRecZoneIDHs
 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>Xs    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.pytOnCrossWeekResetQsX  
     &        
 # 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*         # &cCs—tj|tjƒsdStƒ}|rT|jtjƒrTtj    d|j
ƒƒdS|r‰tj    d|j
ƒƒt j |tjdƒnt |ƒdS(Ns9±¾·þÑÝÎ䳡ÒÑ¿ç·þÇÒÒÑÍæ¼ÒÊ×´ÎÖØÖùýÓÉ¿ç·þʼþ´¦ÀíÍæ¼Ò¹ýÌì!sÍæ¼ÒÊ״οç·þÑÝÎ䳡֨ÖÃ!i(RÛRÜR€RÝR9RìRYtDef_PDict_ArenaCrossResetRJRyRâRîRït__DoArenaSeasonReset(R”tisCross((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.pytGetArenaTicketStoreMaxsc    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 OnArenaMatchs    $    c    Csotjƒjƒ}ddl}|jƒ}d|_i|d6}tƒ}tj||||dt    d|ƒdS(Niÿÿÿÿit gmMatchIDLists%GameLogic_Arena.__OnArenaMatchRefresht    reqDataEx(
RJR`tGetTickt ChPyNetPackttagCSArenaMatchR RšR RRœ(R”RRRRRRl((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt GMArenaMatch#s           "cCs"|j}t||d|d|ƒS(NRR(R t__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($NRiRs:¾º¼¼³¡Íæ¼ÒË¢ÐÂÆ¥ÅäÁбí: 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__SyncMatchListR tCostPlayerResourcestPlayerViewCachet FindViewCachetGetFightPowerTotalRžtGetRobotFightPowerSortListRQtfloatR®trandomtshuffleR¾R£t IndexOfByIDtmaxtremoveRætGetIDtFindBattleViewCachet DebugAnswertrandintRœR5(9RRtisSysRRR2tmatchScoreListtneedMatchCountRt    typeValuet billboardTypeRÌR§R¨RR4RRtmatchOrderListt 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.pyR3s>               #      
       
 
  ' 
         
 
 
!
    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    MatchListR%R0ttagSCArenaMatchInfotPlayerIDt
TurnAttacktGetCacheLineupFightPowerR€tBatPreset_ArenaDeft GetPlayerNamet
PlayerNamet
GetRealmLVtRealmLVtGetLVtLVtGetFacetFacet
GetFacePictFacePicRYtDef_PerPointValuet
FightPowert FightPowerExt
GetTitleIDtTitleIDRatServerIDR®R¿t
MatchCountR t SendFakePack(RR4R9t
clientPacktmatchIDRZt    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 mainServerIDR7RÌR´((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyR"s         cCsJtjƒ}|jtjƒ|_|jtjƒ|_tj    ||ƒdS(N(
R_ttagSCArenaPlayerInfoRìRYRítScoretDef_PDict_ArenaWinCnttWinCntt NetPackCommonRx(R”Ry((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 |tj dƒtj|ƒ}|jtjƒ}tj|tjƒ\}    }
|ji|    d6|
d6|d6|d6ƒtƒ} t|| fS(Nit
exItemRatetexItemIDRR|(RîR R€Rt
PlayerTaskt AddTaskValueRYtTaskType_ArenaBattlet PlayerSuccesstDoAddSuccessProgresstSuccType_OSAArenaBattlet PlayerActTasktAddActTaskValuetActTaskType_ArenaBattleRdtGetPlayerLineupFightPowerRìRít PlayerBeautytGetBeautyEffInfotEffType_ArenaItemExtupdateRšRœ( R”tmapIDt
funcLineIDttagTypeRYt    valueListt    reqExDictR|RRƒR„Rl((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pytOnTurnFightRequest*s)    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 isNotifyAwardR3RR|tR    taddScoreR÷ttagInfotbatTimetcross(ii(7RâRYt Def_FactionARJRytGetMainServerIDR"R•R R¡R1R€tRealPlayerIDStarttFindByIDt GetCmpValueRER3ROR¼R¿RhR,RQRÀtUpdatePlayerBillboardByIDt    CanHappenR®R’tFBCommontGetJsonItemListt Over_itemInfoR R$RtGivePlayerResourcestFalseRRœRvR¶RéR%R&RaRmRoRiRkRgRdReRftRecAtkType_AtktSend_C2S_TurnFightAwardAftertRecAtkType_Def(?RtguidR“R”t
winFactiontstatMsgtreqDatat    awardDictR2RR—RRR6R7RÌR§R¨tcurScoreR÷ttagScoret tagBillDatat tagUpdScroeR™RšR4t winScoreListtscoreCntt
scoreIndexttagIndexRQRRt curPlayerRankt tagPlayerRanktfromRankRhttoRankt winScoreInfot awardItemListRƒR„Rõt curFightPowerR t tagViewCachet tagServerIDttagFacet
tagFacePict
tagRealmLVR't tagPlayerNamet tagFightPowerRŸt    afterDictR:RrtcurFacet
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þitNametAddScoreRrRvRá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®R    tFindPlayerByIDRìRYRíRîRïR€Rß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     
((WR•RJRdR€R[RîRORˆRâRÜRÀR%RR_R‚R‹RRÛR Rß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ýRRúRRRRR­RR#R"RßR˜RÔRê(((s€D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_Arena.pyt<module>s¨                                                                                                     3                                      %            ;                                                                      Ä              €