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
™\Bhc@snddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZedddƒZ\ZZZZZdZdZdZd„Zd„Zd    „Zd
„Zd „Zd „Z d „Z!d„Z"d„Z#d„Z$e%d„Z&dS(iÿÿÿÿNiii i i cCst|ƒdS(N(tSync_TreasureInfo(t    curPlayer((smD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTreasure.pytDoTreasureOpen2s
cCst|ƒdS(N(R(R((smD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTreasure.pytOnTreasureLogin7s
cCsÙg}tjƒ}xªt|jƒƒD]–}|j|ƒ}|jƒ}|jtj|ƒ rz|jtj    |ƒ rzq%n|j
|ƒt j |tj|dƒt j |tj    |dƒq%W|rÕt ||ƒndS(Ni(t IpyGameDataPYtIPY_DatatxrangetGetTreasureSetCounttGetTreasureSetByIndextGetTreasureTypetNomalDictGetPropertytChConfigtDef_PDict_TreasureCountTodaytDef_PDict_TreasureFreeCounttappendt PlayerControltNomalDictSetPropertyR(Rt syncTypeListt
ipyDataMgrtitipyDatat treasureType((smD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTreasure.pytOnDay;s   c    CsEx1|D])}tjd|ƒ}|s+qn|jƒ}|jƒ}|re|retj|||ƒntj|tj    |dƒtj|tj
|dƒtj|tj |dƒtj|tj |dƒtj|tj |dƒ|jƒ}x:|jƒD],}tj|tj|t|ƒfdƒqWqWt||ƒdS(Nt TreasureSeti(RtGetIpyGameDatatGetRecycleItemMailt GetCostItemIDt ItemControlert RecycleItemRRR R tDef_PDict_TreasureCountR tDef_PDict_TreasureLucktDef_PDict_TreasureCntAwardtGetGridNumMaxLimitInfotkeystDef_PDict_TreasureGridCnttintR(RttreasureTypeListRt
setIpyDatatrecycleItemMailt
costItemIDtgridNumMaxLimitInfot
gridNumStr((smD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTreasure.pytResetTreasureTypeKs$     . cCstj||ƒrtStS(N(tPlayerActYunshitIsActTreasureTypetTruetFalse(RR((smD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTreasure.pyR,bscXCstjƒj|ƒ}|jƒ}|jƒ}|j}|j}|j}tjd||||f|ƒt    j
d|ƒ}    |    s„dS|    j ƒrºt ||ƒsºtj d||ƒdSn|    jƒ}
|
sàtjd|ƒdS|dksþ|t|
ƒkrtj d||f|ƒdS|
|} | s@tjd|ƒdS|    jƒ} |jtj|ƒ} | | }| r¢|| kr¢tjd| | || f|ƒdS|    jƒ}|    jƒrêtj||tƒsêtjd    ||ƒdSn|d
krv|    jƒ}|s&tj d ||f|ƒdS|jtj|ƒ}|| }||krÏtjd || |f|ƒdSnY|d krL|    jƒ}|    jƒ}| sº| sº|t|ƒkrØtj d||f|ƒdS||}| sð| rôdStj||ƒ\}}}td|||ƒ}||}d}|dkrÏ|    jƒ}|    j ƒ}| s…| s…|t|ƒks…|| r£tj d||f|ƒdS||}t!||ƒ}||}tjd|||||f|ƒ|r"|} i|tj"6}!t#j$|| |ƒsFdSqItjd||||f|ƒdSqÏnƒ|    jƒ}|    j ƒ}| s„| s„|t|ƒkr¢tj d||f|ƒdS||}|s¶dSt#j$|||ƒsÏdSt    j%dd|i|d6ƒ}"|"stj d||jƒf|ƒdS|"j&ƒ}#g}$|#rWxB|#D]\}%}&|$j'|&ƒq7Wn|    j(ƒru|    j(ƒg}$ntjd|$|#f|ƒ|    j)ƒ}'|    j*ƒ}(|    j+ƒ})|jtj,|ƒ}*|*}+|jtj-|ƒ},|,}-|"j.ƒ}.|    j/ƒ}/|"j0ƒ}0tjd|.|ƒtjd|/|0f|ƒ|    j1ƒ}1|    j2ƒ}2|    j3ƒ}3i}4x:|3j4ƒD],}5|jtj5||5fƒ|4t!|5ƒ<qtWtjd|3|4f|ƒg}6xìt6| ƒD]Þ}7t7|+|(|)ƒ}+|-d
7}-tjd|7d
|-|+f|ƒ|3r8tjd|3|4f|ƒnt8|"|$|+|'|ƒ\}8}9t9|9|4|3ƒ}9tjd|8|ƒtjd|9|ƒg}:|)rü|+|)krü|$rü|#rÉt9|#|4|3ƒ}:nt9d|$dfg|4|3ƒ}:tjd |:ƒn|: rE|-|.krE|.|-};t9|;|4|3ƒ}:tjd!|-|:fƒn|: r”|/r”|-|/dkr”|0r”t9|0|4|3ƒ}:tjd"|/|:fƒnd}<x|<d#kr®    |<d
7}<|<d
ksÆ|: rÏ|9}:ntj:|:ƒ}&|&|$kr    |&|6kr    tjd$|&|6fƒqn|&s    qn|6j'|&ƒtjd%|&|6f|ƒ|&|$kro    d}+tjd&|&|ƒn|&|4krª    |4|&d
|4|&<tjd'|&|4f|ƒnPqWqÑWtjd(|6|ƒt|6ƒ| kr÷    tj d)||f|ƒdSd}=|j;ƒ}>|"j<ƒ}?|"j=ƒ}@|"j>ƒ}Ag}Bt    j?dd ƒ}Cxd|6D]\}&t@|&ƒ}&|&|?kr† |?|&\}D}EtA|>|D|Aƒ}D|Ds°
tj d*||&f|ƒdS|D|Ckr g}F|C|D}Gxx|GD]p}HtjBƒjC|Hƒ}I|IjDƒtjEkr6 tFjG||Hƒ r6 tjd+|D|Hf|ƒqÓ
n|Fj'|HƒqÓ
W|Fsq tj d,|||&|Df|ƒdStHjI|Fƒ}Dq n    |&|@krq |@|&}Jt    jJd-|Jƒ}K|Ks¸ dSg}Lxn|KD]f}M|MjKƒ|MjLƒ|MjMƒ}N}D}EtjBƒjC|Dƒ}I|Is qÅ n|Lj'|N|D|EggƒqÅ W|LsY tj d.|||&|Jf|ƒdStjN|Lƒ\}D}Entj d/||&f|ƒdS|Bj'|&|D|E|=gƒqL
W|d
kré t#jO|tj||ƒtjd0||ƒnÜ|d kr{ tjP|||||tjQƒtjd1||f|ƒ|rÅ i|d6|d26|d36|d46}!t#jR|| |tjS|!|ƒqÅ nJi|d6|d26}!t#jR|||tjS|!ƒtjd5||f|ƒt#jO|tj||ƒt#jO|tj-||-ƒx$|$D]}O|O|6krd}+PqqWt#jO|tj,||+ƒx:|4jTƒD],\}&}Pt#jO|tj5||&f|PƒqGW|    jUƒ}Q|    jVƒ}R|Qrµ|Rrµt#jW||Q|R| ƒn|tXkrtYjZ|tj[| ƒt\j]|tj^| ƒt_j`|tja| ƒtbjc|tjd| ƒn|tekrƒtYjZ|tjf| ƒt\j]|tjg| ƒt_j`|tjh| ƒtbjc|tji| ƒn±|tjkrêtYjZ|tjk| ƒt\j]|tjl| ƒt_j`|tjm| ƒtbjc|tjn| ƒnJ|tokrtbjc|tjp| ƒn%|tqkr4tbjc|tjr| ƒntsjt|tsju|| ƒg}Stvjw|ƒ}TxÏ|BD]Ç\}&}D}E}=tvjx|D|Etyd6|ƒ}Utjz|Uƒ}Vt!|&ƒ|1krë|2rët#j{d|2|j|ƒ|D|Uj}ƒ|Egƒn|Ss|Tj~||Ud7tjtyigƒ ri|Sj'|Vƒ|Uj€ƒqiqiW|SrSt#jd8|g|Sƒntjd9||-||+|Q|R|4f|ƒtjd:|B|ƒtjd;|S|ƒt‚jƒƒ}W|Wj€ƒ|Q|W_„|R|W_…|(|W_†t@|Bƒ|W_‡t|Wj‡ƒ|W_ˆt‰jŠ||Wƒt‹||gƒdS(<NsBÍæ¼ÒѰ±¦: treasureType=%s,treasureIndex=%s,costType=%s,playerLV=%sRs-¸ÃѰ±¦ÀàÐͷǻÖУ¬ÎÞ·¨Ñ°±¦! treasureType=%ssûÓÐѰ±¦´ÎÊýÁбíÅäÖÃ!is3Ѱ±¦´ÎÊýË÷Òý²»´æÔÚ!treasureType=%s,treasureIndex=%ssûÓÐѰ±¦´ÎÊýÅäÖÃ!s[Ѱ±¦ºó½«³¬¹ýÿÈÕ×î´ó´ÎÊý£¬ÎÞ·¨Ñ°±¦! treasureCount(%s) + curTreasureCountToday(%s) = %s > %ss"¶ÔӦѰ±¦±³°üûÓпոñ×Ó!packType=%sisA¸ÃѰ±¦ÀàÐÍË÷Òý²»Ö§³ÖÃâ·Ñ´ÎÊýѰ±¦!treasureType=%s,treasureIndex=%ss?½ñÈÕÃâ·Ñ´ÎÊý²»×㣬ÎÞ·¨Ê¹ÓÃÃâ·ÑѰ±¦! freeCountToday=%s + %s > %sisA¸ÃѰ±¦ÀàÐÍË÷Òý²»Ö§³ÖÏûºÄµÀ¾ßѰ±¦!treasureType=%s,treasureIndex=%ssLѰ±¦µÀ¾ß²»×㣬¸ÃѰ±¦ÀàÐͲ»Ö§³ÖÏûºÄ»õ±ÒѰ±¦! treasureType=%s,treasureIndex=%ssoѰ±¦µÀ¾ß²»×㣬ʹÓöÔÓ¦»õ±Ò¿Û³ý: costItemID=%s,perItemGold=%s,lackCount=%s,lackCountCostMoney=%s,costGoldType=%ssKѰ±¦ÏûºÄµÀ¾ß²»×ã!costItemID=%s,costItemNeedCount=%s,bindCnt=%s,unBindCnt=%ssA¸ÃѰ±¦ÀàÐÍË÷Òý²»Ö§³ÖÏûºÄ»õ±ÒѰ±¦!treasureType=%s,treasureIndex=%st TreasureHousetMinLVt TreasureTypes3ÕÒ²»µ½¸ÃµÈ¼¶¶ÔӦѰ±¦¿âÅäÖÃ!treasureType=%s,curLV=%ssluckyGridNumList=%s, %ssbeSureCountDict=%ssensureCount=%s, %ss*gridNumMaxLimitInfo=%s,gridNumCountInfo=%ss%s,ÀۼƴÎÊý=%s,ÐÒÔË=%ss.    gridNumMaxLimitInfo=%s,gridNumCountInfo=%ss    »ù´¡±ýͼ=%ss    ³£¹æ±ýͼ=%si's    ¡¾ÂúÐÒÔ˱ýͼ¡¿: %ss    ¡¾µÚ%s´ÎÊý±Ø³ö±ýͼ¡¿: %ss    ¡¾Âú%s´ÎÊý±Ø³ö±ýͼ¡¿: %si2s5    ÐÒÔËÎïÆ·ÒѾ­³ö¹ý£¬²»ÔÙÖØ¸´²ú³ö£¡ gridNum=%s in %ss    ±¾´Î²ú³ö: gridNum=%s, %ss     ¡¾²ú³öÐÒÔ˸ñ×Ó¡¿: gridNum=%ss$    ¡¾¸üвú³ö´ÎÊý¡¿: gridNum=%s, %ssѰ±¦¸ñ×Ó½á¹û: getGridResult=%ssHѰ±¦Òì³££¬Êµ¼Ê»ñµÃÊýÁ¿ÓëѰ±¦ÇëÇóÊý²»Í¬£¡treasureType=%s,treasureIndex=%ss-Ѱ±¦¸ñ×ÓÎïÆ·IDÒì³£!treasureType=%s,gridNum=%ss+δ½âËøµÄ·ûÓ¡²»²ú³ö£¡itemID=%s,randItemID=%ssRѰ±¦Ëæ»ú¸ñ×ÓûÓпÉËæ»úµÄÎïÆ·!treasureType=%s,treasureIndex=%s,gridNum=%s,itemID=%stTreasureItemLibsQѰ±¦Ëæ»ú¸ñ×ÓûÓпÉËæ»úµÄÎïÆ·!treasureType=%s,treasureIndex=%s,gridNum=%s,libID=%ss)Ѱ±¦¸ñ×Ó²»´æÔÚ!treasureType=%s,gridNum=%ss(ÏûºÄÃâ·Ñ´ÎÊý£¬¸üнñÈÕÒÑʹÓÃÃâ·Ñ´ÎÊý: %ss.¿Û³ýѰ±¦µÀ¾ß,costItemID=%s,delCostItemCount=%st TreasureIndext
CostItemIDt    LackCounts$¿Û³ý»õ±Ò,costGoldType=%s,costGold=%sRteventtHappyXBUnEnoughslѰ±¦³É¹¦: treasureType=%s,updTreasureCount=%s(%s),updLuck=%s,addScoreType=%s,addScore=%s,gridNumCountInfo=%ss    treasureResult=%ss    mailItemList=%s(Œt    GameWorldtGetPlayerManagertGetPlayerByIndextGetLVt GetPlayerIDR1R3tCostTypetDebugLogRRt GetIsActTypeR,tErrLogtGetTreasureCountListtlentGetDailyMaxCountR
R R t GetPackTypet GetCheckPackt
ItemCommontCheckPackHasSpaceR-tGetDailyFreeCountR RtGetCostItemCountListtGetPackItemBindStateIndexInfotmaxtGetCostMoneyListtGetCostMoneyTypeR#tDef_Cost_Reason_SonKeyRt    HaveMoneytInterpolationSearchtGetLuckyItemRateListRtGetLuckyGridNumtGetLuckyRateFormatt GetOnceLuckyt GetFullLuckyRRtGetGridItemRateList3tGetEnsureCounttGetGridItemRateList2tGetNotifyGridNumListt GetNotifyKeyR R!R"trangetmintGetUpdLuckyItemRateListtGetRemoveLimitGridRateListtGetResultByRandomListtGetJobtGetGridItemInfotGetGridLibInfotGetJobItemListtGetFuncEvalCfgtstrt
GetJobItemt GetGameDatatGetItemByTypeIDtGetTypetDef_ItemType_Runet
PlayerRunetGetIsOpenByRuneIDtrandomtchoicetGetIpyGameDataListt GetItemWeightt    GetItemIDt GetItemCounttGetResultByWeightListRtDelCostItemByBindtItemDel_TreasuretPayMoneytDef_Cost_TreasuretitemstGetAwardMoneyTypetGetAwardMoneyValuet    GiveMoneytTreasureType_RunetPlayerFairyCeremonytAddFCPartyActionCnttDef_PPAct_RuneTreasuretPlayerFeastTraveltAddFeastTravelTaskValuetDef_FeastTravel_RuneTreasuretPlayerBossReborntAddBossRebornActionCnttDef_BRAct_RuneTreasuret PlayerActTasktAddActTaskValuetActTaskType_TreasureRunetTreasureType_JipintDef_PPAct_TreasuretDef_FeastTravel_TreasuretDef_BRAct_TreasuretActTaskType_TreasureJipintTreasureType_JueshitDef_PPAct_JSTreasuretDef_FeastTravel_JSTreasuretDef_BRAct_JSTreasuretActTaskType_TreasureJueshitTreasureType_GatherTheSoult!ActTaskType_TreasureGatherTheSoultTreasureType_GubaotActTaskType_TreasureGubaotPlayerActLunhuidiantAddLunhuidianValuetAwardType_TreasureRtPlayerItemControlertGetOutPutItemObjR.tGetMailItemDictt WorldNotifyt GetPlayerNamet GetUserDatat    PutInItemtItemGive_TreasuretCleart SendMailByKeytChPyNetSendPackttagMCTreasureResultt AddMoneyTypet AddMoneyValuetAddTreasureLucktTreasureResulttTreasureResultLent NetPackCommont SendFakePackR(Xtindext
clientDatattickRtplayerLVtplayerIDRt treasureIndextcostTypeR%ttreasureCountListt treasureCountt dailyMaxCounttcurTreasureCountTodaytupdTreasureCountTodaytpackTypetdailyFreeCounttfreeCountTodaytupdFreeCountTodayR't costItemListtcostItemNeedCounttcostItemIndexListtbindCntt    unBindCntt    lackCounttdelCostItemCounttlackCountCostMoneyt costGoldListt costGoldTypetcostGoldt perItemGoldt    moneyTypetinfoDictRtluckyItemRateListtluckyGridNumListt_tgridNumt luckFormulataddLucktmaxLucktcurLucktupdLucktcurTreasureCounttupdTreasureCounttbeSureCountDictt ensureCounttensureRateListtnotifyGridNumListt    notifyKeyR(tgridNumCountInfoR)t getGridResultttIndext baseRateListtcommItemRateListt curRateListtbesureGridRateListtdoCounttisBindtjobtgridItemInfoDicttgridLibInfoDictt jobItemListttreasureResulttrandItemIDDicttitemIDt    itemCounttcanRandItemListtrandItemIDListt
randItemIDtitemDatatlibIDt libItemListtitemWeightListtlibItemt
itemWeightt luckyGridNumtupdCountt addScoreTypetaddScoret mailItemListt itemControltitemObjt mailItemDicttsendPack((smD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTreasure.pytOnRequestTreasureqsB                    
 
        
     
 
   +
 
        
   
            *
!
#
                   
 (     
 &      "%  $        .+       
            c Csãg}|s||SxÈt|ƒD]º\}}|\}}t|ƒ|kr‚|t|ƒ}|r‚|j|dƒ|kr‚q!q‚n|dkr”|n|||dd}    |s¶|    n|dd|    }
