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
:×;ic@sªddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZd„Zd„Zejed„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd iejejgd „Z ee!d „Z"ee!d„Z#d„Z$d„Z%d„Z&d„Z'd„Z(d„Z)d„Z*e+d„Z,d„Z-d„Z.d„Z/d„Z0dfd„ƒYZ1ddd„Z2d „Z3d!„Z4d"„Z5d#„Z6d$„Z7e+d%„Z8gd&„Z9d'„Z:e!d(„Z;d)„Z<ed*„Z=d+„Z>d,„Z?d-„Z@d.„ZAd/„ZBd0„ZCd1„ZDd2„ZEd3„ZFd4„ZGd5„ZHd6„ZIe!d7„ZJe!d eige!d8„ZKd eigejejLge!e!d9„ZMd eigejejLge+d:„ZNd;„ZOe!d<„ZPd=„ZQe+d>„ZRd?„ZSe+d@„ZTddd dA„ZUdB„ZVddC„ZWdD„ZXdede!e!dE„ZYdFfdG„ƒYZZdH„Z[ejejgdI„Z\ddJ„Z]dK„Z^dL„Z_d eige!gdM„Z`e+dN„Zae!d eige+e!dO„Zbd de!e!dP„ZcdQ„ZddS(Riÿÿÿÿ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.pytGetItemPackSpaceIndex+s  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.pytGetItemPackSpace<s 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.pytCheckPackHasSpaceMs cCs@x9t|jƒƒD]%}|j|ƒ}|jƒsdSqWtS(N(RRRRR(titemPackR    R
((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetPackIsEmpty`s
 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.pytFindPlayerItemCountByItemIDpscCss|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ªscCs|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(RRRRRRRR*R(R,RRtappendtGetGUIDR0R(
RRRtcountt delEventItemtguidListRt curDelCountR    R
((sjD:\SG_ServerCode\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(RRRRRRRRR(t    GetIsBindR,RRR@RAR0R( RRRRBtisbindRCRDRRER    R
((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytDelPlayerItem_Bind2s6 
 
 cCs ||kr||krtStS(N(RR(t    srcItemIDt srcItemIsBindt
destItemIDtdestItemIsBind((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCanPackItemByItemTypehscCs ||kr||krtStS(N(RR(RJRKRLRM((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCanPackItemByItemBindwscCs+t|jƒ|jƒ|jƒ|jƒƒS(N(RNRRG(tsrcItemtdestItem((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt CanPackItemscCs+t|jƒ|jƒ|jƒ|jƒƒS(N(RORRG(RPRQ((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(Rt IPY_GameWorldt
rptDeletedR1tLogR3RRRRRRR*RRR(( Rt fromPackPlacet    fromIndext toPackPlacettoIndexRBt itemManagerRttoPackRPRQtputCount((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt __CanDragItem•sV   &&      cCstjddƒ}|stS|jƒ}|jƒ}|tjddƒksd|tjddƒkrtjd||fƒtStjddƒ}||krª||}n
|d}|jƒ|krÊt    S|tjddƒksú|tjdd    ƒkrþt    Stjddƒ}|S(
sVÅжÏÊÇ·ñÐèÒª¼Ç¼
        ¼Ç¼ÓÅÏȼ¶£º ¿ª¹Ø > ÐèÒª¼Ç¼µÄ > ²»ÐèÒª¼Ç¼µÄ > Î´ÖªÉ趨
    t
ItemRecorditItemRecordRuleiis/²»ÐèÒª¼Ç¼µÄÎïÆ·ÀàÐÍ»òID! itemType=%s,itemID=%siii(
t IpyGameDataPYt
GetFuncCfgRR#RtGetFuncEvalCfgR1tDebugLogt GetItemColorR(R;t
recordOpenR$R4titemTypeMinColorDicttminColort defaultNeed((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR-Ûs(    
cCsP|jƒ}|jƒ}|tjddƒksH|tjddƒkrLtStS(NRbii(R#RRcReRR(R;R$R4((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.pytCheckItemUseLVs  cCs|jƒ}|S(N(tGetUseLV(R;tinitLV((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRs+s cCstS(N(R(R;((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytIsValuableItemBsc    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Í϶¯´´½¨Òì³£RTisÎïÆ·¶ÑµþÒì³£ = %s,%s(R`RRtSwitchRRtCreateSingleItemRRR1RXR3R-t
AssignItemR,t    SetIsBindRGR*RRt GetPackCountRVtrptItemRStminRRtPlayerItemControlert    PutInItem(RRYRZR[R\RBtresultRPRQR_t needPutItemt maxPackCounttdestRemainCountt realPutCounttplayerItemControl((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt __DoDragItemOsh        ? !       cCsn||kr)||kr)tjdƒdSt||||||ƒ}|tkrj|j||||ƒdS|S(Ns!###ÆðʼλÖúÍÖÕֹλÖÃÏàͬ, ²»´¦Àí(R1RXRŒRtNotify_ItemPutFail(RRYRZR[R\RBR†((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„Zd„Zede igd    „Zed
„Zed „ZRS( cCsO||_|jjƒ|_|jjtjƒ|_|jjtjƒ|_dS(N(    t_PlayerItemControler__PlayerRt'_PlayerItemControler__PlayerItemManagerRRVtrptEquipt!_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’RRRtPutInRVR‘tSwitchCanSpliceEquipRt
SwitchItemR(R”R;tequipPackIndexRt    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.pytGetStartEquipCountëscCsò|jƒ|jƒkrtS|jdƒjƒ|jdƒjƒkrJtS|jƒ}|jƒ}|dks€|jƒdkr„tS||kr”tS|jƒ}||}||krÐt||ƒ|jƒnt||ƒt|||ƒtS(Nii(    RGRRR RRR,R0R(R”RœR;t
euqipCounttequipPackCountR<tsumValue((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR˜ös$*    
    R)c    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 ItemKeyDataR6sVPack_%s(RR-RptrptRuneRotDef_IudetRuneSourcetGetRuneItemKeyDataRtDef_IudetRuneLVtxrangeRt GetVPackCnttNomalDictGetPropertyR&tDef_PDict_VPackItemR.tupdatet
DR_GetItemR@RtNomalDictSetPropertyRR,R0tSync_VPackItem_RefreshRRR(R”R£ttagItemteventRt canPutInCnttsetItemKeyDataR6t isForceEventtaddDictt isNeedRecordt
runeSourcetrefreshPlaceListtplacet itemKeyDataR>tnoteDict((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytPutItemInVPack s:    *" ,  
cCsz|jƒ}|jƒ}|\}}}|r0n||d<tjj||ƒ|d<tj}    |jƒtjkr¿|jdƒ}
|
j    dƒ|} |
j    dƒ} t
j || | |    |ƒt S|tj krÒtS|tjkrút
j |tj|ƒn||tjkrt
j||ƒnZ|tjkrJt
j |tj||    |ƒn,|tjkrrt
j |tj|ƒn|tjkr¸t|ƒ} tjƒjdddd| t| ƒƒn¾|tjkràt
j |tj |ƒn–|tj!krt
j |tj"|ƒnn|tj#kr0t
j |tj$|ƒnF|tj%krXt
j |tj&|ƒn|tj'kr€t
j |tj(|ƒnö|tj)kr®t
j |tj*||    |ƒnÈ|tj+krÖt
j |tj,|ƒn |tj-krþt
j |tj.|ƒnx|tj/kr&t
j |tj0|ƒnP|tj1krNt
j |tj2|ƒn(|tj3krvt
j |tj4|ƒnt S(Ntreason_name_sont GiveItemEventiitAddBossRebornPoint(5RRR&tItemGiveTypeDicttgettDef_GiveMoney_TransformItemR#tDef_ItemType_AutoUseMoneyRtGetEffectValueRt    GiveMoneyRtDef_TransformItemIDListRtDef_ItemID_SilverMoneyRVtTYPE_Price_Silver_Moneyt Def_ItemID_SPtPlayerAddZhenQitDef_ItemID_GoldPapertTYPE_Price_Gold_PapertDef_ItemID_RealmPointRptTYPE_Price_RealmPointtDef_ItemID_BossReborntstrR1tGetPlayerManagertGameServer_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_FamilyFlagWarPoint(R”RR²R³R4R<R6R¶R·tmoneyEventNametcurEfft
moneyCountt    moneyTypetmsgStr((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytDoTransformItemHsd  
     +cCs£|tjtjgkrdS|j}tj|ƒ}|jƒ|jƒ|j    ƒ|j
ƒg}i|j ƒd6|d6|d6|d6}t j tj||gƒdS(NtPlayerIDtItemDatat    PackIndextEvent(RVR‚Rpt rptDogzItemRRtGetPlayerServerGroupIDRRRGt GetUserDataR3R1tSendMsgToClientServertCrossServerMsg_PutInItem(R”R£R²R³Rt serverGroupIDtitemDatatitemMsg((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt__CrossServerPutInItem}s    *(cCsa|jƒ}|tjkr;t||t||ƒ|ƒn"|tjkr]tj||ƒndS(N(R R&tDef_Effect_ItemCounttSetItemCountByIDtGetItemCountByIDtDef_Effect_AddActivitytPlayerActivityt DoAddActivity(R”RR²titemEffR4R<teffectID((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt__autoUseByEffectID‰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 jkrF|j||| | |ƒ|j
ƒt S| jƒt jkr¼| jdƒ} | r¼| jdƒ|}tj||i| d6|d6dd6ƒ|j
ƒt Sn| jƒt jkr.| jdƒ} | r.ddl}| jdƒ}|j|| ||jƒƒ|j
ƒt Sn| t jksR|jƒt j kr”|t!j"kr‚|j#|||ƒ|j
ƒt St }t j$}n |j%ƒ}|t!j&kr¸t}n|t'j(krÚ|j)|||ƒS|\}}}|jƒt*j+dƒkrA|j,t'j-ƒdkrA|j.t'j-|j/t j0ƒƒqAn|j1j2|ƒ}|
r™|t!j"t'j3t'j4t'j5t'j6gkr™t7|ƒp“|}
nt}|r6xŽt8d|jƒƒD]t}|j9|ƒ}|j:ƒt krèq»n|j:ƒdkrt;||ƒ rq»n|j<ƒt kr(q»nt|ƒ}t|ƒ}||}|dkr\q»n||krÍ||}t=||ƒt=|||ƒ|
r/tj>||||ƒ}tj?|||||ƒq/q»||}t=||ƒ|j
ƒt }|
r.tj>||||ƒ}tj?|||||ƒnPq»Wn|t krFt SxÐt8d|jƒƒD]¹}|j9|ƒ}|j:ƒt kr‰q\nt|ƒ}t|ƒ}||}|dkr½q\n||kr<t@|jƒ||    ƒ}|jA|ƒt=|||ƒ|
rtj>||||ƒ}tj?|||||ƒqq\|jBƒt!jCkra|jD|ƒnE|jBƒt!jEkr†|jA|ƒn tjFd    |jƒ|jGƒƒt }|
rìtj>|||t|ƒƒ}tj?|||||ƒn|jƒt jHkrtIjJ||ƒnPq\W|S(
Ns±³°üÂú£¬²»ÄÜ·ÅÈëÎïÆ· count = %diitItemIDt    ItemCountt    isAutoUseiÿÿÿÿtOpenBoxByLoginDayCfgsÎïÆ· = %s·ÅÈë´íÎó(KRRtCheckItemIsEquipRR1t GetGameDatatGetItemByTypeIDRt IsCrossServert*_PlayerItemControler__CrossServerPutInItemR0RR&tGetItemPackTypeR+tGetIsAuctionItemt CanPutInItemRfRR tAutoUseItemEffectIDListt'_PlayerItemControler__autoUseByEffectIDtDef_Effect_TiandaoQiyunRÆtPlayerXiangongtAddTiandaoQiyuntDef_Effect_AddFBCnttFBCommontAddFBCntByItemRRÈR#RÅRVR‚RñtDef_UpperLimit_DWordRt rptIdentifyRptDef_VPack_TypeListR¾t ReadChConfigtGetEvalChConfigRotDef_IudetCreateItemLoginDayt SetUserAttrR¬tDef_PDict_LoginDayCntRRt rptTreasureR¦t rptGatherSoulRöR-RªRRRRR*R,R.R¯tGetOutPutItemObjRtGetGameWorldItemTypet gwitRoleItemR—tgwitSingleItemRXR3tDef_ItemType_Herot
PlayerHerotOnGiveHeroItem(R”R£R²t defaultPileR³RtisEquipt curItemDatat tagItemCountt isAuctionItemR¸R4RR
taddQiyunRtmapIDRˆR6R¶R·Rt    putResultR    R
t packItemCountt curItemCountt canPutinCounttupdCountR>t curCreateItem((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR…›sð         
  !
 
(
 
$
      %1"  
 
 
 
 
    cCs5tjƒrtS|j|||||ƒ\}}|S(N(R1RRtCanPutInItemEx(R”R£t    curItemIDR6R1R-tcheckRettputIndex((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR^s !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ÿÿÿÿ( R1R RRRXRtIsPutinAutoTransformItemRVR‚RR&RRRRRpRRªRR«R¬R­RRRRRR*RNRRGR+(R”R£R;R6R1R-tgameDataR/Rˆt maxCanPutItemRR»R¼t    itemIndexRR    R
((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR:lsb  
 
       
    
 
 
   !   
N(t__name__t
__module__RRRR’R“R–RRžR˜RR¾RñRRRR…RR:(((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR„Ãs                  *(5     à iicCs=|dkrdnd}|d|dt|dƒd|S(Niiiʚ;iáõiçi †(Rƒ(R4tRuneLVt    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 †((RF((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetRuneItemPlusLV¸scCs|dS(Niʚ;((RF((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetRuneItemIsLock¹scCs |ddS(Niʚ;iáõ((RF((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetRuneItemSourceºscCs|dkp|jƒtjkS(Ni(RgR&tDef_Quality_Orange(R;tplusLV((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»RFtisSync((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«tChPyNetSendPackttagMCVPackRefreshR0tPackTypeR¬R&R­ttagMCVPackItemt    ItemPlaceRótVPacklItemListR@RÕ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(    RQttagMCVPackClearR0RSt ItemPlaceListRÕRWRXRY(RR£RZt
vpackClear((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRNÛ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
PyGameDatatAutoTransformCountItemIDListRRRQttagMCAutoItemCountR0RR    R@ttagMCAutoItemCountRefresht ItemCountListRÕRWRXRY(Rt
itemIDListtforcet itemCountListR4R<t    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(R1RÓ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__DoDropItemToOtherPackR@RR( Rt fromPackIndext desPackIndexRqtisAlltmovePackt itemControlt fullPackListRAR;t toPackIndext fullPackIndex((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRls0    c Cs½|j||ƒr |jƒtS|jƒ}|jƒ}t|ƒ}|tjkr|tj    ||tƒslt
S|j ||ƒS|j ||||ƒ\}    }
|    s¤t
St |||||
|ƒS(N(RñR0RRRRRpR¦RRRR¾R:RŽ( RRzRvR|RAR;t curItemTypeIDR6R1R<R=((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRu5s
   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_StateRRRRRRRptrptHerotGetResetItemTicktDef_ItemPackResetIntervaltSetResetItemTickt ResetHeroPackRVt rptWarehouset GetTickByTypetTYPE_Player_Tick_WareHouseSorttTYPE_Player_Tick_Timet SetTickByTypetResetWareHouset ResetRolePackt Sync_Refresh(RR£t
beingIndextendIndexRsR((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt __DoResetItemSs2         
cCsdS(N((RR£RRRs((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_AddItemInListtvaluesRtCheckNoteEquipGSR@tsortt__CmpWareHouseEquipt __CmpRolePacktWipePackRR(RRRRtitemDictR    t curRoleItemR;R4titemListt 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(    RrRgtGetItemQualityR#tcmpRRcReRq(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”RRRVR‘R•RtCheckJobR–tGetEquipGearScoretGetEquipPackIndexR#R&tDef_ItemType_RunetDef_ItemType_RuneExpR@R—R™RšRR(RRRRR›R    RœR;R4R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#RgR£RRGR¤RRcReRq(R¥R¦R§R¨R©((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR™Ps(   $$+  cCsË|jƒ}|jƒ}xƒ|D]{}|jƒ}t||ƒsFqn||krXqn||}||krƒ|j||ƒdS|j|ƒ||}qW|dkrÇ|j|ƒ|j|ƒndS(Ni(RRRRtSetCountR@(tcurListtaddItemR<t    packCountR;tcurCountt 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“R@R—t __CmpHeroPackRšRR(
RRRRRR    RœR;R¡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(RtGetUserAttrCountRptDef_IudetHeroLineuptGetUserAttrByIndexR+tGetLineupValuet Lineup_MainRotDef_IudetHeroLVtDef_IudetHeroBreakLVtDef_IudetHeroStarRRctGetIpyGameDatat
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__CheckTransferItemPackRj(R((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt OnPlayerLoginis
 
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(RcRetkeysR—R¬R„R3R1RXtitemsRRRªRRRRRRuR@tGetMailItemDictR0RR°t SendMailByKey(RttransferItemPackRecordDicttverListt lastVersiontkeyt
curVersiont mailItemListRztplayerIDt    newVerNumttransferItemPackRulettransferPackInfoRet fromPackTypet
toPackTypetfromPackRAR
R4R<((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRÛnsT 
 
 
            
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(RcReRàRRtGetMoneytintRRRVR‚RªRRRRtpoptGivePlayerItemRR1Rf(
RtcheckMoneyTypetbindMoneyItemInfotneedMoneyItemDictt    itemIDStrRïRR    R;R4((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCheckGiveBindMoneyTypeItemªs0    c
Cså|dkrtStjƒj|ƒ}|s/tS|r>d}n|sMtjn|d}tj||ƒ}    |    |ks|| rˆ|    g}nt}
t|ƒ} x0|D](}    | j    |    |||ƒr¡t
}
Pq¡q¡W|
s×tSt j |ƒrMt} xZt |ƒD]L} t|d|d|d|ƒ}|s'| St||||ƒrùt
} qùqùW| St} x‹t|tjdƒD]r} |dkrPnt|||d|d|ƒ}|s©| St|ƒ}t||||ƒrkt
} ||8}qkqkW| S(s2¸øÍæ¼ÒÎïÆ·
    @param isAuctionItem: ÊÇ·ñÅÄÆ·
    iiRt setAttrDict(RR1R RRVR‚R&RR„RRRt
GetIsEquipRªR&tDoLogic_PutItemInPackRtDef_ItemCount_MaxR+(RR4R<R1t packIndexListR³RúR/t defaultPackR£tcanPutInRztisOKRÍt outPutEquiptgiveItemt    giveCount((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRôÌsP           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ýR&R+ttypetlistR@Rt GetJsonItemRøRü( RR4R<R1R³Rþt jsonItemListt userDataListt giveOKCountRÍRRº((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytDoGiveItemLoops  cCsTt|ƒ}x*|D]"}|j||||ƒrtSqW|jƒtjdƒtS(Ns,DoLogic_PutItemInPack Error ÎïÆ·ÎÞ·¨·ÅÈë±³°ü(R„R…RR0R1R2R(Rt curGiveItemR³RþR-RzR£((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRü*s      
 cCs
|jƒS(N(RG(R;((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRCscCs:|j|ƒ|r6|jtjttjƒƒƒdSdS(N(R€R"RptDef_IudetAuctionItemCreateTimeRòttime(R;R1R((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytSetIsAuctionItemDs
 cCs|jtj|ƒS(N(R¬R&tDef_PDict_ItemCount(RR4((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRLscCs•|jtj|ƒ}tdt|tjƒƒ}tj|tj||ƒ||krxtj    ||ƒrxdt
_ qxn|r‘t ||gƒn|S(Nii( R¬R&RtmaxRƒRRR°t PlayerGubaotAutoTransGubaoPieceR`tg_transItemSignRj(RR4R<ROtbefCount((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRNs cCs=t||ƒ}||kr9tjd|||fƒtStS(Ns)ÎïÆ·Ë鯬²»×ã! itemID=%s,itemCount=%s < %s(RR1RfRR(RR4t    needCountR<((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCheckItemEnoughByID\s
 cCsTt||ƒ}||kr9tjd|||fƒtSt|||||ƒtS(Ns-¿Û³ýÎïÆ·Ë鯬²»×ã! itemID=%s,itemCount=%s < %s(RR1RfRRR(RR4R5ROR<((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytDelItemCountByIDbs  cCsƒ|jƒs(|jt|tjƒƒnWy ddWnHd|||f}tj|ttj    ƒƒdtj
ƒƒ‚nXdS(Niis)%s %s %s -- ItemControler->SetItemCount::s
( RR¶RƒR&RýR1R2RÒt    tracebackt extract_stackt
format_exc(R
tcntRétaccIDt
playerNamet    errorInfo((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR,qs  +cCs
|jƒS(N(R(R
((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR+|scCsTt|ƒr+|tjkrdStj}n |jƒ}ttj|t    |ƒƒƒS(Ni(
R>RVR‚R&RRRòtmathtceiltfloat(R:RüR<R1R¹((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetItemNeedPackCount~s    cCsr| s|jƒ rtS|jƒtjksB|jƒtjkrFtS|jdƒ}|jƒtj    krntStS(Ni(
RRR&RÈR#RÅRRR R(RüR((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR>Œ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~R1R2(R4R<R1t
expireTimeRRúR;((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR&—s
tSingleEquipTmpDatacBseZd„ZRS(cCsŽd|_d|_g|_t|_d|_t|_tj|_    g|_
g|_ g|_ g|_ g|_g|_g|_g|_dS(Ni(tstarLVtholeCntt    stoneDataRtisSuitetsuiteLVtisBindRptItem_Source_UnkownR¢tlegendAttrIDListtlegendAttrValueListtlegendAttrIDListShentlegendAttrValueListShentlegendAttrIDListXiantlegendAttrValueListXiantlegendAttrIDListJitlegendAttrValueListJi(R”((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR–¬s                                                          (RBRCR–(((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ªRRRR0(RR:tpackR    R;((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ªRRRRR0RÃ(
RtclearItemIDListR8tclearCountDictR:R5R    R;R4R<((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt ClearItemIDÉs    
"cCs,t|tjƒt||d|tjgƒS(Ni(R6Rpt rptTempSwapRô(RR4R1((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(R6Rpt rptTempItemtSetDictR&t!Def_PlayerKey_PickupItemPutInTemp(Rt isClearItem((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytOpenPickupItemPutInTempà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(RRRpR<RªRRRR@RÕRR RVR‚RátDefaultLackSpaceMailTypeRRâR3R„R…RôR6(RR³t mailTypeKeyt extraItemListt tempItemListR5R    R;t    needSpacet
isSendMailRèttempItemRzR4titemCntR1((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytDoGivePlayerTempPackItemñs2 
  &c Csi}x©|D]¡}|sq n|d \}}t|ƒdkrK|dnd}tjƒj|ƒ}|sptStj|ƒ}    t|    |||ƒ}
|j|    dƒ|
||    <q WxX|j    ƒD]J\}    }
|
t
j ||    |
ƒkr¿|rt j |d|    gƒntSq¿WtS(NiiR(RÕR1R RRR&RR#RÃRàRR RRR( RRRtneedPackSpaceDicttitemInfoR4RIR1R;R:RF((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCheckPackSpaceEnough    s$ "c    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³R)tdataEx(RÕR1R RR2tGetIDR&RR#RÃR@RRàRR RRRâR3RfRÒRôRVR‚tNotifyGiveAwardInfo(RRtmailKeyR³t isNotifyAwardt notifyDataExt giveItemListRKRLR4RIR1R;R:RFRGR6((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ƒ}||_|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 R)N(%t
isinstancetdictRàR&RÂRÃRÒRQttagMCGiveAwardInfot    EventNameRÕtEventLentDef_PerPointValuetExpPointtExpRòttagMCGiveAwardMoneyt    MoneyTypet
MoneyValuet    MoneyListR@tMoneyLenttagMCGiveAwardItemRRWtCountExtIsBindtItemListtItemLentjsontdumpsRtreplacetDataExtDataLenRXRY(Rt giveItemInfoR6texpt    moneyInfoRNtnotifyItemListtatbRiRït
moneyValuetmoneyRLR4R<R+R
((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRPQ    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(R3RRVR‚R‡RRRRRRRR+RR.R/tGetEffectCountRR R&tDef_Effect_RecycleItemMoneyRÆR0R1R RR@RRâRUR(RR4t notifyMailKeyRét recycleCountt moneyItemIDRîR:tbackPackR    R;R<t equipNoteDictR!t addItemListt moneyItemDatat    paramList((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRvƒ    sP  & 
    &(eRVR1R&RRRpRtrandomRRRQRXRRcRR`R+R RRiR R R‚RRRRRR"R%R(R‡R?RRFRIRNRORRRSR`R-RlRRyRsR|RŒRŽR„R¨RGRHRIRJRMRPR±RNRjRtRlRuR‘R’RŒR˜RR™R”R†R¼RÜRÛRùRôt rptAnyWhereR RüRRRRRRR,R+R#R>R&R%R6R9R;R@RARJRMRURPRv(((sjD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt<module>s                                                    1:6        
             F    %                  a    ÿò                               '     #        ;        8    !    a    ;            ®        < "<!'                              
          " '2