hxp
2025-05-30 3f3ecbc0329d3d14b80f261827c7522f63d2fcef
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
Sð    hc@sîddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
d„Z d„Z d„Z d„Zd„Zd„Zd„Zd    „Zd
„Zdd „Zd „ZdS( iÿÿÿÿNcCsi| s|dkrdStjd|ƒ}|s3dS|jƒ}|t|ƒkr[|dn||}|S(NitActSingleRechargeiÿÿÿÿ(tNonet IpyGameDataPYtGetIpyGameDatatGetTemplateIDListtlen(tcfgIDtdayIndextipyDatattemplateIDListt
templateID((s[.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActSingleRecharge.pyt GetTemplateIDs &cCs‰x‚tjjtjiƒjƒD]b}|jtjdƒ}t||ƒ}|s|jtjƒrt    ||ƒt
||ƒqqqWdS(Ni( t
PyGameDatatg_operationActionDicttgett ShareDefinet"OperationActionName_SingleRechargetvaluest ActKey_ActNumt!__CheckPlayerSingleRechargeActiont ActKey_StatetSync_SingleRechargeActionInfotSync_SingleRechargePlayerInfo(t    curPlayertactInfotactNumtisReset((s[.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActSingleRecharge.pyt OnPlayerLogin(s% cCs^tjƒ}xKt|jƒƒD]7}|j|ƒ}tj|ƒsIqnt||ƒqWdS(N(t    GameWorldtGetPlayerManagertxrangetGetPlayerCounttGetPlayerByIndextIsNormalPlayerR(Rt playerManagertindexR((s[.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActSingleRecharge.pytRefreshSingleRechargeActionInfo5s c
Csh|jƒ}tjtj|ƒ}|jtjdƒ}|jtjdƒ}|jt    j
|ƒ}|jt    j |ƒ}t |jtj dƒ|jtjdƒƒ}||kr1tjd||f|ƒ|r-|r-||kr-tj|t    j ||ƒt||ƒt||ƒtjd||ƒndS|jtjdƒ}    |jt    j|ƒ}
tjd||||||f|ƒt|||
|ƒtj|t    j
||ƒtj|t    j ||ƒtj|t    j||    ƒ|rJ|rJtjd|ƒ} | rJx=| D]2} | jƒ} tj|t    j|| fdƒqWqJnt||ƒt||ƒtS(Nis.µ¥±ÊÀÛ³ä»î¶¯ID²»±ä£¬²»´¦Àí£¡actNum=%s,actID=%ss#    »î¶¯ÖиüÐÂÄ£°åID: templateID=%ssZµ¥±ÊÀÛ³äÖØÖÃ! actNum=%s,actID=%s,playerActID=%s,state=%s,templateID=%s,playerTemplateID=%stActSingleRechargeAward(t GetPlayerIDRt
GetActInfoRRRt    ActKey_IDRtNomalDictGetPropertytChConfigtDef_PDict_SingleRechargeIDt"Def_PDict_SingleRechargeTemplateIDR t ActKey_CfgIDtActKey_DayIndextDebugLogt PlayerControltNomalDictSetPropertyRRtActKey_WorldLVtDef_PDict_SingleRechargeWorldLVt__SendSingleRechargeMailRtGetIpyGameDataListt GetAwardIndextDef_PDict_SingleRechargeValuetTrue(RRtplayerIDRtactIDtstatet playerActIDtplayerTemplateIDR
t
actWorldLVt playerWorldLVt ipyDataListRt
awardIndex((s[.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActSingleRecharge.pyR?s@ -          *  cCs:|jtj||fƒ}|d}|d}||fS(Niè(R)R*R7(RRRAt    valueInfotgetCountt canGetCount((s[.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActSingleRecharge.pytGetAwardCountInfons
 
cCs2|d|}tj|tj||f|ƒ|S(Niè(R0R1R*R7(RRRARCRDRB((s[.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActSingleRecharge.pytSetAwardCountInfoss cCs?|s
dStjd|ƒ}|s&dS|jƒ}ggg}}}xÏ|D]Ç}    |    jƒ}
t|||
ƒ\} } | | kr‰qMnt|||
| | ƒ| | } |    jƒ}tj|    j    ƒ|gƒ}xAt
| ƒD]3}|j |gƒ|j |ƒ|j |gƒqÝWqMW|r;t j d||||ƒndS(NR%sSingleRechargeMail%s(RR5R&R6RERFtGetSingleRechargeValueRtGetDictValueByRangeKeyt GetAwardItemtrangetappendR0t SendMailBatch(RR=R?RR@R9tbatchPlayerIDListtbatchAddItemListtbatchParamListRRARCRDt
unGetCountt singleValuet awardItemListt_((s[.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActSingleRecharge.pyR4xs.    
  cCs|dkrdSxïtjjtjiƒ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/nt|jtj
dƒ|jtjdƒƒ}|sStjd||f|jƒƒq/nt jd|ƒ}    |    sqq/ng}
|jƒ} tj    d|| |fƒ| dkr¬nþ| d    kr»nï| dkr/xà|    D]Ò} | jƒ} tj| jƒƒ}||krqÎn| jƒ}t||| ƒ\}}||krUtj    d
| | |fƒPn|
j| ƒ|d    7}t||| ||ƒtj    d | | ||fƒPqÎWnq/|
s¶q/nt|||
ƒ|jƒr/|jt j!|ƒ}t"||||ƒq/q/WdS( Nis!µ¥±ÊÀÛ³ä»î¶¯µ±Ç°Î´¿ªÆô! actNum=%sRisPµ¥±ÊÀÛ³ä³äÖµ»î¶¯£¬³äÖµÀàÐͶԸûÎÞЧ! actNum=%s,coinType=%s,ctgTypeEffValue=%ss/µ¥±ÊÀÛ³ä³äÖµ»î¶¯Êý¾ÝÒì³£!cfgID=%s,templateID=%sR%s@µ¥±ÊÀÛ³ä³äÖµ»î¶¯£¬actNum=%s,awardRuleType=%s,curRechargeValue=%sisO    ÒÑ´ï×î´ó¿ÉÁì½±´ÎÊý£¬²»´¦Àí£¡awardRuleType=%s,awardIndex=%s,awardCountMax=%ssT    ÉèÖþ«È·µµ´Î¿ÉÁìÈ¡£¡awardRuleType=%s,awardIndex=%s,singleValue=%s,canGetCount=%s(#R R RRRRRRRR/R-RRtGetCTGTypeEffValuetpowR&R R.tErrLogR5tGetAwardRuleTypeR6tCommFunct    RMBToCoinRGtGetAwardCountMaxRERKRFRtGetIsOfflineActR)R*R3R4(RtcurRechargeValuetcoinTypeRRRRtctgTypeEffValueR
tawardIpyDataListtawardIndexListt awardRuleTypet awardIpyDataRARQt awardCountMaxRCRDR?((s[.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActSingleRecharge.pytUpdSingleRechargeValuešsr %     -           
     c Cs¸tj|dƒ}|dkr3tjd|ƒdS|jƒ}tjtj|ƒ}|jtjdƒ}t    |jtj
