hwj35
2025-07-02 be2004bc6492efa067d8fc7ab2a84dd61dba819f
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
Sð    hc@sëddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z d„Z dd„Zd„Zd„Zd„Zd„Zd    „Zd
„ZdS( iÿÿÿÿNc&Cse|jƒ}tjd|ƒ}|s(dS|jƒ}t|jƒ|ƒ}t|jƒƒ}|jƒ}    |j    ƒ|}
|j
ƒ|} |j ƒ} |j ƒ} | rÂt j|tj| ƒ rÂdS|    rtj||    ƒ\}}}|||
krtjd||    |
||fƒdSntjd||||    |
| fƒt||||ƒ}|s\dS|\}}}}}}tjd||||||| | fƒx_|jƒD]Q\}}tj|||ƒ}||krªt j|d||||gƒdSqªW|    r$tj|||||
dƒn| r\i|tj6}t j|tj| tj|ƒn|rt j|tj||ƒtjd|ƒni|d6}tj |||t!tj"|ƒg}x"|D]\}}|| krè| n| } | r tjd|ƒr d    nd
}!g}"t#j$||||!d tj%t&i|d 6gd |d|"ƒ}#|#|kr“tj'd||||||#f|j(ƒƒqÉn||krÉ|"r¯|"d
nd}$t j)d
d|j*ƒ|||||$gƒqÉqÉW|r0i|tj+6}%t j,|||tj-|%t&ƒs0d\}}q0n|r[|r[t.j/||||||ƒnt!|fS(NtChestssjËùÐèÏûºÄµÀ¾ß²»×㣬ÎÞ·¨´ò¿ª±¦Ïä!chestsItemID=%s,costItemID=%s,costItemCountTotal=%s,bindCnt=%s,unBindCnt=%ssPUseChests: chestsItemID=%s,useCnt=%s,isBind=%s,costItemID=%s*%s,costGoldTotal=%ss—    needSpaceDict=%s,jobAwardItemList=%s,moneyType=%s,moneyCount=%s,notifyItemList=%s,updOpenCount=%s,auctionItemCanSell=%s,aucionItemDiffSellIDList=%st OpenBoxItems    ¸üб¦Ï俪Æô´ÎÊý: %st    AwardItemt AuctionItemiiteventt    UseItemIDt jsonItemListt userDataListsX±¦Ï䏸ÎïÆ·Òì³£!chestsItemID=%s,useCnt=%s,itemID=%s,itemCount=%s,isBind=%s,giveOKCount=%stt ChooseMessage(ii(0t GetItemTypeIDt IpyGameDataPYtGetIpyGameDataNotLogt GetShowTypetmintGetCounttintt    GetIsBindt GetCostItemIDtGetCostItemCountt GetCostGoldtGetAucionItemCanSelltGetAucionItemDiffSellIDListt PlayerControlt    HaveMoneyt IPY_GameWorldtTYPE_Price_Gold_Moneyt
ItemCommontGetPackItemBindStateIndexInfot    GameWorldtDebugLogtGetChestsAwardInfotitemstGetItemPackSpacet
NotifyCodetDelCostItemByBindtChConfigtDef_Cost_Reason_SonKeytPayMoneytDef_Cost_UseItemtNomalDictSetPropertytDef_PDict_ChestsOpenCounttDelItemtTruetItemDel_Chestst ItemControlertDoGiveItemLooptItemGive_CheststFalsetErrLogt GetPlayerIDt WorldNotifyt GetPlayerNametDef_Give_Reason_SonKeyt    GiveMoneytDef_GiveMoney_UseItemtChItemtSendUseItemGetItemResult(&t    curPlayert curRoleItemtticktuseCnttexDatat chestsItemIDt chestsIpyDatatshowTypetisBindt
costItemIDtcostItemCountTotalt costGoldTotaltauctionItemCanSelltaucionItemDiffSellIDListtcostItemIndexListtbindCntt    unBindCntt    awardInfot needSpaceDicttjobAwardItemListt    moneyTypet
moneyCounttnotifyItemListt updOpenCounttpackTypet    needSpacet    packSpacetinfoDictt saveDataDictt syncItemListtitemIDt    itemCounttcanSellt isAuctionItemRt giveOKCounttuserDatat addDataDict((sU.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\Item_Chests.pyt BatchUseItem#s‚                    " $     # 2! ic
Cst||ƒ}|sdSi}|jƒ}|jƒ}|jƒrœt|tƒrbi||6}n3t|tƒrz|}ntjd||fƒdStj    d|ƒd}    xÀ|jƒj
ƒD]¬\}
} t |||
|ƒ} | sêdS|
|kr|j |
ƒ} n!| |kr¿|j | ƒ} nq¿|    | 7}    tj    d|
| | fƒt || | | ƒ|s¿Pq¿q¿W|    |krœtjd||    |fƒdSn|jƒrâx7|jƒj
ƒD] \}} t ||| |ƒq»Wn|jƒr(|jƒr(t|||||jƒ|jƒƒs(dSnd}|}|jƒ}|rtt|ƒ}|jtj|ƒ}||krtt|||ƒ}xç|j
ƒD]Ö\}}||ko·|knsÜtj    d|||fƒq”n|d8}tj|ƒ}tj    d    |||fƒ|sq”nt|ƒd
krBtjd |ƒdS|\}} |sZq”nt ||| ƒq”Wqtn||kr”tj    d |ƒn|jƒrà|jƒrà|ràt|||||jƒ|jƒƒsàdSn|jƒsø|jƒrt|||||ƒsdSn|jƒ}i}g}g}x#|j
ƒD]\}} | sZqBnt ||||ƒ} | sydStj ƒj!| ƒ}|s²tjd ||| fƒdStj"|ƒ}t#j$||| ƒ}|j%|dƒ|||<t&j'|ƒr|j(| dgg| ƒn|j)| | gƒ||ksG| |krB|j)| ƒqBqBW|||j*ƒ|j+ƒ|||fS(s‚»ñÈ¡±¦Ï俪Æô½±Àø
    @return: None - »ñÈ¡±¦Ïä½±ÀøÊ§°Ü
    @return: needSpaceDict, jobAwardItemList [[itemID, itemCount], ...]
    Ns<Ñ¡ÔñµÄÎïÆ·´íÎó, ÐèÒªÖ¸¶¨Ñ¡ÔñÎïÆ·ID!chestsItemID=%s,exData=%ss    ×ÔÑ¡ÏîÐÅÏ¢: %sis8    ¿ÉÑ¡×ÔÑ¡Ïî: cfgItemID=%s,jobItemID=%s,selectCount=%ss8Ñ¡ÔñµÄÎïÆ·´íÎó!chestsItemID=%s,selectCountTotal=%s != %ssG    ²»Âú×ãÌØÊâ´ÎÊý²ú³ö: hisOpenCount=%s,specUseCount=%s,updOpenCount=%sisF    ¸ù¾Ý¿ªÆô´ÎÊýÌØÊâ²ú³ö: specUseCount=%s, %s, randItemList2DoCount=%sis2±¦Ï俪Æô´ÎÊýÌØÊâ²ú³öËæ»ú¿âÅäÖôíÎó!chestsItemID=%ss    Ëæ»úÎïÆ·¿â2Ö´ÐдÎÊý: %ss:±¦Ïä½±ÀøÎïÆ·²»´æÔÚ! chestsItemID=%s,itemID=%s,jobItemID=%s(,t__GetChestsAwardIpyDataByLVtGetJobtGetJobItemListtGetSelectItemDictt
isinstanceRtdictRR1RR t__GetChestsJobItemtpopt__AddAwardItemtGetFixedItemDicttGetRandItemList1tGetRandTimeList1t__AddChestsRandAwardItemtGetRandItemByUseCounttmaxtNomalDictGetPropertyR$R)RtGetResultByRandomListtlentGetRandItemList2tGetRandTimeList2tGetPieRateDroptGetIndepRateDropt__AddChestsEquipItemtGetNeedNotifyItemListt GetGameDatatGetItemByTypeIDtGetItemPackTypeR-tGetItemNeedPackCounttgetRt
GetIsEquiptextendtappendt GetMoneyTypet GetMoneyCount(R:R?tuseCountR>t awardIpyDatat awardItemDicttjobt jobItemListt
selectDicttselectCountTotalt    cfgItemIDRYt    jobItemIDt selectCountRXRQtrandItemList2DoCounttrandItemByUseCountDictt maxOpenCountt hisOpenCountt specUseCountt randItemListt randItemInfotneedNotifyItemListRLRPRMtitemDataRRRS((sU.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\Item_Chests.pyR€s¾         
  '       
      ' cCs<t|ƒdkr0t|dƒtkr0|dS|ddS(Niiiÿÿÿÿ(RqttypeR(t randTimeList((sU.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\Item_Chests.pyt__GetMaxRandTimeþs(cCstg}x^t|ƒD]P\}}t|ƒttgksIt|ƒdkrdtjd||fƒtS|\}    }
|
r
|
dr
|
d} tjƒj    | ƒ} | sÀtjd|| fƒtS| j
ƒt j kr
t j|| ƒstjd|| fƒqqq
n|dkr|    n|    ||dd} |s>dn |dd}|j|| |
gƒqWxt|ƒD]ø}t|ƒdkr¯t|dƒtkr¯|d}ntj|ƒ}|dkrßtjd|ƒtS|sëqtnx~t|ƒD]p}tj|ƒ}|sqønt|ƒdkr@tjd    |ƒtS|\} }| sXqønt|| |ƒqøWqtWtS(
Nis:±¦ÏäËæ»úÎïÆ·¿â±ýͼ¸ñʽ´íÎó!chestsItemID=%s,randItemList=%sis-±¦Ïä½±ÀøÎïÆ·²»´æÔÚ! chestsItemID=%s,itemID=%ss/´Ë·ûӡδ½âËøÎÞ·¨¿ª³ö! chestsItemID=%s,itemID=%siiÿÿÿÿs$±¦ÏäËæ»ú´ÎÊýÅäÖôíÎó!chestsItemID=%ss"±¦ÏäËæ»ú¿âÅäÖôíÎó!chestsItemID=%s(t    enumerateR•tlistttupleRqRR1R0RxRytGetTypeR$tDef_ItemType_Runet
PlayerRunetGetIsOpenByRuneIDRRtxrangeRRptNoneRhR+(R:R?R‚R„R‘R–tresetRandItemListtit rateItemInfotratetitemInfoRXR”tcurRatetpreRatet_t    randTimesR’RY((sU.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\Item_Chests.pyRlsP* 
 ((   c Csg}|jƒr!|jƒgntjddƒ}|jƒ|}|jƒ}x9t|ƒD]+}    tj|ƒ}
