hxp
2025-12-12 9686b06e1a3c883f14ecb4e5dd44a4e4c8456ed3
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
÷p;ic@sxddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZeddVƒ\ZZZd„Zd„Zedd„Zd„Zd    „Z d
„Z!d „Z"d „Z#de$dddd „Z&d„Z'ddd„Z(dd„Z)d„Z*d„Z+d„Z,d„Z-d„Z.d„Z/ed„Z0dd„Z1e$d„Z2d„Z3d„Z4d„Z5d„Z6dd„Z7d„Z8d „Z9d!„Z:d"„Z;d#„Z<d$„Z=d%„Z>d&„Z?d'„Z@d(„ZAdddd)„ZBid*„ZCid+„ZDd,„ZEd-„ZFd.„ZGd/„ZHd0„ZIed1„ZJed2„ZKed3„ZLdejMd4„ZNiejMd5„ZOd6ied7„ZPed8„ZQd9„ZRd:„ZSd;„ZTd<id=„ZUd>„ZVd?„ZWd6d@„ZXdA„ZYdB„ZZdC„Z[dD„Z\dE„Z]dF„Z^dG„Z_dH„Z`dI„Zaed6ie$dJ„Zbd6ie$dK„Zcd6dL„ZddM„ZedN„ZfdO„ZgdP„ZhdQ„ZidR„ZjdS„ZkdT„ZldU„ZmdS(WiÿÿÿÿNiiic Cs`tjr dStjdƒgt_gt_gt_it_tjƒ}x’t    d|j
ƒƒD]{}|j |ƒ}|j ƒ}t |ƒr tjj|ƒn|jdƒ}|jƒ}|tjkrþ|jdƒ}|jdƒ}|tj||f<nt|tjkr tjj|ƒnR|tjkrr|jdƒ}|jdƒ}    |dkrr|    rr|tj|    <qrnt|ƒr`xZt|jƒƒD]C}
|j|
ƒ} | s²q‘n| tjkr‘tjj| ƒq‘q‘Wq`q`Wtjrÿtjdtjƒntjrtjdtjƒntjr?tjdtjƒntjdtjƒtt_dS(Ns¼ÓÔØÎïÆ·Êý¾Ý...iis"ÿÈÕÓÐʹÓôÎÊýÏÞÖÆµÄÎïÆ·IDÁбí: %ss×°±¸¼¼ÄÜIDÁбí: %ss"×Ô¶¯×ª»¯ÎªÎïÆ·¸öÊýµÄÎïÆ·IDÁбí: %ss»õ±ÒÀàÐÍ1¸öÊýÁ¿¶ÔÓ¦ÎïÆ·ID: %s(t
PyGameDatat
InitPyItemt    GameWorldtLogtEquipItemSkillIDListtDailyUseCountLimitItemIDListtAutoTransformCountItemIDListtMoneyItemIDDictt GetGameDatatranget GetItemCountt    GetItemAtt GetItemTypeIDtGetCanUseCountDailytappendtGetEffectByIndext GetEffectIDtChConfigtDef_Effect_EquipStonetGetEffectValuetg_stoneLevelIDDicttDef_Effect_ItemCounttDef_Effect_ItemGiveMoneyt
GetIsEquiptxrangetGetAddSkillCountt GetAddSkilltTrue( tgameDatatit findItemDatatitemIDtitemEfftcurEffIDt stoneEffTypet
stoneLevelt
moneyValuet    moneyTypet
skillIndext itemSkillID((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyR5sT                                          cCs/|tjkr$tjd|ƒdStj|S(Ns(ûÓиûõ±ÒÀàÐͶÔÓ¦µÄÎïÆ·ID! moneyType=%si(RRRtErrLog(R%((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetMoneyItemIDisc     Cs¾t||ƒ}|stSt}xpt|ƒD]b}xY|D]Q}tj|ƒ}    tj|||ƒ}
tj||    |||
|ƒr9t    }q9q9Wq,W|rº|rºt
j
|ƒ} | j ƒnt    S(N( t__GetAddSkillListtFalseRt SkillCommont GetBuffTypet
SkillShelltGetAddBuffValuet    BuffSkilltAddBuffNoRefreshStateRt PlayerControltRefreshPlayerAttrByBuff( t    curPlayertcurItemttickt
needResulttuseCntt addSkillListt refreshResultt_taddSkilltbuffTypetaddBuffValueListt playerControl((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytItemUseSkillAddBuffws   c    Cság}tjƒ}|jƒ}x¼td|jƒƒD]¥}|j|ƒ}|sUq4n|j|ƒ}|s…tjd||fƒgStj    |ƒ}tj
|||j ƒ|j ƒƒsÌt j|dƒgS|j|ƒq4W|S(Nis+###²ß»®Ìî±íÒì³££¬ÎïÆ· = %s´¥·¢¼¼ÄÜʧ°Ü = %stXW_ZZ_ResInvalidation(RRR R    RRtGetSkillBySkillIDRR,R-tCheckCanAddBufftGetSkillTypeIDt
GetSkillLVR2t
NotifyCodeR(    R4R5R9Rt    curItemIDRt
curSkillIDtcurSkillR=((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyR*–s"  $cCs¡g}xBt|jtjƒƒD](}|jtj|ƒ}|j|ƒqW|sxIt|jƒƒD]2}|j|ƒ}|dkr‰Pn|j|ƒqdWn|S(Ni(RtGetUserAttrCountt ShareDefinetDef_IudetAddSkillIDtGetUserAttrByIndexRRR(R5taddSkillIDListRtskillID((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItemSkillIDList²s cCs#|jƒ}d|ddg}|S(Ns%st0(R (R5t
itemTypeIDtmsgList((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt GetItemXMLMsgÄs Ac
Csœtjƒjtjƒ}|jƒ}xqtjD]f}|j|ƒ}xNt    d|j
ƒƒD]7}|j |ƒ}t |ƒs€qYn|j ƒ}|tjtjgkrªqYn|tjkrë|jƒdkr|j|jƒdƒqYqn*|tjkr||jƒkrqYqn|jƒ}|tjkrItj|d|gƒni|d6|jƒd6|jƒd6|jƒd6}    tj|d|    ƒqYWq.WdS(    NiitPK_hwj35_82012tItemIDt
CreateTimetIsBindtItemGUIDtTime(Rt GetGameWorldtGetGameWorldDictByKeyRKtDef_Notify_WorldKey_ServerDaytGetItemManagerRtDef_RealityTimeItem_PacktGetPackR    tGetCounttGetAttCheckItemCanUsetGetEndureReduceTypetDef_EquipReduceType_DaytDef_EquipReduceType_ServerDayt GetRemainHourt SetRemainHourt GetExpireTimeR t IPY_GameWorldt
rptRecycleR2RFt GetCreateTimet    GetIsBindtGetGUIDtDataRecordPackt DR_DeleteItem(
R4t    serverDayt itemManagert    packIndextcurPackRR5t
reduceTypeRGtdataDict((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytClearDayTimeItems6            
  cCsHttj|dƒƒjdƒdd}tjd|ƒtj|ƒS(Nis is     23:59:59s ÎïÆ·¹ýÆÚʱ¼ä(tstrRtGetDatetimeByDiffDaystsplittDebugLogtChangeTimeStrToNum(tdaysttimeStr((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt__GetEndDayTimeNum>s*c    Cs|dkr'tjd||fƒdStjƒj|ƒ}|sFdS|jƒtjksp|jƒtjkr’|j    t
j t t j ƒƒƒn|jƒtjkr½|j    t
j dƒn|jƒtjkrè|j|jƒƒn|jƒtjkre|jƒ}tjƒjt
jƒ}||krU|jƒtjd|||fƒdS|j|ƒntj||ƒ|dkr—|j    t
j|ƒn|jƒtjkr¼tj|ƒn;t|ƒr÷t|||ƒ}|dkr÷|jƒdSnt ||ƒ|S(su ´´½¨ÎïÆ·
    @param isAuctionItem: ÊÇ·ñÅÄÆ·£¬Ä¬ÈÏ·ÇÅÄÆ·
    @param expireTime: ÓÐЧʱ¼ä£¬Ê±¼äµ¥Î»ÓÉʱЧÀàÐ;ö¶¨
    is-´´½¨ÎïÆ·¸öÊý²»ÄÜÉÙÓÚ1! itemID=%s,itemCount=%sNisOÎïÆ·ÓÐЧÆÚ³¬¹ýÓÐЧµÄ¿ª·þÌì, ²»¿É´´½¨!itemID=%s,serverDay=%s,outTimeServerDay=%s(!RR(tGetItemFactoryt
CreateItemRdRtDef_EquipReduceType_RTimeItemtGetTypetDef_ItemType_CanUseByCDTimet SetUserAttrRKtDef_IudetCreateTimetintttimetDef_EquipReduceType_TimeReRhRiRfR[R\R]tCleart ItemControlert SetItemCounttDef_IudetExpireTimetDef_ItemType_Herot
PlayerHerot InitHeroItemRtGetCreateEquipAttrtNonetAddCreateItemAttr(    Rt    itemCountt isAuctionItemt
expireTimeR4t setAttrDictt curSingleItemtoutTimeServerDayRq((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytCreateSingleItemCsD "  
       
 cCsN|s
dSx=|jƒD]/\}}tj||ƒ}t|tƒr&|ddkrÂd}t|tƒrr|}n=t|tƒst|tƒr¯|r¯tj|ddƒ}n|j||ƒqFt|tƒsàt|tƒrF|j|ƒx3|D](}tj|dƒ}|j    ||ƒqôWqFqtj
d|||j ƒfƒqWdS(Niis8###AddCreateItemAttr unknown key:%s, value:%s, itemID=%s( titemsRtToIntDeft
isinstanceR‡tlistttupleR…t ClearUserAttrt AddUserAttrRR (R5R—tkeytvaluetv((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyR“„s&    $  $cCs\|dkri}ni}|s'dn    |jƒ}|jƒ}|jtjƒ}|dkr<tjd|ƒ}|sydS|jƒr›d|t    tj
ƒ<n|j ƒ|t    tj ƒ<|j ƒ|t    tjƒ<|jƒ|t    tjƒ<|jƒ|t    tjƒ<|jƒ|t    tjƒ<tjd||||f|ƒ|St|ƒrXt|||ƒS|S(s,»ñÈ¡Éú³É×°±¸ËùÓÐÊôÐÔ
    @param curPlayer: ¿ÉÄÜΪNone
    @param setAttrDict: Ö±½ÓÉèÖÃÎïÆ·µÄÊôÐÔ {key:value, ...} keyÖ§³Ö  ShareDefine.Def_IudetXXX×Ö·û´® »ò ×Ô¶¨key
    @return: None - Òì³£Çé¿ö£¬ÎïÆ·ÊµÀýÐèÒªclear
            equipAttrDict - Éú³ÉºóµÄ×îÐÂÊôÐÔk:v×ֵ䣬¿ÉÖ±½ÓÓÃÓÚ SetCreateEquipAttr
    it AppointItemNisH    ×°±¸¶¨ÖÆÊôÐÔ: itemID=%s,appointID=%s,equipAttrDict=%s,setAttrDict=%s(R’t GetPlayerIDR tgetRKtDef_CItemKey_AppointIDt IpyGameDataPYtGetIpyGameDatatGetCancelUseLimitRxtDef_IudetCancelUseLimitt    GetItemLVtDef_IudetItemLVt GetBaseAttrIDtDef_IudetBaseAttrIDtGetBaseAttrValuetDef_IudetBaseAttrValuetGetLegendAttrIDtDef_IudetLegendAttrIDtGetLegendAttrValuetDef_IudetLegendAttrValueRR{tGetIsMainEquiptGetCreateMainEquipAttr(R5R4R—t equipAttrDicttplayerIDRt    appointIDtipyData((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyR‘¢s,          c#Csi}|jƒ}|jƒ}|jƒ}|s4|Stjd|ƒ}tjd|ƒ}| sf| rj|S|jƒ}    |jƒ}
tj} |j    t
t j ƒdƒ} | sötj ddƒ\} }tt|    | dƒ|    |ƒ}tj|ƒ} n| |t
t j ƒ<tjd|| ||f|
ƒ|j    t
t jƒƒ}|j    t
t jƒƒ}|dkr²|dkr²t|ƒt|ƒkr²||t
t jƒ<||t
t jƒ<nó|jƒ}tj|jƒgtj|jƒgtj|jƒgg}gg}}xR|D]J\}}ttj ddƒƒ}|s>qn|j!|ƒ|j!|ƒqW|r‹||t
t jƒ<||t
t jƒ<ntjd    ||f|
ƒ|j    t
t j"ƒƒ}|j    t
t j#ƒƒ}|dkr.|dkr.t|ƒt|ƒkr.||t
t j"ƒ<||t
t j#ƒ<n·g}g}|j$ƒ}|j%ƒ}|j&ƒ}tjd
|||f|
ƒxt'|dƒD] \}}t(|d |ƒs°q‹nt)|d |ƒƒ}|sÒq‹ntj*|ƒ|| }x¬|D]¤}||krqðn|j    ||ƒ} |  sðt| ƒd kr9qðn| \}!}"tj+|!|"ƒ}|j!|ƒ|j!|ƒtjd ||||!|"f|
ƒqðWq‹W|rË||t
t j"ƒ<||t
t j#ƒ<ntjd||f|
ƒtjd||f|
ƒ|S(Nt
EquipColort
EquipPlaceit MainEquipDropiis<Éú³ÉÖ÷Ïß×°±¸: itemID=%s,itemLV=%s,itemColor=%s,equipPlace=%sis*    baseAttrIDList=%s,baseAttrValueList=%ss&    libCntList=%s,attrRangeDict=%s, %ss GetAttrLib%sis/        libNum=%s,attrID=%s,attrValue=%s(%s~%s)s.    legendAttrIDList=%s,legendAttrValueList=%ss1    ×°±¸×îÖÕÊôÐÔ: equipAttrDict=%s,setAttrDict=%s(,R t GetItemColort GetEquipPlaceR©RªtGetLVR¦trandomtuniformR§RxRKR®tGetFuncEvalCfgR    tmaxtchoiceRR{R°R²R’tlentGetBaseAttrProportionRt
AttrID_Atkt
GetAtkStept
AttrID_Deft
GetDefStept AttrID_MaxHPt    GetHPSteptevaltGetFuncCompileCfgRR´R¶t GetAttrRangetGetAttrRangeDicttGetAttrLibCntListt    enumeratethasattrtgetattrtshuffletrandint(#R5R4R—R¹Rt    itemColort
equipPlacet colorIpyDatat placeIpyDatatplayerLVRºt    randfloattitemLVtlowLVthighLVt
randLVListtbaseAttrIDListtbaseAttrValueListtattrProportiont attrInfoListtattrIDtattrStept    attrValuetlegendAttrIDListtlegendAttrValueListtattrRangeDefaultt attrRangeDictt
libCntListtnumtattrCntt libAttrListt randAttrListt    attrRangetattrMintattrMax((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyR¸Ås˜           0   0    
     +cCs`t|tƒrt|ƒ}nt|tƒr0ndS|jddƒ}|j|t|ƒƒdS(Ns t(RtdictRxtreplacet SetUserDataRÈ(R5tdataInfotUserData((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytSetItemUserData)scCsdS(N((R5((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt MakeEquipGS4scCst|ƒstStj||tƒs)tSxOt|jƒƒD];}|j|ƒjƒ}|dkrgtS||kr<tSq<WtS(Ni(    RcR+R‹tCheckItemUseLVR    tGetEffectCountRRR(R4R5t
effectListRteffectID((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytCheckItemByEffectID>s   cCsj|jƒjtjƒ}xKt|jƒƒD]7}|j|ƒ}t|||gƒs[q+n||fSWdS(N(R^R`RjtrptItemR    RaRbR(R4RtbackPackRR5((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytFindItemInPackByEffectRs cCsd|jƒjtjƒ}xEt|jƒƒD]1}|j|ƒ}t|||gƒs[q+n|SWdS(N(R^R`RjRR    RaRbR(R4RRRR5((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytFindItemInPackByEffectExascCsp|jƒj|ƒ}xTt|jƒƒD]@}|j|ƒ}t|ƒsOq(n|jƒ|krgq(n|SWdS(N(R^R`R    RaRbRcR (R4t
findItemIDRsRRR5((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytFindItemInPackByItemIDvs c CsUt|tƒrHg}x6|jƒD]\}}|j||gƒq"Wn|}i}x¢|D]š}|d \}}t|ƒdkr|dnd}tjƒj|ƒ}    |    s´q[ntj    |    ƒ}
t
j |
|    ||ƒ} |j |
dƒ| ||
<q[WxU|jƒD]G\}
} | t ||
| ƒkr|rItj|d|
gƒntSqWtS(NiitGeRen_chenxin_676165(RRøR›RRÈRRtGetItemByTypeIDRtGetItemPackTypeR‹tGetItemNeedPackCountR§tGetItemPackSpaceR2RFR+R( R4titemInfotisNotifytitemListRR”tneedPackSpaceDicttitemR•titemDatatpackTypet    needSpace((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytCheckPackEnough‡s* "cCsd}|tjkr„xhtt|ƒƒD]T}|jtj||fƒ}|rVq(n|d7}|dkr(||kr(Pq(q(W|S|jƒj|ƒ}xdt    d|j
ƒƒD]M}|j |ƒ}|j ƒsÖq¯n|d7}|dkr¯||kr¯Pq¯q¯W|S(Nii( RKtDef_VPack_TypeListRt GetVPackCnttNomalDictGetPropertyRtDef_PDict_VPackItemR^R`R    RaRbtIsEmpty(R4t    packindextgetCountt    itemSpaceRt itemKeyDataRtR5((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyR¬s&
 
cCsÍ|tjkrVx@tt|ƒƒD],}|jtj||fƒ}|s"tSq"WtS|j    ƒj
|ƒ}x<t d|j ƒƒD]%}|j |ƒ}|jƒrtSqW|rÉtj|d|gƒntS(NiR
(RKRRRRRRRR+R^R`R    RaRbRR2RF(R4RRRR RtR5((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytCheckPackHasSpaceÎs cCs®|tjkrVx@tt|ƒƒD],}|jtj||fƒ}|r"tSq"WtS|j    ƒj
|ƒ}x<t d|j ƒƒD]%}|j |ƒ}|jƒstSqWtS(Ni(RKRRRRRRR+RR^R`R    RaRbR(R4RRR RtR5((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytCheckPackIsEmptyés cCs®|tjkrVx@tt|ƒƒD],}|jtj||fƒ}|s"|Sq"WdS|jƒj|ƒ}x<t    d|j
ƒƒD]%}|j |ƒ}|j ƒr|SqWdS(Niÿÿÿÿi( RKRRRRRRR^R`R    RaRbR(R4RRR RtR5((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetEmptyIndexInPacks cCs d}|tjkr*tjddƒ}n|tjkrNtjddƒ}nl|tjkrrtjddƒ}nH|tjkr–tjddƒ}n$|tjkrºtjddƒ}n|sðtj    ddiƒ}|j
t |ƒdƒ}nt j d    ||fƒ|S(
NitInitBagCellCountitInitDepotCellCountt TreasureSetitDogzPackis,±³°üÀàÐͳõʼ¸ñ×ÓÊý: packType=%s,initCount=%s(RjRR©t
GetFuncCfgt rptWarehouseRKt rptTreasuret rptDogzItemt rptDogzEquipRÅR§RxRR{(Rt    initCounttbagInitCntDict((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetPackInitCounts cCs¦tjddiƒ}t|ƒ|kr+dS|t|ƒ}|sEdS|jtj|ƒ}t|| ƒ}|t|ƒkr¢|t|ƒ|d}||7}n|S(NtOpenPackiiiÿÿÿÿ(R©RÅRxRRtDef_Player_Dict_PackBuyCnttsumRÈ(R4Rt openCntDictt openCntListtbuyCnttopenCnttaddCnt((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetPackOpenItemCnt(s cCsÖtjddiƒ}|sdS|r4t|ƒgn    |jƒ}tjƒ}g|_xX|D]P}t|ƒ}tjƒ}||_    |j
t j |ƒ|_ |jj|ƒq\Wt|jƒ|_tj||ƒdS(NR0i(R©RÅRxtkeystChPyNetSendPackttagSCPackBuyInfot BuyInfoListR‡t tagSCPackBuytPackTypeRRR1tBuyCntRRÈtCountt NetPackCommont SendFakePack(R4RR3t syncTypeListt
clientPackt packTypeStrtbuy((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytSyncPackBuyCnt9s!            cCs-|tjkrdStj|}tj|ƒS(Ni(RtDef_VPackCnt_DictR©R((RtkeyStr((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyRPs cCs‹tjdƒ}||jƒkrCtj||j|ƒ|gƒntjdƒ}||kr‡tjd|||jƒ||gƒndS(Ntneed_eff_box_idtneed_wnotify_idi(t ReadChConfigtGetEvalChConfigR9R2RFR§t WorldNotifyt GetPlayerName(R4t    useItemIDt
itemIDDictt wNotifyIDDict((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytUseItemSpecialNotify[s" cCs0|jƒ}|stS|jƒ|kr,tStS(sRÅжÏÎïÆ·ÊÇ·ñְҵϵ¿ÉÓÃ
        ÎïÆ·±íÖÐÖ°ÒµÏÞÖÆ¹æÔò: 0ΪͨÓã»·Ç0°Ùλ´ú±íÖ°Òµ
    (t GetJobLimitRtGetJobR+(R4R5t itemJobLimit((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytCheckJobjs  cCs+| s|jƒrdS|jƒr'dStS(N(Rt GetIsLockedR(R5((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyRczs
 cCs/t|ƒ\}}|r+|dkr+tSntS(Ni(tGetItemRemainingTimeR+R(R5t isExpireItemR–((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytCheckItemCanUseByExpireTime…s
 cCsÊt}|jƒ}d}|tjtjgkrÀt}|jtjƒ}|s]|j    ƒ}n|jtj
ƒ}|dkr„|}n2t dt t j ƒƒ|ƒ}t d||ƒ}||fS||fS(s? »ñÈ¡ÎïÆ·Ê£Óàʱ¼ä£¬Ãë
    @return: ÊÇ·ñʱЧÎïÆ·, Ê£Óàʱ¼ä 
    i(R+RdRR‰R‚Rt GetUserAttrRKRRiR†RÆR‡Rˆ(R5RZRut remainingTimetcurItemExpireTimet    startTimetcurItemPastTime((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyRYžs      
cCstS(N(R+(R5((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt CheckHasStone¼scCs?|jƒj|ƒ}|j|ƒ}| s7|jƒr;tStS(N(R^R`RbRR+R(R4Rst
equipIndext roleEquipPacktcurEquip((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt CheckHasEquipÑs
cCsIxBt|jƒƒD].}|j|ƒ}|jƒ|kr@qn|SWdS(N(R    RRR(R5RRteffect((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItemEffectByEffectIDás cCs)t|tjƒ}|sdS|jdƒS(Niÿÿÿÿi(RgRtDef_Item_Eff_UseClassLVR(R5Rf((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItemUseClassLVðscCs¥i|jƒd6|d6|jƒd6|jƒd6}|d    krM||d<n|d    krf||d<n|jƒr¡|jƒdkr¡|ji|jƒd6ƒn|S(
s, ÎïÆ·ÐÅÏ¢¼Ç¼ 
    @param curItem: ÎïÆ·
    RVt    ItemCountRXRYt BeforeCountt
AfterCounts{}RüN(R RmRnR’t GetUserDatatupdate(R5t
writeCountt beforeCountt
afterCountRv((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItemNoteDict÷s    cCsÌ||d<|tjkrA|}|tjkrptj|}qpn/tj}| rp|tjkrptj|}n|sd}n|ržtj||||ƒn|tjtj    gksÈ|tj
krÈndS(NR>tUnknown( RtItemGiveTypeListtItemGiveTypeDicttItemGive_UnknownRotDR_SetPlayerItemRjRRKR*R(R4Rt    eventNamet itemNoteDicttnoteDictt operateType((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt
DR_GetItem
s
        'cCsŽ||d<|tjkrA|}|tjkrJtj|}qJn    tj}tj||||ƒ|tjtj    gksŠ|tj
krŠndS(NR>( RtItemDelTypeListtItemDelTypeDicttItemDel_UnknownRoRpRjRRKR*R(R4RRxRyRzR{((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt
DR_DelItem$s
    'cCs-t|ƒstS|jƒtjkr)tStS(N(RcR+RƒRtDef_EquipItemTypeR(R5((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytCheckItemIsEquip<s
 
cCstS(N(R+(R5((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytCheckNoteEquipGSMsc
Cst}g}t}xÝt|jƒƒD]É}|j|ƒ}t|ƒsLq%n| re|jƒreq%n|jdƒjƒ|kr†q%n| r¢|jƒr¢t}n|jƒ}    ||    krÔ||    8}|j    |ƒq%d}t}|j    |ƒPq%W||||fS(Ni(
R+R    RaRbRcRmRRRR(
t findEffectIDt curItemPackt    needCounttisBindt    hasEnought itemIndexListtfindItemIsBindRtfindItemR”((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItem_FromPack_ByEff_ExXs,       
 c    CsÔt}g}x»t|jƒƒD]§}|j|ƒ}t|ƒsFqn| r_|jƒr_qn|jdƒjƒ|kr€qn|jƒ}||kr²||8}|j|ƒqt    }|j|ƒPqW||fS(Ni(
R+R    RaRbRcRmRRRR(    R„R…R†R‡RˆR‰RR5R”((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItem_FromPack_ByEff„s$   
 c
Csìt}g}xÓt|jƒƒD]¿}|j|ƒ}t|ƒsFqn|jƒ|kr^qn| rw|jƒrwqn|jdƒjƒ|kr˜qn|jƒ}    ||    krÊ||    8}|j    |ƒqt
}|j    |ƒPqW||fS(Ni( R+R    RaRbRcR RmRRRR(
RR„R…R†R‡RˆR‰RR5R”((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItemFromPack_ByIDAndEff«s(   
 c    Csåt}g}xÌt|jƒƒD]¸}|j|ƒ}t|ƒsFqn|jƒ|kr^qn|jƒr|tkr‘qq‘n|tkr‘qn|jƒ}||krÃ||8}|j    |ƒqt
}|j    |ƒPqW||fS(N( R+R    RaRbRcR RmtUseStuffMode_NoBindtUseStuffMode_BindRR(    RtitemPacktneedCntt useItemModeRˆR‰RR5R”((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItem_FromPack_ByIDÕs*          
 c
Cs
t}g}t}xèt|jƒƒD]Ô}|j|ƒ}t|ƒsLq%n|jƒ|krdq%n|jƒr…|tkr—q%q—n|tkr—q%n| r³|jƒr³t    }n|jƒ}    ||    krå||    8}|j
|ƒq%t    }|j
|ƒPq%W|||fS(N( R+R    RaRbRcR RmRRRR(
RR‘R’R“RˆR‰RŠRR5R”((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItem_FromPack_ByID_Exþs0              
 c
Cst}g}t}xît|jƒƒD]Ú}|j|ƒ}t|ƒsLq%n|jƒ|krdq%n|jƒr…|tkr—q%q—n|tkr—q%n| r³|jƒr³t    }n|jƒ}    ||    krå||    8}|j
|ƒq%d}t    }|j
|ƒPq%W||||fS(Ni( R+R    RaRbRcR RmRRRR(
RR‘R’R“RˆR‰RŠRR5R”((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItem_FromPack_ByID_ExEx,s2              
 c Csggg}d\}}|jƒj|ƒ}xÃtd|jƒƒD]¬}|j|ƒ}    t|    ƒsjqCn|    jƒ|kr‚qCn|    jƒ}