dƒ|jtj dƒƒ}| s¤| rÅtjd|||f|ƒdSt j d|ƒ}|sádSd}x*|D]"}    |    jƒ|krî|    }PqîqîW|s;tjd|||f|ƒdSt|||ƒ\}
} |
| krƒtjd|||
| f|ƒdS|jƒ} |jtj|ƒ} tj|    jƒ| gƒ}tj||ƒsÖdS|
d7}
t||||
| ƒt|||gƒtjd    |||| |
| fƒ|jƒ}|rltjd||jƒt|jƒƒgƒnxE|D]=\}}}tj ||||t!j"gd
d t#igƒqsWdS( seÁìÈ¡½±Àø
    @param awardIndex: ½±ÀøË÷Òý
    @param actNum: »î¶¯±àºÅ£¬Èç11 »ò  12 ´ú±í²»Í¬µÄ»î¶¯
    is!ûÓÐÖ¸¶¨ÁìÈ¡µÄ»î¶¯±àºÅ! actNum=%sNsB¸Ãµ¥±ÊÀÛ³ä»î¶¯·Ç»î¶¯ÖУ¬ÎÞ·¨Áì½±£¡actNum=%s,state=%s,templateID=%sR%sFÕÒ²»µ½¸Ãµ¥±ÊÀÛ³ä»î¶¯µµÎ»Ë÷Òý½±Àø!actNum=%s,templateID=%s,awardIndex=%ss]¸Ãµ¥±ÊÀÛ³ä»î¶¯½±ÀøÒÑ´ï×î´ó¿ÉÁì½±´ÎÊý! actNum=%s,awardIndex=%s,getCount(%s) >= canGetCount(%s)is]    ÁìÈ¡³É¹¦! actNum=%s,templateID=%s,awardIndex=%s,singleValue=%s,getCount=%s,canGetCount=%steventtSingleRechargeAward($RtToIntDefR/R&R'RRRRR R-R.RR5RR6RERGR)R*R3RHRIt ItemControlertCheckPackSpaceEnoughRFRt GetNotifyKeyR0t WorldNotifyt GetPlayerNametstrtGivePlayerItemt IPY_GameWorldtrptItemtFalse(RRARR9RR;R
R@RbRRCRDRQR>RRt    notifyKeytitemIDt    itemCountt isAuctionItem((s[.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActSingleRecharge.pytOnGetSingleRechargeAwardésT  -    
     .2cCs·tjtj|ƒ}|jtjƒs+dS|jtjƒ}|sGdStjd|ƒ}|scdS|j    ƒrsdS|dkrÿg}t |jtjdƒ|jtj dƒƒ}|s¼dStj d|ƒ}|sØdSx$|D]}|j|jƒƒqßWn|s    dStjƒ}    ||    _g|    _xg|D]_}
