hxp
2025-10-22 b99bfd7da10f832a495eae6cd5913ec02204b8b1
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
F6òhc@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    d„Z
e d„Z d„Z d„Zd„Ze d„Zgd„Zd    „Ze d
„Zge d „Zd „Zded „Zged„ZdS(iÿÿÿÿNcCstj|tj|ƒS(N(t    GameWorldtGetDictValueByBittChConfigtDef_PDict_SuccessAward(t    curPlayertsuccID((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerSuccess.pyt GetSuccHasGotscCstj|tj||ƒdS(N(RtSetDictValueByBitRR(RRthasGot((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerSuccess.pyt SetSuccHasGot scCsE|s dnt|ƒjddƒdd!}|jtj||fƒS(Nts iiÿÿÿÿ(tstrtreplacetNomalDictGetPropertyRtDef_PDict_SuccessValue(RtsuccTypetcondst    condition((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerSuccess.pyt GetSuccValue%s+cCsO|s dnt|ƒjddƒdd!}tj|tj||f|ƒdS(NR
s iiÿÿÿÿ(R R t PlayerControltNomalDictSetPropertyRR(RRRtvalueR((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerSuccess.pyt SetSuccValue(s+ cCst|ƒt|ƒdS(N(tSyncSuccessInfotSyncSuccessAwardRecord(R((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerSuccess.pyt SuccOnLogin-s
 
cCswtjd|ƒ}|sdSxT|D]L}|jƒ}|rPt||ƒrPq#n|jƒ}t|||dƒq#WdS(NtSuccessi(t IpyGameDataPYtGetIpyGameDataListNotLogt    GetSuccIDRt GetConditionR(RRt ignoreFinisht ipyDataListtipyDataRR((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerSuccess.pytResetSuccessByType2s   cCsžtjd|ƒ}|sdSd}x?|D]7}t|||ƒsGq)nt|||jƒƒ}Pq)W|dks|||kr€dSt|||||tƒdS(NR(RRtNonet__CheckCanAddSuccessRRtDoAddSuccessProgresstFalse(Rt successTypetnewCntRR tcurCntR!((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerSuccess.pytUptateSuccessProgressss c
Csˆ|jƒ}t||ƒrdS|jƒ}|jƒ}|sAtS|sKdS|tjkrq|d|kr„dSn|tjkr±|d|do§|d|ddks„dSnÓt|ƒt|ƒkrÍdS|tj    krï||kr„dSn•t
}g}|tj krtj |}nx]t |ƒD]O\}}    ||kr\|    ||kr\t}Pq\n|    ||kr't}Pq'q'W|r„dStS(Ni( RRt GetSuccTypeRtTruet ShareDefinetContainSuccessTypeListtMultipleSuccessTypeListtlentUnDownCheckSuccessTypeListR&tPartUnDownCheckSuccessTypeInfot    enumerate(
RR!RRR'RtisbreaktundowncheckIndexListtitnum((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerSuccess.pyR$†sF   *  cCs¼|sF||jtjƒtjtjkr0dS|jtj|ƒn|jƒ}|tjkredStjj|ƒ}x>|j    ƒD]0\}}t
||d|t |dƒt ƒq„WdS(Nii( t GetTickByTypeRtTYPE_Player_Tick_SuccesstTYPE_Player_Tick_Timet SetTickByTypetGetIDt
PyGameDatatg_delaySuccessDicttpoptitemsR%tlistR&(RtticktisFinishtplayerIDt successDictt
sucessInfotcnt((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerSuccess.pytFinishDelayAddSuccessProgress»s (cCstjƒrdS|jƒ}|rž|tjkrAitj|<n|t|ƒf}|tj|krz|tj||<n tj|||tj||<dS|r×t|ƒtgƒkr×tjdt|fƒdS|tj    krêdSt
j d|ƒ}|stj d|ƒdSd}g}    xo|D]g}
t ||
|ƒsHq*n|
jƒ} | |    krp|    j| ƒn|
jƒ} || kr*| }q*q*W|     s¨|dkr¬dSg} xY|    D]Q} t||| ƒ}t|||ƒ}t||| |ƒ| j|| gƒq¹Wt|| ƒdS(Ns1DoAddSuccessProgress type=%s, condition=%s ´íÎó£¡RsÕÒ²»µ½³É¾ÍÊý¾ÝsuccessType=%si(Rt IsCrossServerR<R=R>ttuplettypetErrLogR-tSuccessTypeListRRtDebugLogR$Rtappendt
GetNeedCntRtminRR(RR'taddCntRt    delayCalcRDt successTupleR tmaxCnttupdConditionListR!RtneedCnttsyncTypeCondListR)tupdCnt((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerSuccess.pyR%ÐsR           cCsÿtjdi|d6ƒ}|s#dSt||ƒrGtjd|ƒdS|jƒ}|jƒ}|jƒ}t|||ƒ}||kr§tjd|||fƒdSt    ||ƒt
||gt ƒ|j ƒ}|rût j||ddtigƒndS(NRtSuccIDs¸Ã³É¾Í½±ÀøÒѾ­ÁìÈ¡¹ý! succID=%ss(¸Ã³É¾ÍδÍê³É! succID=%s,curValue=%s < %steventt SuccessAward(RtGetIpyGameDataByConditionRRRNR+RRPRR    RR,tGetAwardItemListt ItemControlertGivePlayerItemOrMailR&(RRR!RRRWtcurValuet awardItemList((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerSuccess.pytGetSuccessAwards&      "cCs|s¥g}tjƒ}xŠt|jƒƒD]s}|j|ƒ}t||jƒƒr[q+n|jƒ}|jƒ}||g}||kr‘q+n|j    |ƒq+Wng}    t
j ƒ}
x‹|D]ƒ\}}t |||ƒ} | rõ| dkrõq¾n|
j tjƒ} || _|| _t| jƒ| _| | _|    j    | ƒq¾W|    sOdS|
j tjƒ} |    | _t| jƒ| _tj|| ƒdS(Ni(RtIPY_DatatrangetGetSuccessCounttGetSuccessByIndexRRR+RROtObjPoolt
GetPoolMgrRtacquiretChPyNetSendPackttagSCSuccessInfotSuccTypetCondsR0tCLentCurValuettagSCSuccessInfoListtSuccessInfoListtCountt NetPackCommont SendFakePack(RRXt
isSendZerot
ipyDataMgrtindexR!RRttcListtsuccessInfoListt
objPoolMgrRatsuccInfot
clientPack((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerSuccess.pyR s@                      cCs^|rFg}x†|D],}|d}||kr|j|ƒqqWnOtjƒ}|jƒ}|shdS|j|dƒjƒ}t|ddƒ}tjƒ}    g}
xi|D]a} |j    t
j | ƒ} | rÞ| rÞq®n|    j t jƒ} | | _| | _|
j| ƒq®W|
sdS|    j t jƒ}|
|_t|jƒ|_tj||ƒdS(Nii(RORRdRfRgRtxrangeRhRiR RRRjRkttagSCSuccessAwardRecordt RecordIndextRecordttagSCSuccessAwardRecordListt
RecordListR0t    RecordCntRtRu(Rt
succIDListt
isSyncZerotrecordIndexListRt recordIndexRwtsuccCntt    maxSuccIDR{t
recordListR6t awardRecordt
recordInfoR}((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerSuccess.pyRGs: 
                 (RRR-RtRRkR_RR=RhRR,R    RRRR"R*R$RHR%RcR#R&RR(((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerSuccess.pyt<module>s,                            A     5 7    '