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
³ic@sœddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zddddd„Zd„Zd„Zd„Z d„Z!d„Z"d„Z#d„Z$d„Z%d„Z&d„Z'dS(iÿÿÿÿNc
    Cs²tjƒrdS|jtjƒ}|s,dS|jtjƒ}|jtjƒ}tjddiƒ}|jtj    ƒ}|jtj
ƒ}t |||d|||dƒtjddiƒ}|jtj ƒ}|jtj ƒ}    t |||d||    |dƒtj|tj    dƒtj|tj dƒtj|tjdƒtj|tjdƒtj|tjdƒtj|tj
dƒtj|tj dƒt|ƒt|ƒdS(    NtCrossRealmPKAwarditPKCountt CrossServer1itWinCountt CrossServer2i(t    GameWorldt IsCrossServertNomalDictGetPropertytChConfigtDef_PDict_CrossPK_TotalScoretDef_PDict_CrossPK_ZoneIDtDef_PDict_CrossPK_SeasonIDt IpyGameDataPYtGetFuncEvalCfgtDef_PDict_CrossPK_TodayPKCountt&Def_PDict_CrossPK_DayPKCountAwardStatetSendDayPKAwardByMailtDef_PDict_CrossPK_TodayWinCountt'Def_PDict_CrossPK_DayWinCountAwardStatet PlayerControltNomalDictSetPropertytDef_PDict_CrossPK_TodayBuyCounttDef_PDict_CrossPK_ItemAddCounttDef_PDict_CrossPK_RefreshCounttSyncCrossRealmPKPlayerInfotSyncCrossRealmPKAwardState(
t    curPlayert
totalScoretzoneIDtseasonIDtdayPKCountAwardDictt
dayPKCounttdayPKCountAwardStatetdayWinCountAwardDictt dayWinCounttdayWinCountAwardState((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pyt DoPlayerOnDay"s2 
 
cCs‰tjƒrdStjƒjtjƒ}tjƒjtjƒ}| sN| rRdSt|||ƒs…t|ƒt    |ƒt
|ƒndS(N( RRt GetGameWorldtGetGameWorldDictByKeyt ShareDefinet!Def_Notify_WorldKey_CrossPKZoneIDt#Def_Notify_WorldKey_CrossPKSeasonIDt__CheckResetPlayerCrossPKDataRRtSyncCrossRealmPKHisSeasonInfo(Rt    mapZoneIDt mapSeasonID((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pyt DoPlayerLoginDs 
 
 cCstS(N(tFalse(((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pytIsCrossRealmPKMatchStateSscCsjd}tjd|||ƒ}|s?tjdd||ƒ}n| rf|rftjd||fƒn|S(NttCrossRealmPKDanAwards.ÕÒ²»µ½¶Îλ½±ÀøÅäÖÃ: seasonID=%s, awardDanLV=%s(R tGetIpyGameDataNotLogRtErrLog(Rt
awardDanLVtisLogt crossZoneNametdanLVAwardIpyData((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pytGetCrossPKDanAwardIpyDataWs cCsÛtjƒrdStjƒjtjƒ}tjƒjtjƒ}||kr]tjdƒdStjd||fƒ|}tj    ƒ}xNt
|j ƒƒD]:}|j |ƒ}tj |ƒsÃq™nt|||ƒq™WdS(Ns(¿ç·þPKÈü¼¾ÐÅÏ¢ÓëµØÍ¼µ±Ç°ÖµÏàͬ£¬²»´¦Àí£¡s+¿ç·þPKÈü¼¾ÐÅÏ¢±ä¸ü: mapSeasonID=%s,value=%s(RRR%R&R'R(R)tDebugLogtLogtGetPlayerManagertxranget OnlineCounttOnlineAttIsNormalPlayerR*(tvalueR,R-t playerManagertiR((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pytOnCrossRealmPKSeasonChangeas     c Cs£|jƒ}|jtjƒ}|jtjƒ}||krZtjd||f|ƒdStjd||f|ƒtj    |tj|ƒ|jtj
ƒ}|jtj ƒ}tjd|||||f|ƒxt |dƒD]}t ||tƒ}    |    sqân|    jƒ}
|
sqântd|ƒ|@rQtjd||f|ƒqând} tjd|||
f|ƒi| d    6|d
6|d 6|d 6|d 6|d6} tjd|g|
||gd| ƒt|||| t| ƒqâW|jtjƒ r|rt|||tƒntj    |tjdƒtj    |tj
dƒtj    |tjdƒtj    |tjdƒtj    |tjdƒtj    |tjdƒtj    |tjdƒtj    |tjdƒtj    |tjdƒtj    |tjdƒtj    |tjdƒtj    |tj dƒtj    |tj!dƒtj    |tj dƒtj    |tjdƒtj    |tj|ƒtj    |tj|ƒt"|ƒt#|ƒtS(Ns:Íæ¼Ò¿ç·þPKÈü¼¾ÐÅÏ¢Ïàͬ£¬²»´¦Àí! mapSeasonID=%s,seasonID=%ssDÍæ¼Ò¿ç·þPKÈüÇøÈü¼¾ÐÅÏ¢²»Í¬! ´¦ÀíÏà¹ØÊý¾Ý! mapSeasonID=%s,seasonID=%ssx¿ªÊ¼ÐÂÈü¼¾£¬·¢·ÅÉÏÈü¼¾Î´ÁìÈ¡µÄ½±Àø£¬ÖØÖÃÈü¼¾Êý¾Ý! zoneID=%s,seasonID=%s,newSeasonID=%s,playerDanLV=%s,danLVAwardState=%siis=    ÒѾ­ÁìÈ¡¹ý¸Ã¶Îλ´ï±ê½±Àø!awardDanLV=%s,danLVAwardState=%stDanLVsR    Óʼþ²¹·¢Î´ÁìÈ¡µÄ¶Îλ´ï±ê½±Àø!awardDanLV=%s,danLVAwardState=%s,awardItemList=%st    EventNameRRR5tdanLVAwardStateR-t CrossServer3tdetaili($t GetPlayerIDRRR
R RR:R;RRtDef_PDict_CrossPK_DanLVt!Def_PDict_CrossPK_DanLVAwardStateR=R9R/tGetDanLVAwardListtpowt SendMailByKeytDR_GetCrossPKAwardtTruet"Def_PDict_CrossPK_SeasonAwardStatetOnQueryCrossPKSeasonOrderAwardR    tDef_PDict_CrossPK_PKCounttDef_PDict_CrossPK_WinCounttDef_PDict_CrossPK_CWinCounttDef_PDict_CrossPK_CLoseCountRRRRRRRRR( RR,R-tplayerIDRRt playerDanLVRGR5R8t awardItemListt    eventNamet
mailDetail((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pyR*{sf           %
 
c
CsBtjƒj|ƒ}|jƒ}|jƒ}|j}tjd||f|ƒ|dkr»t|ƒsldS|jt    j
ƒ}t j ddƒ}|dks¨||krÅtjd||f|ƒnÏt d||ƒ}    t j ddƒ}
|
r|    |
krtjd|    |
f|ƒdStt jddƒƒ} t j dd    ƒ} tjd
||    | | f|ƒtj|| | t    jid d 6|    d 6ƒs”dStj|t    j
|dƒt|ƒni|d6tjƒjtjƒd6tjƒjtjƒd6|d6tj|ƒd6} tjtj| ƒtjdt| ƒ|ƒdS(Ns ¿ç·þPKÆ¥ÅäÇëÇó: type=%s,accID=%sitCrossRealmPKMatchRefreshisÃâ·ÑË¢ÐÂ: refreshCount=%s < %sis2¹ºÂòˢдÎÊýÒÑ´ïÿÈÕÉÏÏÞ! refreshBuyCount=%s >= %siisF¸¶·ÑË¢ÐÂ: refreshCount=%s,refreshBuyCount=%s,costMoney=%s,moneyType=%stRefreshtEventtrefreshBuyCountt requestTypeRRRXt
fightPowers#·¢ËÍÇëÇóÆ¥Åäµ½¿ç·þ·þÎñÆ÷ dataMsg=%s(RR<tGetPlayerByIndextGetAccIDRJtTypeR:t CheckCanMatchRRRR t
GetFuncCfgtmaxtevaltGetFuncCompileCfgRtPayMoneytDef_Cost_CrossRealmPKRRR%R&R'R)R(t GetFightPowertSendMsgToCrossServertClientServerMsg_PKMatchtstr(tindext
clientDatattickRtaccIDRXRat refreshCounttfreeRefreshCountMaxR`trefreshBuyCountMaxt    costMoneyt    moneyTypetdataMsg((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pytOnCrossRealmPKMatchÅsD            , cCsü|jƒ}tjƒr,tjd|ƒdStjƒsLtj|dƒdStjƒj    ƒt
j kr{tjd|ƒdS|j ƒt
j ks¥tj|ƒdkr©dStjƒjtjƒdkrÛtjd|ƒdStƒsøtjd|ƒdStS(Ns¿ç·þ·þÎñÆ÷ÎÞ·¨·¢ÆðÆ¥Åä!tCrossMatching18s¸±±¾ÖУ¬ÎÞ·¨½øÐпç·þÆ¥Åä!iis2OnCrossRealmPKMatch ¿ç·þÈü¼¾Î´¿ªÆô£¬²»¿É½øÐÐÆ¥Å䣡s2OnCrossRealmPKMatch ¿ç·þÆ¥Åä먦Æô£¬²»¿É½øÐÐÆ¥Å䣡(RJRRR:tCrossRealmPlayertIsCrossServerOpenRt
NotifyCodetGetMapt GetMapFBTypet IPY_GameWorldtfbtNulltGetPlayerActiontpaDietGameObjtGetHPR%R&R't&Def_Notify_WorldKey_CrossPKSeasonStateR0RQ(RRX((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pyRfðs&   *    cCs“tjddƒ}|r|jtjƒ}|jtjƒ}|jtjƒ}||||krtjd||||f|j    ƒƒt
Snt S(NtCrossRealmPKMatchCountispPK´ÎÊý²»×㣬ÎÞ·¨·¢ÆðÆ¥Åä! todayPKCount=%s >= (dayFreeMatchCountMax=%s + todayBuyCount=%s + todayItemAddCount=%s)( R RgRRRRRRR:RJR/RQ(RtdayFreeMatchCountMaxt todayPKCountt todayBuyCountttodayItemAddCount((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pytCheckHavePKCounts    c Cs@|jƒ}|\
}}}}}}}    }
} } ||k} tjd| |||||||    |
| f
|ƒtjtj|ƒƒ}t||||||    | |ƒs«dStjƒ}||_d|_    ||_
g|_ t |j ƒ|_ |
|_||_||_|    |_| |_t |jƒ|_tj||ƒdS(NsˆµØÍ¼ÊÕµ½¿ç·þPK½áËã: isWinner=%s,zoneID=%s,seasonID=%s,timeStr=%s,winnerID=%s,pkScore=%s,danLV=%s,cWinCount=%s,addScore=%s,tagPlayerID=%si(RJRR;tCheckTimeIsSameServerDayExtChangeTimeStrToNumt__DoAddPKOverDatatChPyNetSendPackttagGCCrossRealmPKOverInfotTimeStrtOverTypetWinnerIDt RoundWinnerIDtlent
RoundCounttAddScoretScoreREtCWinCnttTagNamet
TagNameLent NetPackCommont SendFakePack(RtoverInfoRXRRttimeStrtwinnerIDtpkScoretdanLVt    cWinCounttaddScoret tagPlayerIDt tagPlayerNametisWinnertisTodaytoverPack((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pytCrossServerMsg_PKOverInfos, $     )!                                     cCs|jƒ}tjƒjtjƒ}    |    |krNtjd|    |f|ƒdStjƒjtjƒdkr„tjd||ƒdStj    |t
j |ƒtj    |t
j |ƒtj    |t
j ||ƒtj    |t
j||ƒtj    |t
j|ƒtj    |t
j|ƒ|jt
jƒd}
tj    |t
j|
ƒtjd|||
f|ƒ|rÔ|jt
jƒd} tj    |t
j| ƒtj    |t
j|ƒtj    |t
jdƒtjd| |f|ƒnV|jt
jƒd} tj    |t
j| ƒtj    |t
jdƒtjd| |ƒ|rè|jt
jƒd} tj    |t
j| ƒtjd| |ƒ|r¹|jt
jƒd}tj    |t
j|ƒtjd    ||ƒntj|t
jdƒtj|t
jdƒntjd
|ƒt|ƒtS( Ns:    ·Ç±¾Èü¼¾µÄ½áËãÐÅÏ¢£¬²»´¦Àí£¡curSeasonID=%s,seasonID=%sis#    Èü¼¾Òѹرգ¬²»´¦Àí£¡seasonID=%ss,    ¸üÐÂÊý¾Ý: danLV=%s,pkScore=%s,pkCount=%sis#    winner winCount=%s,cWinCount=%ss    loser cLoseCount=%ss1    Í¬Ò»ÌìµÄPK½áËãÔö¼Ó½ñÈÕPK´ÎÊý: todayPKCount=%ss(    Ôö¼Ó½ñÈÕÒÑ»ñʤ´ÎÊý: todayWinCount=%ss$    ²»Í¬ÌìµÄPK½áËã²»Ôö¼Ó½ñÈÕPK´ÎÊý! ( RJRR%R&R'R)R;RˆRRRR
R tDef_PDict_CrossPK_SeasonDanLVtDef_PDict_CrossPK_SeasonScoreR    RKRRTRURVRWRRtPlayerWeekPartytAddWeekPartyActionCnttDef_WPAct_CrossPKtPlayerTongTianLingtAddTongTianTaskValuetTTLTaskType_CrossPKRRQ(RRRR¥R¤R¦RªR«RXt curSeasonIDtpkCounttwinCountt
cLoseCountR‹t todayWinCount((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pyR‘8sP  
cCswtjƒj|ƒ}|jƒ}|j}|j}tjƒrStjd|ƒdSt|ƒscdSt    |||ƒdS(Ns¿ç·þ·þÎñÆ÷ÎÞ·¨·¢Æð»úÆ÷È˽áËã!(
RR<RcRJtIsWint TagPlayerIDRR:RŽt
SendPKOver(RqRrRsRRXRªR¨((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pytOnCrossRealmPKRobotOverts           cCs|jƒ}i|d6|d6|d6tjƒjtjƒd6tjƒjtjƒd6tj|ƒd6|j    ƒd6|j
ƒd6|j ƒd    6|j ƒd
6t j|ƒd 6|jtjƒd 6|jtjƒd 6|jtjƒd6}tjtj|ƒtjdt|ƒ|ƒdS(NRXR¨RªRtpkZoneIDt
playerNamet    playerJobtfacetfacePictrealmLVRbR¤R¥R¦sͬ²½¿ç·þ·þÎñÆ÷PK½áËã: %s(RJRR%R&R'R)R(R}tGetCrossPlayerNametGetJobtGetFacet
GetFacePictGetOfficialRankRRmRRR    RKRVRntClientServerMsg_PKOverR:Rp(RR¨RªRXRz((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pyR½„s&     ic
CsÓ| s| rAtjƒjtjƒ}tjƒjtjƒ}nd}i}| s[| rdd}n9tj|tj    |ƒtj|tj
|ƒ|dkrÚtj|tj |ƒ|dkrìtj|tj dƒqìn|j tj ƒ}i
|jƒd6|jƒd6tj|ƒd6|jƒd6|jƒd6|jƒd    6|jƒd
6|d 6|d 6|d 6}i|d6|d6|d6}    tjtj|    ƒt|ƒ|rÏ|ji|d6|d6|d6|d6ƒn|S(NR1szone season or state error.iRtRXRÀRÁRÂRÃRÄR¤R¥R¦tZoneIDtSeasonIDt
PlayerInfoRRterrorMsg(RR%R&R'R(R)RRRRKR    RVRWRRdRJR}RÅRÆRÇRÈRÉRntClientServerMsg_PKBillboardRtupdate(
RR¥R¤R¦t
resultDictRRRÎtplayerInfoDictRz((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pytGMSetPlayerCrossPKData›s8           
,cCstjƒj|ƒ}|jƒ}tjƒsAtj|dƒdStƒs^tj    d|ƒdSt
j ddƒ}|sŠtj    d|ƒdS|j t jƒ}|j t jƒ}|j t jƒ}||||}    |    |kròtj    d|ƒdSt
j ddƒ}
|
r.||
kr.tj    d||ƒdStt
jdd    ƒƒ} tj|tj| ƒ} | s‚tj    d
|| f|ƒdSid d 6|d 6} x0| D](\}}tj|||t j| ƒqWtj|t j|dƒtj    d||ƒt|ƒdS(NR|s"¿ç·þÆ¥Åä먦Æô£¬²»¿É½øÐйºÂò´ÎÊý£¡R‰is&ÿÈÕÆ¥Åä´ÎÊýûÓÐÏÞÖÆ£¬²»ÐèÒª¹ºÂò´ÎÊý£¡s¿ÉPK´ÎÊý²»ÄÜ´óÓÚÿÈÕÃâ·Ñ´ÎÊý!is,½ñÈÕ¹ºÂò´ÎÊýÒÑÂú£¬ÎÞ·¨¹ºÂò£¡todayBuyCount=%sis*ÏÉÓñ°óÓñ²»×ã: todayBuyCount=%s,costGold=%st
BuyPKCountR_RŒs ¹ºÂò¿ç·þPK´ÎÊý: todayBuyCount=%s(RR<RcRJR}R~RRR0R:R RgRRRRRRiRjt HaveMoneyExR'tTYPE_Price_Gold_Paper_MoneyRkRlRR(RqRrRsRRXRŠR‹RŒRt
canPKCounttdayBuyCountMaxtcostGoldt costMoneyListtinfoDictRytmoneyNum((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pytOnCrossRealmPKBuyÇsF        
c!    CsÜtjƒj|ƒ}|sdS|jƒ}|j}|j}tjƒjtj    ƒ}tjƒjtj
ƒ}| s{| r–tj d||fƒdS|dkr­|}    |j t jƒ}
tj d|    |
f|ƒ|
|    krôtj d|ƒdStjddiƒ} | jƒ} g| D]} t| ƒ^q} | jƒtj d| |ƒ|    | krotj dƒdS| j|    ƒ}t j}| t|    ƒ}d}i|    d    6}n€|d
krÇ|}|j t jƒ}tj d ||f|ƒ||kr tj d |ƒdStjdd
iƒ}|jƒ}g|D]} t| ƒ^q3}|jƒtj d ||ƒ||kr‰tj d|ƒdS|j|ƒ}t j}|t|ƒ}d}i|d6}nf|dkrr|}|j t jƒ}tj d||f|ƒ||kr%tj d|ƒdSt||tƒ}|sAdS|}t j}|jƒ}d}i|d6}n»|dkr)tj d|ƒ|j t jƒ}|sºtj d|ƒdStjƒjtjƒd
krìtj d|ƒdS|j t j ƒrtj d|ƒdSt!|||t"ƒdSdS|sGtj d|ƒdS|j |ƒ}t#d
|ƒ|@r‡tj d||f|ƒdSt$|ƒ}t%j&|t'j(|ƒ}||krËt)j*|dƒdS|t#d
|ƒO}t)j+|||ƒt,|ƒtj d|||||f|ƒ|j-i|d6|d 6|d!6ƒx6|D].\}}} t.j/|||d"t'j(gƒqGW|dkr¿|tj0ddƒkr¿t)j1d"d#|j2ƒ|gƒnt3||||t"|ƒdS($Ns7µ±Ç°Ã»Óпç·þPKÈü¼¾, ÎÞ·¨ÁìÈ¡½±Àø! zoneID=%s,seasonID=%sis?Íæ¼ÒÁìȡÿÈÕÆ¥Åä´ÎÊý½±Àø! awardPKCount=%s,playerTodayPKCount=%ss    PK´ÎÊý²»×㣬ÎÞ·¨ÁìÈ¡£¡Rs    awardPKCountList=%ss    Ã»ÓиÃPK´ÎÊý½±Àø£¡Rt awardPKCountisAÍæ¼ÒÁìȡÿÈÕʤÀû´ÎÊý½±Àø! awardWinCount=%s,playerTodayWinCount=%ss    Ê¤Àû´ÎÊý²»×㣬ÎÞ·¨ÁìÈ¡£¡s    awardWinCountList=%ss    Ã»ÓиÃʤÀû´ÎÊý½±Àø£¡Rt awardWinCountis2Íæ¼ÒÁìÈ¡¶Îλ´ï±ê½±Àø! awardDanLV=%s,playerDanLV=%ss    ¶Îλδ´ï±ê£¬ÎÞ·¨ÁìÈ¡£¡RER5isÍæ¼ÒÁìÈ¡Èü¼¾½áËã½±Àø!sÎÞÈü¼¾»ý·ÖÎÞ·¨ÁìÈ¡½±Àø!s·ÇÈü¼¾½áËã½×¶Î£¬²»¿ÉÁìÈ¡!sÒѾ­ÁìÈ¡¹ý¸Ã½±Àø£¬²»¿ÉÁìÈ¡!s¸Ã½±ÀøÃ»ÓÐÅäÖý±ÀøÎïÆ·!s0    ÒѾ­ÁìÈ¡¹ý¸Ã½±Àø!awardIndex=%s,awardState=%stGeRen_lhs_202580sZÍæ¼ÒÁìÈ¡¿ç·þPK½±Àø! awardType=%s,awardData=%s,awardIndex=%s,awardState=%s,awardItemList=%st
awardIndext
awardStateRZitCrossMatching22(4RR<RcRJt    AwardTypet    AwardDataR%R&R'R(R)R:RRRR R tkeystinttsortRqRRpRRRKR9RQRLRMR    RˆRRRSR/RNR˜t
ItemCommontGetItemPackSpaceR‚trptItemRRRRRÐt ItemControlertGivePlayerItemRgt WorldNotifyt GetPlayerNameRP(!RqRrRsRRXt    awardTypet    awardDataRRRÞtplayerTodayPKCountRtawardPKCountListtkRátawardStateDictNameRZR[t
drDataDictRßtplayerTodayWinCountR!tawardWinCountListR5RYR8RRât    needSpacet    packSpacetitemIDtitemCnttisBind((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pytOnCrossRealmPKGetAwardùsÒ            
         
               
    "#$"c Cs||jƒ}|jƒ}    g|    D]}
t|
ƒ^q}    |    jƒtjd|    |ƒx t|    ƒD]\} } || kržtjd|| | |f|ƒPntd| ƒ|@rÔtjd|| | f|ƒqbn|t| ƒ} tj    d|||| | ||| f|ƒi|d6|d6|d6| d    6|d
6}t
j ||g| | gd |ƒt ||||t |ƒqbWdS( Ns    awardCountList=%ssF¿ç·þPKÿÈÕ½±Àø´ÎÊý²»×ã: eventName=%s,i=%s,awardCount=%s > dataCount=%sis7ÒÑÁìÈ¡¸Ã¿ç·þPKÿÈÕ½±Àø: eventName=%s,i=%s,awardCount=%ssÓʼþ·¢·Å¿ç·þPKδÁìÈ¡µÄÿÈÕ½±Àø: zoneID=%s,seasonID=%s,eventName=%s,i=%s,awardCount=%s,dataCount=%s,awardState=%s,awardItemList=%sRFRRt
awardCountRâRI(RJRæRçRèRR:t    enumerateRNRpR;RRORPRQ(RRRR[t    dataCountRât awardItemDictt mailTypeKeyRXtawardCountListRôRCRÿRZR\((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pyRrs&  
      #)"c    Cs’|jƒ}|jtjƒ}d||g}}t||||gƒ}tjƒj|ddd|t|ƒƒtj    d|||f|ƒdS(Nt SeasonAwarditCrossPKSeasonOrdersB²éѯGameServerÍæ¼ÒÈüÇøÈü¼¾ÅÅÃû: zoneID=%s, seasonID=%s, sendMsg=%s(
RJRRRKRpRR<tGameServer_QueryPlayerResultR˜R;(    RRRtisMailRXR¥R[t    eventDatatsendMsg((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pyRSŠs (c    CsP|\}}}}}|dkrL|\}}t|||||||ƒndS(NR(tDoGetPKSeasonAward(    RtmsgListRRR[R    torderR¥R((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pytGameServer_CrossPKSeasonOrder”s
  c!    Cs…| }d}g}    |}
|jƒ} tjƒjtjƒ} tjd||||||
| f| ƒdgi|d6|d6|d6|d6|d6| d6} }}|d    krCtj|t    j
||ƒd}t j d
||ƒ}|st j d
d|ƒ}n|sin    |jƒ}|jƒ}g|D]}t|ƒ^q.}|jƒtjd || ƒd\}}xÐt|ƒD]¿\}}||kr2|}|t|ƒ}    t jƒjƒd }|t|ƒ|}
tjd ||||
f| ƒd} |t jddƒkrdnd}|||g}Pn|d }q}Wn|    sªt||tƒ}|sedS|jƒ}    d} |t jddƒkr•dnd}||g}n|    sÄtjd| ƒdS|jt    jƒrêtjd| ƒdS|| kr&tj|t    jd ƒt|ƒtjdƒntj|t    j||
ƒt |ƒ|sŒt|    ƒ}t!j"|t#j$|ƒ}||krŒt%}qŒn|r´tj&| | g|    |d|ƒn9x6|    D].\}}}t'j(|||d    t#j$gƒq»Wtjd|    | ƒi|    d6|d6|d6|
d6|d6} t)|||||| ƒ|r|rtj*d    ||j+ƒg||    d    d    gƒndS(NR1sm·¢·ÅÍæ¼Ò¿ç·þPKÈü¼¾½áËã½±Àø! zoneID=%s,seasonID=%s,order=%s,danLV=%s,isMail=%s,seasonAwardLV=%s,mapSeasonID=%sRFRRR R¥R-itCrossRealmPKOrderAwards    awardOrderList=%sisO»ñµÃÅÅÃû½±Àø, ¸üн±ÀøµÈ¼¶: awardOrderList=%s,i=%s,maxDanLV=%s,seasonAwardLV=%st CrossServer4RitCrossMatching23t CrossServer5itCrossMatching24sûÓÐÍæ¼Ò¶ÔÓ¦µÄÈü¼¾½áËã½±Àø£¡sÒѾ­·¢·Å¹ýÈü¼¾½áËã½±Àø£¡s#»¹ÊÇͬһ¸öÈü¼¾£¬ÉèÖÃÈü¼¾½±ÀøÒÑÁìÈ¡!RIsÁìÈ¡³É¹¦! awardItemList=%sRZt seasonAwardLVR(ii(,RJRR%R&R'R)R;RRRtDef_PDict_CrossPK_SeasonOrderR R3tGetIpyGameDatatGetOrderAwardInfoRæRçRèR:RRptIPY_DatatGetCrossRealmPKDanCountR˜RgR9R/tGetSeasonDanLVAwardListRRRRtDef_PDict_CrossPK_SeasonAwardLVR+RéRêR‚RëRQRORìRíRPRîRï(!RR[RRR R¥RtisNotifyt    notifyKeyRZRRXR-Rt mailParamListR\R7tseasonOrderAwardIpyDatatseasonOrderAwardDicttawardOrderListRôt    fromOrderttoOrderRCt
awardOrdertmaxDanLVR8RùRúRûRüRýRö((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pyR žsŠ         
   $ $ 
 
   "#) 2cCsòtjƒ}|jtjƒ|_|jtjƒ|_|jtjƒ|_    |jtj
ƒ|_ |jtj ƒ|_ |jtjƒ|_|jtjƒ|_|jtjƒ|_|jtjƒ|_|jtjƒ|_tj||ƒdS(N(R’ttagMCCrossRealmPKPlayerInfoRRR    R›RKRERTRRURRVt    CWinCountRt
DayPKCountRt DayWinCountRt DayBuyCountRtDayItemAddCountRtDayRefreshCountRŸR (Rt pkPlayerInfo((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pyRïs cCsttjƒ}|jtjƒ|_|jtjƒ|_|jtjƒ|_    |jtj
ƒ|_ t j ||ƒdS(N(R’ttagMCCrossRealmPKAwardStateRRRtDayPKCountAwardStateRtDayWinCountAwardStateRLtDanLVAwardStateRRtSeasonAwardStateRŸR (Rt pkAwardPack((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pyRÿs cCsútjƒjtjƒ}tjƒ}g|_x¤td|dƒD]}tj    ƒ}||_
|j t j |ƒ|_|j t j|ƒ|_|j t j|ƒ|_|j t j|ƒ|_|jj|ƒqAWt|jƒ|_tj||ƒdS(Ni(RR%R&R'R)R’t$tagMCCrossRealmPKPlayerHisSeasonInfot
SeasonListR=t tagMCCrossRealmPKPlayerHisSeasonRÌRRR®RER¯R›RtOrderRtAwardLVtappendR˜tCountRŸR (RR-t hisSeasonInfoRt
seasonInfo((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pyR+    s          cCs=|ji|d6|d6|d6ƒtjd|||ƒdS(NRRRsGetCrossPKAward_%s(RÐtDataRecordPackt SendEventPack(RRRR[RRö((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pyRPs"((R'RRŸR R’R}R³R=R°R‚RìRéRRR†R$R.R0R9RDR*R{RfRŽR­R‘R¾R½tNoneRÓRÝRþRRSRR RRR+RP(((sqD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCrossRealmPK.pyt<module>sL                   "            
        J    +                <        ,    2    y        
    
    Q