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
¤9gc@súddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z d„Z d„Z d„Zd„Zd„Zd„Zd„Zgd    „Zd
„Zd „Zd „ZdS( iÿÿÿÿNcCsZt|ƒ}|sVtjjtjiƒ}|jtjƒrVt|ƒt|ƒqVndS(N(    t__CheckPlayerFeastWishActiont
PyGameDatatg_operationActionDicttgett ShareDefinetOperationActionName_FeastWisht ActKey_StatetSync_FeastWishActionInfotSync_FeastWishPlayerInfo(t    curPlayertisResettactInfo((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFeastWish.pyt OnPlayerLogin s 
cCs[tjƒ}xHt|jƒƒD]4}|j|ƒ}tj|ƒsIqnt|ƒqWdS(N(t    GameWorldtGetPlayerManagertxrangetGetPlayerCounttGetPlayerByIndextIsNormalPlayerR(t playerManagertindexR    ((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFeastWish.pytRefreshFeastWishActionInfo*s c
Cs©|jƒ}tjjtjiƒ}|jtjdƒ}|jtjdƒ}tƒ}|j    t
j ƒ}|j    t
j ƒ}||krÕt jd|jƒƒ|rÑ|rÑ||krÑtj|t
j |ƒqÑndSt jd|||||f|ƒtj|t
j |ƒtj|t
j |ƒ|r:t||ƒntƒ}xB|D]:}    tj|t
j|    dƒtj|t
j|    dƒqJW|r¥t|ƒt|ƒntS(Nis½ÚÈÕ×£¸£»î¶¯ID²»±ä£¬²»´¦Àí£¡sT½ÚÈÕ×£¸£»î¶¯ÖØÖÃ! actID=%s,playerActID=%s,state=%s,templateID=%s,playerTemplateID=%s(t GetPlayerIDRRRRRt    ActKey_IDRt__GetWishTemplateIDtNomalDictGetPropertytChConfigtDef_PDict_FeastWishIDtDef_PDict_FeastWishTemplateIDR tDebugLogt PlayerControltNomalDictSetPropertyt__SendWishBottleItemMailtGetWishBottleNumListtDef_PDict_FeastWishBottleValuet!Def_PDict_FeastWishBottleGetStateRRtTrue(
R    tplayerIDR tactIDtstatet
templateIDt playerActIDtplayerTemplateIDt bottleNumListt    bottleNum((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFeastWish.pyR4s6               
 cCs9|s
dStjd|ƒ}|s&dS|jƒ}ggg}}}xÍ|D]Å}|jƒ}|jƒ}    |jtj|ƒ}
|jtj|ƒ} g} x7|    j    ƒD])} | t
d| ƒ@rª| j | ƒqªqªWt | ƒ}|j ƒ}||krqMnt|||
|jƒƒ}|s*qMng}x¦|    jƒD]˜\} }| | kr[q=n|j |ƒ|
|jƒ}
tj|tj||
ƒ| t
d| ƒB} tj|tj|| ƒt |ƒ|kr=Pq=q=W|såqMn|j |gƒ|j |ƒ|j |gƒqMW|r5tjd|||ƒndS(NtActFeastWishBottleitFeastWishBottleAwardMail(t IpyGameDataPYtGetIpyGameDataListRtGetWishBottleNumtGetChoosePrizeItemRRR"R#tkeystpowtappendtlentGetChooseTimeMaxtmintGetNeedWishValuetitemsRRt SendMailBatch(R    R*tbottleIpyDataListR%tbatchPlayerIDListtbatchAddItemListtbatchParamListtipyDataR,tchoosePrizeItemDictt curWishValuetgetStatet getIndexListt recordIndextgetTimestmaxTimest needGiveTimest awardItemListtitemInfo((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFeastWish.pyR YsT          c    Csgtjƒj|ƒ}|j}|j}tƒ}tjd|||fƒ|sTdStjd|ƒ}|spdSd}x*|D]"}    ||    j
ƒkr}|    }Pq}q}W|s¾tjd|ƒdS|j ƒ}
||
krëtjd|ƒdS|j t j|ƒ} |j t j|ƒ} d} x[|
jƒD]M}| td|ƒ@r*| d7} ||krwtjd|| fƒdSq*q*W| |jƒkr±tjd    | | |jƒfƒdS| |jƒkrätjd
| |jƒfƒdStj|tjƒsýdS|
|}|\}}}tj||||tjgd tigƒsGdS| |jƒ}tj|t j||ƒ| td|ƒB}tj|t j||ƒt||gƒtjd | || ||fƒ||jƒkrcd}|||g}|jƒg}d }tj dt!j"|||ƒ|j#ƒ}|rctj$d||jƒ|d |gƒqcndS(Ns@½ÚÈÕ×£¸£Æ¿Ñ¡Ôñ½±Àø! templateID=%s,bottleNum=%s,getRecordIndex=%sR-s&    ÕÒ²»µ½¶ÔÓ¦½ÚÈÕ×£¸£Æ¿! bottleNum=%ss3    ÕÒ²»µ½¶ÔÓ¦½ÚÈÕ×£¸£Æ¿½±ÀøÎïÆ·! getRecordIndex=%siiis3    ¸ÃÎïÆ·ÒѾ­Ñ¡Ôñ¹ý! getRecordIndex=%s,getState=%ss1    ÒÑûÓÐÁìÈ¡´ÎÊý! getState=%s,getTimes=%s >= %ss(    ×£¸£Öµ²»×ãÁìÈ¡! curWishValue=%s < %stsT    Ñ¡Ôñ³É¹¦: getState=%s,updGetState=%s,curWishValue=%s,updWishValue=%s,itemInfo=%si(%R RRt    BottleNumt RecordIndexRRR/R0tNoneR1R2RRR"R#R3R4R7R9t
ItemCommontCheckPackHasSpacet IPY_GameWorldtrptItemt ItemControlertGivePlayerItemtFalseRRRtGetGoodItemIDListt GetPlayerNametAddUniversalGameRecRt"Def_UniversalGameRecType_FeastWishtGetWorldNotifyKeyt WorldNotify(Rt
clientDatattickR    R,tgetRecordIndexR(R<t findIpyDatat bottleIpyDataRARBRCRFRERJtitemIDt    itemCountt isAuctionItemt updWishValuet updGetStatet recFromTypet    valueListt strValueListt
notifyTypet    notifyKey((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFeastWish.pytOnFeastWishBottleChooseItemsx               
   
-     +c.
Cs    tjƒj|ƒ}|j}tƒ}tjd||fƒ|sHdStjd|ƒ}tjd|ƒ}| sz| r~dStj    ddƒ}||kr dStj
ddƒ}    |}
t j ||    ƒ\} } } t d|
| | ƒ}|dkrtjd|    |
|fƒdSd}tj    dd    ƒ}i}g}d}|jƒ}x˜t|ƒD]Š}tj|ƒ}|s‡tjd
|ƒdS|\}}|j|||gƒ|j|dƒ|||<|tj|d|dƒ7}qWWg|jƒD]\}}|||g^qò}tj||ƒs)dStjd ||fƒt j|| | | |
d ƒg}x;|D]3}|jƒ}|jtj|ƒ}|jtj|ƒ}d}x:|jƒj ƒD]&} |t!d| ƒ@rÀ|d7}qÀqÀWt d|j"ƒ|ƒ}!|j#ƒ|!}"||"krBtjd ||!|"|fƒqint$|"||ƒ}#t%j&|tj||#ƒtjd||!|"||#fƒ|j|ƒqiW|j'ƒ}$|j(ƒ}%xî|D]æ\}}}tj)|||d|ƒ}&|&j*ƒ}'tj+||&d t,igt-j.gƒ}(|(r¿||$kr¿d})|||)g}*|j/ƒg}+d},tj0dt1j2|*|+|,ƒ|%r¥t%j3d|%|j/ƒ||'|gƒq¥q¿q¿Wt4j5ƒ}-||-_6t7|ƒ|-_8t9|-j8ƒ|-_:t;j<||-ƒ|rt=||ƒndS(Ns(Íæ¼Ò½ÚÈÕ×£¸£: wishCount=%s,templateID=%sR-tActFeastWishPoolt FeastWishCfgiiisD    ËùÐè×£¸£µÀ¾ß²»×ã!costItemID=%s,costItemNeedCount=%s,lackCount=%sis½ÚÈÕ×£¸£³ØÎïÆ·È¨ÖØÅäÖÃÒì³£! %ss)    giveWishValueTotal=%s,giveItemList=%st    FeastWishsR    Æ¿×Ó×£¸£ÖµÒÑÂú! bottleNum=%s,canGetTimes=%s,wishValueMax=%s <= curWishValue=%ss_    Æ¿×Ó×£¸£Öµ¸üÐÂ! bottleNum=%s,canGetTimes=%s,wishValueMax=%s,curWishValue=%s,updWishValue=%sR    i(>R RRt    WishCountRRR/R0tGetIpyGameDatatGetFuncEvalCfgt
GetFuncCfgROtGetPackItemBindStateIndexInfotmaxtGetWishPoolItemWeightInfoRtGetResultByWeightListtErrLogR5RtrandomtrandintR:RStCheckPackSpaceEnoughtDelCostItemByBindR1RRR"R#R2R3R4R7R9R8RRRVRZtGetOutPutItemObjt GetUserDatatDoLogic_PutItemInPackRURQRRRWRXRRYR[tChPyNetSendPackttagMCFeastWishResultt AddWishValuetstrt
WishResultR6t WishResultLent NetPackCommont SendFakePackR(.RR\R]R    t    wishCountR(R<t poolIpyDatatcanWishCountListt
costItemIDtcostItemNeedCounttcostItemIndexListtbindCntt    unBindCntt    lackCounttgiveWishValueTotaltwishValueRanget giveItemDictt giveItemListRctitemWeightInfoListt_t randItemInfoRaRbtcheckSpaceListtsyncBottleNumListR`R,RBRCRFREt canGetTimest wishValueMaxRdtgoodItemIDListRjtitemObjt itemUserDatatisOKRfRgRhRitretPack((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFeastWish.pytOnFeastWishPoolWishòs¦                ".              '/     cCsÕtjjtjiƒ}|s"gS|jtjƒs8gStj|ƒsKgS|jƒ}t    j
ddƒ}t j ||ƒ}|tj tjgkr—dSt    j
ddƒ}t j|ƒs¼dSt    j
ddƒ}|gS(NtKillBossCntLimitiRmi(RRRRRRRt
IsGameBosstGetNPCIDR/RrR tGetDictValueByKeytDef_Boss_Func_WorldtDef_Boss_Func_Homet    CanHappen(R    tnpcDataR tnpcIDtkillBossCntLimitDictt
limitIndextdropRatet
wishItemID((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFeastWish.pytGetFeastWishDropItemIDList]s" cCs»|r|}n    tƒ}tjƒ}g|_xe|D]]}tjƒ}||_|jtj|ƒ|_    |jtj
|ƒ|_ |jj |ƒq4Wt |jƒ|_tj||ƒdS(N(R!RttagMCFeastWishPlayerInfotPlayerBottleInfottagMCFeastWishPlayerBottleRLRRR"t    WishValueR#t ChooseRecordR5R6t BottleCountR…R†(R    R+R˜t
playerPackR,t playerBottle((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFeastWish.pyRys                   cCsLtƒ}|sgStjd|ƒ}|s/gSg|D]}|jƒ^q6S(NR-(RR/R0R1(R(R<R`((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFeastWish.pyR!s    cCs—tjjtjiƒ}|s"dS|jtjƒs8dS|jtjƒ}tjd|ƒ}|sfdS|jtj    ƒ}t
j |j ƒ|dƒ}|S(Nit ActFeastWish( RRRRRRt ActKey_CfgIDR/RptActKey_WorldLVR tGetDictValueByRangeKeytGetTemplateIDInfo(R tcfgIDR@tworldLVR(((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFeastWish.pyR—scCsntjjtjiƒ}|s"dS|jtjƒs8dS|jtjƒ}tjd|ƒ}|sfdS|jtj    ƒ}t
j |j ƒ|dƒ}|sdStj d|ƒ}tjd|ƒ}t
j|ƒ\}}    tjƒ}
|
jƒ||
_|    |
_|jƒ|
_|jƒ|
_|r.|jƒng|
_t|
jƒ|
_g|
_|rHxí|D]â} tjƒ} | jƒ| _| j ƒ| _!| j"ƒ| _#g| _$| j%ƒ} xi| j&ƒD][\}}|\}}}tj'ƒ}||_(||_)||_*||_+| j$j,|ƒqÀWt| j$ƒ| _-|
jj,| ƒq_Wnt|
jƒ|
_.t/j0||
ƒdS(NR·iR-Rl(1RRRRRRR¸R/RpR¹R RºR»R0tGetOperationActionDateStrRttagMCFeastWishInfotCleart    StartDatetEndtDatet
GetLVLimittLimitLVt GetResetTypet    ResetTypetGetWishPoolClientItemShowtWishPoolShowItemListR6tWishPoolShowCounttBottleInfoListttagMCFeastWishBottleInfoR1RLR9t NeedWishValueR7t ChooseTimeMaxtChoosePrizeListR2R:ttagMCFeastWishBottleItemRMtItemIDt    ItemCounttIsBindR5tChoosePrizeCountR´R…R†(R    R R¼R@R½R(R<Rˆt startDateStrt
endDateStrtactPackR`t
bottleInfot prizeItemDictRERJRaRbRc((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFeastWish.pyR¨s\ 
                                    (RORRRR/RSRRQR…R RRxR RRR RkR R®RR!RR(((soE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFeastWish.pyt<module>s,                
    
    %    D    U    k