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
E;gc@s“ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Z id„Z!id„Z"d„Z#e$d„Z%dS(iÿÿÿÿNcCst|ƒdS(N(t__DoArenaSeasonReset(t    curPlayer((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt DoArenaOpen&s
cCsLtj|tjƒsdS|jtjƒ}|s>t|ƒn
t|ƒdS(N(    t GameFuncCommt GetFuncCanUset ShareDefinetGameFuncID_ArenatNomalDictGetPropertytChConfigtDef_PDict_ArenaOSSeasonStateRtSync_ArenaInfo(Rt OSSeasonState((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytOnLogin+s 
cCsÏtj|tjƒsdStj|tjdƒt|ƒt    j
ƒj tj ƒd}t jddƒ}||krŽt    jd||fƒdS|jtjƒ}|dkrÁt    jd|ƒdSt|ƒdS(NiitOperationActionsAOnDayExʱ¾º¼¼³¡¿ª·þ¶¨ÖÆÈü¼¾½øÐÐÖУ¬²»´¦Àí! openServerDay=%s <= %ss=OnDayExʱ¾º¼¼³¡¿ª·þ¶¨ÖÆÈü¼¾ÒѽáËã¹ý£¬²»´¦Àí! OSSeasonState=%s(RRRRt PlayerControltNomalDictSetPropertyRt Def_PDict_ArenaMatchRefreshCountR
t    GameWorldt GetGameWorldtGetGameWorldDictByKeytDef_Notify_WorldKey_ServerDayt IpyGameDataPYt
GetFuncCfgtDebugLogRR    R(Rt openServerDaytcustomMaxServerDayR ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytOnDayEx5s
 
cCsÈtj|tjƒsdStjƒjtjƒd}tj    ddƒ}||krntj
d||fƒdS|j t j ƒ}| sŸ|dksŸ||krºtj
d||fƒdSt|ƒdS(NiR sFOnWeekExʱÔÚ¿ª·þ¶¨ÖÆÌìÄÚ£¬²»´¦Àí¾º¼¼³¡Èü¼¾ÖØÖÃ! openServerDay=%s <= %ss]OnWeekExʱ¾º¼¼³¡¿ª·þ¶¨ÖÆÈü¼¾½øÐÐÖлòͬһÌì½áË㣬²»´¦ÀíÖØÖÃ! openServerDay=%s,OSSeasonState=%s(RRRRRRRRRRRRRR    R(RRRR ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytOnWeekExJs 
c
Cs¦|jtjƒ}tjƒjtjƒd}tj    ddƒ}||kri|dkritj
dƒdStj ddƒ\}}}|}||krÌ|dkrÌt j |tjdƒtj
d|ƒnt j |tj|dƒ|jtjƒ}||kr |}nE||kr"|}n0||}    |t|    ||t||ƒƒ}tj
d||fƒt j |tj|ƒt j |tjdƒt|tƒdS(    NiR is¿ª·þ¶¨ÖÆÌìÄÚ²»ÄÜÖØÖã¡tArenaSetis ¾º¼¼³¡¿ª·þ¶¨ÖÆÈü¼¾£¡ setScore=%ss.¾º¼¼³¡Èü¼¾ÖØÖã¡ preSeasonscore=%s,setScore=%s(RRR    RRRRRRRRtGetFuncEvalCfgRRtDef_PDict_ArenaScoretinttfloatRR
tTrue(
RR RRt setScoreMint setScoreMaxt refScoreMaxtsetScoretpreSeasonscoret    calcScore((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyR\s0           
& cCsFttj|jtjƒ|ƒ}tj|tj|ƒt|ƒdS(N(tminRtDef_UpperLimit_DWordRtDef_PDict_ArenaBattleCountRRR
(RtaddCounttupdCount((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytAddArenaBattleCount€s"
cCs|jtjƒS(N(RRR*(R((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytGetArenaBattleCount†scCstjddƒ}|}|S(NRi(RR(RtinitMaxtmaxCount((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytGetArenaBattleCountMaxŠscCs…tjƒj|ƒ}|stS|jdƒ}|jƒtjkrXtjd|ƒt    St
|ƒt |ƒk}tjd|ƒ|S(Nis·ÇÌôսȯ¿É¸ø! itemID=%ss¿É·ñ¸øÌôսȯ: canGive=%s( Rt GetGameDatatGetItemByTypeIDtFalsetGetEffectByIndext GetEffectIDRtDef_Effect_AddArenaBattleCountRR!R.R1(RtitemIDtitemDatatitemEfftcanGive((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytCheckCanGiveBattleCountItem“sc     CsNtjƒj|ƒ}|j}|jƒ}tjddƒ}|r‡|r‡|jtj    ƒ}||kr‡tj
d||f|ƒdSntj |tj |ƒsÃtj
d|ƒt j|dƒdS|jƒ}|jtjƒ}    tdi|d6|d6|    d    6gƒ}
tj
d
|
|ƒtjƒj|jƒd d d |
t|
ƒƒdS( NRis1¾º¼¼³¡Ë¢ÐÂÆ¥ÅäÍæ¼Ò´ÎÊýÒÑÂú£¡refreshCount=%s >= %ss¾º¼¼³¡Æ¥Åä²Ù×÷CDÖÐ...t RequestLatert MatchRefresht    isRefreshtplayerLVt playerScores¾º¼¼³¡·¢ËÍGameServerÆ¥Åä: %sitArena(RtGetPlayerManagertGetPlayerByIndext    IsRefresht GetPlayerIDRRRRRRtSetPlayerTickTimetTYPE_Player_Tick_ArenaRt
NotifyCodetGetLVRtstrtGameServer_QueryPlayerResulttGetIDtlen( tindext
clientDatattickRR?tplayerIDtrefreshCountLimitt refreshCountR@RAtmsgInfo((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt OnArenaMatch§s&        '.cCsž|jƒ}|jƒ}|jtjƒ}tdidd6|d6|d6|d6gƒ}tjd||ƒtjƒj    |j
ƒddd    |t |ƒƒdS(
NR>iR?R@RAt gmMatchIDLists¾º¼¼³¡·¢ËÍGameServerÆ¥Åä: %siRB( RFRJRRRRKRRRCRLRMRN(RRWRRR@RARU((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt GMArenaMatch¿s  ..cCsdS(N((RORPRQ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt OnArenaBattleÐscCsdS(N((RtcurNPC((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytOnKillBattleNPCòs cCsdS(N((RtisWin((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytSendGameServer_ArenaBattleOversc Cs}tjd|ƒtj|tjdƒ|jdtƒ}|jddƒ}|sntj    |tj
d|ƒdS|d}|d}|d}|d}t d|j tj ƒd    ƒ}tj|tj |ƒtj|tjdƒtj|tj|ƒ|j tjƒ}    ||    krE|}    tj|tj|    ƒtjd
|    ƒn|jd gƒ}
tj||
ƒtj|
ƒ} i| tj6|d6|d6|d6|d6} tj    |tj
d|| ƒt|ƒtj|ƒtj|ƒtj|tjd    ƒtj|tjd    ƒtj |tj!d    ƒt"j#|t$j%d    ƒt&j'|t$j(d    ƒt)j*|t)j+d    ƒt,j-|tj.ƒdS( Ns½áË㾺¼¼³¡¶ÔÕ½½±Àø! retDict=%sitisOKR\taddScoretupdScoretcurOrdertupdOrderis    ¸üоº¼¼³¡ÀúÊ·×î¸ß·Ö! %st awardItemList(/RRRRRtDef_PDict_ArenaBattleTagIDtgetR4tFBCommont NotifyFBOvertDef_FBMapID_ArenaBattletmaxRR*RRtDef_PDict_ArenaHighestScoret ItemControlertGivePlayerItemOrMailtGetJsonItemListt Over_itemInfoR
t
EventShelltEventRespons_ArenaBattleOvertEventRespons_ArenaHighestScoret
PlayerTaskt AddTaskValuetTaskType_ArenatPlayerWeekPartytAddWeekPartyActionCnttDef_WPAct_ArenatPlayerFeastTraveltAddFeastTravelTaskValuetDef_FeastTravel_ArenatPlayerActivitytAddDailyActionFinishCntRtDailyActionID_Arenat PlayerSuccesstDoAddSuccessProgresstSuccType_Arenat PlayerGubaotAddGubaoItemEffValuetGubaoEffType_Arenat PlayerActTasktAddActTaskValuetActTaskType_Arena( RtretDictR^R\R_R`RaRbt battleCountt highestScoretitemListt jsonItemListtoverDict((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt__DoArenaBattleOversH
 
 
 
 ,
  cCsX|jtjƒ}|jd|ƒ}||kr4dStj|tj|ƒt|ƒdS(s Íæ¼ÒÖ±½Ó¸üлý·Ö£¬ÓÐÒÔϼ¸ÖÖÇé¿ö£¬¶¼ÊDZ»ÌôÕ½µÄ£¬Ö»¸üлý·Ö
    1. ±»¶¯ÌôÕ½ÔÚÏßʱֱ½Ó¸üлý·Ö
    2. ÀëÏß/ÍÑ»úʱ±»ÌôÕ½£¬ÉÏÏߺóͬ²½×îлý·Ö
    R`N(RRRReRRR
(RtcmdDictRAR`((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt__DoUpdateArenaScoreUs 
c    Cs&|s
dS|d}t|ƒdkr0|dni}t|ƒdkrR|dni}|dkrê|jdtƒ}tjddƒ}|r"|r"td|jtjƒdƒ}t    j
|tj|ƒt j d    |ƒt |ƒq"n8|d
krt||ƒn|d kr"t||ƒndS( NiiiR>R?Riiús*¸üоº¼¼³¡Ë¢ÐÂÆ¥Åä´ÎÊý! updRefreshCount=%st BattleResulttUpdScore(RNReR4RRR(RRRRRRRR
RR(    RtmsgListRQtcmdRŽR‡R?RStupdRefreshCount((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytGameServer_ArenaResultds$
""    cCs}tjƒ}|rdnd|_|jtjƒ|_|jtjƒ|_t    d|jtj
ƒƒ|_ t j ||ƒdS(Niiiÿ(tChPyNetSendPackttagMCArenaPlayerInfotIsResetRRRtScoreRtMatchRefreshCountR(R*t BattleCountt NetPackCommont SendFakePack(RtisResett
clientPack((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyR
€s (&RRRRR–RœRRRft IPY_GameWorldRkRoR„RuRxR{R~RRrRR RRRR-R.R1R<RVRXRYR[R]RRR•R4R
(((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt<module>sH                           
            $                                "         8