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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
ޙEgc@sHdZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZd„Zd„Zd„Zd„Zd„Zdeeed    „Zd
„Zd „Zd „Zdd „Zd„Zddd„Zd„ZdS(sVersion = 2018-07-12 16:50iÿÿÿÿNcCsvt|ƒ}|srtjjtjiƒ}t|ƒ|jtjƒrrt|t    j
dt t t ƒt |ƒqrndS(Ni( t__CheckPlayerWeekPartyActiont
PyGameDatatg_operationActionDicttgett ShareDefinetOperationActionName_WeekPartytSyncWeekPartyInfot ActKey_StatetAddWeekPartyActionCnttChConfigtDef_WPAct_LogintFalsetSyncWeekPartyPlayerInfo(t    curPlayertisResettactCostRebateInfo((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerWeekParty.pytOnLogin&s 
cCs[tjƒ}xHt|jƒƒD]4}|j|ƒ}tj|ƒsIqnt|ƒqWdS(N(t    GameWorldtGetPlayerManagertxrangetGetPlayerCounttGetPlayerByIndextIsNormalPlayerR(t playerManagertiR ((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerWeekParty.pyt RefreshOperationAction_WeekParty2s c
Csä|jƒ}tjjtjiƒ}|jtjdƒ}|jtjdƒ}|jtjdƒ}|j    t
j dt
j ƒ}|j    t
j dt
j ƒ}|j    t
jdt
j ƒ}||krôtjd||jƒƒ|rðt|tƒndS|r t|||ƒntjdƒ|jt
j ƒ|jtjdƒ}    tjd|||||    f|ƒtj|t
j |t
j ƒtj|t
j |t
j ƒtj|t
j|    t
j ƒ|ràt|tƒt|ƒt|ƒntS(Nis(ÖÜ¿ñ»¶»î¶¯ID²»±ä£¬²»´¦Àí£¡playerActID=%ssÖÜ¿ñ»¶»î¶¯ÖØÖÃ!sFÖÜ¿ñ»¶±ä¸ü! state=%s,actID=%s,cfgID=%s,playerWeekPartyID=%s,worldLV=%s(t GetPlayerIDRRRRRRt    ActKey_IDt ActKey_CfgIDtNomalDictGetPropertyR    tDef_PDict_WeekPartyActIDtDef_PDictType_WeekPartytDef_PDict_WeekPartyIDtDef_PDict_WeekPartyWorldLVRtDebugLogtCheckWeekPartyActionCnttTruet__SendWeekPartyMailtClearNomalDicttActKey_WorldLVt PlayerControltNomalDictSetPropertyR RR (
R tplayerIDtactWeekPartyInfotstatetactIDtcfgIDt playerActIDtplayerWeekPartyIDt playerWorldLVtworldLV((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerWeekParty.pyR<s6   # 
 cCstjd|ƒ}|sdS|jƒ}|s2dSi}xÞt|ƒD]Ð\}}xÁ|D]¹}tjd|ƒ}    |    s|qXn|    jƒ}
