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
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
cn©gc@sŽddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZd„Zd„Zeje d„Z!d„Z"d„Z#d„Z$d„Z%d    „Z&d
„Z'd „Z(e e)d „Z*e e)d „Z+d„Z,d„Z-d„Z.d„Z/d„Z0d„Z1d„Z2e3d„Z4d„Z5d„Z6d„Z7d„Z8dfd„ƒYZ9ddd„Z:d„Z;d „Z<d!„Z=d"„Z>d#„Z?d$„Z@d%„ZAd&„ZBd'„ZCe3d(„ZDgd)„ZEd*„ZFe)d+„ZGd,„ZHe d-„ZId.„ZJd/„ZKd0„ZLd1„ZMd2„ZNd3„ZOd4„ZPd5„ZQd6„ZRd7„ZSd8„ZTe)d9e igd:„ZUd9e igejejVge)e)d;„ZWd9e igd<„ZXd=„ZYd>„ZZd9e igejejVge3d?„Z[d@„Z\d9e igejejVge3dA„Z]dB„Z^e)dC„Z_dD„Z`e3dE„Zaddd9dF„ZbdG„ZcddH„ZddI„ZedJ„ZfdK„ZgdL„Zhde de)e dM„Zie dN„ZjdO„ZkdP„ZldQ„ZmdRfdS„ƒYZndT„ZoejejpgdU„ZqddV„ZrdW„ZsdX„Ztd9e ige)gdY„Zue3dZ„Zve)d9e ige3d[„Zwd9de)e)d\„Zxd]„ZydS(^iÿÿÿÿNcCsX|jƒj|ƒ}x<td|jƒƒD]%}|j|ƒ}|jƒr+|Sq+WdS(Niiÿÿÿÿ(tGetItemManagertGetPacktrangetGetCounttGetAttIsEmpty(t    curPlayert    packindextcurPacktititem((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetItemPackSpaceIndex4s  cCsgd}|jƒj|ƒ}xEtd|jƒƒD].}|j|ƒ}|jƒr1|d7}q1q1W|S(Nii(RRRRRR(RRt    itemSpaceRR    R
((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetItemPackSpaceEs cCsw|jƒj|ƒ}x<td|jƒƒD]%}|j|ƒ}|jƒr+tSq+W|rstj|d|gƒnt    S(NitGeRen_chenxin_676165(
RRRRRRtTruet PlayerControlt
NotifyCodetFalse(RRtisNotifyRR    R
((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCheckPackHasSpaceVs cCs@x9t|jƒƒD]%}|j|ƒ}|jƒsdSqWtS(N(RRRRR(titemPackR    R
((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetPackIsEmptyis
 cCsˆd}|jƒj|ƒ}xftd|jƒƒD]O}|j|ƒ}tj|ƒs[q1n|jƒ|kr1||jƒ7}q1q1W|S(Ni(RRRRRt
ItemCommontCheckItemCanUset GetItemTypeID(RRtidtvalueRR    R
((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytFindPlayerItemCountByItemIDyscCss|jƒj|ƒ}xWtd|jƒƒD]@}|j|ƒ}tj|ƒsUq+n|jƒ|kr+|Sq+WdS(Ni(    RRRRRRRRtNone(RRRRR    R
((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytFindPlayerItemByItemIDŽscCs”|jƒj|ƒ}xxtd|jƒƒD]a}|j|ƒ}tj|ƒsUq+n|jdƒ}|dkrvq+n|j    ƒ|kr+|Sq+WdS(Ni(
RRRRRRRtGetEffectByIndexRt GetEffectID(RRRRR    R
teffect((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytFindPlayerItemByEffID¡s cCss|jƒj|ƒ}xWtd|jƒƒD]@}|j|ƒ}tj|ƒsUq+n|jƒ|kr+|Sq+WdS(Ni(    RRRRRRRtGetTypeR(RRtitemTypeRR    R
((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytFindPlayerItemByType³scCse|jƒtjkr)tj|dƒdS|jƒjtjƒ}t|ƒsatj|dƒdSt    S(NtDJ_Res_Horses_AlreadyEquiptHorses_Bag_NoRoom(
tGetPlayerVehiclet IPY_GameWorldtpvHorseRRRRtrptHorseRR(Rt    horsePack((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCheckCanEquipHorseÄs cCs|jƒtjkS(N(R#tChConfigtDef_ItemType_MissionItem(R
((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt IsEventItemÞsc
Cs^|jƒj|ƒ}|}x<td|jƒƒD]%}|j|ƒ}    |    jƒrXq1n|    jƒ|krpq1n|    jƒr‚q1n| r›t|    ƒr›q1n|    jƒ|krÈt    |    |    jƒ|ƒt
S|    jƒ|kr
|dkrü|j |    j ƒƒn|    jƒt
S|dkr,|j |    j ƒƒn||    jƒ}|    jƒ|dkr1t
Sq1WtS(Ni(RRRRRRRt GetIsLockedR0t SetItemCountRRtappendtGetGUIDtClearR(
RRRtcountt delEventItemtguidListRt curDelCountR    R
((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt DelPlayerItemês6   
 
 c Csh|jƒj|ƒ}|}xFtd|jƒƒD]/}    |j|    ƒ}
tj|
ƒs[q1n|
jƒ|krsq1n| rŒt|
ƒrŒq1n| r¥|
j    ƒr¥q1n|
jƒ|krÒt
|
|
jƒ|ƒt S|
jƒ|kr|dkr|j |
jƒƒn|
jƒt S|dkr6|j |
jƒƒn||
jƒ}|
jƒ|dkr1t Sq1WtS(Ni(RRRRRRRRR0t    GetIsBindR2RRR3R4R5R( RRRR6tisbindR7R8RR9R    R
((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytDelPlayerItem_Bind$s6 
 
 cCs ||kr||krtStS(N(RR(t    srcItemIDt srcItemIsBindt
destItemIDtdestItemIsBind((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCanPackItemByItemTypeZscCs ||kr||krtStS(N(RR(R>R?R@RA((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCanPackItemByItemBindiscCs+t|jƒ|jƒ|jƒ|jƒƒS(N(RBRR;(tsrcItemtdestItem((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt CanPackItemsscCs+t|jƒ|jƒ|jƒ|jƒƒS(N(RCRR;(RDRE((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCheckDragItemBind{sc Csd|jƒ}|tjks*|tjkrHtjd||jƒƒtS|j|ƒ}|dkrtjd||jƒƒtS|j|ƒ}|dkrºtjd||jƒƒtS||j    ƒksØ|dkrtjd||j    ƒf|jƒƒtS||j    ƒks |dkrJtjd||j    ƒf|jƒƒtS|j
|ƒ}    |j
|ƒ}
|} |    dkr~tS|
dkrŽtS|    j ƒržtS|    j ƒr¾t j|dƒtS| |    j    ƒkrÔtS| dkrätS| dkrÿ|    j    ƒ} n||kr+t|    ƒr+t j|dƒtS||krWt|
ƒrWt j|dƒtS|    |
| fS(    Ns*CanDragItem -> ²»ÔÊÐí²Ù×÷ÒÑɾ³ýµÄÎïÆ· = %ssCanDragItem ->±³°üÒì³£ = %ssCanDragItem ->Ä¿µÄ±³°üÒì³£ = %sis&CanDragItem ->³õʼ±³°üË÷ÒýÒì³£ = %s,%ss&CanDragItem ->Ä¿µÄ±³°üË÷ÒýÒì³£ = %s,%stGeRen_chenxin_644055titemuse_chenxin_31379(RR)t
rptDeletedt    GameWorldtLogt GetPlayerIDRRRRRRR1RRR0( Rt fromPackPlacet    fromIndext toPackPlacettoIndexR6t itemManagerRttoPackRDREtputCount((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt __CanDragItem‡sV   &&      cCsýtjddƒ}|stS|jƒ}|jƒ}tjddƒ}||kr_||}n
|d}|jƒ|krtS|tjddƒks¯|tjddƒkr³tS|tjddƒksã|tjddƒkrçtStjddƒ}|S(    sVÅжÏÊÇ·ñÐèÒª¼Ç¼
        ¼Ç¼ÓÅÏȼ¶£º ¿ª¹Ø > ÐèÒª¼Ç¼µÄ > ²»ÐèÒª¼Ç¼µÄ > Î´ÖªÉ趨
    t
ItemRecorditItemRecordRuleiiiii(t IpyGameDataPYt
GetFuncCfgRR#RtGetFuncEvalCfgt GetItemColorR(tcurItemt
recordOpenR$titemIDtitemTypeMinColorDicttminColort defaultNeed((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytItemNeedRecordÍs&    
cCsP|jƒ}|jƒ}|tjddƒksH|tjddƒkrLtStS(NRWii(R#RRXRZRR(R\R$R^((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytItemNotNeedRecordñs   cCsÅ|jtjƒdkrtS|jƒt|ƒkrQ|rMtj|dƒntS|j    ƒ|j    ƒkr†|r‚tj|dƒntS|j
ƒ}|j ƒ|krÁ|r½tj|dƒntStS(NitLvErrs#07F159E1-0974-4946-BE4942EAB8B5DBBEtRealmLimitUnuse( t GetUserAttrt ShareDefinetDef_IudetCancelUseLimitRtGetLVt GetItemUseLVRRRtGetReincarnationLvtGetEventCanUsetGetOfficialRank(RR
t
needNotifytitemUseRealmLimit((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCheckItemUseLVs  cCs|jƒ}|S(N(tGetUseLV(R\tinitLV((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRjs cCstS(N(R(R\((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytIsValuableItem3sc    Cst||||||ƒ}|s%dS|\}}}    |jƒdkr|    |jƒkri|j|ƒtStj|jƒƒ}
|
dkr®t    j
d|jƒ|j ƒƒdSt |ƒr½n|j |
ƒt||    ƒ|j|jƒƒt||jƒ|    ƒtS|jƒr%tj|dƒdS|jƒ} |tjkr×|tjkr×t||ƒr×| |jƒkr×|jƒ|jƒ} t|    | ƒ} | dkr¥dSt||jƒ| ƒt||jƒ| ƒtSt||ƒrØ| |jƒkrØ| |jƒ} t|    | ƒ} | dkrGt    j
d|    | f|j ƒƒdS| |    kr||krt|ƒ}|j||ƒtS|jƒ| dkr§t |ƒr§q§nt||jƒ| ƒt||jƒ| ƒn9||krt|ƒ}|j||ƒtS|j|ƒtS(NisÎïÆ· = %sÍ϶¯´´½¨Òì³£RHisÎïÆ·¶ÑµþÒì³£ = %s,%s(RURRtSwitchRRtCreateSingleItemRRRKRLRMRbt
AssignItemR2t    SetIsBindR;R1RRt GetPackCountR)trptItemRGtminRFtPlayerItemControlert    PutInItem(RRNRORPRQR6tresultRDRERTt needPutItemt maxPackCounttdestRemainCountt realPutCounttplayerItemControl((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt __DoDragItem@sh        ? !       cCsn||kr)||kr)tjdƒdSt||||||ƒ}|tkrj|j||||ƒdS|S(Ns!###ÆðʼλÖúÍÖÕֹλÖÃÏàͬ, ²»´¦Àí(RKRLRƒRtNotify_ItemPutFail(RRNRORPRQR6R}((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytDragItem¡s  R{cBséeZdZdZdZdZd„Zd„Zd„Z    d„Z
d„Z d„Z d„Z d„Zd„Zd    eigd
„Zd    eigd „Zd    eigd „Zed    eigd „Zd„Zed„Zed„ZRS(cCsO||_|jjƒ|_|jjtjƒ|_|jjtjƒ|_dS(N(    t_PlayerItemControler__PlayerRt'_PlayerItemControler__PlayerItemManagerRR)trptEquipt!_PlayerItemControler__PlayerEquipRyt _PlayerItemControler__PlayerItem(tselftiPlayer((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt__init__¾s
    cCsî|j}|jƒr2|r.tj|dƒntSt|ƒr[|rWtj|dƒntStj||ƒsŠ|r†tj|dƒntS|jƒ}|t    j
krÔ||j ƒkrÔ|rÐtj|dƒntSt |||ƒsêtSt S(NtRescannotEquiptTaskRestGeRen_lhs_31379tSexErr(R†R1RRRR0RtCheckJobt    GetSexReqR.tDef_PlayerSex_AlltGetSexRpR(R‹R\RnRtcurItemNeedSexReq((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytPlayerCanEquipItemÊs*        !    cCs{|j}|j}|j|ƒ}|jƒrFtj|||tjƒS|j||ƒt    krwtj
|||tjƒSt S(N( R†R‰RRRtPutInR)RˆtSwitchCanSpliceEquipRt
SwitchItemR(R‹R\tequipPackIndexRt    equipPacktcurEquip((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt SwitchEquips         cCsdS(N((R‹((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytRefreshStartEquipCountscCsdS(Ni((R‹((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetStartEquipCount*scCs©|j|tƒsdStj|ƒ}|jƒ}|j}|j}|j|ƒ}|s\dS|jƒrtddgn|j    ƒ|j
ƒg\}}    |j    ƒ|j
ƒ}
} |jƒ rÓ|j ƒt j krÓdnd} |j ƒt j krôdnd} |j||ƒ}|r‘tj||ƒtj||ƒtj|ƒidd6|d6|    d6|
d    6| d
6}tj|t j|ƒ|j| | ƒn|jƒ|r¥|SdS( Niÿÿÿÿitit    EquipItemtdotypet    desItemIDt desUserDataR>t srcUserData(R—RRtGetItemClassLVt GetEquipPlaceR†R‰RRRt GetUserDataR[R.tDef_Quality_OrangeRžt PlayerSuccesstDoEquipSuccessLogictOperate_EquipStonetDoMoveEquipStonet
EventShelltEventRespons_EquipItemtDataRecordPacktCache_FightPowerChangeInfotPowerDownType_EquipChanget)_PlayerItemControler__UpdEquipOrangeCountRŸ(R‹R\R›tclassLVt
equipPlaceRRœt    equipItemR¤R¥R>R¦tbefIsOrangeEquiptaftIsOrangeEquipR}tdataDict((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR¢3s.         6.! )
cCsi|j}|jtjƒ}td|||ƒ}tj|tj|ƒtjd||||fƒdS(Nisi¸üгÈ×°¼°ÒÔÉϼþÊý: befIsOrangeEquip=%s,aftIsOrangeEquip=%s,befEquipOrangeCount=%s,aftEquipOrangeCount=%s(    R†tNomalDictGetPropertyR.tDef_PlayerKey_EquipOrangeCounttmaxRtNomalDictSetPropertyRKtDebugLog(R‹R¸R¹RtbefEquipOrangeCounttaftEquipOrangeCount((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt__UpdEquipOrangeCountUs        cCsò|jƒ|jƒkrtS|jdƒjƒ|jdƒjƒkrJtS|jƒ}|jƒ}|dks€|jƒdkr„tS||kr”tS|jƒ}||}||krÐt||ƒ|jƒnt||ƒt|||ƒtS(Nii(    R;RRR RRxR2R5R(R‹RR\t
euqipCounttequipPackCountt    itemCounttsumValue((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR™ds$*    
    c    Cs.|j}|j}|j|ƒ}|dks9|jƒr=dS|jƒ}|jƒ}|jƒ}|jƒ}    t    j
|ƒ}
|j ƒrœt j |dƒdSt|ƒr¼t j |dƒdS|jjtjƒ} |dksï|| jƒkr t j |dtjgƒdS|jƒ} |jƒtjkr3dnd} d}t|tj|tj|| ƒsddS|jƒ|j| |ƒ|t j|ƒks¢|tjkrµ|j||ƒn|    rã|
tj|ƒkrãtj ||
ƒnt!j"|ƒidd6|d6|d    6}t#j$|tj%|ƒ|||
fS(
NRŽRiRit UnEquipItemR£tequipIDtuserData(&R†R‰RRRRR©R¨t
GetSuiteIDRR§R1RRR0R‡RR)RyRR[R.RªR…RˆRŸR´tGetFaceEquipIndexListtDef_SyncEquipStateByIndextSync_UnEquipItemtChEquiptGetEquipFacadeClassLVtChangeEquipfacadeByClassLVR¯R°R±R²R³(R‹t
equipIndext    packIndexRR·RRÈRÉR¶tsuiteIDt itemClassLVRt curEquipCountR¸R¹Rº((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRǍsF               !!
$  R¡c    Cs|j}d}d}|\}}}    |p3t|ƒ}
|tjkr‡|jtjƒpZd} t|jƒ|jtjƒd| ƒ}n3|tj    krºt
|jƒ|jtj ƒƒ}ng} xt t j|ƒƒD]} |jtj|| fƒ}|rqÖn|
rwt j||ƒ}i|d6| d6|d6|d6}|j|    ƒt j|||sgd|n|||ƒn| j| ƒtj|tj|| f|ƒ|jƒ|krÐt||jƒ|ƒqÖ|jƒPqÖW| røt||| ƒn|r|jƒ rtStS(    NiitsourceRÒt    packPlacet ItemKeyDatat    eventNamesVPack_%s(R†RbRgtrptRuneRftDef_IudetRuneSourcetGetRuneItemKeyDataRtDef_IudetRuneLVt rptGatherSoultGetGatherSoulItemKeyDatatDef_IudetGatherSoulLVtxrangeRt GetVPackCntR»R.tDef_PDict_VPackItemtGetItemNoteDicttupdatet
DR_GetItemR3RR¾RR2R5tSync_VPackItem_RefreshRRR(R‹RÒttagItemteventRt canPutInCnttsetItemKeyDataRÙt isForceEventtaddDictt isNeedRecordt
runeSourcetrefreshPlaceListtplacet itemKeyDatat itemNoteDicttnoteDict((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytPutItemInVPackÞs>    *$" ,  
cCs5|jƒ}t|jtjƒ|jƒƒ}|\}}}|rEn||d<tjj||ƒ|d<tj    }    |j
ƒtj krÔ|j dƒ}
|
j dƒ|} |
j dƒ} tj|| | |    |ƒtS|tjkrçtS|tjkrtj||ttjtƒn|tjkr=tj|tj|ƒnô|tjkretj|tj|ƒnÌ|tjkr‡tj||ƒnª|tjkrµtj|tj||    |ƒn||tj krÝtj|tj!|ƒnT|tj"kr#t#|ƒ} t$j%ƒj&dddd| t'| ƒƒn|tj(krKtj|tj)|ƒnæ|tj*krstj|tj+|ƒn¾|tj,kr›tj|tj-|ƒn–|tj.krÃtj|tj/|ƒnn|tj0krëtj|tj1|ƒnF|tj2krtj|tj3||    |ƒn|tj4krAtj|tj5|ƒnð|tj6krct7j8||ƒnÎ|tj9kr‹tj|tj:|ƒn¦|tj;kr³tj|tj<|ƒn~|tj=krÛtj|tj>|ƒnV|tj?krtj|tj@|ƒn.|tjAkr1tj|tjB||    |ƒntS(Ntreason_name_sont GiveItemEventiitAddBossRebornPoint(CRR½RfRgtDef_IudetItemCountRR.tItemGiveTypeDicttgettDef_GiveMoney_TransformItemR#tDef_ItemType_AutoUseMoneyRtGetEffectValueRt    GiveMoneyRtDef_TransformItemIDListRtDef_ItemID_FamilyContributiont PlayerFamilytAddPlayerFamilyActiveValuetDef_AddFAVReason_UseItemtDef_ItemID_SilverMoneyR)tTYPE_Price_Silver_MoneytDef_ItemID_FamilyActivetTYPE_Price_FamilyActivityt Def_ItemID_SPtPlayerAddZhenQitDef_ItemID_GoldPapertTYPE_Price_Gold_PapertDef_ItemID_RealmPointtTYPE_Price_RealmPointtDef_ItemID_BossReborntstrRKtGetPlayerManagertGameServer_QueryPlayerResulttlentDef_ItemID_YsogtTYPE_Price_YsogtDef_ItemID_SoulDusttTYPE_Price_SoulDusttDef_ItemID_SoulSplinterstTYPE_Price_SoulSplinterstDef_ItemID_SoulCoretTYPE_Price_SoulCoretDef_ItemID_HonortTYPE_Price_HonortDef_ItemID_GoldMoneytTYPE_Price_Gold_MoneytDef_ItemID_FuncSysPrivilegetTYPE_Price_FuncSysPrivilegetDef_ItemID_FCPartyPointtPlayerFairyCeremonytAddFCPartyPointtDef_ItemID_BTGMPointtTYPE_Price_BTGMPointtDef_ItemID_GuShenMoneytTYPE_Price_GuShenMoneytDef_ItemID_GongdePointtTYPE_Price_GongdePointtDef_ItemID_FamilyFlagWarPointtTYPE_Price_FamilyFlagWarPointtDef_ItemID_SuccessScoretTYPE_Price_SuccessSocre(R‹RRèRéR^RÅRÙRìRítmoneyEventNametcurEfft
moneyCountt    moneyTypetmsgStr((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytDoTransformItemst !
     +cCs£|tjtjgkrdS|j}tj|ƒ}|jƒ|jƒ|j    ƒ|j
ƒg}i|j ƒd6|d6|d6|d6}t j tj||gƒdS(NtPlayerIDtItemDatat    PackIndextEvent(R)RyRgt rptDogzItemR†RtGetPlayerServerGroupIDRRR;R©RMRKtSendMsgToClientServertCrossServerMsg_PutInItem(R‹RÒRèRéRt serverGroupIDtitemDatatitemMsg((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt__CrossServerPutInItemEs    *(c# Cs*|j}tj|ƒ}|r't}ntjƒj|jƒƒ}|sLtStjƒry|j    |||ƒ|j
ƒt St j ||ƒ}t|ƒ}t|ƒ}    |j||jƒ||    |ƒsétjdt|ƒƒ|j
ƒtSt}
|jƒ} |jƒt jt jgkrItj||jdƒjdƒƒ|j
ƒt S|jdƒ} | jƒt jkr˜t|| t|| ƒ|ƒ|j
ƒt S| jƒt jkré| jdƒ} | rétj|| || ƒ|j
ƒt Sn| jƒt j kr_| jdƒ}|r_| jdƒ|}t!j"||i| d6|d6dd6ƒ|j
ƒt Sn| jƒt j#krÊ| jdƒ}|rÊ| jdƒ}t$j%||ƒ\}}|rÇ|j
ƒt SqÊn| jƒt j&kr<| jdƒ}|r<ddl'}| jdƒ}|j(|| ||j)ƒƒ|j
ƒt Snt*j+||| |ƒrb|j
ƒt S| t j,ks†|jƒt j-krÈ|t.j/kr¶|j0|||ƒ|j
ƒt St }t j1}n |j2ƒ}|t3j4krö|j5|||ƒS|\}}}|jƒt6j7dƒkr]|j8t3j9ƒdkr]|j:t3j9|j;t j<ƒƒq]n|j=j>|ƒ}|
rµ|t.j/t3j?t3j@t3jAt3jBgkrµtC|ƒp¯|}
nt}|rRxŽtDd|j)ƒƒD]t}|jE|ƒ}|jFƒt krq×n|jFƒdkr,tG||ƒ r,q×n|jHƒt krDq×nt|ƒ}t|ƒ}||}|dkrxq×n||kré||} tI|| ƒtI|||ƒ|
rKtjJ|||| ƒ}!tjK||||!|ƒqKq×||} tI|| ƒ|j
ƒt }|
rJtjJ|||| ƒ}!tjK||||!|ƒnPq×Wn|t krbt SxÁtDd|j)ƒƒD]ª}|jE|ƒ}|jFƒt kr¥qxnt|ƒ}t|ƒ}||}|dkrÙqxn||krXtL|jƒ||    ƒ}"|jM|"ƒtI|||ƒ|
r"tjJ||||ƒ}!tjK||||!|ƒq"qx|rq|jN||ƒn|jOƒt.jPkr–|jQ|ƒnE|jOƒt.jRkr»|jM|ƒn tjSd    |jƒ|jTƒƒt }|
r!tjJ|||t|ƒƒ}!tjK||||!|ƒnPqxW|S(
Ns±³°üÂú£¬²»ÄÜ·ÅÈëÎïÆ· count = %diitItemIDt    ItemCountt    isAutoUseiÿÿÿÿtOpenBoxByLoginDayCfgsÎïÆ· = %s·ÅÈë´íÎó(UR†RtCheckItemIsEquipRRKt GetGameDatatGetItemByTypeIDRt IsCrossServert*_PlayerItemControler__CrossServerPutInItemR5RR.tGetItemPackTypet GetItemCounttGetIsAuctionItemt CanPutInItemR¿R#tDef_ItemType_ActiveMWItemtDef_ItemType_ActiveMWItem2tPlayerMagicWeapont
DoActiveMWRRþR tDef_Effect_ItemCounttSetItemCountByIDtGetItemCountByIDtDef_Effect_GubaoPiecet PlayerGubaot AddGubaoPiecetDef_Effect_TiandaoQiyuntPlayerXiangongtAddTiandaoQiyuntDef_Effect_VIPLVCardt    PlayerVipt UpgradeVIPLVtDef_Effect_AddFBCnttFBCommontAddFBCntByItemRtPlayerActBossTrialtCheckActItemAutoTransformRRýR)RyR4tDef_UpperLimit_DWordRxRgtDef_VPack_TypeListRõt ReadChConfigtGetEvalChConfigRftDef_IudetCreateItemLoginDayt SetUserAttrR»tDef_PDict_LoginDayCntR‡Rt rptTreasureRÚRÞR9RbRáRRRFR1R2RäRætGetOutPutItemObjRvtCheckEquipAttrtGetGameWorldItemTypet gwitRoleItemR˜tgwitSingleItemRLRM(#R‹RÒRèt defaultPileRéRtisEquipt curItemDatat tagItemCountt isAuctionItemRîR^titemEfftgubaoIDRCtaddQiyunttagVIPLVtisOKt_R_tmapIDRRÙRìRíRt    putResultR    R
t packItemCountt curItemCountt canPutinCounttupdCountRót curCreateItem((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR|Ws         
  !
 "
 
 
(
 
 
 
 
$
  %1"  
 
 
 
 
    c    CsÓ|jtjƒ}|jtjƒ}|r@|r@||kr@dS|j}t||ƒ}|sbdS|j}tj|ƒ}t||ƒtj    |ƒtj|ƒ}t
j d||j ƒ||f|j ƒƒdS(NsM´«ÆæÊôÐÔÒì³££¬ÖØÐÂË¢ÐÂÒ»´ÎÊôÐÔ: packType=%s,itemID=%s,srcScore=%s,updScore=%s(tGetUserAttrCountRgtDef_IudetLegendAttrIDtDef_IudetLegendAttrValueR†tGetAddEquipLegendAttrRtGetEquipGearScoretSetEquipLegendAttrt MakeEquipGSRKR¿RRM(    R‹tpackTypeR\tlegendAttrIDCounttlegendAttrValueCountRtlegendAttrInfotsrcScoretupdScore((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRl$s               #cCs5tjƒrtS|j|||||ƒ\}}|S(N(RKRHRtCanPutInItemEx(R‹RÒt    curItemIDR~RtRptcheckRettputIndex((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRMAs !cCs…tjƒ}|j|ƒ}|dkrBtjd|ƒtdfSt|ƒrs|tjkrgt    dfSt
j }n!|rˆ|}t}n |j ƒ}|dkrÁtjd||fƒtdfSt
j ||ƒ}d}    |j}
|tjkrcxettj|ƒƒD]N} |
jt
j|| fƒ} | r5qn|    d7}    |    |krt    | fSqWtdfSd} |jj|ƒ}xçt|jƒƒD]Ó}|j|ƒ}|jƒrÑ|    |7}    | dkrK|} qKnz|rK|jƒréqŽnt|jƒ|jƒ||ƒrK|t|ƒkrK|    |t|ƒ7}    | dkrH|} qHqKn|    |krŽt    | fSqŽW|    |kr{tdfSt    | fS(NsÕÒ²»µ½ItemID = %dis$²ß»®Ìî±í´íÎó %s -> maxPackCount = %siiÿÿÿÿ( RKRFRGRRLRtIsPutinAutoTransformItemR)RyRR.RcRxRJR†RgRdRáRRâR»RãR‡RRRRR1RBRR;RK(R‹RÒRR~RtRptgameDataRrRt maxCanPutItemRRñRòt    itemIndexRR    R
((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyROsb  
 
       
    
 
 
   !   
N(t__name__t
__module__RR†R‡R‰RŠRR—RžRŸR R¢R´R™RÇRRõR4RIRR|RlRMR(((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR{´s(         ;                    "        )    Q*=Í     iicCs=|dkrdnd}|d|dt|dƒd|S(Niiiʚ;iáõiçi †(Rz(R^tRuneLVt    lockStateRÖ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRܗscCs|dS(Ni †((tkeyData((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt GetRuneItemIDšscCs |ddS(Niáõi †((R›((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetRuneItemPlusLV›scCs|dS(Niʚ;((R›((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetRuneItemIsLockœscCs |ddS(Niʚ;iáõ((R›((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetRuneItemSourcescCs|dkp|jƒtjkS(Ni(R[R.Rª(R\tplusLV((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytIsRuneItemNeedRecordžscCst|dƒd|S(Niçi †(Rz(R^t GatherSoulLV((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRߢscCs|dS(Ni †((R›((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetGatherSoulItemID¤scCs |ddS(Niáõi †((R›((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetGatherSoulItemPlusLV¥scCs|dkp|jƒtjkS(Ni(R[R.Rª(R\R ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytIsGatherSoulItemNeedRecord¦scCsbtj|tj||f|ƒ|r^|dkrHt|||gƒq^t|||gƒndS(Ni(RR¾R.RãRçtSync_VPackItem_Clear(RRÒRñR›tisSync((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytSetVPackItemKeyData©s   cCsÔ|sttj|ƒƒ}ntjƒ}|jƒ||_xn|D]f}|jtj    ||fƒ}|srqDntj
ƒ}|jƒ||_ ||_ |j j|ƒqDWt|j ƒ|_tj||ƒdS(N(RáRRâtChPyNetSendPackttagMCVPackRefreshR5tPackTypeR»R.RãttagMCVPackItemt    ItemPlaceR6tVPacklItemListR3RtCountt NetPackCommont SendFakePack(RRÒt    placeListt vpackRefreshRñRòt    vpackItem((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRç²s" 
      
        cCsX|s
dStjƒ}|jƒ||_||_t|jƒ|_tj||ƒdS(N(    R©ttagMCVPackClearR5R«t ItemPlaceListRR¯R°R±(RRÒR²t
vpackClear((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR¦Æs 
        cCsÜ|st}tj}nt}g}xf|D]^}t||ƒ}| rT| rTq+ntjƒ}|jƒ||_||_    |j
|ƒq+W|s—dStj ƒ}|jƒ||_ t |j ƒ|_tj||ƒdS(N(Rt
PyGameDatatAutoTransformCountItemIDListRRTR©ttagMCAutoItemCountR5RARBR3ttagMCAutoItemCountRefresht ItemCountListRR¯R°R±(Rt
itemIDListtforcet itemCountListR^RÅt    countInfot
clientPack((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytSync_AutoItemCountÑs,   
         
    cCs;tjƒj|ƒ}t||j|j|j|jƒdS(N(RKRtGetPlayerByIndextDropItemToOtherPackt SrcBackpackt DesBackPacktSrcIndextIsAll(tindext
clientDatattickR((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytOnDropItemToOtherPackøs"c     CsY|jƒj|ƒ}|sdSt|ƒ}|rg}x t|jƒƒD]Œ}|j|ƒ}    |     sJ|    jƒrxqJntj|    |ƒ}
|
|krœqJnt    ||||
||    ƒsJ|
|krÖ|j
|
ƒqÖqJqJWxx|D]} t j |d| gƒqáWnQ|j|ƒ}    |     s&|    jƒr*dStj|    |ƒ}
t    ||||
||    ƒdS(s#Í϶¯Ä³¸ö±³°üÎïÆ·µ½Íæ¼ÒÎïÆ·±³°ü
    NR( RRR{RáRRRR.RJt__DoDropItemToOtherPackR3RR( Rt fromPackIndext desPackIndexRÉtisAlltmovePackt itemControlt fullPackListR–R\t toPackIndext fullPackIndex((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRÄýs0    c Cs½|j||ƒr |jƒtS|jƒ}|jƒ}t|ƒ}|tjkr|tj    ||tƒslt
S|j ||ƒS|j ||||ƒ\}    }
|    s¤t
St |||||
|ƒS(N(R4R5RRRRLRgRÚRRRRõRR…( RRÒRÎRÔR–R\t curItemTypeIDR~RtR‘R’((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRÍ s
   cCsY|jƒtjkr)tj|dƒdS|jƒj|ƒ}|dkrNdS|dkrm|jƒd}nx<t    d|jƒƒD]%}|j
|ƒ}|j ƒrƒdSqƒW|t j kr||jtjƒtjtjkrådS|jtj|ƒt||||ƒn=||jƒtjkr+dS|j|ƒt||||ƒ|jƒdS(NtGeRen_liubo_254483ii(tGetPlayerActionR.tDef_Player_ResetItem_StateRRRRRRRRR1R)t rptWarehouset GetTickByTypetTYPE_Player_Tick_WareHouseSorttTYPE_Player_Tick_Timet SetTickByTypetResetWareHousetGetResetItemTicktDef_ItemPackResetIntervaltSetResetItemTickt ResetRolePackt Sync_Refresh(RRÒt
beingIndextendIndexRËRR    R\((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt __DoResetItem>s0     
cCs$t|||||ƒ|jƒdS(N(RçtNotify_PackResetOK(RRÒRåRæRË((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt    ResetItemrs
cCsƒi}x~t||dƒD]i}|j|ƒ}|jƒrAqn|jƒ}|jƒ}||krrg||<nt|||ƒqWg}    g}
xQ|jƒD]C} x:| D]2} tj| ƒrÒ|
j    | ƒq­|    j    | ƒq­Wq W|
j
t ƒ|    j
t ƒ|j ||ƒ|} x1|
D])}|j| ƒj|tƒ| d7} qWx1|    D])}|j| ƒj|tƒ| d7} qRWdS(Ni(RRRtGetItemRt__ResetItem_AddItemInListtvaluesRtCheckNoteEquipGSR3tsortt__CmpWareHouseEquipt __CmpRolePacktWipePackRvR(RRRåRætitemDictR    t curRoleItemR\R^titemListt equipGSListttmpListttmpItemtputPlaceR
((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRßzs8          cCsw|jƒ|jƒkrR|jƒ|jƒkr.|jƒ|jƒkr
|jƒ}|jƒ}||kr…t|jƒ|jƒƒStjddƒ}||krÚ||krÚt|j|jƒƒ|j|jƒƒƒS||krêdS||krúdSt||ƒSqOtd|jƒd|jƒƒSqstd|jƒd|jƒƒSn!td|jƒd|jƒƒSdS(NtDepotSortPriorityiiÿÿÿÿi(    RiR[tGetItemQualityR#tcmpRRXRZRÉ(titem1titem2t    itemType1t    itemType2ttypeList((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRï²s&   +  $$!cCsi}x~t||dƒD]i}|j|ƒ}|jƒrAqn|jƒ}|jƒ}||krrg||<nt|||ƒqWg}    g}
g} g} |jƒjtj    ƒ} x.|j
ƒD] }x|D]}d}d}t j ||ƒrOt j |ƒrOt j|ƒ}| jt j|ƒƒ}t j |ƒrmt j|ƒ}qmnt j |ƒrmd}d}n|jƒtjtjgkr›| j|ƒqÑ|dkr·|    j|ƒqÑ||krÓ|
j|ƒqÑ| j|ƒqÑWqÄW|
jtƒ|    jtƒ| jtƒ| jtƒ|j||ƒ|}x1|
D])}|j|ƒj|tƒ|d7}q9Wx1|    D])}|j|ƒj|tƒ|d7}qmWx1| D])}|j|ƒj|tƒ|d7}q¡Wx1| D])}|j|ƒj|tƒ|d7}qÕWdS(Niii(RRRRêRRëRRR)RˆRìRR’RíR†tGetEquipPackIndexR#R.tDef_ItemType_RunetDef_ItemType_RuneExpR3RîRðRñRvR(RRRåRæRòR    RóR\R^RôtequipGSGreaterListtequipGSLesserListt runeItemListRœRöR÷tequipGSt
cmpEquipGStcmpItemRøR
((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRãÓsj      !              cCsŸ|jƒ}|jƒ}||kr|jƒ|jƒkrõ|jƒ|jƒkrÑ|jƒ|jƒkr¸|jƒ|jƒkržt|jƒ|jƒƒ St|jƒ|jƒƒ St|jƒ|jƒƒStd|jƒd|jƒƒSq›td|jƒd|jƒƒSn‚tjddƒ}||krn||krnt|j    |jƒƒ|j    |jƒƒƒS||kr~dS||krŽdSt||ƒSdS(NitPackageSortPriorityiiÿÿÿÿ(
R#R[RúRR;RûRRXRZRÉ(RüRýRþRÿR((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRð4s(   $$+  cCsË|jƒ}|jƒ}xƒ|D]{}|jƒ}t||ƒsFqn||krXqn||}||krƒ|j||ƒdS|j|ƒ||}qW|dkrÇ|j|ƒ|j|ƒndS(Ni(RRxRFtSetCountR3(tcurListtaddItemRÅt    packCountR\tcurCountt canPlaceCount((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRëos$     
    cCst|ƒt|ƒdS(N(t__CheckTransferItemPackRÂ(R((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt OnPlayerLogin    s
 
c
Cs5tjddiƒ}|sdS|jƒ}|jƒ|d}d}|j|ƒ}||krddSg}t|ƒ}|jƒ}x|D]…}    |    |kr¡q‰n||    }
tjd||    f|ƒx-|
j    ƒD]\} } | \} }|j
ƒj | ƒ}xït |j ƒƒD]Û}|j|ƒ}tj|ƒs<qn|jƒ}|| krZqn|j ƒ}t||| |||ƒrªtjd| ||||f|ƒqntjd| ||||f|ƒ|jtj|ƒƒ|jƒqWqÒWtj|||    ƒ|    }q‰W|r1tjd|g|ƒndS(NtTransferItemPackiiÿÿÿÿtTransferItemPackVers4Íæ¼ÒÉÏÏß´¦ÀíÎïÆ·×ªÒÆ±³°ü! curVersion=%s,newVerNum=%ssO    Ö±½Ó×ªÒÆ: fromPackType=%s,toPackType=%s,itemIndex=%s,itemID=%s,itemCount=%ssO    Óʼþ×ªÒÆ: fromPackType=%s,toPackType=%s,itemIndex=%s,itemID=%s,itemCount=%s(RXRZtkeysRîR»R{RMRKRLtitemsRRRáRRRRRRÍR3tGetMailItemDictR5RR¾t SendMailByKey(RttransferItemPackRecordDicttverListt lastVersiontkeyt
curVersiont mailItemListRÒtplayerIDt    newVerNumttransferItemPackRulettransferPackInfoR½t fromPackTypet
toPackTypetfromPackR–R
R^RÅ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRsT 
 
 
            
cCsÍ|jƒj|ƒ}g}xdtd|jƒƒD]M}|j|ƒ}| s1|jƒr_q1nt|ƒsqq1n|j|ƒq1W|jƒ}x8|D]0}t    j
d||j ƒf|ƒ|j ƒq•WdS(Nis"###Çå¿Õ±³°ü = %s ÖеÄÈÎÎñÎïÆ· = %s( RRRRRRR0R3tGetIDRKRLRR5(RRÒRRôR    R
t curPlayerID((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytClearPackEventItemOs    R¡cCs_|dkrtStjƒj|ƒ}|s/tS|r|tjd|ƒ}|s|tjd|||f|jƒƒd}q|n|s‹tj    n|d}t
j ||ƒ}    |    |ksº| rÆ|    g}nt}
t |ƒ} x0|D](}    | j |    |||ƒrßt}
PqßqßW|
stSt|ƒr`t} x2t|ƒD]$} t||||ƒr4t} q4q4W| Stj|ƒrÐt} xTt|ƒD]F} t|d|d|ƒ}|sª| St||||ƒr‚t} q‚q‚W| St} x‚t|ddƒD]l} |dkrPnt|||d|ƒ}|s#| St|ƒ}t||||ƒrët} ||8}qëqëW| S(s2¸øÍæ¼ÒÎïÆ·
    @param isAuctionItem: ÊÇ·ñÅÄÆ·
    it AuctionItemsC·ÇÅÄÂôÎïÆ·£¬Ä¬ÈÏתΪ·ÇÅÄÆ·! itemID=%s,itemCount=%s,isAuctionItem=%siRiÿÿ(RRKRFRGRXtGetIpyGameDatatErrLogRMR)RyR.RJR{RMRtGetAppointItemRealIDRátGivePlayerAppointItemRt
GetIsEquipRktDoLogic_PutItemInPackRRK(RR^RÅRtt packIndexListRéRrtipyDatat defaultPackRÒtcanPutInRÒRyRzt outPutEquiptgiveItemt    giveCount((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGivePlayerItemgsd              c Csàd}xÓt|ddƒD]½}    ||kr1Pnt||||d|ƒ}
|
sW|St|
ƒ} t|ƒtkrŽ|jtj|
ƒƒnt|ƒtkr¶|j|
jƒƒnt    ||
||ƒr|| 7}qqW|S(NiiÿÿiR(
RRkRKttypetlistR3Rt GetJsonItemR©R/( RR^RÅRtRéR0t jsonItemListt userDataListt giveOKCountRzR5R((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytDoGiveItemLoop«s  cCs,t||ƒ}|stSt||d|ƒS(sl¸øÍæ¼Ò¶¨ÖÆÎïÆ·±íÎïÆ·£¬¶¨ÖÆÎïÆ·Ä¬ÈϸöÊý1
    @param appointID ¶¨ÖƱíID
    @param isAuctionItem ÊÇ·ñÅÄÆ·
    Ré(tGetAppointItemDictDataRtGivePlayerEquip(Rt    appointIDRtRét itemDictData((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR-ÄscCs€t|ƒ}|siStjd|ƒ}|s2iSi}|jƒ|d<|jƒ|d<||d<|jƒ|d<||d<|S(sj»ñÈ¡¶¨ÖƱíÎïÆ·Êý¾Ý£¬¶¨ÖÆÎïÆ·Ä¬ÈϸöÊý1
    @param appointID ¶¨ÖƱíID
    @param isAuctionItem ÊÇ·ñÅÄÆ·
    t AppointItemt legendAttrIDtlegendAttrValueRAtCancelUseLimitt IsAuctionItem(R,RXR*tGetLegendAttrIDtGetLegendAttrValuetGetCancelUseLimit(RARtR^R1RB((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR?Ïs 
 
cCsZtjƒj|ƒ}|sdS|jdƒ}|jƒ}|tjkrMdS|jdƒS(s»ñÈ¡¶¨ÖÆÎïÆ·¶ÔÓ¦µÄÕæÊµÎïÆ·IDi(RKRFRGRR R.tDef_Effect_AppointItemRþ(R^R\R0tcurEffID((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR,ås cCs"t|ƒ}t|||||ƒS(N(t GetItemByDataR/(RR>RéR‰RpR·((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR@ös cCsM|s
dSt|jddƒƒ}t|jddƒƒ}tj|d|ƒ}|sYdStƒ}||_t|jdttjƒƒƒ|_    |jdgƒ|_
|jdgƒ|_ t j ||ƒd|krò|d}tj||ƒnd    |kr!t|d    ƒ}tj||ƒn|jd
dƒrI|jtjd ƒn|S( NRAiRGRttSourceRDREtUserDatatEquipGSRFi(tintRûRRutSingleEquipTmpDatatisBindRRgtItem_Source_UnkownRÖtlegendAttrIDListtlegendAttrValueListtChItemtEquipAddAdditionExtSetItemUserDatatSetEquipGearScoreRhRh(R>R^RtR·t tmpEquipDataRÉR((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRM    s,        $ 
 cCsTt|ƒ}x*|D]"}|j||||ƒrtSqW|jƒtjdƒtS(Ns,DoLogic_PutItemInPack Error ÎïÆ·ÎÞ·¨·ÅÈë±³°ü(R{R|RR5RKR+R(Rt curGiveItemRéR0RpRÒRÒ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR/5    s      
 cCs
|jƒS(N(R;(R\((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRLN    scCs›|j|ƒ|r6|jtjttjƒƒƒdS|s@dStj|ƒr—|jtj    ƒ}|jtj
ƒ}|r”||kr”t |ƒ}nt ||ƒ}|s­dSi}|drâ|d|tj    <|d|tj
<n|dr|d|tj <|d|tj<n|dr@|d|tj<|d|tj<n|dro|d|tj<|d|tj<ntjg}tj|||d    tƒndS(
Niiiiiiiit
isUpdateGS(RwRhRgtDef_IudetAuctionItemCreateTimeRQttimeRR.R‚RƒR„tGetEquipLegendAttrGroupR…tDef_IudetLegendAttrIDShentDef_IudetLegendAttrValueShentDef_IudetLegendAttrIDXiantDef_IudetLegendAttrValueXiantDef_IudetLegendAttrIDJitDef_IudetLegendAttrValueJitUpdateItemUserDataR(R\RtRtlegendAttrIDCnttlegendAttrValueCntRŒt
updateDictt
delKeyList((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytSetIsAuctionItemO    s< 
 
 
 
 cCs|jtj|ƒS(N(R»R.tDef_PDict_ItemCount(RR^((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRTy    scCsRtdt|tjƒƒ}tj|tj||ƒ|rNt||gƒn|S(Ni(R½RzR.RcRR¾RmRÂ(RR^RÅR§((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRS{    s
cCsº|jƒs_|dkrFt|ƒrF|jtjt|tjƒƒq¶|jt|dƒƒnWy ddWnHd|||f}t    j
|t t j ƒƒdt jƒƒ‚nXdS(Niiÿÿis)%s %s %s -- ItemControler->SetItemCount::s
(RR“RhRgRùRzR.RcR RKR+Rt    tracebackt extract_stackt
format_exc(R
tcntRtaccIDt
playerNamet    errorInfo((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR2‰    s " +cCs&t|ƒr|jtjƒS|jƒS(N(R“RfRgRùR(R
((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRK—    s cCsTt|ƒr+|tjkrdStj}n |jƒ}ttj|t    |ƒƒƒS(Ni(
R“R)RyR.RcRxRQtmathtceiltfloat(R‰R>RÅRtR((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetItemNeedPackCountœ    s    cCs£| s|jƒ rtS|jƒtjksB|jƒtjkrFtS|jdƒ}|jƒtj    krntS|jƒtj
krŸ|j dƒ}|rŸtSntS(Ni( RRR.RR#RýRRR RRRURþ(R>RuRv((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR“ª    s*cCs|jƒtjkS(N(t IsBothHandsRgtDef_Weapon_Two_Handed(R((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytIsTwoHandedWeapon¼    scCs|jƒtjkS(N(RyRgtDef_Weapon_Dual_Hands(R((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt IsDualWeaponsà   scCsX||kr|Sx=|D]5}|j|ƒ}|jƒr<|St|ƒr|SqW|dS(Ni(RRR{(RœtpackEquipIndexR²t
placeIndexR((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetMultiPlaceEquipPlaceÌ    s    c    Cstj||||ƒ}|s3tjd|ƒdStj|ƒsF|St|ƒro|jƒtt||ƒƒSt    ƒ}t
|||ƒ}|rû|d|_ |d|_ |d|_ |d|_|d|_|d|_|d    |_|d
|_ntj||ƒ|S( s! »ñÈ¡¹¦Äܲú³öµÄÎïÆ·ÊµÀý
    @param isAuctionItem: ÊÇ·ñÅÄÆ·£¬Ä¬ÈÏ·ÇÅÄÆ·
    @param expireTime: ÓÐЧʱ¼ä£¬Ê±¼äµ¥Î»ÓÉʱЧÀàÐ;ö¶¨
    @param curPlayer: ²ú³ö¸ÃÎïÆ·Ê±µÄÍæ¼Ò£¬ÎïÆ·Ä³Ð©ÊôÐÔÓÉÍæ¼ÒµÈ¼¶¾ö¶¨£¬Èç´«ÆæÊôÐÔ
    @param isAllAttr: ÊÇ·ñÉú³É¸Ã×°±¸ËùÓÐÊôÐÔ£¬GM´´½¨ÎïÆ·Ê±Óã¬ÐèÑéÖ¤Ïà¹ØÈ¨ÏÞ
    s²ú³öÎïÆ·Òì³£,ÎÞ·¨´´½¨ÎïÆ· = %sNiiiiiiii(RRuRKR+RER,R5RMR?RRR…RURVtlegendAttrIDListShentlegendAttrValueListShentlegendAttrIDListXiantlegendAttrValueListXiantlegendAttrIDListJitlegendAttrValueListJiRWRX(    R^RÅRtt
expireTimeRt    isAllAttrR\R[RŒ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRkà    s, 
           c!
Csp|jƒ}|jƒ}|jƒ}|jƒ}|jƒrBdnd}tjd|ƒ}|r¬|jƒ|jƒ|j    ƒ|j
ƒ|j ƒ|j ƒ|j ƒ|jƒfStjd||||ƒ}    |    sô|tjkrðtjd|ƒndS|    jƒ}
|
s
dS|r,|jƒ|jƒ} } n5d} tjƒjtjƒ} tjd|| fƒtjd|ƒ} | s}dS| jƒ}g}g}tj|ƒ}|rä|jƒd    krÀdSxá|j ƒD]}||7}qÍWnÀx½|
D]µ\}}g}x'|D]}|j!|j"|gƒƒqWx*|D]"}||kr.|j#|ƒq.q.Wt$|ƒ|krŠtj%d
|||
|f| ƒdS|t&j'||ƒ7}qëWtjd |||||ƒ}|sòtj%d ||||||f| ƒdS|j(ƒ}xS|D]K}||krAtj%d ||||||f| ƒdSd}||}x*|D]"\}}| |krX|}PqXqXW|dkr·tj%d||||||| f| ƒdStjd|ƒ}}|sñtj%d||f| ƒdS|j*ƒ}||kr*tj%d|||f| ƒdS||}t&j+|ƒ} |j,| ƒqW||ggggggfS(sŠ»ñÈ¡Éú³Éµ½×°±¸ÉϵĴ«ÆæÊôÐÔ
    @return: None »òÕß  [´«ÆæÊôÐÔЧ¹ûIDÁбí], [ÊôÐÔÖµÁбí], [ÉñID], [ÉñÖµ], [ÏÉID], [ÏÉÖµ], [¼«ID], [¼«Öµ]
    iit EquipShenAttrtEquipLegendAttrCounts¸Ã×°±¸Ã»Óд«ÆæÊôÐÔ: itemID=%sNsDÉú³É×°±¸´«ÆæÊôÐÔʱûÓÐÍæ¼ÒµÈ¼¶, È¡µ±Ç°ÊÀ½çµÈ¼¶! itemID=%s,worldLV=%stEquipLegendAttrTypeiZsj×°±¸´«ÆæÊôÐÔID¿âÅäÖò»¹»ÌõÊýËæ»ú!itemID=%s,itemType=%s,legendAttrCountInfoList=%s,legendAttrTypeLibDict=%stEquipLegendAttrValuesg´«ÆæÊôÐԵȼ¶ÊýÖµ±íÕÒ²»µ½ÅäÖÃ!itemID=%s,itemType=%s,itemClassLV=%s,itemColor=%s,isSuit=%s,itemQuality=%sst´«ÆæÊôÐԵȼ¶ÊýÖµ±íûÓÐÅäÖÃÊôÐÔID¶ÔÓ¦µÈ¼¶¿â±àºÅ!itemID=%s,itemType=%s,itemClassLV=%s,itemColor=%s,isSuit=%s,attrID=%ss~´«ÆæÊôÐԵȼ¶ÊýÖµ±íÕÒ²»µ½ÊôÐÔID¶ÔÓ¦µÈ¼¶¿â±àºÅ!itemID=%s,itemType=%s,itemClassLV=%s,itemColor=%s,isSuit=%s,attrID=%s,playerLV=%stEquipLegendAttrLibs2´«ÆæÊôÐÔ¿â²»´æÔÚ´«ÆæÊôÐÔIDÅäÖÃ!itemID=%s,attrID=%ss5´«ÆæÊôÐÔ¿â±àºÅ²»´æÔÚ!itemID=%s,attrID=%s,curLibNum=%s(-RR#R[RúRÊRXtGetIpyGameDataNotLogtGetLegendAttrIDListtGetLegendAttrValueListtGetShenAttrIDListtGetShenAttrValueListtGetXianAttrIDListtGetXianAttrValueListtGetJiAttrIDListtGetJiAttrValueListR.tDef_Quality_PurpleRKR¿tGetLegendAttrCountInfoRMRit GetGameWorldtGetGameWorldDictByKeyRgt"Def_Notify_WorldKey_WorldAverageLvRLR*tGetLegendAttrTypeLibRR§t
GetGMLevelRìtextendRûtremoveRR+trandomtsampletGetLVLegendAttrLibNumInfoRtGetLegendAttrLibtchoiceR3(!R\RRˆR^R$t    itemColort itemQualitytisSuitR1tattrCountIpyDatatlegendAttrCountInfoListRtplayerLVtattrTypeIpyDatatlegendAttrTypeLibDicttcurLegAttrIDListtcurLegAttrValueListRÔt
attrIDListt    attrCountt
libNumListtlibNumt    curAttrIDtattrValueIpyDatatattrLVLibNumDicttattrIDt    curLibNumt lvAttrLibListtlvtattrLibIpyDatat attrLibDictt    valueListt    attrValue((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR…
s¢                        
         
cCsZt|ƒ}|d|d|d|d}|d|d|d|d}||fS(    Niiiiiiii(R`(R\RŒt legAttrIDListtlegAttrValueList((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetEquipLegendAttrAllx
s ""cCsXgg}}|jtjƒ}|jtjƒ}||krxOt|ƒD]>}|j|jtj|ƒƒ|j|jtj|ƒƒqJWngg}}|jtjƒ}|jtjƒ}    ||    krxOt|ƒD]>}|j|jtj|ƒƒ|j|jtj|ƒƒqÙWngg}
} |jtj    ƒ} |jtj
ƒ} | | kr­xOt| ƒD]>}|
j|jtj    |ƒƒ| j|jtj
|ƒƒqhWngg}}|jtj ƒ}|jtj ƒ}||kr<xOt|ƒD]>}|j|jtj |ƒƒ|j|jtj |ƒƒq÷Wn|||||
| ||fS(N( R‚RgRƒR„RáR3tGetUserAttrByIndexRaRbRcRdReRf(R\R¾R¿RhRiR    tshenAttrIDListtshenAttrValueListt shenAttrIDCnttshenAttrValueCnttxianAttrIDListtxianAttrValueListt xianAttrIDCnttxianAttrValueCntt jiAttrIDListtjiAttrValueListt jiAttrIDCnttjiAttrValueCnt((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR`
s:  #  #  #  #c Csj|\}}}}}}}}    |r°|r°t|ƒt|ƒkr°|jtjƒ|jtjƒxKtt|ƒƒD]4}
|jtj||
ƒ|jtj||
ƒquWn|rB|rBt|ƒt|ƒkrB|jtjƒ|jtjƒxKtt|ƒƒD]4}
|jtj||
ƒ|jtj||
ƒqWn|rÔ|rÔt|ƒt|ƒkrÔ|jtj    ƒ|jtj
ƒxKtt|ƒƒD]4}
|jtj    ||
ƒ|jtj
||
ƒq™Wn|rf|    rft|ƒt|    ƒkrf|jtj ƒ|jtj ƒxKtt|ƒƒD]4}
|jtj ||
ƒ|jtj |    |
ƒq+WndS(N( Rt ClearUserAttrRgRƒR„Rát AddUserAttrRaRbRcRdReRf( R\RŒR¾R¿RÂRÃRÆRÇRÊRËR    ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR‡¤
s4$$$$RRcBseZd„ZRS(cCsŽd|_d|_g|_t|_d|_t|_tj|_    g|_
g|_ g|_ g|_ g|_g|_g|_g|_dS(Ni(tstarLVtholeCntt    stoneDataRtisSuitetsuiteLVRSRgRTRÖRURVRR‚RƒR„R…R†(R‹((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRÔ
s                                                          (R—R˜R(((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRRÏ
scCsh|jƒj|ƒ}xLt|jƒƒD]8}|j|ƒ}| s(|jƒrVq(n|jƒq(WdS(N(RRRáRRRR5(RR‰tpackR    R\((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt    ClearPackç
sc
CsÃi}x¶|D]®}|jƒj|ƒ}xt|jƒƒD]|}|j|ƒ}| s;|jƒriq;n|jƒ}||kr‡q;n|jƒ}    |jƒ|j|dƒ|    ||<q;Wq W|S(Ni(    RRRáRRRRR5Rû(
RtclearItemIDListt packTypeListtclearCountDictR‰RÕR    R\R^RÅ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt ClearItemIDñ
s    
"cCs,t|tjƒt||d|tjgƒS(Ni(RÖRgt rptTempSwapR7(RR^Rt((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytPutItemInTempSwap scCs0|rt|tjƒn|jtjdƒdS(s£ ¿ªÆôʰȡµÄÎïÆ··ÅÈëÁÙʱ´æ·Å±³°ü
    @param isClearItem: ÊÇ·ñÇå³ýÁÙʱ´æ·Å±³°üÎïÆ·; Ò»°ã¼¤»î¸Ã¹¦ÄÜʱÉèÖÃΪ True£»
                        ÓÉÓÚ±ê¼Ç¸Ã״̬µÄkey¼Ç¼²»´æÓÚÊý¾Ý¿â£¬¹ÊÔÚ¸ÃÉ趨ÓÐЧÆÚÄÚÍæ¼ÒÀëÏßÖØÉϻᵼÖÂÉ趨±»ÖØÖÃ
                        ËùÒÔµÃÔÚÌØ¶¨µÄ¹¦ÄÜÂß¼­ÀÈ縱±¾µÄ DoEnterFB ÖØÐÂÉ趨£©£¬µ«´Ëʱ²»ÄÜÇå¿Õ´Ë±³°üÎïÆ·£¬ÐèÉèÖÃΪ False
                        ·ñÔò»áµ¼ÖÂÖØÐÂÉÏÏߺó֮ǰÒѾ­Ê°È¡µÄÁÙʱÎïÆ·±»Çå¿Õ
    iN(RÖRgt rptTempItemtSetDictR.t!Def_PlayerKey_PickupItemPutInTemp(Rt isClearItem((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytOpenPickupItemPutInTemp scCs|jtjdƒdS(Ni(RÞR.Rß(R((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytClosePickupItemPutInTemp sc
Cs­g}|jƒjtjƒ}xOt|jƒƒD];}|j|ƒ}| s1|jƒr_q1n|j|ƒq1W| r‚| r‚gSt    |ƒt    |ƒ}|t
j |t j |ƒk}    |    r'g}
x$|D]} |
jt
j| ƒƒqÉW|
|7}
|stjn|}tj||jƒg|
ƒnrt|ƒ} x'|D]} | jt j | d|ƒq:Wx9|D]1\} }}t|| ||t j gd|ƒqdWt|tjƒdS(sn ½«ÁÙʱ±³°üÖеÄÎïÆ··ÅÈëÍæ¼ÒÎïÆ·±³°ü
    @param mailType: ÎïÆ·±³°ü¿Õ¼ä²»¹»Ê±Ê¹ÓÃÓʼþ·¢ÎïÆ·¸øÍæ¼ÒµÄÓʼþÄ£°å
    RéN(RRRgRÝRáRRRR3RRR R)RyRtDefaultLackSpaceMailTypeRRRMR{R|R7RÖ(RRét mailTypeKeyt extraItemListt tempItemListRÕR    R\t    needSpacet
isSendMailRttempItemRÒR^titemCntRt((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytDoGivePlayerTempPackItem s2 
  &c
CsÜi}xt|D]l\}}}tjƒj|ƒ}|s;tStj|ƒ}t||||ƒ}    |j|dƒ|    ||<q WxX|jƒD]J\}}    |    t    j
|||    ƒkrŠ|rÐt j |d|gƒntSqŠWt S(NiR(RKRFRGRR.RJRxRûRRR RRR(
RRôRtneedPackSpaceDictR^RêRtR\R‰Rç((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCheckPackSpaceEnough; sc    Csø|s
dSg}i}xÙ|D]Ñ}|s/qn|d \}}    t|ƒdkr[|dnd}
tjƒj|ƒ} | sštjd||jƒƒdStj| ƒ} t| | |    |
ƒ} |j    | dƒ| || <|j
||    |
gƒqW|südSt }x?|j ƒD]1\} } | t j|| | ƒkrt}PqqW|r‰tj||jƒg|ƒtjdt|ƒ|jƒƒnkx9|D]1\}}    }
t|||    |
tjgd|ƒqW|rô|rÛ|dnd}t|||ƒndS(Niis+GivePlayerItemOrMail ÎïÆ·ID²»´æÔÚ itemID=%ss;GivePlayerItemOrMail±³°ü¿Õ¼ä²»¹»£¬·¢ËÍÓʼþ: mailItemList=%sRéR¡(RRKRFRGR+R&R.RJRxRûR3RRRR RRRRMR¿RR7R)RytNotifyGiveAwardInfo(RRôtmailKeyRét isNotifyAwardt giveItemListRìtitemInfoR^RêRtR\R‰RçRèRÙ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGivePlayerItemOrMailN sB "#&cCsg}t|tƒrCg|jƒD]\}}||g^q"}n|}tjj|t|ƒƒ}tjƒ}    ||    _    t
|    j    ƒ|    _ |tj |    _ |tj |    _|rRt|tƒrRxz|jƒD]l\}
} t|
tƒr÷t|
ƒ}
n|
sÍ| r qÍntjƒ} |
| _| | _|    jj| ƒqÍWt
|    jƒ|    _nx‹|D]ƒ} | d \}}t
| ƒdkr‹| dnd}| sY| r¥qYntjƒ}||_||_||_|    jj|ƒqYWt
|    jƒ|    _|rmt|tƒrtj|dtƒ}nt|tƒs=t|ƒ}n|jddƒ}||    _ t
|    j ƒ|    _!nt"j#||    ƒdS(sèÍ¨ÖªÍæ¼Ò»ñµÃ½±ÀøÐÅÏ¢
    @param giveItemInfo: ¿ÉÒÔÊÇÁбí [[itemID,count,isBind], ...] »ò  [[itemID,count], ...] »ò  {itemID:count, ...}
    @param moneyInfo: ½±Àø»õ±ÒÐÅÏ¢ {moneyType:moneyValue, ...} moneyType ¿ÉÒÔÊÇ×Ö·û´®»òÊýÖµ
    iit ensure_asciis R¡N($t
isinstancetdictRR.RúRûRR©ttagMCGiveAwardInfot    EventNameRtEventLentDef_PerPointValuetExpPointtExpRQttagMCGiveAwardMoneyt    MoneyTypet
MoneyValuet    MoneyListR3tMoneyLenttagMCGiveAwardItemRAR¯tIsBindtItemListtItemLentjsontdumpsRtreplacetDataExtDataLenR°R±(Rt giveItemInfoRÙtexpt    moneyInfotdataExtnotifyItemListtatbRÁR2t
moneyValuetmoneyRòR^RÅRSR
((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRîu sT.               "                 c
CsE|s
dS|jƒ}d}d\}}xbtjtjgD]N}|jƒj|ƒ}x0t|jƒƒddd…D]}    |j    |    ƒ}
|
sv|
j
ƒr¤qvn|
j ƒ|kr¼qvnt |
ƒ} t j|
| ƒ} t j||d| ƒ|| 7}|dkr{d\}}xft|
jƒƒD]O}    |
j|    ƒ} | jƒtjkrUq%n| jdƒ}| jdƒ}Pq%Wn|
jƒqvWq;W|s—dSg}|rä|rätjƒj|ƒ}|rä|j|||dgƒqän|r|||g}tj||g||ƒn,|rAt||ddti|d6gƒndS(    Niiÿÿÿÿt RecycleItemiRét RecycleItemID(NN(ii(RMRR)RyRÚRRRRRRRRKRRät
DR_DelItemtGetEffectCountRR R.tDef_Effect_RecycleItemMoneyRþR5RKRFRGR3RRRóR(RR^t notifyMailKeyRt recycleCountt moneyItemIDR1R‰tbackPackR    R\RÅt equipNoteDictR!t addItemListt moneyItemDatat    paramList((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR¦ sP  & 
    &(zR)RKR.RRRgRnR ReRWR«RR©R°R­R#RaRPRYRXR±RVR¸R¯R\RÎRuR_RR R RyRRRRRR"R%R-R0RR:R=RBRCRFRGRURbRcRRpRjRsRƒR…R{RÜRœRRžRŸR¡RßR£R¤R¥R¨RçR¦RÂRÌRÄRÍRçRéRßRïRãRðRëRRR(R7t rptAnyWhereR>R-R?R,R@RMR/RLRlRTRSR2RKRxR“R{R}R€RkR…RÀR`R‡RRRÖRÚRÚRÜRáRâRëRíRóRîR(((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt<module>sî                                                                  :6        
             F    $                  a    ÿÿå                                               '     #        4        8    !    a    ;    š        A    D                  5'     *                              , l        %    +    
          " '1