|
r\|j    |
ƒq\q\Wtj
d||fƒt j } |j ƒ} xÀt|ƒD]²}    x©| jƒD]›\}
} | }|| }|| }tj
d|
| ||fƒ|}tj|d| ƒrB|d7}n|sNq×nx!t|ƒD]}    |j    |
ƒq[Wq×WqÄWtj
d|ƒ|jƒ}|jƒ}xi|D]a\}}d}||krê||}tj|d| ƒ}n||f}||kr"tjd|||fƒqªn||}|}t j|ƒ}|sdtjd    ||fƒqªn|dkr“tj|ƒ}tj
d
|ƒnt j||||||d d ƒ}|sÃqªntj|ƒ}t||dƒtj
d ||||||||fƒqªWtS(NtOpenJobis%±ýͼװ±¸µôÂä½á¹û: pieRateDoCnt=%s, %ss4    dropInfo=%s,rate=%s,mustDropCount=%s,dropRate=%stmaxRates ×°±¸¿â²ú³ö: dropEquipInfoList=%sisAδÅäÖÃÑÕÉ«Ì××°¶ÔÓ¦²¿Î»¼¯ºÏkey! chestsItemID=%s,color=%s,isSuit=%ss-²¿Î»¼¯ºÏkey²»´æÔÚ!chestsItemID=%s,placeKey=%ss8    Î´Ö¸¶¨×°±¸½×£¬Ä¬ÈÏÈ¡Íæ¼Òµ±Ç°½âËøµÄ×î´ó½×: classLV=%stfindTypet
ChestsItemsk¿ª³ö×°±¸: chestsItemID=%s,itemID=%s,classLV=%s,color=%s,isSuit=%s,placeKey=%s,jobList=%s,randEquipIDList=%s(tGetIsDropJobSelfRaR tGetFuncEvalCfgtGetPieRateDoCntRtRŸRRpRRt    NPCCommontDef_NPCMaxDropRateRut    iteritemst    CanHappentGetEquipColorSuitInfotGetEquipPartKeyRateInfoR1tGetEquipPlaceByPlaceKeytChEquiptGetPlayerMaxEquipClassLVt__GetEquipIDListtrandomtchoiceRhR+(R:R?R‚R„RƒtdropEquipInfoListt itemJobListt pieRateDoCnttpieRateDropListR¨tdropInfoR²t indepRateDictR¤tdropRatet mustDropCountt curDropCounttcolorSuitRateDicttcolorSuitPlaceKeyInfoDicttclassLVtcolortisSuittsuitRatet colorSuitKeytplaceKeytjobListt    placeListtrandEquipIDListt
randItemID((sU.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\Item_Chests.pyRv;sj-      
 
 
 
 $    $cCsœx•|D]}t|ƒttgkr@tjd||fƒdS||kr|dksj|t|ƒkrˆtjd|||fƒdS||dSqW|S(Ns5±¦ÏäÖ°ÒµÎïÆ·×é¸ñʽ´íÎó!chestsItemID=%s,jobItemList=%sisJ±¦ÏäÖ°ÒµÎïÆ·ÅäÖôíÎó,ûÓиÃÖ°Òµ¶ÔÓ¦ÎïÆ·ID!chestsItemID=%s,job=%s,itemID=%si(R•R™RšRR1Rq(R?R…RXR†t jobItemIDList((sU.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\Item_Chests.pyRf~s  cCs|j|dƒ|||<dS(Ni(R|(R„RXRY((sU.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\Item_Chests.pyRh‹sc Cstjd|ƒ}|sdSt|ƒdkr6|dSg}x0|D](}|j|jƒ|jƒ|gƒqCW|jƒ|jƒ}|jƒ}|dd|dd}}||krát    j
d|||f|j ƒƒdS||krt    j
d|||f|j ƒƒdSxqt |ddƒD]\\}    }
|
\} } }| rh|| kr„||    ddSq(|| kr(||    ddSq(W|dS(Nt ChestsAwardiis:µ±Ç°µÈ¼¶ÎÞ·¨¿ªÆô¸Ã±¦Ïä!curLV=%s < minLV=%s,chestsItemID=%ssDµ±Ç°¾³½çÎÞ·¨¿ªÆô¸Ã±¦Ïä!curRealmLV=%s < minRealmLV=%s,chestsItemID=%siÿÿÿÿ( R tGetIpyGameDataListRqRt
GetRealmLVt
GetAwardLVtsorttGetLVtGetOfficialRankRR1R2R˜( R:R?tawardIpyDataListt lvIpyDataListtipyDatatcurLVt
curRealmLVt
minRealmLVtminLVR¢t    lvIpyInfotrealmLVtawardLV((sU.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\Item_Chests.pyR`s4 &
   # #   (RRRR RR-RR±R$R¸R8R»tmathR_RR—RlRvRfRhR`(((sU.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\Item_Chests.pyt<module>s(                 ] ~        8    C