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
Sð    hc@sddlZddlZddlZddlZddlZddlZddlZddlZddlZdZ    dZ
d„Z d„Z d„Z d„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Zdd„Zd„ZdS(iÿÿÿÿNii    cCs2t|ƒrdSt|ƒt|ƒt|ƒdS(N(tCheckTongTianLingResettSyncTongTianLVInfotSyncTongTianTaskInfotSyncTongTianTaskAward(t    curPlayer((sV.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTongTianLing.pyt OnPlayerLogins  
 
 
c Cs›|tjkr#t|ƒrdSdSgg}}tjƒ}x¡t|jƒƒD]}|j|ƒ}|jƒsvqOn|j    ƒ}|j
ƒ}|j |ƒt j |tj|ƒrOt j|tj|dƒ|j |ƒqOqOWtj|tjdƒd}    g}
xi|D]a}|jtj||    fƒ} | s7q    ntj|tj||    fdƒ|
j ||    gƒq    W|
r„t||
ƒn|r—t|ƒndS(Nii(t ShareDefinetDef_OnEventTypeRt IpyGameDataPYtIPY_DatatxrangetGetTongTianTaskCounttGetTongTianTaskByIndextGetIsDailyTaskt GetTTTaskIDt GetTTTaskTypetappendt    GameWorldtGetDictValueByBittChConfigtDef_PDict_TTL_TaskAwardRecordtSetDictValueByBitt PlayerControltNomalDictSetPropertyt!Def_PDict_TTL_DailyTaskPointTodaytNomalDictGetPropertytDef_PDict_TTL_TaskValueRR( Rt onEventTypetresetTaskTypeListtresetTaskIDListt
ipyDataMgrtindextipyDatatttTaskIDt
ttTaskTypet isDailyTasktsyncTaskInfoListtcurValue((sV.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTongTianLing.pytOnDay's<          c Cs7|jƒ}tjddƒ}|dkr.dSttjƒƒ}|jtjƒ}tj    ||ƒd}||kržtj
dtj |ƒ||f|ƒdSg}xƒtj D]x}xoddgD]a}|jtj ||fƒ}    |    sïqÁntj|tj ||fdƒ|j||gƒqÁWq®WxHttƒD]:}
tj|tj|
dƒtj|tj|
dƒq7Wx.ttƒD] }
tj|tj|
dƒq‚Wtj|tj|ƒtj|tjdƒtj|tjdƒtj|tjdƒtjd||ƒt|ƒt||ƒt|ƒtS(Nt TongTianLingiiis;ͨÌìÁî±¾ÂÖÌìÊýδÍ꣬²»ÖØÖÃ! startTime(%s),passDays=%s <= %ssͨÌìÁîÖØÖÃ! StartTime=%s(t GetPlayerIDRt
GetFuncCfgtintttimeRRtDef_PDict_TTL_StartTimeRt GetDiff_DaytDebugLogtChangeTimeNumToStrtTTLTaskTypeListRRRRR
tTTL_LVAwardKeyCounttDef_PDict_TTL_CommAwardRecordtDef_PDict_TTL_XianAwardRecordtTTL_TaskAwardKeyCountRtDef_PDict_TTL_LVInfotDef_PDict_TTL_LVPointRtLogRRRtTrue( RtplayerIDt    resetDaystcurTimet    startTimetpassDaysR$R"R#R%ti((sV.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTongTianLing.pyRQsB        
 
cCs1|jtjƒ}|d|d}}||fS(Ni
(RRR5(RtlvInfotttLVtttState((sV.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTongTianLing.pytGetTongTianLingLVInfo|scCs"tj|tj|d|ƒdS(Ni
(RRRR5(RR@RA((sV.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTongTianLing.pytSetTongTianLingLVInfoƒscCsvtjdi|d6ttƒ}|s)dSi}x‡|D]}|jƒ}tj|tj|ƒrfq6n|j    ƒ}|j
ƒ}|j ||fdƒ}    ||    kr6||||f<q6q6Wg}
xš|j ƒD]Œ\} }| \}}|j tj||fƒ} | |krqÌnt| ||ƒ} tj|tj||f| ƒ|
j||gƒqÌW|
rrt||
ƒndS(Nt TongTianTaskt
TTTaskTypei(RtGetIpyGameDataByConditionR8tFalseRRRRRR tGetFinishNeedValuetgettitemsRRtminRRRR(RR"taddValuet taskIpyListt addValueDictR ttaskIDR#tfinishNeedValuetmaxValueR$tkeyR%tupdValue((sV.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTongTianLing.pytAddTongTianTaskValue‡s2        c Cso|jƒ}t|ƒ\}}|jtjƒ}tjd|ƒ}|sLdS|jƒ}|srtj    d|ƒdS|}||}    tj    d||||    |f|ƒd}
x‡|r4|    |kr4|
dkr4|
d7}
|    |8}    |d7}tj
d|ƒ} | r| jƒnd}tj    d||    |f|ƒq®Wt |||ƒt j |tj|    ƒt|ƒ||    fS(Nt
TongTianLVs ͨÌìÁîÒÑÂú¼¶!sGÔö¼ÓͨÌìÁî¾­Ñé: ttLV=%s,ttPoint=%s,addPoint=%s,updPoint=%s,lvUPPoint=%sii2is5    Í¨ÌìÁîÉý¼¶: updLV=%s,updPoint=%s,nextLVUPPoint=%s(R(RBRRR6RtGetIpyGameDatat GetLVUPPointRR.tGetIpyGameDataNotLogRCRRR( RtaddPointR9R@RAtttPointR t    lvUPPointtupdLVtupdPointtdoCountt nextLVIPYData((sV.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTongTianLing.pytAddTongTianPoint«s4  
    !
 
 
!
cCsÓtjƒj|ƒ}|jƒ}|j}tjd|ƒ}|sFdStj|tj    |ƒrvtj
d||ƒdS|j ƒ}|j ƒ}|j ƒ}    |jtj||fƒ}
|
|    krétj
d||||
|    f|ƒdS|jƒ} tjddƒ} |rŸ| rŸ|jtjƒ} | | krUtj
d||| | f|ƒdSt| | | ƒ} | | 7} tj|tj| ƒtj
d| |ƒntj|tj    |dƒt|| ƒt|ƒdS(    NRDsͨÌìÈÎÎñÒÑÁì½±! ttTaskID=%ssWͨÌìÈÎÎñ½ø¶ÈδÍê³É£¬ÎÞ·¨Áì½±! ttTaskID=%s,ttTaskType=%s,isDailyTask=%s,curValue=%s < %sR'isXͨÌìÈÎÎñÈÕ³£ÈÎÎñ»ý·Ö½±ÀøÒÑ´ïÉÏÏÞ! ttTaskID=%s,ttTaskType=%s,dailyTaskPointToday=%s >= %ss:¸üÐÂͨÌìÈÎÎñÈÕ³£ÈÎÎñ½ñÈÕÒÑ»ñµÃ»ý·Ö: dailyTaskPointToday=%si(RtGetPlayerManagertGetPlayerByIndexR(tTaskIDRRVRRRR.RR RHRRt GetTaskPointR)RRKRRRR`R(Rt
clientDatattickRR9R!R R"R#RPR%t addTaskPointtdailyTaskPointMaxtdailyTaskPointToday((sV.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTongTianLing.pytOnGetTongTianTaskAwardÐsB                    
 
c
Cs(tjƒj|ƒ}|jƒ}|j}|j}t|ƒ\}}|dkrmtd|dƒ}    d}n    |g}    tjd|||    f|ƒg}
g} xW|    D]O} | |krÖtjd| |f|ƒPnt    j
d| ƒ} | sôq¦n| j ƒ}| j ƒ}|
j | jƒƒ|rtj|tj| ƒ rtj|tj| dƒ| j |ƒtjd| |f|ƒn|oŠ|}|r¦|r¦tj|tj| ƒ r¦tj|tj| dƒ| j |ƒtjd| |f|ƒq¦q¦Wtjd    | |ƒ| sdSi}x=| D]5\}}}||f}|j|dƒ|||<q$Wg}xm|jƒD]_\}}|\}}|j|||gƒ||
krptj|d
|jƒ||gƒqpqpWtjd ||ƒi|    d 6|d 6}tj||ddt|gƒt|ƒdS(Niÿiis5ÁìȡͨÌìÁî½±Àø: getTTLVLV=%s,isXian=%s,awardLVList=%ss-    Í¨ÌìµÈ¼¶²»×㣬ÎÞ·¨Áì½±! awardTTLV=%s < %sRUs/    ³£¹æ½±Àø: awardTTLV=%s,commAwardItemList=%ss/    ÏÉÆ·½±Àø: awardTTLV=%s,xianAwardItemList=%ss    ×îÖÕ½±Àø: itemList=%stTongTianLingLVAwards    »ã×ܽ±Àø: awardItemList=%st awardLVListtisXianteventR'(RRaRbR(tTTLVtIsXianRBtrangeR.RRVtGetCommAwardItemListtGetXianAwardItemListtextendtGetNotifyItemIDListRRR2RR3RIRJRRt
NotifyCodet GetPlayerNamet ItemControlertGivePlayerItemOrMailRGR(RReRfRR9t    getTTLVLVRmR@RARltnotifyItemIDListtitemListt    awardTTLVR tcommAwardItemListtxianAwardItemListtgetXiant giveItemDicttitemIDt    itemCounttisBindRRt awardItemListtdataDict((sV.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTongTianLing.pytOnGetTongTianLVAwardÿsb                        % !   )
c    CsÅtjƒj|ƒ}|jƒ}|j}tjddƒ}t|ƒdkrRdS|\}}| sl| rpdSt|ƒd}    |j    t
j ƒ}
d} tj ƒ} x<t |    | jƒƒD]%}| j|ƒ} | | jƒ7} qºW| |
8} t|| ƒ}||}tjd|    |
|| ||f|ƒtj|||ƒsEdSt||ƒ}|r`|n    |    |
f\}}idt
j6|d6|    d6|
d    6|d
6|d 6}tj|||t
j|ƒdS( NR'iiisl¶Ò»»Í¨ÌìÁîµÈ¼¶¾­Ñé: ttLV=%s,ttPoint=%s,exchangePoint=%s,canBuyPointMax=%s,costMoneyType=%s,costMoneyTotal=%stExchangeTongTianLVPointt exchangePointR@RZR\R](RRaRbR(t ExchangePointRtGetFuncEvalCfgtlenRBRRR6R    R
tGetTongTianLVCounttGetTongTianLVByIndexRWRKR.Rt    HaveMoneyR`tDef_Cost_Reason_SonKeytPayMoneytDef_Cost_TongTianLing(RReRfRR9R‰texchangeCostInfot costMoneyTypetcostMoneyValueR@RZtcanBuyPointMaxRR tcostMoneyTotaltupdInfoR\R]tinfoDict((sV.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTongTianLing.pytOnExchangeTongTianLVPointGs:       
 
    cCsdS(N((RReRf((sV.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTongTianLing.pytOnBuyTongTianLingqscCsžtjddƒ}||kr"dS|jƒ}t|ƒ\}}|rZtjd|ƒdSd}t|||ƒtjd|ƒtj|dƒt    |ƒdS(NR'isͨÌìÁîÒѾ­¹ºÂò¹ýÁË£¡is¹ºÂò¼¤»îͨÌìÁtTongTianLingActive(
RR‹R(RBRR.RCRRvR(RtctgIDt    ctgIDListR9R@RA((sV.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTongTianLing.pytOnActiviteTTTByCTGIDus  
cCsét|ƒ\}}tjƒ}||_||_|jtjƒ|_g|_    g|_
xTt t ƒD]F}|j    j |jtj|ƒƒ|j
j |jtj|ƒƒqdWt|j    ƒ|_|jtjƒ|_tj||ƒdS(N(RBtChPyNetSendPackttagMCTongTianLingInfot TTLBuyStatetTTLLVRRR6tCurPointtCommAwardStateListtXianAwardStateListR
R1RR2R3RŒtAwardStateCountR,t    StartTimet NetPackCommont SendFakePack(RR@RAt
clientPackR>((sV.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTongTianLing.pyR‡s                  $cCst}|dkr[t}g}x:tjD],}|j|dgƒ|j|dgƒq(Wntjƒ}g|_x{|D]s\}}|j    tj
||fƒ}| r³| r³qwntj ƒ}||_ ||_ ||_|jj|ƒqwWt|jƒ|_tj||ƒdS(Nii(R8tNoneRGRR0RR ttagMCTongTianLingTaskValueInfot TaskValueListRRttagMCTongTianLingTaskValuetTaskTypetIsDailyt    TaskValueRŒtCountR©Rª(RR$t syncAppointR"R«R#R%ttask((sV.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTongTianLing.pyR˜s*                   cCsrtjƒ}g|_x4ttƒD]&}|jj|jtj|ƒƒq"Wt    |jƒ|_
t j ||ƒdS(N( R ttagMCTongTianLingTaskAwardInfotTaskAwardStateListR
R4RRRRRŒR§R©Rª(RR«R>((sV.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTongTianLing.pyR±s     $(RRRRR R©RxRR+R1R4RR&RRBRCRTR`RjR‡RšR›RŸRR¬RR(((sV.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTongTianLing.pyt<module>s2                 *    +            $    %    /    H    *