cehua_ZWJ
2019-01-30 6afaa4408f4e09e3e95dbd92f0d1cd5a1fb2942b
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
üù\c@sŠddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZedƒ\ZZdZdZd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Z d „Z!d„Z"d„Z#d„Z$gd„Z%dS(iÿÿÿÿNiii cCsOt|ƒtjƒ}tjt|ƒd tjƒ}tj|tj    |ƒdS(Ni
(
tAddRecoverTimest    GameWorldtGetCurrentTimetChangeTimeStrToNumtstrtChConfigtTYPE_Time_Format_Dayt PlayerControltNomalDictSetPropertytDef_PDict_RecoverGainLastTime(t    curPlayertcurTimet
curTimeNum((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRecover.pyt RecoverOnDay3s
 
 cCst|ƒdS(N(t__NotifyRecoverNum(R
((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRecover.pytRecoverOnLogin>s
c+ Csˆ|jƒ}|dkrdSt|ƒ}td|dƒ}tjd|ƒg}tjƒ}tjƒ}x t|j    ƒƒD]ù}|j
|ƒ}|j ƒ}|t kr°q}nt j|tj|dƒ|jƒ}    tjd|    ƒ}
|
sôq}n|
jƒ} | rtj|| ƒ rq}n|
jƒdkrq|
jƒ} tj| ƒ} | sXq}n| jƒ}|spq}n|jtj| ƒ}| tjkr¢| r¢q}ntj|| ƒ\}}|\}}}}}|\}}}}}t|ƒdkr| rq}n| tjkrIt ||d| ƒ}|s4q}n||d|}n|||}|||}|}|} |||}!t j|tj!||ƒ| tj"krêtj#|tj$|dt%| gƒ}"t j|tj&||"ƒn|jtj'|dƒ}#t j|tj'|t(||#|dƒƒ|jtj)|dƒ}$t j|tj)|t(||$|dƒƒ|jtj*|dƒ}%t j|tj*|t(||%|dƒƒ|jtj+|dƒ}&t j|tj+|t(| |&|dƒƒ|jtj,|dƒ}'t j|tj,|t(|!|'|dƒƒtjd||||| |!fƒ|j-|ƒq}|
jƒdkr}|
jƒ}(t.j/||(ƒ\})}*|(t0j1krÎd}*|)rÎ|*})qÎn|)|*krç| rçq}n|*|)||*}|dkr q}n|jtj'|dƒ}#t j|tj'|t(||#|*dƒƒ|j-|ƒtjd||fƒq}q}Wt2|ƒdS(Niis"    Ôö¼Ó¿ÉÕһشÎÊý lostOnDayNum=%st
DailyQuestis`Ôö¼ÓÕһشÎÊýindex=%s,addCommonCnt=%s,addExtraCnt=%s,addBuyCnt=%s,addItemAddCnt=%s,addnoBuyCnt=%ss$Ôö¼ÓÕһشÎÊýindex=%s,addCommonCnt=%s(3tGetLVt__GetLastRecoverPastDaytmaxRtDebugLogRt IpyGameDataPYtIPY_DatatxrangetGetResourcesBackCounttGetResourcesBackByIndextGetIDtDef_TJGRecoverIDRRRtDef_PDict_HaveRecovert GetRelatedIDtGetIpyGameDataNotLogtGetUnLockFuncIDt GameFuncCommt GetFuncCanUsetGetRelatedTypetFBCommont GetFBIpyDatat GetDayTimestNomalDictGetPropertyt Def_Player_Dict_FBHistoryMaxLinetDef_UnRecoverNoPassMaptGetFBDetailCntInfot
PyGameDatatFBEnterTimeLimiitMapIDt__GetLimitFBCnttDef_PDict_RecoverGainDatatDef_FBMapID_MunekadoTrialtGetDictValueByBitt"Def_Player_Dict_PlayerFBStar_MapIdtFalsetDef_PDict_RecoverGainDataExtDef_PDict_RecoverFBCommonCnttmintDef_PDict_RecoverFBExtraCnttDef_PDict_RecoverFBBuyCnttDef_PDict_RecoverFBItemAddCnttDef_PDict_RecoverFBNoBuyCnttappendtPlayerActivitytGetDailyActionFinishCntt ShareDefinetDailyActionID_DiceR(+R
tplayerLVt lostOnDayNumtrecoverNumListR t
ipyDataMgrtit recoverDatatindext    relatedIDtdailyQuestDatat unLockFuncIDt    dataMapIDt    fbIpyDatatmaxTimesthistoryMaxLinet
remainInfot    limitInfot
rCommonCntt    rExtraCnttrBuyCntt rItemAddCnttnoBuyCnttrCommonCntlimittrExtraCntlimitt rBuyCntlimittrItemAddCntlimitt noBuyCntlimitt    fbOpenCntt addCommonCntt addExtraCntt    addBuyCntt addItemAddCntt addnoBuyCntt historyStart curCommonCntt curExtraCntt    curBuyCntt curItemAddCntt curnoBuyCnttdailyIDt curDayTimest dayTimesLimit((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRecover.pyRDs´           %            
cCsY|jtjdƒ}|sdStjtjƒƒ}td||ƒ}|dd}|S(Niii(R&RR    RRtGetCurrentDataTimeStrR(R
trecoverGainLastTimeR tpassTicktpastDay((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRecover.pyR²scCs‰|s
dStjƒ}d}xft|ƒD]X}|tjd|dƒ}d|j|jf}tj||ƒswq)n|d7}q)W|S(Nitdaysis%02d%02d(    RRtrangetdatetimet    timedeltatmonthtdayR#tGetFBHasOpenToday(R
RjRHR RXtdiffDaysttimeDatatdayStr((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRecover.pyR,¼s c 
Cs»tjƒj|ƒ}tjd|jƒƒ|j}|d krVtjd|ƒdS|jscdS|j}|j}i}i}g}    dddif\}
} } } xrt    |ƒD]d\}}|t
krÓd}n
||}t j d|ƒ}|sûq²nt ||||ƒ\}}|s"q²nx.|D]&\}}|j|dƒ|||<q)W|jƒr–|tkr–t|||ƒ}|r |    j|ƒq nvt||||ƒ\}}}}|
|7}
| |7} | |7} x4|jƒD]&\}}| j|dƒ|| |<qâW|||<q²W|s$dSi|tj6}x†|jƒD]x\}}tj|||ƒ}tjd|||fƒ|s†dSx0|D](\}}tj|||tj|ƒqWqAW|
dkrâtj|ƒj|
ƒn| dkr tj|tj| tjƒn| dkr5tj || t!t!dƒn| rýt"j#|tj$ƒ}t%| ƒ|kr¯g| jƒD]\}}||dg^qo}tj&d|j'ƒg|ƒqýxK| jƒD]:\}}t(j)|||dtj$tj*gt!d    t!ƒq¼Wnt
|krt+j,|ƒnt-|krBt.j/|t0j1|t-ƒnt2j3||||
| | | ƒt4||ƒt5|ƒ|    r‘t6j7||    ƒntjd
||||
| | | fƒdS( Ns0==[PlayerRecover]== In->OnRecoverGain(), Name:%siis&OnRecoverGain() hasn't recover way(%s)t ResourcesBacks-    moneyType=%s,moneyCnt=%s,costMoneyList=%stRecovertt showSysInfos•==[PlayerRecover]== Out->OnRecoverGain() recoverWay=%s, costMoneyDict=%s, recoverCntDict=%s, totalExp=%s, totalMoney=%s, totalSP=%s, totalItemDict=%s(ii(8RtGetPlayerManagertGetPlayerByIndexRt GetPlayerNametTypetCntt    IndexListtRecoverCntListt    enumerateRRtGetIpyGameDatat__GetRecoverCosttgettGetCanBackTimest RecoverWay1t__DoLogicBackTimesR9t__GetRecoverGaintitemsRtDef_Cost_Reason_SonKeyRt HaveMoneyExtPayMoneytDef_Cost_RecoverGaintAddExpt    GiveMoneyt IPY_GameWorldtTYPE_Price_Silver_MoneytDef_GiveMoney_RecovertPlayerAddZhenQitTruet
ItemCommontGetItemPackSpacetrptItemtlent SendMailByKeyt GetPlayerIDt ItemControlertGivePlayerItemt rptAnyWheret    PlayerTJGtResetTJGDeadInfotDef_QueenRelicst PlayerSuccesstDoAddSuccessProgressR<tSuccType_QueenRelicsExtDataRecordPacktDR_PlayerRecovert__SetRecoverNumRR#tSync_FBPlayerFBInfoData( RDt
clientDatattickR
t
recoverWaytrecoverIndexListtrecoverCntListt costMoneyDicttrecoverCntDictt    mapIDInfottotalExpttotalSPt
totalMoneyt totalItemDictRBt
recoverCnttipyDatat costMoneyListt    moneyTypetmoneyCntRHtexptsptmoneytitemDicttitemIDtitemCnttinfoDicttmTypetmCntt
emptySpacet prizeItemList((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRecover.pyt OnRecoverGainÖsŽ                      
!
 
 
$   .5   
&cCs…|jƒ}tjd|ƒ}|s(dS|jƒdkr}|jƒ}|jtj|ƒ}tj|tj|||ƒndS|S(NRii(    RRRR"R&RtDef_Player_Dict_RecoverFbCntRR(R
RCR³RERFRHt recoverFbCnt((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRecover.pyR†1s  !c Cs:|jƒ}|tkrCt||ƒ\}}t|||ƒ}n|jtjƒ}|tkrß|jƒ}|j    ƒ}    |tkr¢t
||t dƒƒ}
n(t||ƒ||    t d||ƒ}
t j|
gg} nQ|jƒ} |tkrt
| |t dƒƒ}
n
|| }
tj|
gg} | |fS(Nii(RRt__GetCanRecoverCntR4R&RtDef_PDict_TJGDeadPayTimeR…tGetNormalCostJadetGetVipCostJadetinttfloatRR<tTYPE_Price_Gold_Paper_Moneyt GetCostCopperRR( R
R©R³R´RDt    commonCntt vipExtraCntt recoverSecondtnormalCostJadet vipCostJadet    costMoneyRµt
costCopper((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRecover.pyR‚Ds$      (  
cCs“|jtj|dƒ}|jtj|dƒ}|jtj|dƒ}|jtj|dƒ}|jtj|dƒ}|||||fS(Ni(R&RR3R5R6R7R8(R
RDR_R`RaRbRc((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRecover.pyRÆ^s cCsôxí|jƒD]ß\}}|jtj|dƒ}|jtj|dƒ}|jtj|dƒ}|jtj|dƒ}|jtj|dƒ}|||||g}    tj    |    ƒ}
d} xKt
|    ƒD]=\} } | | 7} t d| |ƒ|
| <|| krÍPqÍqÍW|
\}}}}}t j |tj||ƒt j |tj||ƒt j |tj||ƒt j |tj||ƒt j |tj||ƒt |||||ƒdkr |tkr t j |tj|dƒq q WdS(Nii(RˆR&RR3R5R6R7R8tcopytdeepcopyR€RRRRR(R
R­RDR³R_R`RaRbRctcntListt
newCntListtsumCntRBtcntt newCommonCntt    newBuyCntt newItemAddCntt newExtraCntt newnoBuyCnt((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRecover.pyR¥gs.
 *!cCsŒ|jƒ}|jƒ}tj|ƒ}tj|tjƒ}|jtj|dƒ}|jtj    |dƒ}    d}
d} d} d} i}|t
krÐ|jtj ƒ}|jtj ƒ}|tj |}
n|tkrè|jƒn    |jƒ}|jddƒ}|r5|ttjd||f|ƒƒ} n|jddƒ}|rv|ttjd||f|ƒƒ} n|jddƒ}|r·|ttjd||f|ƒƒ} n|jd    gƒ}|r||jƒ}|jƒ}x’|D]‡}|jd
dƒ}|jd dƒ}|s$qîn|ttjd |||f|ƒƒ}|sYqînt|||ƒ}|||<qîWn| | | |fS( NiR¸RwsResourcesBackEXP%s_%sRºsResourcesBackMoney%s_%sR¹sResourcesBacksp%s_%stitemtItemIDt    ItemCountsResourcesBackitem%s_%s_%s(RRRtGetPlayerReExptGetLimitExpRateRtExpRateLimitType_RecoverR&R-R2RtDef_PDict_TJGDeadExptDef_PDict_TJGDeadExp1tDef_PerPointValueR…t GetJadeRewardtGetCopperRewardRƒtevaltFormulaControltGetCompileFormulatGetJobtGetJobItemListt __GetJobItem(R
R©R³R´RDtreLVtreExptexpRatet    extraDatatdataExttjgExpR¸R¹RºR»tExptExp1t    awardDictt
expFormulat moneyFormulat    spFormulat itemInfoListtjobt jobItemListtitemInfoR¼titemcntFormulatitemcnt((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRecover.pyR‡ŒsP   $)))   )cCs™x’|D]Š}t|ƒttgkr@tjd||fƒ|S||kr|dksj|t|ƒkr…tjd||fƒ|S||dSqW|S(Ns3×ÊÔ´ÕÒ»ØÖ°ÒµÎïÆ·×é¸ñʽ´íÎó!itemID=%s,jobItemList=%sis>×ÊÔ´ÕÒ»ØÖ°ÒµÎïÆ·ÅäÖôíÎó,ûÓиÃÖ°Òµ¶ÔÓ¦ÎïÆ·ID!itemID=%s,job=%si(ttypetlistttupleRtErrLogR—(RþR¼Rÿt jobItemIDList((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRecover.pyRð»s  c Csctjƒ}|jƒg|_tjƒ}xt|jƒƒD]û}|j|ƒ}|j    ƒ}|rw||krwq>nt
||ƒ\}}|j t j |dƒ}    | rÀ| rÀ|     rÀq>ntjƒ}
|
jƒ||
_||
_||
_|j t j|dƒ|
_|j t j|dƒ|
_|jj|
ƒq>Wt|jƒ|_tj||ƒdS(Ni(tChPyNetSendPackttagMCRecoverNumtCleartNumInfoRRRRRRRÆR&RRttagMCRecoverNumInfotIndext
RecoverCnttExtraCntR-t    ExtraDataR2t
ExtraData2R9R—tNumt NetPackCommont SendFakePack( R
R@tsendPackRARBRCRDRÎRÏt haveRecovert numInfoPack((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRecover.pyRÍs0 
       
            (&RRìRRRRRR<RšR£R”RR#R RR:R R*RÕRmRlR…t RecoverWay2RRŸR RRRR,RÃR†R‚RÆR¥R‡RðR(((s].\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerRecover.pyt<module>sF                                 n    
        [                    %    /