|jtj||fdtjƒ} |jtj    ||fdtjƒ} | | |
} | sìqXnt
||    || ƒ}t j ||ƒqXWqEWt |jƒ|ƒ}x|jƒD]ù\}}|jƒ}|jƒxÔt|ƒD]Æ\}}|jtj|dtjƒ}||kr§qjn|jtj|dtjƒ}|td|ƒ@rßqjn||}x1|D])\}}}|j|dƒ|||<qðWtj|||ƒqjWq;W|sBdSg|jƒD]\}}||dg^qO}tjd|jƒg|ƒdS(Nt ActWeekPartyt    WeekPartyiiitSecondWeekReward(t IpyGameDataPYtGetIpyGameDatat GetTemplateIDt    enumeratetGetSingleTimesRR    tDef_PDict_WeekPartyCurTimesRtDef_PDict_WeekPartyGotTimest__GetAwardItemRt AddDictValuet__GetPointAwardInfot GetPointAwardtitemstkeystsorttDef_PDict_WeekPartyPointtDef_PDict_WeekPartyAwardRecordtpowRtDataRecordPacktDR_WeekPartyPointR(t SendMailByKeytGetID(R R.R1tactBossIpyDatattemplateIDListt totalItemDicttdayttidListttidtipyDatat singleTimestcurTimestgotTimest    canGotCnttitemDicttpointAwardInfot    awardDictt    pointListRtpointtcurPointt awardRecordtitemListtitemIDtitemCnttisBindt totalItemList((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerWeekParty.pyR%`sP   %% 
 
.cCstj||iƒS(N(RtGetDictValueByRangeKey(tcfgPointAwardInfoR2((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerWeekParty.pyR?sic Cs tj||||||ƒ|s&dStjjtjiƒ}|jtjdƒ}|jtjdƒ}|srdS|s|dSt    j
d|ƒ}    |    s˜dS|    j ƒ}
|jtj dƒ} | t |
ƒkrÏdS|tjgkrí| g} nt| dƒ} x| D]} |
| } g}x.| D]&}|d|kr!|j|ƒq!q!W|sWqnx¾|D]¶}t    j
d|ƒ}|s‚q^n|jƒ}|jtj| |fdtjƒ}|rý|dkrË|nt|||ƒ}|dkrðq^n||}n(| r||krq^nt||ƒ}||}|dkrAq^ntj|tj| |f|tjƒ|jƒ}|||||jƒ}|jtj| dtjƒ}||}tj|tj| |tjƒtjd| |||||fƒ|r^t|| |ƒq^q^WqWtS(sÔö¼ÓÖÜ¿ñ»¶Ïà¹Ø»î¶¯Íê³É´ÎÊýNiR3iidR4sj   Ôö¼ÓÖÜ¿ñ»¶Ïà¹Ø»î¶¯Íê³É´ÎÊý dayIndex=%s, findTid=%s, curTimes=%s, updTimes=%s, realAddCnt=%s,addPoint=%s( tPlayerFeastWeekPartytAddFeastWeekPartyActionCntRRRRRRRR6R7R8tActKey_DayIndextlenR    R
trangetappendt GetTotalTimesRR;RtminR(R)R:tGetPointRDRR"R R$(R tactionIDtaddCnttisAddt isCompatibletisSyncR+R,R.RKRLtdayIndextaddDayIndexListt
dayTidListt findTidListRPtfindTidRQt
totalTimesRSt    curAddCnttupdTimest
realAddCntRRtaddPointR[tupdPoint((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerWeekParty.pyRsn   
   %%  
 & 
 #cCs>|jƒjtjƒ}xit|jƒƒD]U}|j|ƒ}|jƒrRq+n|jtj    ƒ}t
|t j |t d|ƒq+Wtjƒ}xft|jƒƒD]R}|j|ƒ}tj|t j|ƒr£t
|t j|jƒt d|ƒq£q£Wtjddƒ}    x˜td|    dƒD]ƒ}
|jt j|
dƒ} | sJqntj| ƒ} tjƒj| ƒ} | szqn| jƒ}t
|t j |t d|ƒqWt
|t j!dt t |ƒ|jt j"ƒ}t
|t j#|t t$|ƒt
|t j%t&j'|ƒt t$|ƒt
|t j(t)j*|ƒt t$|ƒdS(NRqt
RuneUnlockiii(+tGetItemManagertGetPackRtrptPetRhtGetCounttGetAttIsEmptyt GetUserAttrtDef_IudetPet_NPCIDRR    t Def_WPAct_PetR R6tIPY_DataRt GetDogzCounttGetDogzByIndexRtGetDictValueByBittDef_PDict_DogzFightStatetDef_WPAct_Dogzt    GetDogzIDt
GetFuncCfgRtDef_PDict_Rune_Datat ItemControlert GetRuneItemIDt GetGameDatatGetItemByTypeIDt GetItemColortDef_WPAct_RuneR
t!Def_Player_Dict_TrialTower_PassLVtDef_WPAct_TowerR$tDef_WPAct_StonetOperate_EquipStonetGetTotalStoneLVtDef_WPAct_GodWeapontPlayerGodWeapontGetGodWeaponTotalLV(R Rqt petDataPackt petDataIndextpetItemtpetNPCIDt
ipyDataMgrRRQt runeHoleCnttholeNumtruneDatat
runeItemIDtitemDatat    itemColortpasslv((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerWeekParty.pyR#Ðs:   )  %%cCsRtj|dƒ}tjjtjiƒ}|jtjdƒ}|jtjdƒ}| sb| rfdSt    j
d|ƒ}|s‚dS|j ƒ}|s˜dS|t |ƒkr®dS||}||krÈdSt    j
d|ƒ}    |    sädS|    j ƒ}
|jtj||fdtjƒ} |jtj||fdtjƒ} | | |
krNdS|jtjdtjƒ} t||    | ƒ}t |ƒ}tj|tj|ƒ}||kr¿tj|dƒdS| |
}tj|tj||f|tjƒx9|jƒD]+\}}tj|||dtjgƒqüWtj||dƒt |||ƒdS(sÁìÈ¡ÖÜ¿ñ»¶»î¶¯½±ÀøiNR3R4tGeRen_chenxin_998371(!RtToIntDefRRRRRRRR6R7R8RgR:RR    R;RR<R!R=t
ItemCommontGetItemPackSpacet IPY_GameWorldtrptItemR(t
NotifyCodeR)RARtGivePlayerItemtNotifyGiveAwardInfoR (R RNt
templateIDR+R,R.RKRLt dayTempIDListRQRRRSRTR1RXt    needSpacet    packSpacet newGotTimesR^R_((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerWeekParty.pytGetWeekPartyActionAward÷sN 
  %%  
&#cCs`tj|dƒ}tjjtjiƒ}|jtjdƒ}|jtjdƒ}| sb| rfdSt    j
d|ƒ}|s‚dS|j t j |dt jƒ}||kr±dS|j t jdt jƒ}t|jƒ|ƒ}    |    j|iƒ}
|
jƒ} | jƒ|| krdS| j|ƒ} |j t j|dt jƒ} | td| ƒ@rutjd||fƒdS|
|}t|ƒ}tj|tj|ƒ}||krÃtj|dƒdStj|t j|| td| ƒBt jƒx6|D].\}}}t j!|||dtjgƒq÷Wt j"||dƒt#||ƒt$j%|||ƒdS(NiR3is0 ÁìÈ¡ÖÜ¿ñ»¶»ý·Ö½±Àø£¬ ÒÑÁìÈ¡ day=%s, getPoint=%sRªR4(&RR«RRRRRRRR6R7RR    RDRR!R?R@RBRCtindexRERFtLogRgR¬R­R®R¯R(R°R)RR±R²R RGRH(R RNtgetPointR+R,R.RKR[R2RWtpointAwardDictRYtgetIndexR\R]RµR¶R^R_R`((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerWeekParty.pytGetWeekPartyPointAward(sJ  
 
  -# c    Csni}t||jƒ|ƒ}xI|D]A\}}}| s%| rHq%n|j|dƒ||||<q%W|S(Ni(t__GetAwardItemListByJobt    GetRewardR(    R RQR2ttimesRXt awardItemListR^R_tisbind((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerWeekParty.pyR=Qs"cCs„|s
