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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
buEgc@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    d„Z
d„Z dd„Z d„Zd„Zd„Zdd    „Zd
„Zd d „Zd „Zd„Zd„Zdd„Zd„ZdS(iÿÿÿÿNcCsªx£tjjtjiƒjƒD]ƒ}|jtjdƒ}t||ƒ}| r|jtjƒr|j    t
j |ƒrt ||ƒt ||ƒt||ƒqqWdS(Ni(t
PyGameDatatg_operationActionDicttgett ShareDefinetOperationActionName_ActTasktvaluest ActKey_ActNumt__CheckPlayerActTaskActiont ActKey_StatetNomalDictGetPropertytChConfigtDef_PDict_ActTaskIDtSync_ActTaskActionInfotSync_ActTaskPlayerValueInfotSync_ActTaskPlayerInfo(t    curPlayertactInfotactNumtisReset((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTask.pyt OnPlayerLogins%/  cCst|ƒdS(N(tOnCheckRelateFuncAct(R((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTask.pytOnDay*s
cCsÜxÕtjjtjiƒjƒD]µ}|jtjƒs=qn|jtjƒ}tj    d|ƒ}|smqnt
|dƒs‚qn|j ƒ}|sšqn|r²||kr²qn|jtj dƒ}t ||ƒqWdS(NtActTasktGetRelateFuncIDi(RRRRRRRt ActKey_CfgIDt IpyGameDataPYtGetIpyGameDatathasattrRRR(RtopenFuncIDListRtcfgIDtipyDatat relateFuncIDR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTask.pyR.s"% cCs^tjƒ}xKt|jƒƒD]7}|j|ƒ}tj|ƒsIqnt||ƒqWdS(N(t    GameWorldtGetPlayerManagertxrangetGetPlayerCounttGetPlayerByIndextIsNormalPlayerR(Rt playerManagertindexR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTask.pytRefreshActTaskActionInfoCs c CsÅ|jƒ}tjtj|ƒ}|jtjdƒ}|jtjdƒ}|jtjƒ}|j    t
j |ƒ}|j    t
j |ƒ}tj |d||ƒ}    |    rÀ|    \}
}|
sÀdSn||krêtjd||f|ƒdStjd|||||f|ƒ|r&t|||ƒntj|t
j ||ƒtj|t
j|dƒ|rÁtjd|ƒ} | r—| jƒ} t||| ƒnt||ƒt||ƒt||ƒntS(NiRs+ÈÎÎñ»î¶¯ID²»±ä£¬²»´¦Àí£¡ actNum=%s,actID=%ssFÈÎÎñ»î¶¯ÖØÖÃ! actNum=%s,actID=%s,playerActID=%s,state=%s,lastTempID=%s(t GetPlayerIDR t
GetActInfoRRRt    ActKey_IDRRR    R
R tDef_PDict_ActTaskTempIDtGetActRelateFuncInfotDebugLogt__ResetTaskValueByTemplateIDt PlayerControltNomalDictSetPropertytDef_PDict_ActTaskRoundRRt GetTemplateIDR R RtTrue( RRtplayerIDRtactIDtstateRt playerActIDt
lastTempIDt funcActInfotisInActRt
templateID((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTask.pyRMs<          cCs¶x1tjD]&}tj|tj||fdƒq
Wt|dƒ}x8t|dƒD]&}tj|tj||fdƒqTWtj|tj||ƒtj|tj    |dƒdS(Nii
i(
R
tActTaskTypeListR0R1tDef_PDict_ActTaskValuet__GetTaskAwardRecordKeyNumMaxtrangetDef_PDict_ActTaskAwardR,R2(RRR<ttaskTypettaskAwardKeyNumtkeyNum((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTask.pyR/xs$$icCs\tjd|ƒ}|rXd}x/|D]'}|jƒ|kr%|jƒ}q%q%W|dS|S(Nt ActTaskTempii(RtGetIpyGameDataListt    GetTaskID(R<t    defKeyNumttaskIpyDataListt    taskIDMaxt taskIpyData((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTask.pyR?ˆs cCs¶|jƒ}x£tjjtjiƒjƒD]ƒ}|jtjdƒ}|jtjƒs^q+n|j    t
j |ƒszq+n|jtj ƒ}t jd|ƒ}|sªq+n|jƒ}t jd|ƒ}    |    sÔq+nd}
xG|    D]?} | jƒ|krÿqán| jƒ} | |
krá| }
qáqáW|j    t
j||fƒ} || ks+|
dkr^q+ntj|t
j||f|ƒtjd|||f|ƒt|||gƒq+WdS(NiRREs9¸üÐÂÈÎÎñ»î¶¯ÈÎÎñ½ø¶ÈÖµ: actNum=%s,taskType=%s,updValue=%s(R)RRRRRRRRR    R
R RRRR3RFt GetTaskTypet GetNeedValueR>R0R1R R.R (RRBtupdValueR5RRRRR<RIt needValueMaxRKt    needValuetcurValue((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTask.pytUpdActTaskValue“s: %      icCså|jƒ}xÒtjjtjiƒjƒD]²}|jtjdƒ}|jtjƒs^q+n|j    t
j |ƒszq+n|jtj ƒ}t jd|ƒ}|sªq+n|jƒ}|jƒ}    t jd|    ƒ}
|
sàq+nd} xG|
D]?} | jƒ|kr qín| jƒ} | | krí| } qíqíW|j    t
j||fƒ}|dkre| |9} n|| krwq+nt| ||ƒ}tj|t
j||f|ƒtjd||||f|ƒt|||gƒq+WdS(NiRREisE¸üÐÂÈÎÎñ»î¶¯ÈÎÎñ½ø¶ÈÖµ: actNum=%s,taskType=%s,addValue=%s,updValue=%s(R)RRRRRRRRR    R
R RRRt GetRoundMaxR3RFRLRMR>tminR0R1R R.R (RRBtaddValueR5RRRRtroundMaxR<RIRORKRPRQRN((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTask.pytAddActTaskValue¹sD %              c Cs»tj|ƒ}tjtj|ƒ}|s?tjd|ƒdS|jtjƒsftjd|ƒdS|jtjƒ}t    j
d|ƒ}|s”dS|j ƒ}|j ƒ}t    j d|ƒ}|sÈdSd}    x*|D]"}
|
jƒ|krÕ|
}    PqÕqÕW|    s"tjd||||fƒdS|    jƒ} |    jƒ} |    jƒ} |jtj|| fƒ}|| kr•tjd|||||| fƒdS|}tj|tj|t|gƒrÚtjd|||fƒdStj|| ƒsðdStj|tj|dt|gƒ|jtj|ƒ}tjd    ||||| fƒxE| D]=\}}}tj||||tjgd
dt igƒqOWtj!|| dƒ|dkrª||krªt}i}x¥|D]}
|
jƒ}|
jƒ}|
jƒ}||j|d ƒkr|||<n|}tj|tj|t|gƒsÎt }tjd ||||fƒPqÎqÎW|rª|d}tjd |ƒx†|j"ƒD]x\}}|jtj|| fƒ}t#d ||ƒ}t$j%|tj|| f|ƒtjd||||fƒqWt&|||j'ƒƒt(|dƒ}x8t)|dƒD]&}t$j%|tj||fd ƒqOWtjd|ƒt$j%|tj||ƒqªnt*||ƒdS(NsûÓиÃÈÎÎñ»î¶¯£¡ actNum=%ss·ÇÈÎÎñ»î¶¯ÖУ¡ actNum=%sRREsBÕÒ²»µ½¶ÔÓ¦»î¶¯ÈÎÎñ½±Àø! actNum=%s,cfgID=%s,templateID=%s,taskID=%ssU»î¶¯ÈÎÎñδÍê³É£¬ÎÞ·¨ÁìÈ¡! actNum=%s,cfgID=%s,templateID=%s,taskID=%s,curValue=%s < %ss2ÈÎÎñ»î¶¯¸ÃÈÎÎñÒÑÁì½±! actNum=%s,cfgID=%s,taskID=%sisLÁìÈ¡ÈÎÎñ»î¶¯½±Àø£¡ actNum=%s,cfgID=%s,roundNum=%s,taskID=%s,awardItemList=%steventisI»¹ÓÐÈÎÎñδÁìÈ¡£¬²»½øÈëÏÂÒ»ÂÖ´Î! actNum=%s,cfgID=%s,roundNum=%s,rTaskID=%ss*±¾ÂÖÈÎÎñÁìÈ¡Íê±Ï£¬½øÈëÏÂÒ»ÂÖ! nextRound=%ssG    ¸üÐÂÐÂÒ»ÂÖÈÎÎñÖµ! rTaskType=%s,rMaxValue=%s,curValue=%s,updValue=%si
s*    ÖØÖÃÐÂÒ»ÂÖÁì½±¼Ç¼! taskAwardKeyNum=%s(+R tToIntDefR*RRR.RRRRRRSR3RFtNoneRGtGetAwardItemListRLRMR    R
R>tGetDictValueByBitRAR4t ItemControlertCheckPackSpaceEnoughtSetDictValueByBitR2tGivePlayerItemt IPY_GameWorldtrptItemtFalsetNotifyGiveAwardInfotitemstmaxR0R1R tkeysR?R@R(RttaskIDRRRRRVR<RIt findIpyDataRKt awardItemListRBRPRQt
awardIndextroundNumtitemIDt    itemCountt isAuctionItemt roundFinishttaskMaxValueInfotrTaskIDt    rTaskTypet
rNeedValuet rAwardIndext    nextRoundt    rMaxValueRNRCRD((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTask.pytOnGetActTaskAwardäs˜           !" 2     !
     $  c    CsÎg}tjtj|ƒ}|s%|S|jtjƒs;|S|jtjƒ}tjd|ƒ}|si|S|j    ƒ}tj