|    jƒrÔ|dj|ƒ||
7}|dkrï||krïPqïqC|dj|ƒ||
7}qCW|||fS(sÙ »ñÈ¡±³°üÏûºÄµÀ¾ß°ó¶¨¼°Î´°ó¶¨Ë÷ÒýÇé¿ö
    @param needCount: ËùÐè¸öÊý, Ä¬Èϰó¶¨ÓÅÏÈ£¬µ±ÕÒµ½ÒѾ­×ã¹»µÄ¸öÊýºó²»ÔÙ±éÀú£¬¼õÉÙÎÞÓñéÀú
    @return: ¿ÉÏûºÄÎïÆ·Áбí[[°ó¶¨ÎïÆ·Ë÷Òý], [²»°ó¶¨ÎïÆ·Ë÷Òý]], °ó¶¨¸öÊý, Î´°ó¶¨¸öÊý
    ii(ii(    R^R`R    RaRbRcR RmR( R4RR†RtconsumeItemIndexListtbindCntt    unBindCntRtRR5R”((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetPackItemBindStateIndexInfoUs$     
c CsŒ|jƒj|ƒ}|\}    }
||krLt|||    |t||ƒn<t|||    |t||ƒt|||
||t||ƒdS(N(R^R`t
ReduceItemRR+( R4tcostItemIndexListR˜R™tdelCnttdelEventt saveDataDictRRtt bindIndexListtunBindIndexList((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytDelCostItemByBindus   R÷cCskd}|}    |sd}nxI|D]A}
|j|
ƒ} | rS| jƒrSt}n| jƒ} | jƒ}|| krïtj| ƒr·t| | | dƒ} t|t    j
|| |ƒntj | d|j ƒ|j ƒ|jƒƒ|| 8}q"tj| ƒr3t| || | |ƒ} t|t    j
|| |ƒntj | | ||j ƒ|j ƒ|jƒƒPq"W|S(NiR›(RbRmRRaR R‹tItemNeedRecordRrR€RjRRŒR¦tGetAccIDRO(R4R…R‰t reduceCountt makeItemBindRxRŸt
needSysmsgRRt totalUseCntt    itemIndexR5R”Ry((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyR›‡s0              " cCs)i}i}i}t|tƒsEx'|D]\}}|||<q(Wn|}i}i}    i}
i} xät|jƒƒD]Ð} |j| ƒ} t| ƒsqvn| jƒ}||kr»qvn| jƒ}| jƒrö|
}|j|dƒ|||<n | }|    j|dƒ||    |<||kr/g||<n||}|j    | ƒqvWxÒ|j
ƒD]Ä\}}|j|dƒ|    j|dƒ}t d||ƒ}|r«|||<n|rW||}|ræ|
j|gƒ| j|gƒ}n"| j|gƒ|
j|gƒ}||g||<qWqWW||fS(sT»ñµÃÐèÒªÏûºÄµÄ²ÄÁÏÎïÆ·ÐÅÏ¢, ÓÅÏȿ۳ý°ó¶¨ÎïÆ·
    @param costItemInfo: ÐèÒªÎïÆ·ÊýÁ¿[(itemID,itemCnt), ...] »ò  {itemID:itemCnt, ...}
    @param itemPack: ±³°ü
    @param bindFirst: ÊÇ·ñ°ó¶¨ÓÅÏÈ, True-°ó¶¨ÓÅÏÈ£¬ False-·Ç°ó¶¨ÓÅÏÈ
    @return: È±ÉÙµÄÎïÆ·¸öÊýÐÅÏ¢×Öµä{itemID:ȱÉÙ¸öÊý}, ¿Û³ýÎïÆ·ÐÅÏ¢×Öµä{itemID:[ɾ³ýË÷ÒýÁбí, É¾³ý¸öÊý], ...}
    i( RRøRRaRbRcR RmR§RR›RÆ(t costItemInfoR‘t    bindFirstt lackItemDictt delInfoDictt costItemDictt
needItemIDt needItemCnttbindItemCntDicttnoBindItemCntDicttbindItemIndexDicttnoBindItemIndexDictRR5RGt curItemCountt    indexDictt    indexListt itemCntTotaltlackCntR((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetCostItemIndexList­sP       
" 
%"cCsŸd}x’|jƒD]„\}}|dkr1qntjƒj|ƒ}|sPdSt|jƒtjƒ}|dkr‰tjd|ƒdS|||7}qW|S(Nis"É̳DZíδÅäÖÃÎïÆ·×êʯÏûºÄ!itemID=%s(    R›RRR tGetShopItemPriceR RjtTYPE_Price_Gold_MoneyR((R¬t    totalGoldRR¹R5titemGold((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetAutoBuyItemNeedGoldís  cCs#t||ƒ}|sdS|jƒS(s »ñÈ¡É̳ÇÎïÆ·¶ÔÓ¦¼Û¸ñ i(tGetShopItemPriceIpyDatat GetMoneyNum(Rt    priceTypeR¼((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyR»scCsÔidddgtj6ddgtj6}d }||krŠxr||D]=}tjdi|d6|d6|d    6d
tƒ}|rFPqFqFWn&tjdi|d6|d    6d
tƒ}|sÐtjd ||fƒn|S( s »ñÈ¡É̳ÇÎïÆ·¶ÔÓ¦¼Û¸ñ iiiiitStoretShopTypeRVt    MoneyTypet    isLogNones8ÕÒ²»µ½¶ÔÓ¦»õ±ÒÀàÐÍÉ̵ê³öÊÛ¸ÃÎïÆ·! itemID=%s,priceType=%sN(    RjR¼tTYPE_Price_Gold_PaperR’R©tGetIpyGameDataByConditionR+RR((RRÂtpriceTypeShopTypeDictR¼tshopType((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyRÀ    s - &R›c        Csct}xV|jƒD]H\}}|s+qnt||||t||ƒ}|rUtn|}qW|S(N(R+tvaluesR›R(    R4R‘R­RžRŸtdelItemHasBindR·Rt hasBindItem((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt DelCostItemsc Csý|jƒj|ƒ}t}|dkr0t}nxÆtd|jƒƒD]¯}|j|ƒ}t|ƒsmqFn|jƒ}    |jƒ}
|    |kr—qFn|j    ƒ} |sµ||
krÅ|j
ƒqFnt j ||
||j ƒ|jƒ|jƒƒdSWdS(Ni(R^R`R+RR    RaRbRcR RmRŠR‹RŒR¦R¤RO( R4Rst    delItemIDt delItemCountt    missionIDR‘t
delAllItemtindexRRRR”tcurBind((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytDelMissionItem,s(          
" cCstS(N(R(R4R5tbindType((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytDoLogic_ItemBindTypeTsc
Csõ|jƒ}t|tƒrDt|ƒ|kr1dS|t|ƒ}n|}|sTdSt|ƒ}t|tj|ƒ}||kr•tj    |dƒdSx=|D]5}|d \}}    t
j |||    dtjgƒqœW|rñt
j |||ƒnt S(NtGeRen_chenxin_998371ii(RURRøRxRÈRRjRR2RFR‹tGivePlayerItemtNotifyGiveAwardInfoR(
R4t awardItemInfoRxtjobRRt    packSpaceRRR”((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt GiveAwardItemjs&    #c    CsË|jƒj|ƒ}|dks3||jƒkr7dS|j|ƒ}t|ƒsVdS|jƒj|ƒ}|dks‰||jƒkrdS|j|ƒ}|dks´|jƒr¸dSt||||ƒS(Ni(R^R`RaRbRcR’RXtDoLogicSwitchItem(    R4t srcBackpackt desBackPacktsrcIndext    destIndextsrcPacktsrcItemtdestPacktdestItem((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytDoLogicSwitchItemExŒs cCs2|jƒrt||||ƒSt||||ƒS(N(RtPutInt
SwitchItem(R4R5t
switchItemRs((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyRß§s cCsô|tjgkr(t||tjƒn|tjgkrPt||tjƒn|tjtjgkrãtj    |ƒr¤tj
|t |ƒt j d|jƒƒntj    |ƒrãtj
|t |ƒt j d|jƒƒqãn|j|ƒtS(Ns(SwitchItem ÅÄÆ·ÉèÖÃΪ·ÇÅÄÆ·!curItemID=%ss+SwitchItem ÅÄÆ·ÉèÖÃΪ·ÇÅÄÆ·!switchItemID=%s(RjtrptEquipR×RtDef_BindType_DoEquipBindt rptHorseEquipRR)R‹tGetIsAuctionItemtSetIsAuctionItemR+RR{R tSwitchR(R4R5RëtputInPackIndex((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyRê¶s cCs|jƒs&tjd|jƒƒdS|tjgkrNt||tjƒn|tj    gkrvt||tjƒn|tj
tj gkrÍt j |ƒrÍt j|t|ƒtjd|jƒƒqÍn|jƒtjkrò|j|ƒn%|jƒtjkr|j|ƒntS(NtputInErrs&PutIn ÅÄÆ·ÉèÖÃΪ·ÇÅÄÆ·!switchItemID=%s(RRR(tGetIDRjRìR×RRíRîRR)R‹RïRðR+R{R tGetGameWorldItemTypet gwitRoleItemRétgwitSingleItemt
AssignItemR(R4t    emptyItemRëRò((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyRéÒs  cCs|jƒtjkS(N(RƒRR(R5((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyRòscCs|jƒtjkS(N(RƒRtDef_MainEquipType(R5((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyR·õscCs|jƒtjkS(N(RƒRtDef_DogzEquiipType(R5((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetIsDogzEquipùsc    Cs’tjƒ}|j|ƒxrtd|jƒƒD][}|j|ƒ}|jdƒ}|jƒ}|jdƒ}||kr/||kr/|Sq/WdS(Ni(
RRtFilterItemByTypeR    tGetFilterItemCountt GetFilterItemRRRR’(    titemTypet itemEffectIDtfindEffectValueRRt curFindItemtcurFindItemEffecttcurFindItemEffectIDtcurFindItemEffectValue((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytFindItemFromDataByEffValues   c
Csåt}g}xÉt|jƒƒD]µ}|j|ƒ}t|ƒsFqn|jdƒ}|jƒ|krmqn|jdƒ|krˆqn|jƒ}    ||    krº||    8}|j|ƒqd}t    }|j|ƒPqW|||fS(Ni(
R+R    RaRbRcRRRRR(
RteffectAR…R†RˆR‰RR5RfR”((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItemIndexListFromPackByEffA#s(   
 c CsÙ|jƒ}|jƒ}|jƒ}    ||kr\tjd|||f|jƒƒ|}n|sqtj|ƒr¦t|||||ƒ}
t    |t
j ||
|ƒntj ||||j ƒ|jƒ|jƒƒdS(Ns4DelItem, delCnt = %s < itemCnt = %s, itemTypeID = %s(R RaRmRR(RôR‹R£RrR€RjRRŒR¦R¤RO( R4R5RR§t
recordNameRŸt    isForceDRt curItemTypeIDt
curItemCntt curItemBindRy((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytDelItemPs    #     c
    Cs•xŽt|jƒƒD]z}|j|ƒ}t|ƒs:qn|jƒ}||krXqn|j|ƒ}    t|||    t|||ƒ|sPqqWdS(N(RRaRbRcRntpopRR(
R4R…tdelItemByGUIDDictR
RŸR RR5titemGUIDR((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt DelItemByGUIDjs   c Cso|tjkrdSxB|D]:}|jtj||fƒ}|sHqnt}d}d}|tjkrétj|ƒ}tj    |ƒ}    t
j ƒj |ƒ}
|
s®t |ƒn    |
jƒ}d||    df}|
oãtj|
|    ƒ}ntj|tj||fdƒ|ri|d6dd6|    dd6} t|||sGd    |n|| ƒqqWtj|||ƒdS(
s É¾³ýÐéÄâ±³°üÎïÆ· NiR÷s%s LV%siRVRjtPlusLVsVPack_%s(RKRRRRR+trptRuneR‹t GetRuneItemIDtGetRuneItemPlusLVRRR RxtGetNametIsRuneItemNeedRecordR2tNomalDictSetPropertyR€tSync_VPackItem_Clear( R4Rst    placeListRxtplaceR t isNeedRecordRtitemNametplusLVt curItemDataRv((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt DelVPackItemzs,  *cCs
|jƒS(N(RÂ(R5((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetItemClassLV–scCs
|jƒS(N(t GetGearScore(R5((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetEquipGearScorešscCs |j|ƒS(N(t SetGearScore(R5R£((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytSetEquipGearScorescCs5tjdt|ƒ|jƒƒ}|s+dS|jƒS(NtEquipPlaceIndexMapiÿÿÿÿ(R©RªR#RÁt GetGridIndex(R5R¼((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetEquipPackIndex s!cCs
|jƒS(N(tGetMaxAddSkillCnt(R5((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyR ¨scCs•| s|jƒriStj|ƒ}t|ƒsK|jƒ|jƒ|gSi}|jƒ|d<|jƒ|d<||d<t|jƒƒ|d<|S(NRVR@t IsAuctionItemRü(RR‹RïR‚R RaRxRm(R5R•t addItemDict((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytGetMailItemDict­s 
 cCsWi}t|tƒs$t|tƒrªt|ƒ}|dkrM|d|d<n|dkrz|ddkrz|d|d<n|dkrS|drSt|dƒ|d<qSn©t|tƒrÆ||d<nt|ƒsãtjdƒiS|jƒ|d<|j    ƒdkr|j    ƒ|d<nt
j |ƒr4d|d<n|j ƒrS|j ƒ|d<n|S(    sb»ñÈ¡ÎïÆ·ÐÅÏ¢¶ÔÓ¦µÄjsonÐÅÏ¢
    @param itemInfo: Ö§³ÖÁбí [itemID, itemCount, isAuctionItem], Ö§³Ö¶¯Ì¬ÁÐ±í³¤¶È£¬Ë÷Òý´ú±íÊôÐԹ̶¨
                        Ö§³ÖÎïÆ·ÊµÀý, Èç¹ûÊÇʾÀýʱ±ØÐëÔÚ¸øÍæ¼Ò֮ǰÏÈ»ñÈ¡³öÀ´£¬·ÀÖ¹¸øÍæ¼Òºó¸ÃÎïÆ·ÊµÀý±»Çå¿Õ
                        
    @return: {"ItemID":101, "Count":10, "IsAuctionItem":1, "UserData":"×Ô¶¨ÒåÊôÐÔ×Ö·û´®"}
    iRViR@iR,sÎïÆ·Îª¿Õ!ÎÞ·¨»ñÈ¡JsonItemÐÅÏ¢!Rü( RRžRŸRÈR‡RcRR(R RaR‹RïRm(RtitemDicttinfolen((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt GetJsonItemÛs,       cCs
g}|S(sû ¸ù¾ÝÁ¶µ¤µÈ¼¶²îÒìµÈ¼¶¹ýÂËÈ¨ÖØÁбíÖв»Âú×ãµÄÎïÆ·£¬¹ýÂË×îµÍÍæ¼ÒµÈ¼¶ÒªÇóÎïÆ·  ·µ»ØÐµÄÈ¨ÖØÁбí
    @param weightList: ÎïÆ·È¨ÖØÐÅÏ¢Áбí
    @param alchemyDiffLV: ÊÇ·ñ¹ýÂ˵ô´óÓÚX¼¶µÄÁ¶µ¤µÈ¼¶ÎïÆ·£¬0-²»¹ýÂË£¬1-¹ýÂËÇÒ¶ÁĬÈÏÅäÖã¬>1-ÌØÊ⹦ÄÜÖ¸¶¨µÄ¹ýÂ˵ȼ¶
    ((R4t
weightListt alchemyDiffLVtresultWeightList((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt GetWeightItemListByAlchemyDiffLVûscCsEtjƒ}|jƒ||_||_||_tj||ƒdS(N(R:ttagMCMakeItemAnswerRŠtMakeTypetResultt    MakeValueRARB(R4tmakeTypet    isSuccesst    makeValuetmakeItemAnswer((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pytSyncMakeItemAnswers 
            i(nRR0R2R,RjRRLRKR‹Rot EventReporttChItemR©R:RARtChEquipR.RRÃtmathRˆtjsonR    tUseStuffMode_AllRRRR)RR@R*RPRTRwRR+R’RšR“R‘R¸RýRþRRRR    RRR!R"R#R/R8RGRRSRWRcR[RYRaReRgRiRrR|R€R‚RƒRŒRRŽR”R•R–RRšR¢R›RºR¿R»RÀRÎRÕR×RÞRèRßRêRéRR·RüRR    RRR"R#R%R'R*R R.R1R5R>(((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\UseItem\ItemCommon.pyt<module>sÎ                               4                J    0    A    # d         
                 % "                                                                           ,    '    * ) . ) % @                (     "                                      -                         .