gSt|tƒr€|jƒ}t|dtƒrjt|dƒdkrjt|tj||ƒ|ƒS|j|j    ƒgƒS|S(Nii(
t
isinstancetdictRBttupleRgR¿RRbRtGetJob(R trewardItemInfoR2tkeyList((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerWeekParty.pyR¿[s )cCs\tjjtjiƒ}|jtjdƒ}|jtjdƒ}| sP| rTdStjd|ƒ}|spdS|j    ƒ}|s†dS|dkr´|t
|ƒkr¨dS|g}nt t
|ƒƒ}t j ƒ}    g|    _xX|D]P}
t jƒ} |
| _|jtj|
dtjƒ| _|jtj|
dtjƒ| _g| _xÃ||
D]·} |dkry| |kryqUntjd| ƒ} | s—qUnt jƒ}| |_|jtj|
| fdtjƒ|_|jtj|
| fdtjƒ|_| jj|ƒqUWt
| jƒ| _ |    jj| ƒqâWt
|    jƒ|    _!t"j#||    ƒdS(NiR3iÿÿÿÿR4($RRRRRRRR6R7R8RgRhtChPyNetSendPackttagMCWeekPartyPlayerInfot DayInfoListttagMCWeekPartyDayPlayerInfotDayIndexRR    RDRtPointREt AwardRecordtTaskListttagMCWeekPartyTaskInfot
TemplateIDR;tCurTimesR<tGotTimesRitACounttCountt NetPackCommont SendFakePack(R RNR³R+R,R.RKRLt syncDayListtpackDatatcdayttiemInfottIDttipyDatattaskInfo((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerWeekParty.pyR gsP              ""         ((cCsÁtjjtjiƒ}|jtjdƒ}|jtjdƒ}|sLdStjd|ƒ}|shdS|j    ƒ}|s~dS|j
t j dt j ƒ}t|jƒ|ƒ}tj|ƒ\}}    tjƒ}
|
jƒ||
_|    |
_|jƒ|
_|jƒ|
_|jƒ|
_|jƒ|
_g|
_g} xt |ƒD] \} } tj!ƒ}| |_"t#| ƒ|_$x*| D]"}|| krz| j%|ƒqzqzWg|_&x€|j| iƒj'ƒD]f\}}xW|D]O\}}}tj(ƒ}||_)||_*||_+||_,|j&j%|ƒqÕWqÂWt#|j&ƒ|_-|
jj%|ƒqCWt#|
jƒ|
_.g|
_/x+| D]#}tjd|ƒ}|s©tj0d|ƒqtntj1ƒ}||_2|j3ƒ|_4|j5ƒ|_6|j7ƒ|_8|j9ƒ|_:g|_;t<||j=ƒ|ƒ}xW|D]O\}}}tj(ƒ}||_)||_*||_+d|_,|j;j%|ƒq"Wt#|j;ƒ|_>|
j/j%|ƒqtWt#|
j/ƒ|
_?t@jA||
ƒdS(NiR3R4s    ÖÜ¿ñ»¶Ä£°å±íÕÒ²»µ½Ä£°å%s(BRRRRRRRR6R7R8RR    R!RR?R@RtGetOperationActionDateStrRÊttagMCWeekPartyInfotCleart    StartDatetEndtDatetGetAdvanceMinutestAdvanceMinutest GetIsDayResett
IsDayResett GetResetTypet    ResetTypet
GetLVLimittLimitLVRÌR9ttagMCWeekPartyDayInfot TemplateListRgtActCntRit    PItemInfoRAttagMCWeekPartyItemtItemIDtItemCnttIsBindt    NeedPointtPCounttDayCntt
ActionInfotErrLogttagMCWeekPartyActionRÓt GetActionTypet
ActionTypeRjt
TotalTimesR:t SingleTimesRlRÏtItemInfoR¿RÀR×tTCountRØRÙ(R R+R,R.RKRLR2R¼t startDateStrt
endDateStrtactInfoRORNt
dayActListtdayInfoRPRZR]R^R_R`t    awardItemRQttInfoRÂ((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerWeekParty.pyR•sŠ  
                       %                                                (t__doc__R®RR    R6R(RRÊR™RdRGRœRØRRR¬RRRR%R?R$R RR#R¸R¾R=R¿R R(((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerWeekParty.pyt<module>s8                        
    $    -    @    '    1    )
     .