t|||
ƒ\} } tjƒ} | jƒ|
| _| | _| | _|    jj| ƒq.Wt|    jƒ|    _tj||    ƒdS(NRiR%(RR'RRRRR-RRR[RR R.R5RKR6tChPyNetSendPackt tagMCActSingleRechargePlayerInfotActNumtAwardRecordListREt!tagMCActSingleRechargePlayerAwardtCleart
AwardIndext CanGetCounttGetCountRt RecordCountt NetPackCommont SendFakePack(RRR`RRRR
R@Rbt playerActInfoRARCRDt awardRecord((s[.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActSingleRecharge.pyR'sJ  -            
            cCs]tjtj|ƒ}|jtjƒs+dS|jtjƒ}|sGdStjd|ƒ}|scdS|j    ƒrsdSt
|jtjdƒ|jtj dƒƒ}|sªdS|j t j|ƒ}tj|ƒ\}}tjƒ}    ||    _||    _||    _|jƒ|    _|jƒ|    _|jƒ|    _g|    _tjd|ƒ}
|
r7xê|
D]ß} tjƒ} | jƒ| _| j ƒ| _!t"j#| j$ƒƒ| _%g| _&tj'| j(ƒ|gƒ} xN| D]F\}}}tj)ƒ}||_*||_+||_,| j&j-|ƒqÄWt.| j&ƒ| _/|    jj-| ƒqQWnt.|    jƒ|    _0t1j2||    ƒdS(NRiR%(3RR'RRRRR-RRR[R R.R)R*R3tGetOperationActionDateStrRwttagMCActSingleRechargeInfoRyt    StartDatetEndtDatet GetIsDayResett
IsDayResett
GetLVLimittLimitLVRWt AwardRuleTypet    AwardInfoR5ttagMCActSingleRechargeAwardR6R}RZt AwardCountMaxRXRYRGtSingleRechargeValuet    AwardItemRHRIttagMCActSingleRechargeAwardItemtItemIDt    ItemCounttIsBindRKRtAwardItemCountt
AwardCountRR‚(RRRRRR
R>t startDateStrt
endDateStrt
clientPackR@Rbt    awardInfoRRRsRttisBindt    awardItem((s[.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActSingleRecharge.pyRWsX -                                    (R RR0RRhRwRoRRR*RXR RR$RRERFR4RdRvRRR(((s[.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActSingleRecharge.pyt<module>s*               
         
    /            "    O    > 0