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
FºÛhc@sÒddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z dZ dZd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„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+de-d!„Z.d"„Z/d#„Z0dS($iÿÿÿÿNiicCs
|jƒS(N(t    GetValue1(trecData((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytGetRecUpdScore$scCs |j|ƒS(N(t    SetValue1(Rtscore((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytSetRecUpdScore%scCs
|jƒS(N(t    GetValue2(R((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt GetRecAtkType&scCs |j|ƒS(N(t    SetValue2(RtatkType((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt SetRecAtkType'scCs
|jƒS(N(t    GetValue3(R((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytGetRecTagPlayerID(scCs |j|ƒS(N(t    SetValue3(Rt tagPlayerID((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytSetRecTagPlayerID)scCs
|jƒS(N(t    GetValue4(R((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt GetRecIsWin*scCs|j|rdndƒS(Nii(t    SetValue4(RtisWin((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt SetRecIsWin+scCs
|jƒS(N(t    GetValue5(R((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt
GetRecFace,scCs |j|ƒS(N(t    SetValue5(Rtface((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt
SetRecFace-scCs
|jƒS(N(t    GetValue6(R((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt GetRecFacePic.scCs |j|ƒS(N(t    SetValue6(RtfacePic((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt SetRecFacePic/scCs
|jƒS(N(t    GetValue7(R((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt GetRecRealmLV0scCs |j|ƒS(N(t    SetValue7(RtrealmLV((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt SetRecRealmLV1scCs
|jƒS(N(t    GetValue8(R((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytGetRecLV2scCs |j|ƒS(N(t    SetValue8(RttagLV((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytSetRecLV3scCs tƒdS(N(t DoArenaReset(((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytOnWeek6scCstdƒdS(NtDay(t__DoGiveBillboardAward(((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytOnDay:s
cCsGtjdƒit_tdƒtjƒjtj    ƒtjdƒt
S(s Èü¼¾ÖØÖÃ
    s*=============== ÖØÖþº¼¼³¡ ===============tWeeks*==========================================( t    GameWorldtLogt
PyGameDatatg_arenaPlayerMatchDictR,t    DBDataMgrtGetBillboardMgrtRemoveBillboardt ShareDefinet Def_BT_ArenatTrue(((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyR)>s      
 cCstjd|ƒtjƒ}|jtjƒ}|s9dS|dkr]tjddiƒ}n(|dkrtjddiƒ}ndS|j    ƒg|j
ƒD]}t |ƒ^qœ}|j ƒtjd|ƒ|d}i}|j ƒ|jƒ}}    tjd    ||    fƒxßt|ƒD]Ñ}
|j|
ƒ} | s=qn|
d} | |kr‰|j|ƒd} | t|ƒkr|Pn|| }n| jƒ}|tjkrªqn| |g||<| g}|t|ƒ}tjd
||||ƒqWtjd |ƒdS( Ns=== ¾º¼¼³¡½áËãÅÅÐн±Àø! === %sR+tArenaBillboradAwardiR.is    ½±ÀøÃû´ÎÁбí: %sis6    °ñµ¥Êý¾ÝÊý! billboardCount=%s,billboardMaxCount=%ssArenaBillboardAward%ss    ½±ÀøÍæ¼ÒÃû´ÎÐÅÏ¢: %s(R/R0R3R4t GetBillboardR6R7t IpyGameDataPYtGetFuncEvalCfgt SortDelayDotkeystinttsorttGetCountt GetMaxCounttxrangetAttindextlentGetIDtRealPlayerIDStarttstrt
PlayerMailt SendMailByKey(t    awardTypet billboardMgrt    billBoardtbillboradAwardDicttorderStrt    orderListt
awardOrdertorderPlayerIDDicttbillboardCounttbillboardMaxCountREt billBoardDatatordertnextOrderIndextplayerIDt    paramListt    awardList((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyR,PsJ   
%
 
 
       cCs1tj|tjƒsdSt|ƒt|ƒdS(N(t GameFuncCommt GetFuncCanUseR6tGameFuncID_Arenat__loginUpdPlayerScoretSync_ArenaInfo(t    curPlayer((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytOnLogin„s
 
 
cCsð|jƒ}tjƒ}|jtj|ƒ}|jƒs=dS|j|jƒdƒ}|jƒ}t    j
|ƒs’t    j dt    j |ƒ|ƒdSt |ƒ}|jtjƒ}tj|tj|ƒt    j d||t    j |ƒf|ƒdS(Nis.Íæ¼ÒÉÏÏßÑÝÎ䳡¼Ç¼»ý·Ö·Ç±¾Öܲ»¸üÐÂ! recTime=%ss:Íæ¼ÒÉÏÏ߸üÐÂÑÝÎ䳡»ý·Ö: befScore=%s,updScore=%s,recTime=%s(t GetPlayerIDR3t GetGameRecMgrtGetRecTypeIDMgrR6tDef_GameRecType_ArenaRecordRARDtGetTimeR/tCheckTimeIsSameWeekR0tChangeTimeNumToStrRtNomalDictGetPropertytChConfigtDef_PDict_ArenaScoret PlayerControltNomalDictSetProperty(RaRYtrecMgrtrecIDMgrt finalRecDatatrecTimetupdScoretbefScore((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyR_‹s     &cCs'tj|tjƒsdSt|ƒdS(N(R\R]R6R^R`(Ra((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytOnDayExœs
cCs'tj|tjƒsdSt|ƒdS(N(R\R]R6R^t__DoArenaSeasonReset(Ra((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytOnWeekEx¢s
cCst|ƒdS(N(Rv(Ra((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt DoArenaOpen¨s
cCsGtjddƒ}tjd|ƒtj|tj|ƒt|ƒdS(NtArenaSetis¾º¼¼³¡Èü¼¾ÖØÖã¡initScore=%s(    R;t
GetFuncCfgR/tDebugLogRmRnRkRlR`(Rat    initScore((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyRv¬s
 
cCstjddƒ}|}|S(NRyi(R;Rz(RatbaseCnttstoreMax((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytGetArenaTicketStoreMax´scCs/tjƒj|ƒ}|j}t||ƒdS(N(R/tGetPlayerManagertGetPlayerByIndext    IsRefreshtDoArenaMatchRefresh(REt
clientDatattickRat    isRefresh((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt OnArenaMatchÄs     cCst}t|||ƒdS(N(R8Rƒ(Rat gmMatchIDListR†((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt GMArenaMatchÊsc& Cs®|jƒ}|jtjƒ}tjddƒ}tjd||||f|ƒtjd||ƒt|ƒ}|t    j
krgt    j
|<nt    j
|}t|ƒ|kr»|| }n| rõt|ƒ|krõtjd|ƒt ||ƒdS|rO| rO| rOtjddƒ\}    }
|     sH|
sHt j ||    |
dƒ rOdSntjƒ} | jtjƒ} | swdS| jƒ} | j|ƒd}tjddƒ}|d    krãtj||ƒ}tj|d    |dƒ}n|}||}tjd
| |||f|ƒtjdd ƒ\}}|||}tjd |||f|ƒg}xt|ƒD] }td||ƒ}||kr’Pnt||ƒ}tj|ƒ||krÊ|j|ƒn|sÔPn|dkr)xl|D];}|| krÿqçn|j|ƒt|ƒ|krçPqçqçWn&|d    }|| krO|j|ƒntjd |||f|ƒ|d}qiW|dkrH|jƒrHx¦|D]ž}||krÅtj|d|ƒq™n| j|ƒd}|d    krþtj|d|ƒq™ntj|d||fƒ||kr™|j d    |ƒq™q™W|| }n|j!ƒg}xP|D]H}|| ks}|d    krPn| j"|dƒ}|j|j#ƒƒq_W|t|ƒ}tjd|||f|ƒtj$ƒ} | j%ƒ}!d}"xƒ|"d    kr{|d    kr{|!r{|"d8}"tjd    |!dƒ}#| j&|#ƒ}$|$j#ƒ}%|%|krù|j|%ƒ|d8}qùqùWtjd||ƒ|t    j
|<t ||ƒdS(Nt
ArenaMatchisM¾º¼¼³¡Íæ¼ÒË¢ÐÂÆ¥ÅäÁбí: isRefresh=%s,playerScore=%s,gmMatchIDList=%s,isSys=%ss    matchScoreList=%ss    ·ÇË¢ÐÂÇÒÓÐÊý¾Ý£¬Ö±½Óͬ²½£¡itArenaiisA    maxOrder=%s,playerOrder=%s,matchRobotCnt=%s,matchPlayerCnt=%sis.    fromLowerCnt=%s,matchPerRank=%s,toOrder=%ss7    Æ¥ÅäÍæ¼Ò: fromOrder=%s,toOrder=%s,matchOrderList=%ssÄ¿±êID²»ÄÜÊÇ×Ô¼º!ÎÞ·¨Æ¥Åä!%ssÄ¿±êID²»ÔÚ°ñµ¥ÉÏ!ÎÞ·¨Æ¥Åä!%ssÖ¸¶¨Æ¥ÅäID(%s),order(%s)sB    Æ¥Åä°ñµ¥½á¹û: matchIDList=%s,matchOrderList=%s,needRobotCnt=%sids     ×îÖÕÆ¥Åä½á¹û: matchIDList=%s('RcRjRkRlR;R<R/R{RFR1R2t__SyncMatchListRmtPayMoneyR3R4R:R6R7RAt IndexOfByIDtGetOrderValueByDicttrandomtrandinttrangetmaxtshuffletremovetappendtNonet
GetGMLevelt DebugAnswertinsertR@RDRGtIPY_Datat GetRobotCounttGetRobotByIndex(&RaR†RˆtisSysRYt playerScoretmatchScoreListtneedMatchCountt matchIDListt    costMoneyt
moneyValueRMRNtmaxOrdert playerOrdertmatchRobotCntDicttmatchRobotRanget matchRobotCnttmatchPlayerCntt fromLowerCntt matchPerRankttoOrdertmatchOrderListt_t    fromOrderRQRWt    gmMatchIDt gmMatchOrdert
matchOrdertbillDatat needRobotCntt
ipyDataMgrtrobotMaxtdoCntt
robotIndext robotIpyDatatrobotID((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyRƒÐs¾      '   
         
 
   !
     cCsðtjƒ}g|_x²|D]ª}tj|ƒ}tjƒ}||_|r©|jƒ|_|j    ƒ|_
|j ƒ|_ |j ƒ|_|jƒ|_|jƒ|_n d||_|jj|ƒqWt|jƒ|_tj||ƒdS(Nsp%s(tChPyNetSendPackttagSCArenaMatchListt    MatchListtPlayerViewCachet FindViewCachettagSCArenaMatchInfotPlayerIDt GetPlayerNamet
PlayerNamet
GetRealmLVtRealmLVtGetFacetFacet
GetFacePictFacePict GetFightPowert
FightPowertGetFightPowerExt FightPowerExR–RFt
MatchCountt NetPackCommont SendFakePack(RaR¢t
clientPacktmatchIDt    viewCachet    matchInfo((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyRŒDs$            cCs5tjƒ}|jtjƒ|_tj||ƒdS(N(R¼ttagSCArenaPlayerInfoRjRkRltScoreRÐRÑ(RaRÒ((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyR`Zs (1R3RJR6R\RmR;R¼R¿RÐR1R/RkRtRecAtkType_AtktRecAtkType_DefRRRR
R RRRRRRRR R#R%R(R*R-R)R,RbR_RuRwRxRvRR‡R‰R—tFalseRƒRŒR`(((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt<module>s\                                                                                             4                                    t