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
D€×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ƒ}|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.pytGetCrossRecZoneIDGs
 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>Ws    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.pytOnCrossWeekResetPsX  
     &        
 # 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.pyR2s>               #      
       
 
  ' 
         
 
 
!
    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 |ƒ}|j tjƒ}tj|tjƒ\}    }
|ji|    d6|
d6|d6|d6ƒtƒ} t|| fS(Nit
exItemRatetexItemIDRR|(RîR R€Rt
PlayerTaskt AddTaskValueRYtTaskType_ArenaBattlet PlayerSuccesstDoAddSuccessProgresstSuccType_OSAArenaBattleRdtGetPlayerLineupFightPowerRì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     
((VR•RJRdR€R[RîRORˆRßRÙRÀR%RR_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                                      %            ;                                                                      Ä              €