hxp
2025-06-12 59331b7135fb10c24382d76fb0a3d721dddca7ee
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
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
™¨Jhc@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(d iejej)gd „Z*e e+d„Z,e e+d„Z-d„Z.d„Z/d„Z0d„Z1d„Z2d„Z3d„Z4e5d„Z6d„Z7d„Z8d„Z9d„Z:dfd„ƒYZ;ddd „Z<d!„Z=d"„Z>d#„Z?d$„Z@d%„ZAd&„ZBd'„ZCd(„ZDd)„ZEe5d*„ZFgd+„ZGd,„ZHe+d-„ZId.„ZJe d/„ZKd0„ZLd1„ZMd2„ZNd3„ZOd4„ZPd5„ZQd6„ZRd7„ZSd8„ZTd9„ZUd:„ZVd;„ZWd<„ZXe+d e igd=„ZYd e igejejZge+e+d>„Z[d e igd?„Z\d@„Z]dA„Z^d e igejejZge5dB„Z_dC„Z`d e igejejZge5dD„ZadE„Zbe+dF„ZcdG„Zde5dH„Zeddd dI„ZfdJ„ZgddK„ZhdL„ZidM„ZjdN„ZkdO„Zlde de+e dP„Zme dQ„ZndR„ZodS„ZpdT„ZqdUfdV„ƒYZrdW„Zsejej)gdX„ZtddY„ZudZ„Zvd[„Zwd e ige+gd\„Zxe5d]„Zye+d e ige5e+d^„Zzd de+e+d_„Z{d`„Z|dS(aiÿÿÿÿNcCsX|jƒj|ƒ}x<td|jƒƒD]%}|j|ƒ}|jƒr+|Sq+WdS(Niiÿÿÿÿ(tGetItemManagertGetPacktrangetGetCounttGetAttIsEmpty(t    curPlayert    packindextcurPacktititem((sjD:\SG_ServerCode\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
((sjD:\SG_ServerCode\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
((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCheckPackHasSpaceVs cCs@x9t|jƒƒD]%}|j|ƒ}|jƒsdSqWtS(N(RRRRR(titemPackR    R
((sjD:\SG_ServerCode\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
((sjD:\SG_ServerCode\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
((sjD:\SG_ServerCode\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((sjD:\SG_ServerCode\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
((sjD:\SG_ServerCode\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((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCheckCanEquipHorseÄs cCs|jƒtjkS(N(R#tChConfigtDef_ItemType_MissionItem(R
((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt IsEventItemÞstcCs|}xj|D]b}|jƒj|ƒ}xDtd|jƒƒD]-}    |j|    ƒ}
|
jƒreq>n|
jƒ|kr}q>n|
jƒrq>nt|
ƒ} | |kr| |} t    |
| ƒt
|
ƒrþt j |
|| | ƒ} t j |||| |ƒnd}nTt
|
ƒrGt j |
| | dƒ} t j |||| |ƒn|
jƒ|| 8}|dkr>tSq>Wq Wtjd||||f|jƒƒtS(s¢¿Û³ýÍæ¼ÒÎïÆ·£¬´Ó¶à¸ö±³°ü¼ì²é£¬Ò»°ãÊÇÓÃÓÚ²»ÊÇÁ¢Âí¿Û³ýµÄÂß¼­£¬·ÀÖ¹Íæ¼Ò¿ìËٰѱ³°üÎïÆ··ÅÈë²Ö¿âµ¼Ö¿۳ýʧ°Ü
    Èç¿ç·þ¹¦ÄÜ£¬ÓÐЩÂß¼­ÐèÒª¿ç·þÑéÖ¤»ò´¦Àíºó²Å½øÐп۳ý
    isJ¿Û³ýÎïÆ·Ê§°Ü£¬ÎïÆ·²»×ã! itemID=%s,delCount=%s,remainDelCnt=%s,eventName=%s(RRRRRRRt GetIsLockedt GetItemCountt SetItemCounttItemNeedRecordRtGetItemNoteDictt
DR_DelItemtClearRt    GameWorldtErrLogt GetPlayerIDR(RtitemIDtdelCountt    eventNamet saveDataDictt packTypeListt remainDelCnttpackTypeRR    tcurItemt    itemCountt updItemCountt itemNoteDict((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytDelPlayerItemByPacksás:     
       
 
      c
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(RRRRRRRR2R0R4RRtappendtGetGUIDR8R(
RRRtcountt delEventItemtguidListRt curDelCountR    R
((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt DelPlayerItems6   
 
 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    GetIsBindR4RRRHRIR8R( RRRRJtisbindRKRLRRMR    R
((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytDelPlayerItem_BindMs6 
 
 cCs ||kr||krtStS(N(RR(t    srcItemIDt srcItemIsBindt
destItemIDtdestItemIsBind((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCanPackItemByItemTypeƒscCs ||kr||krtStS(N(RR(RRRSRTRU((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCanPackItemByItemBind’scCs+t|jƒ|jƒ|jƒ|jƒƒS(N(RVRRO(tsrcItemtdestItem((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt CanPackItemœscCs+t|jƒ|jƒ|jƒ|jƒƒS(N(RWRRO(RXRY((sjD:\SG_ServerCode\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
rptDeletedR9tLogR;RRRRRRR2RRR0( Rt fromPackPlacet    fromIndext toPackPlacettoIndexRJt itemManagerRttoPackRXRYtputCount((sjD:\SG_ServerCode\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(RCt
recordOpenR$R<titemTypeMinColorDicttminColort defaultNeed((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR5ös&    
cCsP|jƒ}|jƒ}|tjddƒksH|tjddƒkrLtStS(NRiii(R#RRjRlRR(RCR$R<((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytItemNotNeedRecords   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((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCheckItemUseLV*s  cCs|jƒ}|S(N(tGetUseLV(RCtinitLV((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRyEs cCstS(N(R(RC((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytIsValuableItem\sc    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Í϶¯´´½¨Òì³£R\isÎïÆ·¶ÑµþÒì³£ = %s,%s(RgRRtSwitchRRtCreateSingleItemRRR9R_R;R5t
AssignItemR4t    SetIsBindROR2RRt GetPackCountR)trptItemR[tminRZtPlayerItemControlert    PutInItem(RR`RaRbRcRJtresultRXRYRft needPutItemt maxPackCounttdestRemainCountt realPutCounttplayerItemControl((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt __DoDragItemish        ? !       cCsn||kr)||kr)tjdƒdSt||||||ƒ}|tkrj|j||||ƒdS|S(Ns!###ÆðʼλÖúÍÖÕֹλÖÃÏàͬ, ²»´¦Àí(R9R_R’RtNotify_ItemPutFail(RR`RaRbRcRJRŒ((sjD:\SG_ServerCode\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__PlayerEquipRˆt _PlayerItemControler__PlayerItem(tselftiPlayer((sjD:\SG_ServerCode\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•R2RRRR0RtCheckJobt    GetSexReqR.tDef_PlayerSex_AlltGetSexRR(RšRCR}RtcurItemNeedSexReq((sjD:\SG_ServerCode\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šRCtequipPackIndexRt    equipPacktcurEquip((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt SwitchEquip.s         cCsdS(N((Rš((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytRefreshStartEquipCountAscCsdS(Ni((Rš((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetStartEquipCountSscCsœ|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||ƒidd6|d6|    d6|
d    6| d
6}tj|t j|ƒ|j| | ƒn|jƒ|r˜|SdS( NiÿÿÿÿiR1it    EquipItemtdotypet    desItemIDt desUserDataRRt srcUserData(R¦RRtGetItemClassLVt GetEquipPlaceR•R˜RRRt GetUserDataRmR.tDef_Quality_OrangeR­t PlayerSuccesstDoEquipSuccessLogictOperate_EquipStonetDoMoveEquipStonetDataRecordPacktCache_FightPowerChangeInfotPowerDownType_EquipChanget)_PlayerItemControler__UpdEquipOrangeCountR®(RšRCRªtclassLVt
equipPlaceRR«t    equipItemR²R³RRR´tbefIsOrangeEquiptaftIsOrangeEquipRŒtdataDict((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR°\s,         6.!)
cCsi|j}|jtjƒ}td|||ƒ}tj|tj|ƒtjd||||fƒdS(Nisi¸üгÈ×°¼°ÒÔÉϼþÊý: befIsOrangeEquip=%s,aftIsOrangeEquip=%s,befEquipOrangeCount=%s,aftEquipOrangeCount=%s(    R•tNomalDictGetPropertyR.tDef_PlayerKey_EquipOrangeCounttmaxRtNomalDictSetPropertyR9tDebugLog(RšRÄRÅRtbefEquipOrangeCounttaftEquipOrangeCount((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt__UpdEquipOrangeCount}s        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(    RORRR RR‡R4R8R(RšR¬RCt
euqipCounttequipPackCountRDtsumValue((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR¨Œs$*    
    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 ||
ƒnidd6|d6|d    6}t!j"|tj#|ƒ|||
fS(
NRRžiRit UnEquipItemR±tequipIDtuserData($R•R˜RRRRR·R¶t
GetSuiteIDRRµR2RRR0R–RR)RˆRRmR.R¸R”R—R®RÀtGetFaceEquipIndexListtDef_SyncEquipStateByIndextSync_UnEquipItemtChEquiptGetEquipFacadeClassLVtChangeEquipfacadeByClassLVR½R¾R¿(Ršt
equipIndext    packIndexRRÃR¬RÓRÔRÂtsuiteIDt itemClassLVRt curEquipCountRÄRÅRÆ((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRÒµsD               !!
$ R1c    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 ItemKeyDataR>sVPack_%s(R•R5RvtrptRuneRutDef_IudetRuneSourcetGetRuneItemKeyDataRtDef_IudetRuneLVt rptGatherSoultGetGatherSoulItemKeyDatatDef_IudetGatherSoulLVtxrangeRt GetVPackCntRÇR.tDef_PDict_VPackItemR6tupdatet
DR_GetItemRHRRÊRR4R8tSync_VPackItem_RefreshRRR(RšRÝttagItemteventRt canPutInCnttsetItemKeyDataR>t isForceEventtaddDictt isNeedRecordt
runeSourcetrefreshPlaceListtplacet itemKeyDataRFtnoteDict((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytPutItemInVPacks>    *$" ,  
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ÉRuRvtDef_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_BossReborntstrR9tGetPlayerManagertGameServer_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<RDR>RõRötmoneyEventNametcurEfft
moneyCountt    moneyTypetmsgStr((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytDoTransformItem/st !
     +cCs£|tjtjgkrdS|j}tj|ƒ}|jƒ|jƒ|j    ƒ|j
ƒg}i|j ƒd6|d6|d6|d6}t j tj||gƒdS(NtPlayerIDtItemDatat    PackIndextEvent(R)RˆRvt rptDogzItemR•RtGetPlayerServerGroupIDRRROR·R;R9tSendMsgToClientServertCrossServerMsg_PutInItem(RšRÝRñRòRt serverGroupIDtitemDatatitemMsg((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt__CrossServerPutInItemls    *(c# CsR|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|||ƒ|
rJtjJ||||ƒ}!tjK||||!|ƒqJqx|rq|jN||ƒn|jOƒt.jPkr–|jQ|ƒnE|jOƒt.jRkr»|jM|ƒn tjSd    |jƒ|jTƒƒt }|
r!tjJ|||t|ƒƒ}!tjK||||!|ƒn|jƒt jUkrItVjW||ƒnPqxW|S(
Ns±³°üÂú£¬²»ÄÜ·ÅÈëÎïÆ· count = %diitItemIDt    ItemCountt    isAutoUseiÿÿÿÿtOpenBoxByLoginDayCfgsÎïÆ· = %s·ÅÈë´íÎó(XR•RtCheckItemIsEquipRR9t GetGameDatatGetItemByTypeIDRt IsCrossServert*_PlayerItemControler__CrossServerPutInItemR8RR.tGetItemPackTypeR3tGetIsAuctionItemt CanPutInItemRËR#tDef_ItemType_ActiveMWItemtDef_ItemType_ActiveMWItem2tPlayerMagicWeapont
DoActiveMWRRR tDef_Effect_ItemCounttSetItemCountByIDtGetItemCountByIDtDef_Effect_GubaoPiecet PlayerGubaot AddGubaoPiecetDef_Effect_TiandaoQiyuntPlayerXiangongtAddTiandaoQiyuntDef_Effect_VIPLVCardt    PlayerVipt UpgradeVIPLVtDef_Effect_AddFBCnttFBCommontAddFBCntByItemRtPlayerActBossTrialtCheckActItemAutoTransformRRR)RˆR<tDef_UpperLimit_DWordR‡RvtDef_VPack_TypeListRýt ReadChConfigtGetEvalChConfigRutDef_IudetCreateItemLoginDayt SetUserAttrRÇtDef_PDict_LoginDayCntR–Rt rptTreasureRäRèRAR5RëRRRZR2R4R6RïtGetOutPutItemObjR…tCheckEquipAttrtGetGameWorldItemTypet gwitRoleItemR§tgwitSingleItemR_R;tDef_ItemType_Herot
PlayerHerotOnGiveHeroItem(#RšRÝRñt defaultPileRòRtisEquipt curItemDatat tagItemCountt isAuctionItemR÷R<titemEfftgubaoIDRKtaddQiyunttagVIPLVtisOKt_RftmapIDRŽR>RõRöRt    putResultR    R
t packItemCountt curItemCountt canPutinCounttupdCountRFt curCreateItem((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR‹~s         
  !
 "
 
 
(
 
 
 
 
$
  %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(tGetUserAttrCountRvtDef_IudetLegendAttrIDtDef_IudetLegendAttrValueR•tGetAddEquipLegendAttrRtGetEquipGearScoretSetEquipLegendAttrt MakeEquipGSR9RËRR;(    RšRBRCtlegendAttrIDCounttlegendAttrValueCountRtlegendAttrInfotsrcScoretupdScore((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRsOs               #cCs5tjƒrtS|j|||||ƒ\}}|S(N(R9RPRtCanPutInItemEx(RšRÝt    curItemIDRˆR~RztcheckRettputIndex((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRTls !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ÿÿÿÿ( R9RNRORR_RtIsPutinAutoTransformItemR)RˆRR.RjR‡RRR•RvRkRëRRìRÇRíR–RRRRR2RVRROR3(RšRÝR™RˆR~RztgameDataR|RŽt maxCanPutItemRRúRût    itemIndexRR    R
((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR˜zsb  
 
       
    
 
 
   !   
N(t__name__t
__module__RR•R–R˜R™RœR¦R­R®R¯R°RÀR¨RÒRRýR<RQRR‹RsRTR˜(((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRŠÝs(         ;                    !        )    P*=Ñ     iicCs=|dkrdnd}|d|dt|dƒd|S(Niiiʚ;iáõiçi †(R‰(R<tRuneLVt    lockStateRá((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRæÂscCs|dS(Ni †((tkeyData((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt GetRuneItemIDÅscCs |ddS(Niáõi †((R¤((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetRuneItemPlusLVÆscCs|dS(Niʚ;((R¤((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetRuneItemIsLockÇscCs |ddS(Niʚ;iáõ((R¤((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetRuneItemSourceÈscCs|dkp|jƒtjkS(Ni(RmR.R¸(RCtplusLV((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytIsRuneItemNeedRecordÉscCst|dƒd|S(Niçi †(R‰(R<t GatherSoulLV((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRéÍscCs|dS(Ni †((R¤((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetGatherSoulItemIDÏscCs |ddS(Niáõi †((R¤((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetGatherSoulItemPlusLVÐscCs|dkp|jƒtjkS(Ni(RmR.R¸(RCR©((sjD:\SG_ServerCode\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((sjD:\SG_ServerCode\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ìtChPyNetSendPackttagMCVPackRefreshR8tPackTypeRÇR.RíttagMCVPackItemt    ItemPlaceR>tVPacklItemListRHRtCountt NetPackCommont SendFakePack(RRÝt    placeListt vpackRefreshRúRût    vpackItem((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRðÝs" 
      
        cCsX|s
dStjƒ}|jƒ||_||_t|jƒ|_tj||ƒdS(N(    R²ttagMCVPackClearR8R´t ItemPlaceListRR¸R¹Rº(RRÝR»t
vpackClear((sjD:\SG_ServerCode\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
PyGameDatatAutoTransformCountItemIDListRR[R²ttagMCAutoItemCountR8RIRJRHttagMCAutoItemCountRefresht ItemCountListRR¸R¹Rº(Rt
itemIDListtforcet itemCountListR<RDt    countInfot
clientPack((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytSync_AutoItemCountüs,   
         
    cCs;tjƒj|ƒ}t||j|j|j|jƒdS(N(R9RtGetPlayerByIndextDropItemToOtherPackt SrcBackpackt DesBackPacktSrcIndextIsAll(tindext
clientDatattickR((sjD:\SG_ServerCode\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.RRt__DoDropItemToOtherPackRHRR( Rt fromPackIndext desPackIndexRÒtisAlltmovePackt itemControlt fullPackListRŸRCt toPackIndext fullPackIndex((sjD:\SG_ServerCode\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(R<R8RRRRSRvRäRRRRýR˜R”( RRÛR×RÝRŸRCt curItemTypeIDRˆR~RšR›((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRÖKs
   cCsi|jƒtjkr)tj|dƒdS|jƒj|ƒ}|dkrNdS|dkrm|jƒd}n|t    j
kr¼||j ƒtj kr™dS|j |ƒt||||ƒnŸ|tjkr||jtjƒtjtjkrõdS|jtj|ƒt||||ƒn=||j ƒtj kr;dS|j |ƒt||||ƒ|jƒdS(NtGeRen_liubo_254483ii(tGetPlayerActionR.tDef_Player_ResetItem_StateRRRRRRRvtrptHerotGetResetItemTicktDef_ItemPackResetIntervaltSetResetItemTickt ResetHeroPackR)t rptWarehouset GetTickByTypetTYPE_Player_Tick_WareHouseSorttTYPE_Player_Tick_Timet SetTickByTypetResetWareHouset ResetRolePackt Sync_Refresh(RRÝt
beingIndextendIndexRÔR((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt __DoResetItemis2         
cCs$t|||||ƒ|jƒdS(N(RòtNotify_PackResetOK(RRÝRðRñRÔ((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt    ResetItem¤s
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_AddItemInListtvaluesRtCheckNoteEquipGSRHtsortt__CmpWareHouseEquipt __CmpRolePacktWipePackR…R(RRRðRñtitemDictR    t curRoleItemRCR<titemListt equipGSListttmpListttmpItemtputPlaceR
((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRí¬s8          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(    RxRmtGetItemQualityR#tcmpRRjRlRÒ(titem1titem2t    itemType1t    itemType2ttypeList((sjD:\SG_ServerCode\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_RuneExpRHRùRûRüR…R(RRRðRñRýR    RþRCR<RÿtequipGSGreaterListtequipGSLesserListt runeItemListR«RRtequipGSt
cmpEquipGStcmpItemRR
((sjD:\SG_ServerCode\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#RmRRRORRRjRlRÒ(RRR    R
R ((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRûfs(   $$+  cCsË|jƒ}|jƒ}xƒ|D]{}|jƒ}t||ƒsFqn||krXqn||}||krƒ|j||ƒdS|j|ƒ||}qW|dkrÇ|j|ƒ|j|ƒndS(Ni(RR‡RZtSetCountRH(tcurListtaddItemRDt    packCountRCtcurCountt canPlaceCount((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRö¡s$     
    c
Cs¹g}xUt||dƒD]@}|j|ƒ}|jƒrAqn|jƒ}|j|ƒqW|jtƒ|j||ƒ|}x1|D])}    |j|ƒj|    t    ƒ|d7}qˆWdS(Ni(
RRRRõRHRùt __CmpHeroPackRüR…R(
RRRðRñRÿR    RþRCRR
((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRç¿s    cCs¼|jtjƒ}|jtjƒ}|r0|s>| r‹| r‹|jtjƒ}|jtjƒ}||kr}|jtjƒ}|jtjƒ}||kro|jtjƒ}|jtjƒ}    ||    kra|jƒ}
|jƒ} tjd|
ƒ} tjd| ƒ} | r| j    ƒnd}| r4| j    ƒnd}||krSt
|
| ƒSt
||ƒ St
||    ƒ St
||ƒ St
||ƒ S|r•dS|rŸdSt
|jƒ|jƒƒSdS(svÅÅÐò¹æÔò£ºÉÏÕóÎ佫ÅÅǰ£¬Î´ÉÏÕóÎ佫Åźó£¬ÔÙ¸÷×Ô°´ÕÕÒÔϹæÔòÅÅÐò
    Î佫µÈ¼¶£¾Í»ÆÆµÈ¼¶£¾Î佫ÐǼ¶£¾Î佫ƷÖÊ£¾Î佫ID
    tHeroiiÿÿÿÿiN( RuRvtDef_IudetHeroPosNumtDef_IudetHeroLVtDef_IudetHeroBreakLVtDef_IudetHeroStarRRjtGetIpyGameDatat
GetQualityR(RRtposNum1tposNum2tlv1tlv2tbLV1tbLV2tstar1tstar2theroID1theroID2tipyData1tipyData2tquality1tquality2((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRÑs:       cCst|ƒt|ƒdS(N(t__CheckTransferItemPackRË(R((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt OnPlayerLoginps
 
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(RjRltkeysRùRÇRŠR;R9R_titemsRRRëRRRRRRÖRHtGetMailItemDictR8RRÊt SendMailByKey(RttransferItemPackRecordDicttverListt lastVersiontkeyt
curVersiont mailItemListRÛtplayerIDt    newVerNumttransferItemPackRulettransferPackInfoRÆt fromPackTypet
toPackTypetfromPackRŸR
R<RD((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR2usT 
 
 
            
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( RRRRRRR0RHtGetIDR9R_RR8(RRÝRRÿR    R
t curPlayerID((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytClearPackEventItem¶s    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ÿÿ(RR9RNRORjR"R:R;R)RˆR.RRRŠRTRtGetAppointItemRealIDRëtGivePlayerAppointItemRt
GetIsEquipRrtDoLogic_PutItemInPackRR3(RR<RDR~t packIndexListRòR|tipyDatat defaultPackRÝtcanPutInRÛRƒR„t outPutEquiptgiveItemt    giveCount((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGivePlayerItemÎsd              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(
RRrR3ttypetlistRHRt GetJsonItemR·RN( RR<RDR~RòROt jsonItemListt userDataListt giveOKCountR„RTR((sjD:\SG_ServerCode\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    appointIDR~Ròt itemDictData((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRL+    scCs€t|ƒ}|siStjd|ƒ}|s2iSi}|jƒ|d<|jƒ|d<||d<|jƒ|d<||d<|S(sj»ñÈ¡¶¨ÖƱíÎïÆ·Êý¾Ý£¬¶¨ÖÆÎïÆ·Ä¬ÈϸöÊý1
    @param appointID ¶¨ÖƱíID
    @param isAuctionItem ÊÇ·ñÅÄÆ·
    t AppointItemt legendAttrIDtlegendAttrValueRItCancelUseLimitt IsAuctionItem(RKRjR"tGetLegendAttrIDtGetLegendAttrValuetGetCancelUseLimit(R`R~R<RPRa((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR^6    s 
 
cCsZtjƒj|ƒ}|sdS|jdƒ}|jƒ}|tjkrMdS|jdƒS(s»ñÈ¡¶¨ÖÆÎïÆ·¶ÔÓ¦µÄÕæÊµÎïÆ·IDi(R9RNRORR R.tDef_Effect_AppointItemR(R<RCR8tcurEffID((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRKL    s cCs"t|ƒ}t|||||ƒS(N(t GetItemByDataRN(RRFRòRBRzRÃ((sjD:\SG_ServerCode\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( NRIiRfR~tSourceRcRdtUserDatatEquipGSRei(tintRRR„tSingleEquipTmpDatatisBindRRvtItem_Source_UnkownRátlegendAttrIDListtlegendAttrValueListtChItemtEquipAddAdditionExtSetItemUserDatatSetEquipGearScoreRoRw(RFR<R~RÃt tmpEquipDataRÔR((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRlg    s,        $ 
 cCsTt|ƒ}x*|D]"}|j||||ƒrtSqW|jƒtjdƒtS(Ns,DoLogic_PutItemInPack Error ÎïÆ·ÎÞ·¨·ÅÈë±³°ü(RŠR‹RR8R9R:R(Rt curGiveItemRòRORzRÛRÝ((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRNœ    s      
 cCs
|jƒS(N(RO(RC((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRSµ    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(R†RoRvtDef_IudetAuctionItemCreateTimeRpttimeRRMRŒRRŽtGetEquipLegendAttrGroupRtDef_IudetLegendAttrIDShentDef_IudetLegendAttrValueShentDef_IudetLegendAttrIDXiantDef_IudetLegendAttrValueXiantDef_IudetLegendAttrIDJitDef_IudetLegendAttrValueJitUpdateItemUserDataR(RCR~RtlegendAttrIDCnttlegendAttrValueCntR•t
updateDictt
delKeyList((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytSetIsAuctionItem¶    s< 
 
 
 
 cCs|jtj|ƒS(N(RÇR.tDef_PDict_ItemCount(RR<((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR[à    scCsRtdt|tjƒƒ}tj|tj||ƒ|rNt||gƒn|S(Ni(RÉR‰R.RjRRÊRŒRË(RR<RDR°((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRZâ    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œRoRvRR‰R.RjRR9R:Rt    tracebackt extract_stackt
format_exc(R
tcntR@taccIDt
playerNamet    errorInfo((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR4ð    s " +cCs&t|ƒr|jtjƒS|jƒS(N(RœRuRvRR(R
((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR3þ    s cCsTt|ƒr+|tjkrdStj}n |jƒ}ttj|t    |ƒƒƒS(Ni(
RœR)RˆR.RjR‡Rptmathtceiltfloat(RBRFRDR~R((sjD:\SG_ServerCode\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#RRRR RYR\R(RFRR€((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRœ
s*cCs|jƒtjkS(N(t IsBothHandsRvtDef_Weapon_Two_Handed(R¬((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytIsTwoHandedWeapon#
scCs|jƒtjkS(N(R˜RvtDef_Weapon_Dual_Hands(R¬((sjD:\SG_ServerCode\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¬((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetMultiPlaceEquipPlace3
s    c    Cs(tj||||ƒ}|s3tjd|ƒdS|jƒtjkrL|Stj|ƒs_|St|ƒrˆ|j    ƒt
t ||ƒƒ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(RR„R9R:R#R.RwRMRKR8RlR^RqRRtRutlegendAttrIDListShentlegendAttrValueListShentlegendAttrIDListXiantlegendAttrValueListXiantlegendAttrIDListJitlegendAttrValueListJiRvRw(    R<RDR~t
expireTimeRt    isAllAttrRCRzR•((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRrG
s0 
           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#RmRRÕRjtGetIpyGameDataNotLogtGetLegendAttrIDListtGetLegendAttrValueListtGetShenAttrIDListtGetShenAttrValueListtGetXianAttrIDListtGetXianAttrValueListtGetJiAttrIDListtGetJiAttrValueListR.tDef_Quality_PurpleR9RËtGetLegendAttrCountInfoR;Rxt GetGameWorldtGetGameWorldDictByKeyRvt"Def_Notify_WorldKey_WorldAverageLvR_R"tGetLegendAttrTypeLibRRµt
GetGMLevelR÷textendRtremoveRR:trandomtsampletGetLVLegendAttrLibNumInfoRtGetLegendAttrLibtchoiceRH(!RCRR§R<R$t    itemColort itemQualitytisSuitRPtattrCountIpyDatatlegendAttrCountInfoListR@tplayerLVtattrTypeIpyDatatlegendAttrTypeLibDicttcurLegAttrIDListtcurLegAttrValueListRßt
attrIDListt    attrCountt
libNumListtlibNumt    curAttrIDtattrValueIpyDatatattrLVLibNumDicttattrIDt    curLibNumt lvAttrLibListtlvtattrLibIpyDatat attrLibDictt    valueListt    attrValue((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRw
s¢                        
         
cCsZt|ƒ}|d|d|d|d}|d|d|d|d}||fS(    Niiiiiiii(R(RCR•t legAttrIDListtlegAttrValueList((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetEquipLegendAttrAllã
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ŒRvRRŽRëRHtGetUserAttrByIndexR€RR‚RƒR„R…(RCRÝRÞR‡RˆR    tshenAttrIDListtshenAttrValueListt shenAttrIDCnttshenAttrValueCnttxianAttrIDListtxianAttrValueListt xianAttrIDCnttxianAttrValueCntt jiAttrIDListtjiAttrValueListt jiAttrIDCnttjiAttrValueCnt((sjD:\SG_ServerCode\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 ClearUserAttrRvRRŽRët AddUserAttrR€RR‚RƒR„R…( RCR•RÝRÞRáRâRåRæRéRêR    ((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR‘ s4$$$$RqcBseZd„ZRS(cCsŽd|_d|_g|_t|_d|_t|_tj|_    g|_
g|_ g|_ g|_ g|_g|_g|_g|_dS(Ni(tstarLVtholeCntt    stoneDataRtisSuitetsuiteLVRrRvRsRáRtRuR R¡R¢R£R¤R¥(Rš((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRœ? s                                                          (R R¡Rœ(((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRq: scCsh|jƒj|ƒ}xLt|jƒƒD]8}|j|ƒ}| s(|jƒrVq(n|jƒq(WdS(N(RRRëRRRR8(RRBtpackR    RC((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt    ClearPackR 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ëRRRRR8R(
RtclearItemIDListR@tclearCountDictRBRôR    RCR<RD((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt ClearItemID\ s    
"cCs,t|tjƒt||d|tjgƒS(Ni(RõRvt rptTempSwapRV(RR<R~((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytPutItemInTempSwapm scCs0|rt|tjƒn|jtjdƒdS(s£ ¿ªÆôʰȡµÄÎïÆ··ÅÈëÁÙʱ´æ·Å±³°ü
    @param isClearItem: ÊÇ·ñÇå³ýÁÙʱ´æ·Å±³°üÎïÆ·; Ò»°ã¼¤»î¸Ã¹¦ÄÜʱÉèÖÃΪ True£»
                        ÓÉÓÚ±ê¼Ç¸Ã״̬µÄkey¼Ç¼²»´æÓÚÊý¾Ý¿â£¬¹ÊÔÚ¸ÃÉ趨ÓÐЧÆÚÄÚÍæ¼ÒÀëÏßÖØÉϻᵼÖÂÉ趨±»ÖØÖÃ
                        ËùÒÔµÃÔÚÌØ¶¨µÄ¹¦ÄÜÂß¼­ÀÈ縱±¾µÄ DoEnterFB ÖØÐÂÉ趨£©£¬µ«´Ëʱ²»ÄÜÇå¿Õ´Ë±³°üÎïÆ·£¬ÐèÉèÖÃΪ False
                        ·ñÔò»áµ¼ÖÂÖØÐÂÉÏÏߺó֮ǰÒѾ­Ê°È¡µÄÁÙʱÎïÆ·±»Çå¿Õ
    iN(RõRvt rptTempItemtSetDictR.t!Def_PlayerKey_PickupItemPutInTemp(Rt isClearItem((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytOpenPickupItemPutInTemps scCs|jtjdƒdS(Ni(RüR.Rý(R((sjD:\SG_ServerCode\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(RRRvRûRëRRRRHRRR R)RˆR8tDefaultLackSpaceMailTypeRR9R;RŠR‹RVRõ(RRòt mailTypeKeyt extraItemListt tempItemListRôR    RCt    needSpacet
isSendMailR?ttempItemRÛR<titemCntR~((sjD:\SG_ServerCode\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(R9RNRORR.RRR—RR7RR RRR(
RRÿRtneedPackSpaceDictR<RR~RCRBR((sjD:\SG_ServerCode\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ƒƒnqx9|D]1\}    }
} t||    |
| tjgd|ƒqW|rú|rÛ|dnd}t|||d|ƒndS(Niis+GivePlayerItemOrMail ÎïÆ·ID²»´æÔÚ itemID=%ss;GivePlayerItemOrMail±³°ü¿Õ¼ä²»¹»£¬·¢ËÍÓʼþ: mailItemList=%sRòR1tdataEx(RR9RNROR:RGR.RRR—RRHRR7RR RRR9R;RËRRVR)RˆtNotifyGiveAwardInfo(RRÿtmailKeyRòt isNotifyAwardt notifyDataExt giveItemListR
titemInfoR<RR~RCRBRRR>((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGivePlayerItemOrMail¹ 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 R1N($t
isinstancetdictR7R.RRRR²ttagMCGiveAwardInfot    EventNameRtEventLentDef_PerPointValuetExpPointtExpRpttagMCGiveAwardMoneyt    MoneyTypet
MoneyValuet    MoneyListRHtMoneyLenttagMCGiveAwardItemRIR¸tIsBindtItemListtItemLentjsontdumpsRtreplacetDataExtDataLenR¹Rº(Rt giveItemInfoR>texpt    moneyInfoR tnotifyItemListtatbRÊR:t
moneyValuetmoneyRR<RDRrR
((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR à 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(R;RR)RˆRèRRRRRRRR3RR6R7tGetEffectCountRR R.tDef_Effect_RecycleItemMoneyRR8R9RNRORHRR9RR(RR<t notifyMailKeyR@t recycleCountt moneyItemIDR9RBtbackPackR    RCRDt equipNoteDictR!t addItemListt moneyItemDatat    paramList((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR3 sP  & 
    &(}R)R9R.RRRvRR¿RlRvR¹R
R²R¹R»R+RhRWR`RjR½R]RÁRcRÙRxR”R~R&R R RˆRRRRRR"R%R-R0RèRGRRNRQRVRWRZR[RgR5RrRRRyR‚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ûRöRçRR3R2RIRVt rptAnyWhereR]RLR^RKR_RlRNRSR‹R[RZR4R3R—RœRšRœRŸRrRRßRR‘RqRõRøRúRÿRR    R RR R3(((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt<module>sö                                                                 1:6        
             F    $                  a    ÿÿç                                               '     #        ;        8    !    a    ;            Ÿ        A    D                  5'     *                              0 l        %    +    
          " '1