|j|
|fƒq!W|S(Niiiÿÿÿÿ(t    enumerateRetgetR( tsrcGridNumRateListRÛR(t newRateListRtrateInfotrateRÎt
limitCounttsrcRatetnewRate((smD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTreasure.pyR^Îs     (cCs|jƒ}|dkr$|jƒn    |jƒ}|sE|jƒ}ng}x°t|ƒD]¢\}}    |    \}
} |dkr‚|
n|
||dd} | |krÃttjd||ƒƒ} n| } |sÕ| n|dd| }|j|| fƒqXW||fS(NiisTreasureLuckyRate%siÿÿÿÿ(R    tGetGridItemRateListFreetGetGridItemRateList1RÿtevaltFormulaControltGetCompileFormulaR(RRÌRÒRÏR³Rt
srcPieListt updRateListRRRRÎtbaseRateRtspecRate((smD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTreasure.pyR]âs $ ( cCs“xŒ|D]„}t|ƒttgkr:tjd|ƒdS||kr|dksd|t|ƒkrtjd||fƒdS||dSqW|S(Ns!Ö°ÒµÎïÆ·×é¸ñʽ´íÎó!jobItemList=%sis6Ö°ÒµÎïÆ·ÅäÖôíÎó,ûÓиÃÖ°Òµ¶ÔÓ¦ÎïÆ·ID!job=%s,itemID=%si(ttypetlistttupleR8R@RB(RäRêRçt jobItemIDList((smD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTreasure.pyRføs  c
Csetj|dƒ}|jƒ}tjd||ƒ}|s=dS|jƒ}|jƒ}|jtj    |ƒ}|t
d|ƒ@rŸtj d|||f|ƒdS|jtj |ƒ}||krâtj d|||f|ƒdS|t
d|ƒB}    t j|tj    ||    ƒtj d|||||    f|ƒtj||ddtigƒt||gƒdS(NitTreasureCntAwardisF¸ÃѰ±¦´ÎÊý½±ÀøÒÑÁì½±! treasureType=%s,needTreasureCnt=%s,awardIndex=%ss?¸ÃѰ±¦´ÎÊý²»×㣬ÎÞ·¨Áì½±! treasureType=%s,treasureCount=%s < %ss\ÁìȡѰ±¦´ÎÊý½±Àø! treasureType=%s,needTreasureCnt=%s,awardIndex=%s,awardState=%s,updState=%sR6(R8tToIntDefR<RRt GetAwardIndextGetAwardItemListR
R RtpowR>RRRRtGivePlayerItemOrMailR.R(
RRtneedTreasureCntR±Rt
awardIndext awardItemListt
awardStateRµtupdState((smD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTreasure.pytGetTreasureCntAwards0                c Cs)|dkr`g}tjƒ}x?t|jƒƒD](}|j|ƒ}|j|jƒƒq1Wntj    ƒ}|j
ƒg|_ x|D]y}tj d|ƒ}|sªq†n|j ƒrÎt||ƒsÎq†qÎn|jƒ}tjƒ}    |    j
ƒ||    _|jtj|ƒ|    _|jtj|ƒ|    _|jtj|ƒ|    _|jtj|ƒ|    _|jtj|ƒ|    _xd|jƒD]V}
t|
ƒ} tj ƒ} | | _!|jtj"|| fƒ| _#|    j$j| ƒqƒWt%|    j$ƒ|    _&|j j|    ƒq†Wt%|j ƒ|_'t(j)||ƒdS(NR(*tNoneRRRRRRR    R¤ttagMCTreasureInfoR¢tTreasuerInfoListRR?R,R ttagMCTreasureTypeInfoR1R
R Rt    LuckValueRt TreasureCountR tTreasureCountTodayR tFreeCountTodayRRR!R#ttagMCTreasureGridLimittGridNumR"tGridCnttGridLimitCntListRBt GridLimitCntt    InfoCountR«R¬( RRRRRttreasureInfoPackttTypeR%R(t    tTypeInfoR)RÎt    gridLimit((smD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTreasure.pyR$sH   
            
          ('R8RkRR R¤RRR«RƒR€R}R—R+R†RFR RmR[tTreasureTypeListR‰R|RŽR“R•tTreasureType_HeroCommtTreasureType_HeroHightTreasureType_HeroScoreRRRR*R,RþR^R]RfR R!R(((smD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTreasure.pyt<module>s@                     &                        ÿ^