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
Sð    hc@såddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z d„Z d„Z d„Zd„Zd„Zd„Zd„Zd    „Zd
„ZdS( iÿÿÿÿNcCsdt|ƒ}|s`tj|tjƒ}|jtjƒr`t|ƒt|ƒt    ||ƒq`ndS(N(
t!__CheckPlayerCrossActCTGBillboardtCrossRealmPlayertGetPlayerCrossActInfot ShareDefinetCrossActName_CTGBillboardtgett ActKey_StatetSync_CrossActCTGBillboardInfot#Sync_CrossActCTGBillboardPlayerInfotUpdateCTGRMBCrossBillboard(t    curPlayertisResettactInfo((sX.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossActCTGBillboard.pyt OnPlayerLogins 
 
cCs[tjƒ}xHt|jƒƒD]4}|j|ƒ}tj|ƒsIqnt|ƒqWdS(N(t    GameWorldtGetPlayerManagertxrangetGetPlayerCounttGetPlayerByIndextIsNormalPlayerR(t playerManagertindexR
((sX.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossActCTGBillboard.pytRefreshCrossActCTGBillboardInfo*s c
Csû|jƒ}tj|tjƒ}|jtjdƒ}|jtjdƒ}|jtjdƒ}|jtj    dƒ}|jtj
dƒ}|j t j ƒ}|j t jƒ}    ||kr3tjd|||f|ƒ|r/|    |kr/|r/tj|t j|ƒtjd|    |f|ƒt|ƒq/ndStjd||||f|ƒ|sotj|tjƒn|r‹|    r‹t||    ƒntj|t j |ƒtj|t j|ƒtj|t jdƒtj|t jdƒt|ƒt|ƒtS(NisB¿ç·þ³äÖµÅÅÐлID²»±ä£¬²»´¦Àí£¡cfgID=%s,dayIndex=%s,templateID=%ssP    »î¶¯Ä£°åID±ä¸ü£¬¸üÐÂÍæ¼ÒÉíÉÏÄ£°åID¼Ç¼£¡playerTemplateID=%s,updTemplateID=%ss?¿ç·þ³äÖµÅÅÐÐ»î¶¯ÖØÖÃ! cfgID=%s,actID=%s,playerActID=%s,state=%s(t GetPlayerIDRRRRRt ActKey_CfgIDt    ActKey_IDRtActKey_DayIndextActKey_TemplateIDtNomalDictGetPropertytChConfigtDef_PDict_CA_CTGBillboardIDt#Def_PDict_CA_CTGBillboardTemplateIDRtDebugLogt PlayerControltNomalDictSetPropertyRtNotifyCrossActEndt__SendDabiaoAwardMailtDef_PDict_CA_CTGBillboardRMBtDef_PDict_CA_CTGBillboardAwardRtTrue(
R
tplayerIDR tcfgIDtactIDtstatetdayIndext
templateIDt playerActIDtplayerTemplateID((sX.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossActCTGBillboard.pyR4s<        
 
c CsW|jtjƒ}|sdStjd|ƒ}|s8dS|jƒ}|jtjƒ}ggg}}}x |D]˜}    |    jƒ}
|    jƒ} |t    j
|
ƒkrªqqn|t d| ƒ@rÃqqn|j |gƒ|j |    j ƒƒ|j |
gƒ|t d| ƒB}qqW|sdStj|tj|ƒtjd|ƒtjd|||ƒdS(NtCrossActCTGBillboardDabiaois#²¹·¢¿ç·þ³äÖµÅÅÐлδÁìÈ¡´ï±ê½±Àø!tCACTGBillboardDabiao(RRR%t IpyGameDataPYtGetIpyGameDataListRR&t
GetCTGNeedt GetAwardIndextCommFunct    RMBToCointpowtappendtGetAwardItemListR!R"RR t SendMailBatch( R
R/ttotalRMBt ipyDataListR(t awardRecordtbatchPlayerIDListtbatchAddItemListtbatchParamListtipyDatatctgNeedt
awardIndex((sX.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossActCTGBillboard.pyR$`s4    c Csétj|tjƒ}|jtjdƒ}|sAtjdƒdS|jt    j
ƒ}|jt    j ƒ}|t d|ƒ@rtjd|ƒdS|jt    j ƒ}tjd|ƒ}|s»dSg}xo|D]g}    tj|    jƒƒ}
||    jƒkrÈ||
krtjd|||
fƒdS|    jƒ}PqÈqÈWtjd||fƒ|sTdStj||ƒsjdS|t d|ƒB} tj|t    j | ƒt|ƒxE|D]=\} } }tj|| | |tjgdd    tigƒq¤WdS(
Nis·Ç»î¶¯ÖÐisÒÑÁìÈ¡¹ý¸Ã½±Àø! awardIndex=%sR0s>³äÖµ¶î¶Èδ´ï±ê£¬ÎÞ·¨ÁìÈ¡! awardIndex=%s,totalRMB=%s,ctgNeed=%ss8ÁìÈ¡¿ç·þ³äÖµ»î¶¯´ï±ê½±Àø£¡awardIndex=%s,awardItemList=%steventtCrossActCTGBillboard(RRRRRRRR RRR%R&R8RR2R3R6R7R4R5R:t ItemControlertCheckPackSpaceEnoughR!R"RtGivePlayerItemt IPY_GameWorldtrptItemtFalse(R
RDR R+R<R>R/R=t awardItemListRBRCtupdAwardRecordtitemIDt    itemCountt isAuctionItem((sX.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossActCTGBillboard.pytGetDabiaoAward‚sH        
cCsÂtj|tjƒ}|sdS|jtjƒsOtjdtj|ƒƒdSt    |j
t j ƒ|t j ƒ}tj|t j |ƒtjd||f|jƒƒt|ƒt||ƒdS(Ns0Íæ¼ÒÇø·þID¿ç·þ³äÖµÅÅÐзǻÖÐ!playerServerID=%ss:¿ç·þ³äÖµÅÅÐлÔö¼ÓÍæ¼ÒÀۼƳäÖµRMB: addRMB=%s,totalRMB=%s(RRRRRRRR tGetPlayerServerIDtminRRR%tDef_UpperLimit_DWordR!R"RRR    (R
taddRMBR R<((sX.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossActCTGBillboard.pyt    AddCTGRMB²s" 
 c
Cs|jtjƒ}|sdS|jtjdƒ}|s;dS|jtjƒ}tjd|ƒ}|sidSd}x;|D]3}|j
ƒ}|dks ||krv|}qvqvW|dkr½dS||krít j d||f|j ƒƒdS|}    tj|tj||    ƒdS(NitCrossActCTGBillboardOrdersH¿ç·þ³äÖµÅÅÐл³äÖµ¶î¶È²»×㣬ÎÞ·¨Éϰñ! totalRMB(%s) < atleastRMBMin(%s)(RRR%RRRRR2R3tNonet GetCTGAtleastRR RtPlayerBillboardtUpdatePlayerCrossBillboardtDef_CBT_ActCTG(
R
R R<R)R/torderIpyDataListt atleastRMBMint orderIpyDatat
atleastRMBtcmpValue((sX.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossActCTGBillboard.pyR    Äs0         cCsJtjƒ}|jtjƒ|_|jtjƒ|_tj    ||ƒdS(N(
tChPyNetSendPackttagMCCACTGBillboardPlayerInfoRRR%t CTGRMBTotalR&tDabiaoAwardRecordt NetPackCommont SendFakePack(R
t playerActInfo((sX.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossActCTGBillboard.pyRäs
 cCs`tj|tjƒ}|sdS|jtjƒs5dS|jtjiƒ}|sTdS|jdgƒ}|spdStjƒ}t    |jtj
gƒƒ|_ t |j ƒ|_ |jtjdƒ|_|jddƒ|_|jddƒ|_|jtjdƒ|_g|_x(|D] }tjƒ}||_g|_tjd|ƒ}|rx½|D]²}tjƒ}    |jƒ|    _|jƒ|    _g|    _xT|jƒD]F\}
} } tj ƒ} |
| _!| | _"| | _#|    jj$| ƒqŸWt |    jƒ|    _%|jj$|    ƒqYWnt |jƒ|_&g|_'tjd|ƒ}|rxÌ|D]Á}tj(ƒ}|j)ƒ|_*|j+ƒ|_,|j-ƒ|_g|_xT|jƒD]F\}
} } tj ƒ} |
| _!| | _"| | _#|jj$| ƒq¡Wt |jƒ|_%|j'j$|ƒqLWnt |j'ƒ|_.|jj$|ƒqWt |jƒ|_/t0j1||ƒdS(NitTemplateIDListt    StartDatettEndDateR0RX(2RRRRRRtActKey_IpyDataInfoRcttagMCCACTGBillboardInfotstrtActKey_ServerIDRangeListtServerIDRangeInfotlent ServerInfoLenRt GroupValue1RktEndtDateRt
TemplateIDtTempInfottagMCCACTGBillboardTempInfotDabiaoAwardInfoR2R3ttagMCCACTGBillboardDabiaoR4tNeedRMBR5t
AwardIndext AwardItemListR:ttagMCCACTGBillboardAwardItemtItemIDt    ItemCounttIsBindR9tAwardItemCounttDabiaoAwardCounttOrderAwardInfottagMCCACTGBillboardOrdert    GetOrderAtOrderAt    GetOrderBtOrderBRZtOrderAwardCountt TemplateCountRgRh(R
R t ipyDataDictttemplateIDListtactPackR-ttempInfotdabiaoIpyDataListt dabiaoIpyDatat
dabiaoInfoRORPtisBindtitemInfoR^R`t    orderInfo((sX.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossActCTGBillboard.pyRìsz                                                         (RRR!RgR[RRcRGRJR2RR6R RRR$RRRWR    RR(((sX.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\CrossActCTGBillboard.pyt<module>s(                     
    ,    "    0