d|ƒ}|s‘|Sx6|D].}|j ƒ}||kr˜|j |ƒq˜q˜W|S(NRRE( R R*RRRRRRRR3RFRLtappend(    Rt taskTypeListRRRR<RIRKRB((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTask.pytGetActTaskTypeListGs&    cCsÀ|jtj|ƒ}t|ƒ}tjƒ}||_|jtj|ƒ|_g|_    x>t
|dƒD],}|j    j |jtj ||fƒƒqjWt |j    ƒ|_tj||ƒdS(Ni(R    R
R,R?tChPyNetSendPackttagMCActTaskPlayerInfotActNumR2tRoundNumtAwardRecordListR@RyRAtlent
AwardCountt NetPackCommont SendFakePack(RRR<t    keyNumMaxt
clientPackRD((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTask.pyR\s          *cCs´|dkrt|ƒ}ntjƒ}||_g|_xR|D]J}tjƒ}||_|jt    j
||fƒ|_ |jj |ƒq@Wt |jƒ|_tj||ƒdS(N(RZR{R|ttagMCActTaskPlayerValueInfoR~t TaskValueListttagMCActTaskPlayerValuetTaskTypeR    R
R>t    TaskValueRyRt    TaskCountRƒR„(RRRzR†RBt taskValueInfo((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTask.pyR ks                cCsatjtj|ƒ}|sdS|jtjƒs5dS|jtj|ƒ}|sUdS|jtj    ƒ}t
j d|ƒ}|sƒdS|j ƒ}t
j d|ƒ}|s«dSt|dƒrä|jƒrätj||tƒ\}}    ntj|ƒ\}}    tjƒ}
|
jƒ||
_||
_|    |
_|jƒ|
_|jƒ|
_|jƒ|
_|jƒ|
_ g|
_!xÉ|D]Á} tj"ƒ} | j#ƒ| _$| j%ƒ| _&| j'ƒ| _(g| _)xT| j*ƒD]F\} }}tj+ƒ}| |_,||_-||_.| j)j/|ƒqËWt0| j)ƒ| _1|
j!j/| ƒqvWt0|
j!ƒ|
_2t3j4||
ƒdS(NRRER(5R R*RRRRR    R
R RRRR3RFRRtGetActRelateFuncDateR4tGetOperationActionDateStrR|ttagMCActTaskInfotClearR~t    StartDatetEndtDatet GetIsDayResett
IsDayResett GetResetTypet    ResetTypet
GetLVLimittLimitLVRStRoundMaxtTaskListt tagMCActTaskRGtTaskIDRLRŠRMt    NeedValuet AwardItemListR[ttagMCActTaskItemtItemIDt    ItemCounttIsBindRyRtCountRŒRƒR„(RRRR8RRR<RIt startDateStrt
endDateStrtactPackRKttaskRmRnRotitemInfo((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTask.pyR |s\  
                                   (RRR0RR|R]RaRƒR R
RRRZRR(RR/R?RRRWRxR{RR R (((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTask.pyt<module>s.                        
    +         & +    c