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
¤9gc@sâddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
d„Z d„Z d„Z d„Zd„Zd„Zd„Zd    „Zd
„Zd „ZdS( iÿÿÿÿNcCsn|dks|dkrdStjd|ƒ}|s8dS|jƒ}|t|ƒkr`|dn||}|S(Nit ActCostRebateiÿÿÿÿ(tNonet IpyGameDataPYtGetIpyGameDatatGetTemplateIDListtlen(tcfgIDtdayIndextipyDatattemplateIDListt
templateID((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCostRebate.pyt GetTemplateIDs &cCs‰x‚tjjtjiƒjƒD]b}|jtjdƒ}t||ƒ}|s|jtjƒrt    ||ƒt
||ƒqqqWdS(Ni( t
PyGameDatatg_operationActionDicttgett ShareDefinetOperationActionName_CostRebatetvaluest ActKey_ActNumt__CheckPlayerCostRebateActiont ActKey_StatetSync_CostRebateActionInfotSync_CostRebateInfo(t    curPlayertactInfotactNumtisReset((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCostRebate.pyt OnPlayerLogin(s% cCs^tjƒ}xKt|jƒƒD]7}|j|ƒ}tj|ƒsIqnt||ƒqWdS(N(t    GameWorldtGetPlayerManagertxrangetGetPlayerCounttGetPlayerByIndextIsNormalPlayerR(Rt playerManagertindexR((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCostRebate.pytRefreshCostRebateActionInfo4s c CsØ|jƒ}tjtj|ƒ}|jtjdƒ}|jtjdƒ}|jt    j
|ƒ}||kr‘tj d||f|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=%s,actID=%ssZÏû·Ñ·µÀûÖØÖÃ! actNum=%s,actID=%s,playerActID=%s,state=%s,templateID=%s,playerTemplateID=%s(t GetPlayerIDRt
GetActInfoRRRt    ActKey_IDRtNomalDictGetPropertytChConfigtDef_PDict_CostRebateIDtDebugLogtActKey_WorldLVtDef_PDict_CostRebateWorldLVR t ActKey_CfgIDtActKey_DayIndextDef_PDict_CostRebateTemplateIDt__SendCostRebateMailt PlayerControltNomalDictSetPropertytDef_PDict_CostRebateGoldtDef_PDict_CostRebateAwardRecordRRtTrue( RRtplayerIDRtactIDtstatet playerActIDt
actWorldLVt playerWorldLVR
tplayerTemplateID((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCostRebate.pyR>s.   -      cCsq|s
dS|jtj|ƒ}|s*dStjd|ƒ}|sFdS|jƒ}|jƒ}ggg}}    }
|jtj|ƒ} x©|D]¡} | jƒ} | t    d| ƒ@rºqn| j
ƒ}||krØqn| t    d| ƒO} t | j ƒ||ƒ}|j |gƒ|    j |ƒ|
j |gƒqW|rmtj|tj|| ƒtjd||    |
ƒndS(NtCostRebateTemplateitConsumptionRebateMail(R(R)R4RtGetIpyGameDataListtGetJobR%R5t GetAwardIndextpowtGetNeedCostGoldt __GetItemListtGetAwardItemListtappendR2R3t SendMailBatch(RR=R<RtcostGoldt ipyDataListtjobR7tbatchPlayerIDListtbatchAddItemListtbatchParamListt awardRecordRt
awardIndext needCostGoldt awardItemList((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCostRebate.pyR1bs8       cCs§g}tj||gƒ}x…|D]}}t|dƒtkrw|dj|ƒ}|stjd||fƒq"qn
|d}|j||d|dgƒq"W|S(Nis*ÀۼƳäÖµ½±ÀøÎ´ÅäÖøÃÖ°ÒµitemDict=%s,job=%sii(RtGetDictValueByRangeKeyttypetdictRtErrLogRG(titemDictRKtworldLVtitemListt itemInfoListtitemInfotitemID((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCostRebate.pyREŠs     
"c
 
CsÅ|dkrdS|tjkr=tjd||jƒƒdSxtjjtj    iƒj
ƒD]a}|jtj dƒ}|jtj ƒs tjd|ƒq\n|jtj ƒ}t|jtjdƒ|jtjdƒƒ}| sí| rtjd|||f|jƒƒq\ntj|tj||ƒtj|tj||ƒ|jtj|ƒ}||}    tj|tj||    ƒt||ƒtjd||||||    f|jƒƒq\WdS(Nis$²»¼ÆÈëÏû·Ñ·µÀûµÄÏû·ÑÀàÐÍ!costType=%ss Ïû·Ñ·µÀû»î¶¯µ±Ç°Î´¿ªÆô!actNum=%ss5Ïû·Ñ·µÀû»î¶¯Êý¾ÝÒì³£!actNum=%s,actID=%s,templateID=%ss\Íæ¼ÒÏû·Ñ·µÀû»î¶¯: actNum=%s,actID=%s,templateID=%s,curCostGold=%s,costGold=%s,updCostGold=%s(R)tCostRebate_DisableTypeRR+R%R R RRRRRRR'R R.R/RVR2R3R*R0R(R4R(
RtcostTypeRItinfoDictRRR8R
t curCostGoldt updCostGold((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCostRebate.pytAddCostRebateGoldšs0 %-#
     'cCsFtj|dƒ}|dkr3tjd|ƒdS|jƒ}tjtj|ƒ}|jtjdƒ}|jtj    dƒ}t
|jtj dƒ|jtj dƒƒ}| s¹| rÚtjd|||f|ƒdS|j tj|ƒ}||krdS|j tj|ƒ}    |    td|ƒ@rJtjd|||    f|ƒdStjd|ƒ}
|
sfdSd} x*|
D]"} | jƒ|krs| } PqsqsW| s½tjd||f|ƒdS| jƒ} |j tj|ƒ}t| jƒ|jƒ|ƒ}|j tj|ƒ}|| krCtjd||| |f|ƒdStj||ƒsYdS|    td|ƒO}    tj|tj||    ƒt ||ƒ| j!ƒ}|rÇtj"d||j#ƒ| gƒnx6|D].\}}}tj$|||dt%j&gƒqÎWi|d    6| d
6|d 6t'|ƒd 6|d 6}t(j)|d|ƒdS(NisûÓиû±àºÅ! actNum=%ss<ûÓÐÏû·Ñ·µÀû»î¶¯£¬ÎÞ·¨Áì½±£¡actNum=%s,state=%s,templateID=%sisCÒѾ­ÁìÈ¡¹ý¸ÃÏû·Ñ·µÀû»î¶¯½±Àø!actNum=%s,awardIndex=%s,awardRecord=%sR>s8ÕÒ²»µ½¸Ã·µÀû»î¶¯µµÎ»Ë÷Òý½±Àø!templateID=%s,awardIndex=%ssWËùÐèÏû·ÑÏÉÓñÊý²»×㣬ÎÞ·¨ÁìÈ¡!templateID=%s,awardIndex=%s,needCostGold=%s,curCostGold=%st
TemplateIDt NeedCostGoldt
AwardIndextItemListtActNumtCostRebateAward(*RtToIntDefR+R%R&RRRR'RR R.R/R(R)R*R5RCRR@RRBRDR-RERFRAR4t ItemControlertCheckPackSpaceEnoughR2R3Rt GetNotifyKeyt WorldNotifyt GetPlayerNametGivePlayerItemt IPY_GameWorldtrptItemtstrtDataRecordPacktDR_FuncGiveItem(RRPRR7Rt costRebateIDR9R
tplayerCostRebateIDRORJt awardIpyDataRRQR;RRR`t    notifyKeyR\t    itemCountt_t addDataDict((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCostRebate.pytOnGetCostRebateAward¸sh  -          "#cCs[tjƒ}||_|jtj|ƒ|_|jtj|ƒ|_t    j
||ƒdS(N( tChPyNetSendPackttagMCCostRebatePlayerInfoRgR(R)R4t CostGoldTotalR5t AwardRecordt NetPackCommont SendFakePack(RRt playerActInfo((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCostRebate.pyRþs      cCshtjtj|ƒ}|sdS|jtjƒs5dS|jtjƒ}tjd|ƒ}|scdS|j    ƒ}|sydS|j
ƒ}|j t j |ƒ}tj|ƒ\}}    |jtj|ƒ}
tjƒ} || _|
| _|    | _|jƒ| _|jƒ| _g| _x,|D]$} tjd| ƒ} | s>qntjƒ}g|_xÆ| D]¾}tjƒ}|jƒ|_|j ƒ|_!g|_"x`t#|j$ƒ||ƒD]F\}}}tj%ƒ}||_&||_'||_(|j"j)|ƒq¬Wt*|j"ƒ|_+|jj)|ƒqZWt*|jƒ|_,| jj)|ƒqWt*| jƒ| _-t.j/|| ƒdS(NRR>(0RR&RRRRR.RRRRAR(R)R-tGetOperationActionDateStrtActKey_StartDateSyncR}ttagMCCostRebateInfoRgt    StartDatetEndtDatet
GetLVLimittLimitLVt GetIsDayResett
IsDayResett AwardDayInfoR@ttagMCCostRebateAwardDayt    AwardInfottagMCCostRebateAwardRBReRDtNeedGoldt    AwardItemRERFttagMCCostRebateAwardItemtItemIDt    ItemCounttIsBindRGRtAwardItemCountt
AwardCountt    AwardDaysRR‚(RRtactCostRebateInfoRRR    RKR;t startDateStrt
endDateStrt startDateSyncRR
RJtdayInfot    awardInfoR\RytisBindt    awardItem((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCostRebate.pyRs^                               (             (R RR2RRjR}RsRpRRR)R RR$RR1RERbR|RR(((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerCostRebate.pyt<module>s(               
         
    $    (            F