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
_8hc@s`ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zid „Zid„Zd„Zed„Z dS(iÿÿÿÿNcCst|ƒdS(N(t__DoArenaSeasonReset(t    curPlayer((sjD:\SG_ServerCode\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((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytOnLogin)s 
cCsûtj|tjƒsdStj|tjdƒtj|tjdƒtj|tj    dƒt
|ƒt j ƒj tjƒd}tjddƒ}||krºt jd||fƒdS|jtjƒ}|dkrít jd|ƒdSt|ƒdS(NiitOperationActionsAOnDayExʱ¾º¼¼³¡¿ª·þ¶¨ÖÆÈü¼¾½øÐÐÖУ¬²»´¦Àí! openServerDay=%s <= %ss=OnDayExʱ¾º¼¼³¡¿ª·þ¶¨ÖÆÈü¼¾ÒѽáËã¹ý£¬²»´¦Àí! OSSeasonState=%s(RRRRt PlayerControltNomalDictSetPropertyRtDef_PDict_ArenaItemAddCounttDef_PDict_ArenaBattleCountDayt Def_PDict_ArenaMatchRefreshCountR
t    GameWorldt GetGameWorldtGetGameWorldDictByKeytDef_Notify_WorldKey_ServerDayt IpyGameDataPYt
GetFuncCfgtDebugLogRR    R(Rt openServerDaytcustomMaxServerDayR ((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytOnDayEx3s"
 
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 ((sjD:\SG_ServerCode\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 j |tjdƒt j |tjdƒt|tƒdS(    NiR is¿ª·þ¶¨ÖÆÌìÄÚ²»ÄÜÖØÖã¡tArenaSetis ¾º¼¼³¡¿ª·þ¶¨ÖÆÈü¼¾£¡ setScore=%ss.¾º¼¼³¡Èü¼¾ÖØÖã¡ preSeasonscore=%s,setScore=%s(RRR    RRRRRRRRtGetFuncEvalCfgRRtDef_PDict_ArenaScoretinttfloatRRRR
tTrue(
RR RRt setScoreMint setScoreMaxt refScoreMaxtsetScoretpreSeasonscoret    calcScore((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyR\s4           
& cCsD|jtjƒ}|jtjƒ}tjddƒ}|||kS(NRi(RRRRRR(RttodayBattleCountt itemAddCountt dayFreeCount((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytCheckArenaBattleCount‚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
NotifyCodetGetLVR tstrtGameServer_QueryPlayerResulttGetIDtlen( tindext
clientDatattickRR0tplayerIDtrefreshCountLimitt refreshCountR1R2tmsgInfo((sjD:\SG_ServerCode\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/iR0R1R2t gmMatchIDLists¾º¼¼³¡·¢ËÍGameServerÆ¥Åä: %siR3( R7R;RRR R<RRR4R=R>R?(RRHRCR1R2RF((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt GMArenaMatch¨s  ..c    Cs'tjƒj|ƒ}|jƒ}|j}|j}tjd||f|ƒ|sWdS|s‹tjd||ƒtj|t    j
|ƒdS|dkr¸|r¸tjd||ƒdSn|dkrÊdnd}|j t    j
ƒ}||krtj d||f|ƒt |ƒdSt||ƒdS(Ns(¾º¼¼³¡ÌôÕ½Íæ¼Ò! tagPlayerID=%s,result=%ss$¸üоº¼¼³¡¶ÔÕ½¶ÔÊÖID! tagPlayerID=%si's(ÕæÈËÓɺó¶Ë¾µÏñPK¾ö¶¨Ê¤¸º! tagPlayerID=%siis?¾º¼¼³¡½áËãʱ¶ÔÊÖID²»Ò»ÖÂ! tagPlayerID(%s) != recTagPlayerID(%s)(RR4R5R7t TagPlayerIDtResultRRRRtDef_PDict_ArenaBattleTagIDRtErrLogt__DoArenaBattleOvertSendGameServer_ArenaBattleOver(    R@RARBRRCt tagPlayerIDtresulttisWintrecTagPlayerID((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt OnArenaBattle¹s.           
 cCsdS(N((RtcurNPC((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytOnKillBattleNPCÞs cCs]|jƒ}|jtjƒ}|sBtjd|ƒt|ƒdSt|ƒsltjd|ƒt|ƒdStjƒj    ƒ}tj
|tj |ƒs®tjd||ƒdS|j ƒ}|jtj ƒ}tdi|d6|d6|d6|d6|jƒd    6tj|ƒd
6gƒ}tjd ||ƒtjƒj|jƒd d d |t|ƒƒdS(Ns¾º¼¼³¡½áËãʱûÓжÔÊÖID!s¾º¼¼³¡ÒѾ­Ã»ÓжÔÕ½´ÎÊý!s½áË㾺¼¼³¡CDÖУ¡tagPlayerID=%st BattleResultRPRRR1R2trealmLVt
fightPowers¾º¼¼³¡·¢ËÍGameServer½áËã: %siR3(R7RRRLRRMRNR-RtGetTickR8R9R;R R<tGetOfficialRankRt GetFightPowerRR4R=R>R?(RRRRCRPRBR1R2RF((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyROìs* 
 
 %&.cCsotjd|ƒtj|tjdƒ|jdtƒ}|jddƒ}|sntj    |tj
d|ƒdS|d}|d}|d}|d}|jd    dƒ}| s¾tj |ƒrí|j tj ƒd
}    tj|tj |    ƒntj|tjdƒtj|tj|ƒ|j tjƒ}
||
krg|}
tj|tj|
ƒtjd |
ƒn|jd gƒ} tj|| ƒtj| ƒ} i| tj6|d6|d6|d6|d6} tj    |tj
d|| ƒt|ƒtj|tjd
ƒtj|tjd
ƒtj|tjd
ƒt j!|tj"d
ƒt#j$|t#j%d
ƒt&j'|tj(ƒdS( Ns½áË㾺¼¼³¡¶ÔÕ½½±Àø! retDict=%sitisOKRRtaddScoretupdScoretcurOrdertupdOrdertofflineRecTimeis    ¸üоº¼¼³¡ÀúÊ·×î¸ß·Ö! %st awardItemList()RRRRRRLtgettFalsetFBCommont NotifyFBOvertDef_FBMapID_ArenaBattletCheckTimeIsSameServerDayExRRRR tDef_PDict_ArenaHighestScoret ItemControlertGivePlayerItemOrMailtGetJsonItemListt Over_itemInfoR
tPlayerWeekPartytAddWeekPartyActionCnttDef_WPAct_ArenatPlayerFeastTraveltAddFeastTravelTaskValuetDef_FeastTravel_ArenatPlayerActivitytAddDailyActionFinishCntRtDailyActionID_Arenat PlayerSuccesstDoAddSuccessProgresstSuccType_Arenat PlayerGubaotAddGubaoItemEffValuetGubaoEffType_Arenat PlayerActTasktAddActTaskValuetActTaskType_Arena(RtretDictR]RRR^R_R`RaRbR*t highestScoretitemListt jsonItemListtoverDict((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyRNsF
 
 
 
 ,
cCsX|jtjƒ}|jd|ƒ}||kr4dStj|tj|ƒt|ƒdS(s Íæ¼ÒÖ±½Ó¸üлý·Ö£¬ÓÐÒÔϼ¸ÖÖÇé¿ö£¬¶¼ÊDZ»ÌôÕ½µÄ£¬Ö»¸üлý·Ö
    1. ±»¶¯ÌôÕ½ÔÚÏßʱֱ½Ó¸üлý·Ö
    2. ÀëÏß/ÍÑ»úʱ±»ÌôÕ½£¬ÉÏÏߺóͬ²½×îлý·Ö
    R_N(RRR RdRRR
(RtcmdDictR2R_((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt__DoUpdateArenaScore=s 
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/R0Riiús*¸üоº¼¼³¡Ë¢ÐÂÆ¥Åä´ÎÊý! updRefreshCount=%sRWtUpdScore(R?RdReRRtminRRRRRRRR
RNR‡(    RtmsgListRBtcmdR†RR0RDtupdRefreshCount((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pytGameServer_ArenaResultLs$
""    cCs‰tjƒ}|rdnd|_|jtjƒ|_|jtjƒ|_|jtj    ƒ|_
|jtj ƒ|_ t j||ƒdS(Nii(tChPyNetSendPackttagMCArenaPlayerInfotIsResetRRR tScoreRtBattleCountTodayRtMatchRefreshCountRtItemAddBattleCountTodayt NetPackCommont SendFakePack(RtisResett
clientPack((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyR
hs (!RRRRRŽR•RRRft IPY_GameWorldRkR~RoRrRuRxR{RR RRRR-RGRIRTRVRORNR‡RReR
(((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerArena.pyt<module>s>                         
            &                %         5