hxp
2025-08-25 b7154533a3f9db72d0dfc28f21b19ee4aadf1b51
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
¡4¬hc@sæddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZd„Zd„Zejed„Zd„Zd„Z d„Z!d„Z"d    „Z#d
„Z$d „Z%d iejej&gd „Z'ee(d„Z)ee(d„Z*d„Z+d„Z,d„Z-d„Z.d„Z/d„Z0d„Z1e2d„Z3d„Z4d„Z5d„Z6d„Z7dfd„ƒYZ8ddd „Z9d!„Z:d"„Z;d#„Z<d$„Z=d%„Z>e2d&„Z?gd'„Z@d(„ZAe(d)„ZBd*„ZCed+„ZDd,„ZEd-„ZFd.„ZGd/„ZHd0„ZId1„ZJd2„ZKd3„ZLd4„ZMd5„ZNd6„ZOd7„ZPe(d8„ZQe(d eige(d9„ZRd eigejejSge(e(d:„ZTd eigejejSge2d;„ZUd<„ZVe(d=„ZWd>„ZXe2d?„ZYddd d@„ZZdA„Z[ddB„Z\dC„Z]dede(e(dD„Z^dEfdF„ƒYZ_dG„Z`ejej&gdH„ZaddI„ZbdJ„ZcdK„Zdd eige(gdL„Zee2dM„Zfe(d eige2e(dN„Zgd de(e(dO„ZhdP„ZidS(Qiÿÿÿÿ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.pytGetItemPackSpaceIndex1s  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.pytGetItemPackSpaceBs 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.pytCheckPackHasSpaceSs cCs@x9t|jƒƒD]%}|j|ƒ}|jƒsdSqWtS(N(RRRRR(titemPackR    R
((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetPackIsEmptyfs
 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.pytFindPlayerItemCountByItemIDvscCss|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_BindJs6 
 
 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.pyRyBs cCstS(N(R(RC((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytIsValuableItemYsc    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 __DoDragItemfsh        ? !       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³eZd Zd Zd Zd Zd„Zd„Zd„Z    d„Z
de igd„Z de igd„Z de igd„Zede igd„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}|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(Ni((Rš((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetStartEquipCountscCsò|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$*    
    R1c    Csà|j}d}d}|\}}}    |p3t|ƒ}
|tjkr‡|jtjƒpZd} t|jƒ|jtjƒd| ƒ}ng} xt    t
j |ƒƒD]} |j t j|| fƒ}|rÑq£n|
rDt
j||ƒ}i|d6| d6|d6|d6}|j|    ƒt
j|||s4d|n|||ƒn| j| ƒtj|t j|| f|ƒ|jƒ|krt||jƒ|ƒq£|jƒPq£W| rÅt||| ƒn|rÜ|jƒ rÜtStS(    Niitsourcet    packIndext    packPlacet ItemKeyDataR>sVPack_%s(R•R5RvtrptRuneRutDef_IudetRuneSourcetGetRuneItemKeyDataRtDef_IudetRuneLVtxrangeRt GetVPackCnttNomalDictGetPropertyR.tDef_PDict_VPackItemR6tupdatet
DR_GetItemRHRtNomalDictSetPropertyRR4R8tSync_VPackItem_RefreshRRR(RšR©ttagItemteventRt canPutInCnttsetItemKeyDataR>t isForceEventtaddDictt isNeedRecordt
runeSourcetrefreshPlaceListtplacet itemKeyDataRFtnoteDict((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytPutItemInVPack7s:    *" ,  
cCsþ|jƒ}|jƒ}|\}}}|r0n||d<tjj||ƒ|d<tj}    |jƒtjkr¿|jdƒ}
|
j    dƒ|} |
j    dƒ} t
j || | |    |ƒt S|tj krÒtS|tjkrtj||t tjt ƒnú|tjkr(t
j |tj|ƒnÒ|tjkrPt
j |tj|ƒnª|tjkrrt
j||ƒnˆ|tjkr t
j |tj||    |ƒnZ|tjkrÈt
j |tj|ƒn2|tjkrt |ƒ} t!j"ƒj#dddd| t$| ƒƒnì|tj%kr6t
j |tj&|ƒnÄ|tj'kr^t
j |tj(|ƒnœ|tj)kr†t
j |tj*|ƒnt|tj+kr®t
j |tj,|ƒnL|tj-krÖt
j |tj.|ƒn$|tj/krt
j |tj0||    |ƒnö|tj1kr,t
j |tj2|ƒnÎ|tj3krTt
j |tj4|ƒn¦|tj5kr|t
j |tj6|ƒn~|tj7kr¤t
j |tj8|ƒnV|tj9krÌt
j |tj:|ƒn.|tj;krút
j |tj<||    |ƒnt S(Ntreason_name_sont GiveItemEventiitAddBossRebornPoint(=RRR.tItemGiveTypeDicttgettDef_GiveMoney_TransformItemR#tDef_ItemType_AutoUseMoneyRtGetEffectValueRt    GiveMoneyRtDef_TransformItemIDListRtDef_ItemID_FamilyContributiont PlayerFamilytAddPlayerFamilyActiveValueRvtDef_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_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_sp  
     +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•RtGetPlayerServerGroupIDRRROt GetUserDataR;R9tSendMsgToClientServertCrossServerMsg_PutInItem(RšR©R¸R¹Rt serverGroupIDtitemDatatitemMsg((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt__CrossServerPutInItemšs    *(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ƒ} |jdƒ} | jƒt jkrJt|| t|| ƒ|ƒ|j
ƒt S| jƒt jkr›| jdƒ} | r›tj|| || ƒ|j
ƒt Sn| jƒt jkr| jdƒ}|r| jdƒ|}tj||i| d6|d6dd6ƒ|j
ƒt Sn| jƒt jkrƒ| jdƒ}|rƒddl}| jdƒ}|j || ||j!ƒƒ|j
ƒt Snt"j#||| |ƒr©|j
ƒt S| t j$ksÍ|j%ƒt j&kr|t'j(krý|j)|||ƒ|j
ƒt St }t j*}n |j+ƒ}|t'j,kr3t}n|t-j.krU|j/|||ƒS|\}}}|jƒt0j1dƒkr¼|j2t-j3ƒdkr¼|j4t-j3|j5t j6ƒƒq¼n|j7j8|ƒ}|
r|t'j(t-j9t-j:t-j;t-j<gkrt=|ƒp|}
nt}|r±xŽt>d|j!ƒƒD]t}|j?|ƒ}|j@ƒt krcq6n|j@ƒdkr‹tA||ƒ r‹q6n|jBƒt kr£q6nt|ƒ}t|ƒ}||}|dkr×q6n||krH||}tC||ƒtC|||ƒ|
rªtjD||||ƒ}tjE|||||ƒqªq6||}tC||ƒ|j
ƒt }|
r©tjD||||ƒ}tjE|||||ƒnPq6Wn|t krÁt SxÐt>d|j!ƒƒD]¹}|j?|ƒ}|j@ƒt krq×nt|ƒ}t|ƒ}||}|dkr8q×n||kr·tF|jƒ||    ƒ}|jG|ƒtC|||ƒ|
rtjD||||ƒ}tjE|||||ƒqq×|jHƒt'jIkrÜ|jJ|ƒnE|jHƒt'jKkr|jG|ƒn tjLd    |jƒ|jMƒƒt }|
rgtjD|||t|ƒƒ}tjE|||||ƒn|j%ƒt jNkrtOjP||ƒnPq×W|S(
Ns±³°üÂú£¬²»ÄÜ·ÅÈëÎïÆ· count = %diitItemIDt    ItemCountt    isAutoUseiÿÿÿÿtOpenBoxByLoginDayCfgsÎïÆ· = %s·ÅÈë´íÎó(QR•RtCheckItemIsEquipRR9t GetGameDatatGetItemByTypeIDRt IsCrossServert*_PlayerItemControler__CrossServerPutInItemR8RR.tGetItemPackTypeR3tGetIsAuctionItemt CanPutInItemtDebugLogRR tDef_Effect_ItemCounttSetItemCountByIDtGetItemCountByIDtDef_Effect_GubaoPieceRÌt PlayerGubaot AddGubaoPiecetDef_Effect_TiandaoQiyuntPlayerXiangongtAddTiandaoQiyuntDef_Effect_AddFBCnttFBCommontAddFBCntByItemRtPlayerActBossTrialtCheckActItemAutoTransformRÎR#RËR)RˆRÿtDef_UpperLimit_DWordR‡t rptIdentifyRvtDef_VPack_TypeListRÄt ReadChConfigtGetEvalChConfigRutDef_IudetCreateItemLoginDayt SetUserAttrR²tDef_PDict_LoginDayCntR–Rt rptTreasureR¬t rptGatherSoulRR5R°RRRZR2R4R6RµtGetOutPutItemObjR…tGetGameWorldItemTypet gwitRoleItemRtgwitSingleItemR_R;tDef_ItemType_Herot
PlayerHerotOnGiveHeroItem( RšR©R¸t defaultPileR¹RtisEquipt curItemDatat tagItemCountt isAuctionItemR¾R<titemEfftgubaoIDRtaddQiyunR$tmapIDRŽ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"  
 
 
 
 
    cCs5tjƒrtS|j|||||ƒ\}}|S(N(R9RRtCanPutInItemEx(RšR©t    curItemIDRDR=R9tcheckRettputIndex((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRzs !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ÿÿÿÿ( R9RRRR_RtIsPutinAutoTransformItemR)RˆRR.R(R‡RR•RvR*R°RR±R²R³R–RRRRR2RVRROR3(RšR©RIRDR=R9tgameDataR;RŽt maxCanPutItemRRÁRÂt    itemIndexRR    R
((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRHˆsb  
 
       
    
 
 
   !   
N(t__name__t
__module__RR•R–R˜R™RœR£R¤RžRRÄRÿRRR‹RRH(((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRŠÚs                  *(;Î 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 †((RT((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetRuneItemPlusLVÔscCs|dS(Niʚ;((RT((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetRuneItemIsLockÕscCs |ddS(Niʚ;iáõ((RT((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetRuneItemSourceÖscCs|dkp|jƒtjkS(Ni(RmR.tDef_Quality_Orange(RCtplusLV((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytIsRuneItemNeedRecord×scCsbtj|tj||f|ƒ|r^|dkrHt|||gƒq^t|||gƒndS(Ni(RR¶R.R³R·tSync_VPackItem_Clear(RR©RÁRTtisSync((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    ItemPlaceRtVPacklItemListRHRátCountt 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_ttagMCVPackClearR8Rat ItemPlaceListRáReRfRg(RR©Rht
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
PyGameDatatAutoTransformCountItemIDListRRR_ttagMCAutoItemCountR8R RRHttagMCAutoItemCountRefresht ItemCountListRáReRfRg(Rt
itemIDListtforcet itemCountListR<RDt    countInfot
clientPack((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytSync_AutoItemCounts,   
         
    cCs;tjƒj|ƒ}t||j|j|j|jƒdS(N(R9RßtGetPlayerByIndextDropItemToOtherPackt 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.Rt__DoDropItemToOtherPackRHRR( Rt fromPackIndext desPackIndexRtisAlltmovePackt itemControlt fullPackListRORCt toPackIndext fullPackIndex((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRz.s0    c Cs½|j||ƒr |jƒtS|jƒ}|jƒ}t|ƒ}|tjkr|tj    ||tƒslt
S|j ||ƒS|j ||||ƒ\}    }
|    s¤t
St |||||
|ƒS(N(RÿR8RRRRRvR¬RRRRÄRHR”( RRˆR„RŠRORCt curItemTypeIDRDR=RJRK((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRƒQs
   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 __DoResetItemos2         
cCsdS(N((RR©RRžR((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt    ResetItemªscCsƒ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£RtCheckJobR¤tGetEquipGearScoretGetEquipPackIndexR#R.tDef_ItemType_RunetDef_ItemType_RuneExpRHR¥R§R¨R…R(RRRRžR©R    RªRCR<R«tequipGSGreaterListtequipGSLesserListt runeItemListR¡R­R®tequipGSt
cmpEquipGStcmpItemR¯R
((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#RmR±RROR²RRjRlR(R³R´RµR¶R·((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR§ls(   $$+  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ªRCR¯R
((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR”Ås    cCs|d\}}xit|jtjƒƒD]O}|jtj|ƒ}tj|ƒ\}}}|tjkrmq%n|}Pq%Wxit|jtjƒƒD]O}|jtj|ƒ}tj|ƒ\}}}|tjkrÙq‘n|}Pq‘W|rð|sþ| rK| rK|jtj    ƒ}    |jtj    ƒ}
|    |
kr=|jtj
ƒ} |jtj
ƒ} | | kr/|jtj ƒ} |jtj ƒ}| |kr!|j ƒ}|j ƒ}t jd|ƒ}t jd|ƒ}|rÜ|jƒnd}|rô|jƒnd}||krt||ƒSt||ƒ St| |ƒ St| | ƒ St|    |
ƒ S|rUdS|r_dSt|j ƒ|j ƒƒSdS(svÅÅÐò¹æÔò£ºÉÏÕóÎ佫ÅÅǰ£¬Î´ÉÏÕóÎ佫Åźó£¬ÔÙ¸÷×Ô°´ÕÕÒÔϹæÔòÅÅÐò
    Î佫µÈ¼¶£¾Í»ÆÆµÈ¼¶£¾Î佫ÐǼ¶£¾Î佫ƷÖÊ£¾Î佫ID
    itHeroiÿÿÿÿiN(ii(RtGetUserAttrCountRvtDef_IudetHeroLineuptGetUserAttrByIndexR7tGetLineupValuet Lineup_MainRutDef_IudetHeroLVtDef_IudetHeroBreakLVtDef_IudetHeroStarRRjtGetIpyGameDatat
GetQualityR²(R³R´tposNum1tposNum2tlpIndext lineupValuetlineupIDt_tposNumtlv1tlv2tbLV1tbLV2tstar1tstar2theroID1theroID2tipyData1tipyData2tquality1tquality2((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRÊ×sT        cCst|ƒt|ƒdS(N(t__CheckTransferItemPackRx(R((sjD:\SG_ServerCode\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(RjRltkeysR¥R²RŠR;R9R_titemsRRR°RRRRRRƒRHtGetMailItemDictR8RR¶t SendMailByKey(RttransferItemPackRecordDicttverListt lastVersiontkeyt
curVersiont mailItemListRˆtplayerIDt    newVerNumttransferItemPackRulettransferPackInfoRst fromPackTypet
toPackTypetfromPackROR
R<RD((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRéŠsT 
 
 
            
c
Csntjddiƒ}i}x]|jƒD]O\}}|dkrR||krRq(ntj||ƒr(||t|ƒ<q(q(W|s…dS|jƒjt    j
ƒ}xtt |j ƒƒD]`}|j |ƒ}| s°|jƒrÞq°n|jƒ}    |    |kr°|j|    ƒ|sPqq°q°WxS|jƒD]E\}    }t||    dtt    j
gƒsOPntjd||    fƒq!WdS(Nt PutInItemPackiis*¸ø°ó¶¨»õ±ÒÏÔʾÎïÆ·: moneyType=%s,itemID=%s(RjRlRîRRtGetMoneytintRRR)RˆR°RRRRtpoptGivePlayerItemRR9R(
RtcheckMoneyTypetbindMoneyItemInfotneedMoneyItemDictt    itemIDStrRýRR    RCR<((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCheckGiveBindMoneyTypeItemÆs0    c
Cs#|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| stStj|ƒr‹t} xZt|ƒD]L}t|d|d|d|ƒ}|se| St||||ƒr7t} q7q7W| St} x‹t|t
jdƒD]r}|dkr¿Pnt|||d|d|ƒ}|sç| St|ƒ}t||||ƒr©t} ||8}q©q©W| S(s2¸øÍæ¼ÒÎïÆ·
    @param isAuctionItem: ÊÇ·ñÅÄÆ·
    it AuctionItemsC·ÇÅÄÂôÎïÆ·£¬Ä¬ÈÏתΪ·ÇÅÄÆ·! itemID=%s,itemCount=%s,isAuctionItem=%siRt setAttrDict(RR9RRRjRÔR:R;R)RˆR.RRŠRRRt
GetIsEquipR°R2tDoLogic_PutItemInPackRtDef_ItemCount_MaxR3(RR<RDR=t packIndexListR¹R    R;tipyDatat defaultPackR©tcanPutInRˆtisOKRÛt outPutEquiptgiveItemt    giveCount((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRèsX            c Csãd}xÖt|tjdƒD]½}    ||kr4Pnt||||d|ƒ}
|
sZ|St|
ƒ} t|ƒtkr‘|jtj    |
ƒƒnt|ƒtkr¹|j|
j
ƒƒnt ||
||ƒr|| 7}qqW|S(NiiR( RR.R R2R3ttypetlistRHRt GetJsonItemRR ( RR<RDR=R¹R t jsonItemListt userDataListt giveOKCountRÛRRÈ((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytDoGiveItemLoop$s  cCsTt|ƒ}x*|D]"}|j||||ƒrtSqW|jƒtjdƒtS(Ns,DoLogic_PutItemInPack Error ÎïÆ·ÎÞ·¨·ÅÈë±³°ü(RŠR‹RR8R9R:R(Rt curGiveItemR¹R R9RˆR©((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR Fs      
 cCs
|jƒS(N(RO(RC((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR_scCs:|j|ƒ|r6|jtjttjƒƒƒdSdS(N(R†R.RvtDef_IudetAuctionItemCreateTimeRttime(RCR=R((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.pyRhscCsRtdt|tjƒƒ}tj|tj||ƒ|rNt||gƒn|S(Ni(tmaxR‰R.R(RR¶R Rx(RR<RDR]((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRjs
cCsƒ|jƒs(|jt|tjƒƒnWy ddWnHd|||f}tj|ttj    ƒƒdtj
ƒƒ‚nXdS(Niis)%s %s %s -- ItemControler->SetItemCount::s
( RRÄR‰R.R R9R:RÞt    tracebackt extract_stackt
format_exc(R
tcntR÷taccIDt
playerNamet    errorInfo((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR4xs  +cCs
|jƒS(N(R(R
((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR3ƒscCsTt|ƒr+|tjkrdStj}n |jƒ}ttj|t    |ƒƒƒS(Ni(
RLR)RˆR.R(R‡Rtmathtceiltfloat(RBR
RDR=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.RÎR#RËRRR RRRÌ(R
R>R?((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRL“s*cCs=tj||||||ƒ}|s9tjd|ƒdS|S(sC »ñÈ¡¹¦Äܲú³öµÄÎïÆ·ÊµÀý
    @param isAuctionItem: ÊÇ·ñÅÄÆ·£¬Ä¬ÈÏ·ÇÅÄÆ·
    @param expireTime: ÓÐЧʱ¼ä£¬Ê±¼äµ¥Î»ÓÉʱЧÀàÐ;ö¶¨
    @param curPlayer: ²ú³ö¸ÃÎïÆ·Ê±µÄÍæ¼Ò£¬ÎïÆ·Ä³Ð©ÊôÐÔÓÉÍæ¼ÒµÈ¼¶¾ö¶¨£¬Èç´«ÆæÊôÐÔ
    @param setAttrDict: Ö±½ÓÉèÖÃÎïÆ·µÄÊôÐÔ {key:value, ...} keyÖ§³Ö  ShareDefine.Def_IudetXXX×Ö·û´® »ò ×Ô¶¨key
    s²ú³öÎïÆ·Òì³£,ÎÞ·¨´´½¨ÎïÆ· = %sN(RR„R9R:(R<RDR=t
expireTimeRR    RC((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR2¢s
tSingleEquipTmpDatacBseZd„ZRS(cCsŽd|_d|_g|_t|_d|_t|_tj|_    g|_
g|_ g|_ g|_ g|_g|_g|_g|_dS(Ni(tstarLVtholeCntt    stoneDataRtisSuitetsuiteLVtisBindRvtItem_Source_UnkownR¨tlegendAttrIDListtlegendAttrValueListtlegendAttrIDListShentlegendAttrValueListShentlegendAttrIDListXiantlegendAttrValueListXiantlegendAttrIDListJitlegendAttrValueListJi(Rš((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRœ·s                                                          (RPRQRœ(((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR.²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    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°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 rptTempSwapR(RR<R=((sjD:\SG_ServerCode\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?Rvt rptTempItemtSetDictR.t!Def_PlayerKey_PickupItemPutInTemp(Rt isClearItem((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytOpenPickupItemPutInTempëscCs|jtjdƒdS(Ni(RFR.RG(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(RRRvRER°RRRRHRáRR R)RˆRïtDefaultLackSpaceMailTypeRRðR;RŠR‹RR?(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(R9RRRR.RR,RÉRîRR RRR(
RR«RtneedPackSpaceDictR<RRR=RCRBRO((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(RáR9RRR:tGetIDR.RR,RÉRHRRîRR RRRðR;RRÞRR)RˆtNotifyGiveAwardInfo(RR«tmailKeyR¹t isNotifyAwardt notifyDataExt giveItemListRTtitemInfoR<RRR=RCRBRORPR>((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGivePlayerItemOrMail1    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ƒ}||_|tj |_|tj |_||_|    jj|ƒqYWt
|    jƒ|    _|r„t|tƒr6tj|dtƒ}nt|tƒsTt|ƒ}n|j ddƒ}||    _!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
isinstancetdictRîR.RÈRÉRÞR_ttagMCGiveAwardInfot    EventNameRátEventLentDef_PerPointValuetExpPointtExpRttagMCGiveAwardMoneyt    MoneyTypet
MoneyValuet    MoneyListRHtMoneyLenttagMCGiveAwardItemR RetCountExtIsBindtItemListtItemLentjsontdumpsRtreplacetDataExtDataLenRfRg(Rt giveItemInfoR>texpt    moneyInfoRVtnotifyItemListtatbRwRýt
moneyValuetmoneyR]R<RDR4R
((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRXX    sV.               "             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_RecycleItemMoneyRÌR8R9RRRHRRðR^R(RR<t notifyMailKeyR÷t recycleCountt moneyItemIDRüRBtbackPackR    RCRDt equipNoteDictR!t addItemListt moneyItemDatat    paramList((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRŠ    sP  & 
    &(jR)R9R.RRRvR"trandomR+tChItemt PlayerSuccessRÐR_RftOperate_EquipStoneR&R!RjtDataRecordPackRRntChEquipR7R)RRrR R RˆRRRRRR"R%R-R0R•RGRRNRQRVRWRZR[RgR5RrRRRyR‚R’R”RŠR®RURVRWRXR[R^R·R\RxR‚RzRƒRŸR RšR¦R›R§R¢R”RÊRêRéRRt rptAnyWhereRR RRRRR4R3R,RLR2R.R?RBRDRIRJRSRUR^RXR(((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt<module>sÌ                                                              1:6        
             F    $                  a    ÿ÷                               '     #        ;        8    !    a    ;            ®        < "<!'                        
          " '2