hwj35
2025-06-23 aa0f971ae9a59f0fd98d57b6c1d1663a270be92c
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
Á|Egc@súddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z d„Z d„Zd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „ZdS( iÿÿÿÿNcCsn|dks|dkrdStjd|ƒ}|s8dS|jƒ}|t|ƒkr`|dn||}|S(NitActTotalRechargeiÿÿÿÿ(tNonet IpyGameDataPYtGetIpyGameDatatGetTemplateIDListtlen(tcfgIDtdayIndextipyDatattemplateIDListt
templateID((svE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTotalRecharge.pyt GetTemplateID s &cCs‰x‚tjjtjiƒjƒD]b}|jtjdƒ}t||ƒ}|s|jtjƒrt    ||ƒt
||ƒqqqWdS(Ni( t
PyGameDatatg_operationActionDicttgett ShareDefinet!OperationActionName_TotalRechargetvaluest ActKey_ActNumt __CheckPlayerTotalRechargeActiont ActKey_StatetSync_TotalRechargeActionInfotSync_TotalRechargeInfo(t    curPlayertactInfotactNumtisReset((svE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTotalRecharge.pyt OnPlayerLogin*s% cCs^tjƒ}xKt|jƒƒD]7}|j|ƒ}tj|ƒsIqnt||ƒqWdS(N(t    GameWorldtGetPlayerManagertxrangetGetPlayerCounttGetPlayerByIndextIsNormalPlayerR(Rt playerManagertindexR((svE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTotalRecharge.pytRefreshTotalRechargeActionInfo7s c CsÒ|jƒ}tjtj|ƒ}|jtjdƒ}|jtjdƒ}|jt    j
|ƒ}||kr‹tj d||jƒƒdS|jtj dƒ}|jt    j |ƒ}t|jtjdƒ|jtjdƒƒ}    |jt    j|ƒ}
tj d|||||    |
f|ƒt||
||ƒtj|t    j
||ƒtj|t    j||    ƒtj|t    j ||ƒtj|t    j|dƒtj|t    j|dƒt||ƒt||ƒtS(Nis%ÀۼƳäÖµ»î¶¯ID²»±ä£¬²»´¦Àí£¡actNum=%ssnÀۼƳäÖµÖØÖÃ! actNum=%s,TotalRechargeID=%s,playerTotalRechargeID=%s,state=%s,templateID=%s,playerTemplateID=%s(t GetPlayerIDRt
GetActInfoRRRt    ActKey_IDRtNomalDictGetPropertytChConfigtDef_PDict_TotalRechargeIDtDebugLogtActKey_WorldLVtDef_PDict_TotalRechargeWorldLVR t ActKey_CfgIDtActKey_DayIndext!Def_PDict_TotalRechargeTemplateIDt__SendTotalRechargeMailt PlayerControltNomalDictSetPropertytDef_PDict_TotalRechargeGoldt"Def_PDict_TotalRechargeAwardRecordRRtTrue( RRtplayerIDRtTotalRechargeIDtstatetplayerTotalRechargeIDt
actWorldLVt playerWorldLVR
tplayerTemplateID((svE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTotalRecharge.pyRAs.  -      cCsŠ|s
dS|jtj|ƒ}|s*dStjd|ƒ}|sFdS|jƒ}ggg}}}    |jtj|ƒ}
|jƒ} x¾|D]¶} | jƒ} |
t    d| ƒ@rºqnt
j | j ƒƒ}||kráqn|
t    d| ƒO}
t | jƒ| |ƒ}|j|gƒ|j|ƒ|    jt| j ƒƒgƒqW|r†tj|tj||
ƒtjd||||    ƒndS(NtTotalRechargeTemplateisTotalRechargeMail%s(R(R)R4RtGetIpyGameDataListR%R5tGetJobt GetAwardIndextpowtCommFunct    RMBToCoint GetNeedGoldt __GetItemListt GetAwardItemtappendtstrR2R3t SendMailBatch(RR=R<RtcurRechargeGoldt ipyDataListR7tbatchPlayerIDListtbatchAddItemListtbatchParamListt awardRecordtjobRt
awardIndextneedGoldt awardItemList((svE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTotalRecharge.pyR1ds8       cCsTtj||iƒ}t|ƒ|krBtjd||fƒgS|t|ƒSdS(Ns*ÀۼƳäÖµ½±ÀøÎ´ÅäÖøÃÖ°ÒµitemDict=%s,job=%s(RtGetDictValueByRangeKeyRItErrLog(titemDictRQtworldLVt itemInfoDict((svE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTotalRecharge.pyRF‹s
c
Cs`|dkrdSxItjjtjiƒjƒD])}|jtjdƒ}|jtjƒsstj    d|ƒq/n|jtj
dƒ}|s”q/nt j d|ƒ}|s²q/n|j ƒ}|td|ƒ@sútj    d|||f|jƒƒq/n|jtjƒ}t|jtj
dƒ|jtjdƒƒ}    | sG|     rmtjd||    f|jƒƒq/ntj|tj||ƒtj|tj||    ƒ|jtj|ƒ}
t|
|tjƒ} tj|tj|| ƒt||ƒtj    d|||    |
|| f|jƒƒ|jƒr/|jtj|ƒ} t ||    | |ƒq/q/WdS(Nis!ÀۼƳäÖµ»î¶¯µ±Ç°Î´¿ªÆô! actNum=%sRisPÍæ¼ÒÀۼƳäÖµ»î¶¯£¬³äÖµÀàÐͶԸûÎÞЧ! actNum=%s,coinType=%s,ctgTypeEffValue=%ss+ÀۼƳäÖµ»î¶¯Êý¾ÝÒì³£!actID=%s,templateID=%sscÍæ¼ÒÀۼƳäÖµ»î¶¯: actNum=%s,actID=%s,templateID=%s,curRechargeGold=%s,addGold=%s,updRechargeGold=%s(!R R RRRRRRRR+R.RRtGetCTGTypeEffValueRBR%R'R R/RVR2R3R)R*R0R(R4tmintDef_UpperLimit_DWordRtGetIsOfflineActR-R1( RtaddGoldtcoinTypeRRRRtctgTypeEffValuetactIDR
RKtupdRechargeGoldR<((svE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTotalRecharge.pytAddTotalRechargeGold•sF %     -      # cCsqtj|dƒ}|dkr3tjd|ƒdS|jƒ}tjtj|ƒ}|jtjdƒ}|jtj    dƒ}t
|jtj dƒ|jtj dƒƒ}| s¹| rÚtjd|||f|ƒdS|j tj|ƒ}||krdS|j tj|ƒ}    |    td|ƒ@rGtjd||f|ƒdStjd|ƒ}
|
scdSd} x*|
D]"} | jƒ|krp| } PqpqpW| s½tjd|||f|ƒdStj| jƒƒ} |j tj|ƒ}t| jƒ|jƒ|ƒ}|j tj|ƒ}|| krOtjd    |||| |f|ƒdStj||ƒsedS|    td|ƒO}    t j!|tj||    ƒt"||ƒ| j#ƒ}|rßt j$d||j%ƒt&| jƒƒgƒnx6|D].\}}}tj'|||dt(j)gƒqæWtj*||d
ƒi|d 6| d 6|d 6t&|ƒd6|d6}t+j,|d
|ƒdS(smÁìÈ¡ÀۼƳäÖµ½±Àø
    @param awardIndex: ½±ÀøË÷Òý
    @param actNum: »î¶¯±àºÅ£¬Èç11 »ò  12 ´ú±í²»Í¬µÄ»î¶¯
    is%ûÓÐÖ¸¶¨ÁìÈ¡µÄÀÛ³ä»î¶¯±àºÅ! actNum=%sNs<ûÓÐÀۼƳäÖµ»î¶¯£¬ÎÞ·¨Áì½±£¡actNum=%s,state=%s,templateID=%sis5ÒѾ­ÁìÈ¡¹ý¸ÃÀۼƳäÖµ»î¶¯½±Àø! actNum=%s,awardIndex=%sR>sBÕÒ²»µ½¸Ã·µÀû»î¶¯µµÎ»Ë÷Òý½±Àø!actNum=%s,templateID=%s,awardIndex=%ss_ËùÐè³äÖµ¶î¶È²»×㣬ÎÞ·¨ÁìÈ¡!actNum=%s,templateID=%s,awardIndex=%s,needGold=%s,curRechargeGold=%stTotalRechargeAwardt
TemplateIDtNeedGoldt
AwardIndextItemListtActNum(-RtToIntDefR+R%R&RRRR'RR R.R/R(R)R*R5RBRR?RRARCRDRER-RFRGR@R4t ItemControlertCheckPackSpaceEnoughR2R3Rt GetNotifyKeyt WorldNotifyt GetPlayerNameRItGivePlayerItemt IPY_GameWorldtrptItemtNotifyGiveAwardInfotDataRecordPacktDR_FuncGiveItem(RRRRR7RR8R9R
R:RPRLt awardIpyDataRRSR;RTRKt    notifyKeytitemIDt    itemCountt_t addDataDict((svE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTotalRecharge.pytOnGetTotalRechargeAwardÅsj  -         .#cCsÄtjtj|ƒ}|jtjƒs+dS|jtjƒ}tjd|ƒ}|sYdS|j    ƒridSt
j ƒ}||_ |j tj|ƒ|_|j tj|ƒ|_tj||ƒdS(NR(RR&RRRRR.RRR]tChPyNetSendPackttagMCTotalRechargePlayerInfoRiR(R)R4t    GoldTotalR5t AwardRecordt NetPackCommont SendFakePack(RRRRRt playerActInfo((svE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTotalRecharge.pyRs      cCs¦tjtj|ƒ}|jtjƒs+dS|jtjƒ}tjd|ƒ}|sYdS|j    ƒridS|j
ƒ}|sdS|j ƒ}|j t j|ƒ}tj|ƒ\}}    |jtj|ƒ}
tjƒ}||_|
|_|    |_|jƒ|_|jƒ|_g|_xd|D]\} tjd| ƒ} | sDq ntjƒ} g| _xþ| D]ö}tjƒ}|jƒ|_ t!j"|j#ƒƒ|_$g|_%t&|j'ƒ||ƒ}xw|D]o}|d \}}t(|ƒdkró|dnd}tj)ƒ}||_*||_+||_,|j%j-|ƒqÁWt(|j%ƒ|_.| jj-|ƒq`Wt(| jƒ| _/|jj-| ƒq Wt(|jƒ|_0t1j2||ƒdS(NRR>ii(3RR&RRRRR.RRR]RR@R(R)R-tGetOperationActionDateStrtActKey_StartDateSyncR}ttagMCActTotalRechargeInfoRit    StartDatetEndtDatet
GetLVLimittLimitLVt GetIsDayResett
IsDayResett AwardDayInfoR?ttagMCTotalRechargeAwardDayt    AwardInfottagMCTotalRechargeAwardRARgRCRDRERft    AwardItemRFRGRttagMCTotalRechargeAwardItemtItemIDt    ItemCounttIsBindRHtAwardItemCountt
AwardCountt    AwardDaysRR‚(RRRRRR    RQR;t startDateStrt
endDateStrt startDateSyncR
RLtdayInfot    awardInfoRTt awardItemInfoRxRytisBindt    awardItem((svE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTotalRecharge.pyR%sd                                 "             (R RR2RRkR}RtRqRt
ItemCommonRR)RCR RR$RR1RFRcR|RR(((svE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTotalRecharge.pyt<module>s,                 
         
    #    '    
    0    I