cehua_ZWJ
2019-01-30 6afaa4408f4e09e3e95dbd92f0d1cd5a1fb2942b
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
ëƒI\c@s˜ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZeedeigd„Zd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zeed „Z eed„Z!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„Z/dfd„ƒYZ0ddd „Z1d!„Z2d"„Z3d#„Z4d$„Z5d%„Z6d&„Z7d'„Z8d(„Z9d)„Z:e*d*„Z;gd+„Z<d,„Z=d-„Z>ed.„Z?d/„Z@d0„ZAd1„ZBd2„ZCd3„ZDd4„ZEd5„ZFd6„ZGd7„ZHee*eedeigd8„ZIeedeigd9„ZJd:„ZKd;„ZLeejMejNge*eedeigd<„ZOd=„ZPe*d>„ZQee*eedeigd?„ZRd@„ZSddddA„ZTdB„ZUdC„ZVdD„ZWdE„ZXdF„ZYddddG„ZZdH„Z[dI„Z\dJ„Z]dKfdL„ƒYZ^dM„Z_ddN„Z`dO„ZadP„ZbdeigegdQ„ZcdR„ZddS„ZeedeigdT„ZfdS(UiÿÿÿÿNtc
Cs.t||tjtjgd|d|d|ƒS(NtshowEfft showSysInfotevent(t__DoLogic_PutItemInPackt IPY_GameWorldtrptItemt rptAnyWhere(t    curPlayert curGiveItemRRR((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytDoLogic_PutItemInPack.scCsX|jƒj|ƒ}x<td|jƒƒD]%}|j|ƒ}|jƒr+|Sq+WdS(Niiÿÿÿÿ(tGetItemManagertGetPacktrangetGetCounttGetAttIsEmpty(Rt    packindextcurPacktititem((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetItemPackSpaceIndex4s  cCsgd}|jƒj|ƒ}xEtd|jƒƒD].}|j|ƒ}|jƒr1|d7}q1q1W|S(Nii(R R R RRR(RRt    itemSpaceRRR((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetItemPackSpaceEs cCsX|jƒj|ƒ}x<td|jƒƒD]%}|j|ƒ}|jƒr+tSq+WtS(Ni(R R R RRRtTruetFalse(RRRRR((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCheckPackHasSpaceVs  cCs@x9t|jƒƒD]%}|j|ƒ}|jƒsdSqWtS(N(R RRRR(titemPackRR((skE:\SnxxServerCode\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(R R R RRt
ItemCommontCheckItemCanUset GetItemTypeID(RRtidtvalueRRR((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytFindPlayerItemCountByItemIDvscCss|jƒj|ƒ}xWtd|jƒƒD]@}|j|ƒ}tj|ƒsUq+n|jƒ|kr+|Sq+WdS(Ni(    R R R RRRRRtNone(RRR RRR((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytFindPlayerItemByItemID‹scCs”|jƒj|ƒ}xxtd|jƒƒD]a}|j|ƒ}tj|ƒsUq+n|jdƒ}|dkrvq+n|j    ƒ|kr+|Sq+WdS(Ni(
R R R RRRRtGetEffectByIndexR#t GetEffectID(RRR RRRteffect((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytFindPlayerItemByEffIDžs cCse|jƒtjkr)tj|dƒdS|jƒjtjƒ}t|ƒsatj|dƒdSt    S(NtDJ_Res_Horses_AlreadyEquiptHorses_Bag_NoRoom(
tGetPlayerVehicleRtpvHorset PlayerControlt
NotifyCodeR R trptHorseRR(Rt    horsePack((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCheckCanEquipHorseµs cCs|jƒtjkS(N(tGetTypetChConfigtDef_ItemType_MissionItem(R((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt IsEventItemÏsc
Cs^|jƒj|ƒ}|}x<td|jƒƒD]%}|j|ƒ}    |    jƒrXq1n|    jƒ|krpq1n|    jƒr‚q1n| r›t|    ƒr›q1n|    jƒ|krÈt    |    |    jƒ|ƒt
S|    jƒ|kr
|dkrü|j |    j ƒƒn|    jƒt
S|dkr,|j |    j ƒƒn||    jƒ}|    jƒ|dkr1t
Sq1WtS(Ni(R R R RRRRt GetIsLockedR5t SetItemCountRR#tappendtGetGUIDtClearR(
RRR tcountt delEventItemtguidListRt curDelCountRR((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt DelPlayerItemÛs6   
 
 c Csh|jƒj|ƒ}|}xFtd|jƒƒD]/}    |j|    ƒ}
tj|
ƒs[q1n|
jƒ|krsq1n| rŒt|
ƒrŒq1n| r¥|
j    ƒr¥q1n|
jƒ|krÒt
|
|
jƒ|ƒt S|
jƒ|kr|dkr|j |
jƒƒn|
jƒt S|dkr6|j |
jƒƒn||
jƒ}|
jƒ|dkr1t Sq1WtS(Ni(R R R RRRRRR5t    GetIsBindR7RR#R8R9R:R( RRR R;tisbindR<R=RR>RR((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytDelPlayerItem_Binds6 
 
 cCs ||kr||krtStS(N(RR(t    srcItemIDt srcItemIsBindt
destItemIDtdestItemIsBind((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCanPackItemByItemTypeKscCs ||kr||krtStS(N(RR(RCRDRERF((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCanPackItemByItemBindWscCs+t|jƒ|jƒ|jƒ|jƒƒS(N(RGRR@(tsrcItemtdestItem((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt CanPackItemascCs+t|jƒ|jƒ|jƒ|jƒƒS(N(RHRR@(RIRJ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCheckDragItemBindisc 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(R Rt
rptDeletedt    GameWorldtLogt GetPlayerIDRR R#RRRR6R-R.R5( Rt fromPackPlacet    fromIndext toPackPlacettoIndexR;t itemManagerRttoPackRIRJtputCount((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt __CanDragItemusV   &&      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
GetFuncCfgRR2RtGetFuncEvalCfgt GetItemColorR(tcurItemt
recordOpentitemTypetitemIDtitemTypeMinColorDicttminColort defaultNeed((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytItemNeedRecord»s&    
cCsP|jƒ}|jƒ}|tjddƒksH|tjddƒkrLtStS(NR\ii(R2RR]R_RR(RaRcRd((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytItemNotNeedRecordßs   cCs}|jtjƒdkrtS|jƒ|jƒkr8tS|jƒ|jƒ}}||j    ƒksu||j
ƒkrytStS(Ni( t GetUserAttrt ShareDefinetDef_IudetCancelUseLimitRt GetLimitPNEtGetPNERt GetLimitSTRt GetLimitPHYtGetSTRtGetPHY(RRatlimitSTRtlimitPHY((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCheckItemAttrLimitîs$cCsÅ|jtjƒdkrtS|jƒt|ƒkrQ|rMtj|dƒntS|j    ƒ|j    ƒkr†|r‚tj|dƒntS|j
ƒ}|j ƒ|krÁ|r½tj|dƒntStS(NitLvErrs#07F159E1-0974-4946-BE4942EAB8B5DBBEtRealmLimitUnuse( RjRkRlRtGetLVt GetItemUseLVR-R.RtGetReincarnationLvtGetEventCanUsetGetOfficialRank(RRt
needNotifytitemUseRealmLimit((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCheckItemUseLVs  cCs|jƒ}|S(N(tGetUseLV(RatinitLV((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRy,s cCstS(N(R(Ra((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytIsValuableItemCs c    Cs"t||||||ƒ}|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ƒ| ƒt|tƒtSt||ƒrå| |jƒkrå| |jƒ} t|    | ƒ} | dkrTt    j
d|    | f|j ƒƒdS| |    krŒ||krŒt|ƒ}|j||ƒtS|jƒ| dkr´t |ƒr´q´nt||jƒ| ƒt||jƒ| ƒn9||krt|ƒ}|j||ƒtS|j|ƒtS(NisÎïÆ· = %sÍ϶¯´´½¨Òì³£RMisÎïÆ·¶ÑµþÒì³£ = %s,%s(RZRRtSwitchRRtCreateSingleItemRR#RPRQRRRht
AssignItemR7t    SetIsBindR@R6R-R.t GetPackCountRRRLtmint SetItemIsBindRKtPlayerItemControlert    PutInItem(RRSRTRURVR;tresultRIRJRYt needPutItemt maxPackCounttdestRemainCountt realPutCounttplayerItemControl((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt __DoDragItemosj        ?  !       cCsn||kr)||kr)tjdƒdSt||||||ƒ}|tkrj|j||||ƒdS|S(Ns!###ÆðʼλÖúÍÖÕֹλÖÃÏàͬ, ²»´¦Àí(RPRQR’RtNotify_ItemPutFail(RRSRTRURVR;RŒ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytDragItemÐs  RŠcBsÝeZdZdZdZdZd„Zd„Zd„Z    d„Z
d„Z d„Z d„Z d„Zdeigd    „Zd
„Zdeigd „Zedeigd „Zd „Zd„Zed„Zed„ZRS(cCsO||_|jjƒ|_|jjtjƒ|_|jjtjƒ|_dS(N(    t_PlayerItemControler__PlayerR t'_PlayerItemControler__PlayerItemManagerR RtrptEquipt!_PlayerItemControler__PlayerEquipRt _PlayerItemControler__PlayerItem(tselftiPlayer((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt__init__ís
    cCs|j}|jƒr2|r.tj|dƒntSt|ƒr[|rWtj|dƒntStj||ƒsŠ|r†tj|dƒntS|jƒ}|t    j
krÔ||j ƒkrÔ|rÐtj|dƒntSt |||ƒsêtSt ||ƒs|rtj|dƒntStS(NtRescannotEquiptTaskRestGeRen_lhs_31379tSexErrtitemuse_andyshao_671654(R•R6R-R.RR5Rt
JobUseablet    GetSexReqR3tDef_PlayerSex_AlltGetSexRRuR(RšRaR}RtcurItemNeedSexReq((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytPlayerCanEquipItemùs2        !    cCs{|j}|j}|j|ƒ}|jƒrFtj|||tjƒS|j||ƒt    krwtj
|||tjƒSt S(N( R•R˜RRRtPutInRR—tSwitchCanSpliceEquipRt
SwitchItemR(RšRat
equipPlaceRt    equipPacktcurEquip((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt SwitchEquip:s         cCs‰|j}d}|j}xWt|jƒƒD]C}|j|ƒ}|jƒrRq+n|jƒsdq+n|d7}q+W|jtj    |ƒdS(Nii(
R•R˜txrangeRRRtGetItemQualitytSetDictR3tDef_PlayerKey_StartEquipCnt(RšRR;R¬RR­((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytRefreshStartEquipCountMs          cCs|j}|jtjƒS(N(R•t GetDictByKeyR3R²(RšR((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetStartEquipCount_s    c Cso|j|tƒsdS|jƒ}||krS|tjkrS|tjkrSdSn|j}|j}|j|ƒ}|jƒrŒddgn|j    ƒ|j
ƒg\}}|j    ƒ|j
ƒ}    }
|j ||ƒ} | rWt j |ƒtj||ƒtj||ƒtj|ƒidd6|d6|d6|    d6|
d    6} tj|tj| ƒn|jƒ| rk|SdS(
NiÿÿÿÿiRt    EquipItemtdotypet    desItemIDt desUserDataRCt srcUserData(R§Rt GetEquipPlaceR3tDef_FairyCanListR•R˜RRRt GetUserDataR®t PlayerSuccesstDoEquipSuccessLogictOperate_EquipStonetDoMoveEquipStonetOperate_EquipSuitComposetCheckEquipSuitReducet
EventShelltEventRespons_EquipStartDataRecordPacktCache_FightPowerChangeInfotPowerDownType_EquipChangeR³( RšRatpackEquipIndexR«RR¬t    equipItemR¸R¹RCRºRŒtdataDict((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR¶gs*          6  )
cCsò|jƒ|jƒkrtS|jdƒjƒ|jdƒjƒkrJtS|jƒ}|jƒ}|dks€|jƒdkr„tS||kr”tS|jƒ}||}||krÐt||ƒ|jƒnt||ƒt|||ƒtS(Nii(    R@RR%R&RR‡R7R:R(RšR­Rat
euqipCounttequipPackCountt    itemCounttsumValue((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR©‘s$*    
    c     Csx|j}|j}|j|ƒ}|dks9|jƒr=dS|jƒ}|jƒ}|jƒrutj    |dƒdSt
|ƒr•tj    |dƒdS|j j t jƒ}|dksÈ||jƒkråtj    |dt jgƒdS|jƒ}    t|t j|t j||    ƒsdS|jƒtj||ƒtj|ƒidd6|d6|d6}
tj|tj|
ƒ||fS(    NRRžitGeRen_chenxin_676165t UnEquipItemR·tequipIDtuserData(R•R˜RR#RRR½R6R-R.R5R–R RRRR”R—R³RÂRÃRÄRÅRÆRÇR3RÈ( Ršt
equipIndext    packIndexRRÊR­RÒRÓRt curEquipCountRË((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRѺs4             !
  Rc    Cs|j}d}d}|\}}}    |p3t|ƒ}
|tjkr‡|jtjƒpZd} t|jƒ|jtjƒd| ƒ}n3|tj    krºt
|jƒ|jtj ƒƒ}ng} xt t j|ƒƒD]} |jtj|| fƒ}|rqÖn|
rwt j||ƒ}i|d6| d6|d6|d6}|j|    ƒt j|||sgd|n|||ƒn| j| ƒtj|tj|| f|ƒ|jƒ|krÐt||jƒ|ƒqÖ|jƒPqÖW| røt||| ƒn|r|jƒ rtStS(    NiitsourceRÕt    packPlacet ItemKeyDatat    eventNamesVPack_%s(R•RhRktrptRuneRjtDef_IudetRuneSourcetGetRuneItemKeyDataRtDef_IudetRuneLVt rptGatherSoultGetGatherSoulItemKeyDatatDef_IudetGatherSoulLVR¯Rt GetVPackCnttNomalDictGetPropertyR3tDef_PDict_VPackItemtGetItemNoteDicttupdatet
DR_GetItemR8R-tNomalDictSetPropertyRR7R:tSync_VPackItem_RefreshRRR(RšRÕttagItemRRt canPutInCnttsetItemKeyDataRÚt isForceEventtaddDictt isNeedRecordt
runeSourcetrefreshPlaceListtplacet itemKeyDatat itemNoteDicttnoteDict((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytPutItemInVPackþs>    *$" ,  
cCsB|jƒ}|tjkrtSt|jtjƒ|jƒƒ}|tj    krnt
j ||t tj t ƒnÐ|tjkr–tj|tj|ƒn¨|tjkr¾tj|tj|ƒn€|tjkràtj||ƒn^|tjkrtj|tj|ƒn6|tjkr0tj|tj|ƒn|tjkrvt|ƒ}tjƒjdddd|t |ƒƒnÈ|tj!kržtj|tj"|ƒn |tj#krÆtj|tj$|ƒnx|tj%krîtj|tj&|ƒnP|tj'krtj|tj(|ƒn(|tj)kr>tj|tj*|ƒnt S(NitAddBossRebornPoint(+RR3tDef_TransformItemIDListRtmaxRjRktDef_IudetItemCountRtDef_ItemID_FamilyContributiont PlayerFamilytAddPlayerFamilyActiveValueRtDef_AddFAVReason_UseItemtDef_ItemID_SilverMoneyR-t    GiveMoneyRtTYPE_Price_Silver_MoneytDef_ItemID_FamilyActivetTYPE_Price_FamilyActivityt Def_ItemID_SPtPlayerAddZhenQitDef_ItemID_GoldPapertTYPE_Price_Gold_PapertDef_ItemID_RealmPointtTYPE_Price_RealmPointtDef_ItemID_BossReborntstrRPtGetPlayerManagertGameServer_QueryPlayerResulttlentDef_ItemID_YsogtTYPE_Price_YsogtDef_ItemID_SoulDusttTYPE_Price_SoulDusttDef_ItemID_SoulSplinterstTYPE_Price_SoulSplinterstDef_ItemID_SoulCoretTYPE_Price_SoulCoretDef_ItemID_HonortTYPE_Price_Honor(RšRRêRdRÎtmsgStr((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytDoTransformItem(s< ! +cCs©|tjtjtjgkr"dS|j}tj|ƒ}|jƒ|j    ƒ|j
ƒ|j ƒg}i|j ƒd6|d6|d6|d6}t jtj||gƒdS(NtPlayerIDtItemDatat    PackIndextEvent(RRRkt rptDogzItemtrptZhuXianItemR•R-tGetPlayerServerGroupIDRRR@R½RRRPtSendMsgToClientServertCrossServerMsg_PutInItem(RšRÕRêRRt serverGroupIDtitemDatatitemMsg((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt__CrossServerPutInItemJs    *(c    Cs|j}tj|ƒ}|r't}ntjƒj|jƒƒ}|sLtStjƒry|j    |||ƒ|j
ƒt St ||ƒr–|j
ƒt St j|jƒ|ƒ}|j||jƒt|ƒ|jƒ|ƒstjdt|ƒƒ|j
ƒtS|jƒ}|jƒt jkrStj|tjd|jdƒjdƒgƒt S|t jkr¡|tjkr|j||ƒ|j
ƒt St }t j}    n |j ƒ}    |tj!krÏ|j"|||ƒS|\}
} } |jƒt#j$dƒkr6|j%tj&ƒdkr6|j'tj&|j(t j)ƒƒq6n|j*j+|ƒ} |jƒ}t}|tjtj,tj-tj.gkr“t/|ƒp| }nt}|r0xŽt0d| j1ƒƒD]t}| j2|ƒ}|j3ƒt krâqµn|j3ƒdkr
t4||ƒ r
qµn|j5ƒt kr"qµnt|ƒ}t|ƒ}|    |}|dkrVqµn||krÇ||}t6||ƒt6|||ƒ|r)tj7||||ƒ}tj8|||
|| ƒq)qµ||}t6||ƒ|j
ƒt }|r(tj7||||ƒ}tj8|||
|| ƒnPqµWn|t kr@t SxÁt0d| j1ƒƒD]ª}| j2|ƒ}|j3ƒt krƒqVnt|ƒ}t|ƒ}|    |}|dkr·qVn||kr6t9|jƒ||ƒ}|j:|ƒt6|||ƒ|rtj7||||ƒ}tj8|||
|| ƒqqV|rO|j;||ƒn|j<ƒtj=krt|j>|ƒnE|j<ƒtj?kr™|j:|ƒn tj@d|jƒ|jAƒƒt }|rÿtj7|||t|ƒƒ}tj8|||
|| ƒnPqVW|S(Ns±³°üÂú£¬²»ÄÜ·ÅÈëÎïÆ· count = %diitOpenBoxByLoginDayCfgsÎïÆ· = %s·ÅÈë´íÎó(BR•RtCheckItemIsEquipRRPt GetGameDatatGetItemByTypeIDRt IsCrossServert*_PlayerItemControler__CrossServerPutInItemR:RtCheckChangeOldItemR3tGetItemPackTypeR2t CanPutInItemt GetItemCountR@tDebugLogtDef_ItemType_SuccessItemR¾tDoAddSuccessProgressRktSuccType_GetSpecialItemR%tGetEffectValueRøRRRtDef_UpperLimit_DWordR‡tDef_VPack_TypeListRöt ReadChConfigtGetEvalChConfigRjtDef_IudetCreateItemLoginDayt SetUserAttrRãtDef_PDict_LoginDayCntR–R t rptTreasureRÛRßRhR¯RRRRKR6R7RåRçtGetOutPutItemObjR…tCheckEquipAttrtGetGameWorldItemTypet gwitRoleItemR¨tgwitSingleItemRQRR(RšRÕRêt defaultPileRRtisEquipt curItemDataRdRŽRÚRíRîRtisBindRït    putResultRRt packItemCountt curItemCountt canPutinCounttupdCountRôt curCreateItem((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR‹\sΠ        
 
-
 .
  % $"  
 
 
 
 
    c
Cs7|jtjƒ}|jtjƒ}|r@|r@||kr@dSt|ƒ}|sVdS|j}tj|ƒ}|\}}    |jtjƒ|jtjƒxHt    t
|ƒƒD]4}
|j tj||
ƒ|j tj|    |
ƒq­Wtj |ƒtj|ƒ} t jd||jƒ||    || f|jƒƒdS(Nsx´«ÆæÊôÐÔÒì³££¬ÖØÐÂË¢ÐÂÒ»´ÎÊôÐÔ: packType=%s,itemID=%s,legendAttrIDList=%s,legendAttrValueList=%s,srcScore=%s,updScore=%s(tGetUserAttrCountRktDef_IudetLegendAttrIDtDef_IudetLegendAttrValuetGetAddEquipLegendAttrR•RtGetEquipGearScoret ClearUserAttrR¯Rt AddUserAttrt MakeEquipGSRPtErrLogRRR( RštpackTypeRatlegendAttrIDCounttlegendAttrValueCounttlegendAttrInfoRtsrcScoretlegendAttrIDListtlegendAttrValueListRtupdScore((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR@õs(           )c    Csz|j}d}d}|j|ƒ}||kr4dS|jƒ}tjd||f|ƒi}tjƒ}x”t|jƒƒD]€}|j    |ƒ}    |    j
ƒ}
|    j ƒ} |
st |
ƒt | ƒkrÑqnt |    jƒƒ} | sïqn|
| g|| <qWtjtjtjg} xE| D]=}|jƒj|ƒ}xt|jƒƒD] }|j|ƒ}|jƒrwqPntj|ƒ}|s’qPn|jƒ} |j||ƒ| |krP|| \}
} |jtjƒ|jtjƒxHtt |
ƒƒD]4}|j tj|
|ƒ|j tj| |ƒqýWtjd||| |
| f|ƒqPqPWq"Wt!j"|||ƒdS(s© Íæ¼ÒÉÏÏßÐÞ¸´×°±¸ÊôÐÔbug
                    °æ±¾1£ºÓʼþ¸ø×°±¸Ã»Óд«ÆæÊôÐÔ£¬¼ì²éÎÞ´«ÆæÊôÐÔ×°±¸
                    °æ±¾2£º¾ø°æÊôÐÔÊýÖµµ÷Õû£¬ÒÑ»ñµÃµÄ×°±¸ÖØÐÂË¢ÏÂ
        i—4tLoginCheckEquipAttrNs3Íæ¼ÒÉÏÏß´¦Àí×°±¸ÊôÐÔ! curVersion=%s,checkVersion=%ssi    Íæ¼ÒµÇÂ¼ÖØË¢×°±¸¾ø°æÊôÐÔ: packType=%s,i=%s,itemID=%s,outOfPrintAttrList=%s,outOfPrintAttrValueList=%s(#R•RãRRRPRQR]tIPY_DataR¯tGetAppointItemCounttGetAppointItemByIndextGetOutOfPrintAttrtGetOutOfPrintAttrValueRtGetAppointItemRealIDtGetIDRR—Rt rptWarehouseR R RRRRR)RR@RSRktDef_IudetOutOfPrintAttrIDtDef_IudetOutOfPrintAttrValueRTR-Rè(RšRt checkVersiontkeyt
curVersiontplayerIDtoutOfPrintAttrItemDictt
ipyDataMgrRtipyDatatoutOfPrintAttrListtoutOfPrintAttrValueListRdt checkPackListRWRRaREtoutOfPrintAttrIndex((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCheckRolePackEquipAttrsV                 %cCs5tjƒrtS|j|||||ƒ\}}|S(N(RPR,RtCanPutInItemEx(RšRÕt    curItemIDRJRGRDtcheckRettputIndex((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR0Ms !cCsytjƒ}|j|ƒ}|dkrBtjd|ƒtdfS|tjkrv|tj    krjt
dfStj }n |j ƒ}|dkr¯tjd||fƒtdfStj |jƒ|ƒ}d}    |j}
|tjkrWxettj|ƒƒD]N} |
jtj|| fƒ} | r)qûn|    d7}    |    |krût
| fSqûWtdfSd} |jj|ƒ}xçt|jƒƒD]Ó}|j|ƒ}|jƒrÅ|    |7}    | dkr?|} q?nz|r?|jƒrÝq‚nt|jƒ|jƒ||ƒr?|t |ƒkr?|    |t |ƒ7}    | dkr<|} q<q?n|    |kr‚t
| fSq‚W|    |krotdfSt
| fS(NsÕÒ²»µ½ItemID = %dis$²ß»®Ìî±í´íÎó %s -> maxPackCount = %siiÿÿÿÿ(!RPR*R+R#RQRR3RøRRRR7R‡R/R2R•RkR8R¯RRâRãRäR–R RRRR6RGRR@R1(RšRÕRwRJRGRDtgameDataRFRŽt maxCanPutItemRRòRót    itemIndexRRR((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRv[s\  
 
 
    
 
 
   !   
N(t__name__t
__module__R#R•R–R˜R™RœR§R®R³RµR¶R©RÑRRöRR-RR‹R@RuR0Rv(((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRŠãs(         A                *    )    D*    "™        ? iicCs=|dkrdnd}|d|dt|dƒd|S(Niiiʚ;iáõiçi †(Rˆ(RdtRuneLVt    lockStateR×((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRÝ scCs|dS(Ni †((tkeyData((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt GetRuneItemID£scCs |ddS(Niáõi †((R((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetRuneItemPlusLV¤scCs|dS(Niʚ;((R((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetRuneItemIsLock¥scCs |ddS(Niʚ;iáõ((R((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetRuneItemSource¦scCs|dkp|jƒtjkS(Ni(R`R3tDef_Quality_Orange(RatplusLV((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytIsRuneItemNeedRecord§scCst|dƒd|S(Niçi †(Rˆ(Rdt GatherSoulLV((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRà«scCs|dS(Ni †((R((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetGatherSoulItemID­scCs |ddS(Niáõi †((R((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetGatherSoulItemPlusLV®scCs|dkp|jƒtjkS(Ni(R`R3R†(RaR‡((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytIsGatherSoulItemNeedRecord¯scCsbtj|tj||f|ƒ|r^|dkrHt|||gƒq^t|||gƒndS(Ni(R-RèR3RäRétSync_VPackItem_Clear(RRÕRòRtisSync((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytSetVPackItemKeyData²s   cCsÔ|sttj|ƒƒ}ntjƒ}|jƒ||_xn|D]f}|jtj    ||fƒ}|srqDntj
ƒ}|jƒ||_ ||_ |j j|ƒqDWt|j ƒ|_tj||ƒdS(N(R¯RRâtChPyNetSendPackttagMCVPackRefreshR:tPackTypeRãR3RättagMCVPackItemt    ItemPlaceRtVPacklItemListR8RtCountt NetPackCommont SendFakePack(RRÕt    placeListt vpackRefreshRòRót    vpackItem((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRé»s" 
      
        cCsX|s
dStjƒ}|jƒ||_||_t|jƒ|_tj||ƒdS(N(    RttagMCVPackClearR:R’t ItemPlaceListRR–R—R˜(RRÕR™t
vpackClear((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRÏs 
        cCs;tjƒj|ƒ}t||j|j|j|jƒdS(N(RPR tGetPlayerByIndextDropItemToOtherPackt SrcBackpackt DesBackPacktSrcIndextIsAll(tindext
clientDatattickR((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytOnDropItemToOtherPackäs"c     Cse|jƒj|ƒ}|sdSt|ƒ}|r
g}x¦t|jƒƒD]’}|j|ƒ}    |     sJ|    jƒrxqJntj|    j    ƒ|ƒ}
|
|kr¢qJnt
||||
||    ƒsJ|
|krÜ|j |
ƒqÜqJqJWx~|D]} t j |d| gƒqçWnW|j|ƒ}    |     s,|    jƒr0dStj|    j    ƒ|ƒ}
t
||||
||    ƒdS(s#Í϶¯Ä³¸ö±³°üÎïÆ·µ½Íæ¼ÒÎïÆ·±³°ü
    NRÐ(R R RŠR¯RRRR3R/R2t__DoDropItemToOtherPackR8R-R.( Rt fromPackIndext desPackIndexR¥tisAlltmovePackt itemControlt fullPackListR|Rat toPackIndext fullPackIndex((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR és0    c Cs½|j||ƒr |jƒtS|jƒ}|jƒ}|jƒ}|tjkr|tj    ||tƒslt
S|j ||ƒS|j ||||ƒ\}    }
|    s¤t
St |||||
|ƒS(N(RR:RRRR@RkRÛRRRRöRvR”( RR®RªR°R|Rat curItemTypeIDRJt curItemIsBindRxRy((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR© s
   cCs:|jƒtjkr)tj|dƒdS|jƒj|ƒ}|dkrNdSx<td|j    ƒƒD]%}|j
|ƒ}|j ƒrddSqdW|t j krï||jtjƒtjtjkrÆdS|jtj|ƒt||||ƒn=||jƒtjkr dS|j|ƒt||||ƒ|jƒdS(NtGeRen_liubo_254483i(tGetPlayerActionR3tDef_Player_ResetItem_StateR-R.R R R#R RRR6RRgt GetTickByTypetTYPE_Player_Tick_WareHouseSorttTYPE_Player_Tick_Timet SetTickByTypetResetWareHousetGetResetItemTicktDef_ItemPackResetIntervaltSetResetItemTickt ResetRolePackt Sync_Refresh(RRÕt
beingIndextendIndexR§RRRa((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt __DoResetItem)s,    
cCs$t|||||ƒ|jƒdS(N(RÃtNotify_PackResetOK(RRÕRÁRÂR§((skE:\SnxxServerCode\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(R RRtGetItemRt__ResetItem_AddItemInListtvaluesRtCheckNoteEquipGSR8tsortt__CmpWareHouseEquipt __CmpRolePacktWipePackR…R(RRRÁRÂtitemDictRt curRoleItemRaRdtitemListt equipGSListttmpListttmpItemtputPlaceR((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR»ds8          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(    RxR`R°R2tcmpRR]R_R¥(titem1titem2t    itemType1t    itemType2ttypeList((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRËœs&   +  $$!cCsi}x~t||dƒD]i}|j|ƒ}|jƒrAqn|jƒ}|jƒ}||krrg||<nt|||ƒqWg}    g}
g} g} |jƒjtj    ƒ} x+|j
ƒD]}x|D] }d}d}t j ||ƒrLt j |ƒrLt j|ƒ}| j|jƒƒ}t j |ƒrjt j|ƒ}qjnt j |ƒrjd}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}q6Wx1|    D])}|j|ƒj|tƒ|d7}qjWx1| D])}|j|ƒj|tƒ|d7}qžWx1| D])}|j|ƒj|tƒ|d7}qÒWdS(Niii(R RRRÆRRÇR R RR—RÈRtCheckJobRÉRRR»R2R3tDef_ItemType_RunetDef_ItemType_RuneExpR8RÊRÌRÍR…R(RRRÁRÂRÎRRÏRaRdRÐtequipGSGreaterListtequipGSLesserListt runeItemListR¬RÒRÓtequipGSt
cmpEquipGStcmpItemRÔR((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR¿½sj      !              cCs;|jƒ}|jƒ}||krµ|jƒ|jƒkr‘|jƒ|jƒkrmt|jƒ|jƒƒStd|jƒd|jƒƒSq7td|jƒd|jƒƒSn‚tjddƒ}||kr
||kr
t|j|jƒƒ|j|jƒƒƒS||krdS||kr*dSt||ƒSdS(NitPackageSortPriorityiiÿÿÿÿ(R2R`R°RÖRR]R_R¥(R×RØRÙRÚRÛ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRÌs    $$+  cCsË|jƒ}|jƒ}xƒ|D]{}|jƒ}t||ƒsFqn||krXqn||}||krƒ|j||ƒdS|j|ƒ||}qW|dkrÇ|j|ƒ|j|ƒndS(Ni(RR‡RKtSetCountR8(tcurListtaddItemRÎt    packCountRatcurCountt canPlaceCount((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRÇUs$     
    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( R R R RRRR5R8RfRPRQRR:(RRÕRRÐRRt curPlayerID((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytClearPackEventItemôs    c
 Cs¹|dkrtStjƒj|ƒ}
|
s/tS|s>tjn|d} tj|
jƒ| ƒ} | | kss| r| g}nt    ||||||ƒsžtSt
|ƒrït} x8t |ƒD]*}t ||||||    ƒr½t } q½q½W| Stj|
ƒr[t} xPt |ƒD]B}t|d|ƒ}t||||||||    ƒrt } qqW| St|||ƒ}|sštjd|||f|jƒƒtSt||||||||    ƒS(Niis<GivePlayerItem itemID = %s, Error, giveCnt = %s, isBind = %s(RRPR*R+RRR3R/R2t__Check_CanPutItemInPackReR¯tGivePlayerAppointItemRRt
GetIsEquipR?RRVRf(RRdRÎt
itemIsBindt packIndexListRRDt returnItemObjRRRFt defaultPackRÕtisOKt_t outPutEquiptgiveItem((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGivePlayerItems@          cCs5t||ƒ}|stSt|||d|d|ƒS(NRR(tGetAppointItemDictDataRtGivePlayerEquip(RR¥RGRRRt itemDictData((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRïNscCsÁt|ƒ}|siStjd|ƒ}|sCtjd|ƒiSi}|jƒ|d<|jƒ|d<|jƒ|d<||d<|jƒ|d<||d<|j    ƒ|d    <|j
ƒ|d
<|S( Nt AppointItems)GivePlayerAppointItem() Index=%s not datat legendAttrIDtlegendAttrValuetSuiteLVtItemIDtCancelUseLimittIsBindtOutOfPrintAttrIDtOutOfPrintAttrValue( ReR]tGetIpyGameDataRPRVtGetLegendAttrIDtGetLegendAttrValuet
GetSuiteLVtGetCancelUseLimitRcRd(R¥RGRdRpRü((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRúYs" 
 
cCsZtjƒj|ƒ}|sdS|jdƒ}|jƒ}|tjkrMdS|jdƒS(s»ñÈ¡¶¨ÖÆÎïÆ·¶ÔÓ¦µÄÕæÊµÎïÆ·IDi(RPR*R+R%R&R3tDef_Effect_AppointItemR6(RdRatcurEfftcurEffID((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyReqs c        Cs+t|ƒ}t||||||||ƒS(N(t GetItemByDataR(    RR%RRWRDRóRRRÊ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRû„s cCs¼|s
dSt|jddƒƒ}tj|ƒ}|s;dStƒ}t|jddƒƒ|_t|jddƒƒ|_t|jddƒƒ|_|jrªd|_nt|jdtt    j
ƒƒƒ|_ |jd    gƒ|_ |jd
gƒ|_ |jd gƒ|_|jd gƒ|_tj||ƒd |kra|d }|j|t|ƒƒnd|krt|dƒ}tj||ƒn|jddƒr¸|jt    jdƒn|S(NRiRt0tIsSuitRitSourceRþRÿRRtUserDatatEquipGSR(tinttgetRR„tSingleEquipTmpDataRGtisSuitetsuiteLVR RktItem_Source_UnkownR×R\R]tOutOfPrintAttrIDListtOutOfPrintAttrValueListtChItemtEquipAddAdditionExt SetUserDataRtSetEquipGearScoreR<Rl(R%RdRÊt tmpEquipDataRÓRâ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRŽs6         $ 
 cCs@t|ƒ}x-|D]%}|j|||||ƒrtSqWtS(N(RŠR0RR(Rt
giveItemIDt giveItemCntt giveItemBindRòRDR®RÕ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRîÆs
  c
Cs^t|ƒ}x4|D],}    |j|    |||ƒr|r;|StSqW|jƒtjdƒtS(Ns3ItemControler.GivePlayerItem Error ÎïÆ·ÎÞ·¨·ÅÈë±³°ü(RŠR‹RR:RPRVR(
RR    RòRRDRóRRR®RÕ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRÛs      
 cCs|j|ƒdS(N(R†(R    RG((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR‰ûs cCsÉ|jƒsn|jƒ}|dkrU|tjkrU|jtjt|tjƒƒqÅ|j    t|dƒƒnWy ddWnHd|||f}t
j |t t jƒƒdt jƒƒ‚nXdS(Niiÿÿis)%s %s %s -- ItemControler->SetItemCount::s
(RRR3RøR<RkRúRˆR7RæRPRVR t    tracebackt extract_stackt
format_exc(RtcntRmtaccIDt
playerNameRdt    errorInfo((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR7    s  " +cCs/|jƒtjkr%|jtjƒS|jƒS(N(RR3RøRjRkRúR(R((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR1    scCs]|jƒtjkr4|tjkr(dStj}n |jƒ}ttj    |t
|ƒƒƒS(Ni( RR3RøRRR7R‡Rtmathtceiltfloat(RWR%RÎRé((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetItemNeedPackCount    s   cCs|jƒtjkS(N(t IsBothHandsRktDef_Weapon_Two_Handed(R­((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytIsTwoHandedWeapon)    scCs|jƒtjkS(N(R/RktDef_Weapon_Dual_Hands(R­((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt IsDualWeapons0    scCsX||kr|Sx=|D]5}|j|ƒ}|jƒr<|St|ƒr|SqW|dS(Ni(RRR1(R¬RÉR™t
placeIndexR­((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetMultiPlaceEquipPlace9    s    cCs»tj||||ƒ}|s3tjd|ƒdStj|ƒsF|St|ƒro|jƒtt||ƒƒSt    ƒ}t
|ƒ}|r§|d|_ |d|_ nt j||ƒ|S(s »ñÈ¡¹¦Äܲú³öµÄÎïÆ·ÊµÀý
    s²ú³öÎïÆ·Òì³£,ÎÞ·¨´´½¨ÎïÆ· = %sNii(RR„RPRVR)ReR:RRúRRQR\R]RR(RdRÎRGt
expireTimeRaR RZ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR?M    s  
      cCsF|jƒ}|tjkr%t|ƒStj|ƒ}|rDt|ƒS|jƒ}tj|ƒ}|j    ƒ}||f}tj
|ƒ}|r¡t j ddƒ}nt j dƒ}||krÀdS||\}    }
} |j ƒ} t j dƒ} | | krþdS| | \}}}g}|    rH|jtj|tt|ƒ|    ƒƒƒn|
ry|jtj|tt|ƒ|
ƒƒƒn| rÕt|ƒtkrª|rÒ|j|ƒqÒqÕ|jtj|tt|ƒ| ƒƒƒng}g}|rt j ddiƒ}t j ddiƒ}n*t j ddiƒ}t j ddiƒ}t j dƒ}xì|D]ä}||kr¦||}||kr™tjd    ||fƒqTn||}nx||krs||}||krÕ||}net|ƒt|ƒ}}||kr||}n3||kr ||}ntjd
||fƒqT||krftjd |||fƒqTn||}n«||kr
||}||kr¢||}qt|ƒt|ƒ}}||krÔ||}q||krí||}qtjd ||fƒqTntjd |ƒqT|j|ƒ|j|ƒqTW||gS(sr»ñÈ¡Éú³Éµ½×°±¸ÉϵĴ«ÆæÊôÐÔ
    @return: None-ûÓд«ÆæÊôÐÔ£» ´«ÆæÊôÐÔ×Öµä-[[´«ÆæÊôÐÔЧ¹ûIDÁбí], [ÊôÐÔÖµÁбí]]
    tLegendAttrCountiNtLegendAttrRuletLegendAttrValueByColor2itLegendAttrValueByColortLegendAttrValueByClassLVs<ûÓÐÅäÖô«ÆæÊôÐÔID×°±¸ÑÕÉ«¶ÔÓ¦µÄÊýÖµ, attrID=%s,itemColor=%ssBûÓÐÅäÖô«ÆæÊôÐÔID×°±¸½×¼¶ÑÕÉ«¶ÔÓ¦µÄÊýÖµ, attrID=%s,itemClassLV=%ssOûÓÐÅäÖô«ÆæÊôÐÔID×°±¸½×¼¶ÑÕÉ«¶ÔÓ¦µÄÊýÖµ, attrID=%s,itemClassLV=%s,itemColor=%ss>ûÓÐÅäÖô«ÆæÊôÐÔID×°±¸½×¼¶¶ÔÓ¦µÄÊýÖµ, attrID=%s,itemClassLV=%ss'ûÓÐÅäÖô«ÆæÊôÐÔID¶ÔÓ¦µÄÊýÖµ, attrID=%s(R2R3tDef_ItemType_retWingt__GetAddWingLegendAttrRtGetIsZhuXianEquipt__GetRandLegendAttrR`tGetItemClassLVR°tGetIsDogzEquipR]R_R»textendtrandomtsampleRˆRttypeRR8RPRVRù(RaRctisZhuXianEquipt    itemColort itemClassLVt itemQualityRkt isDogzEquiptlegAttrCntDictt commAttrCntt goodAttrCntt specAttrCntR«tlegAttrRuleDictt commAttrListt goodAttrListt specAttrListtrandAttrIDListtcurLegAttrIDListtcurLegAttrValueListtlegAttrValueColorDicttlegAttrValueClassLVColorDicttlegAttrValueClassLVDicttattrIDtcolorValueDictt    attrValuetclassLVColorValueDictt
minClassLVt
maxClassLVtclassLVValueDict((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRQk    sœ 
 
      +++  
 
 
       cCsØ|jƒ}tjddiƒ}t|ƒ|kr7dS|t|ƒ}|sbtjd|ƒdSg}tjddiƒ}xK|D]C}t|ƒ|kr³tjd|ƒq„n||t|ƒ7}q„W|sÕdStj|ƒ}|jƒ}tjddƒ}    t|ƒ|    kr)tjd|ƒdS|    t|ƒ}
t|ƒ|
krftjd||fƒdS|
t|ƒ} | st    | ƒdkr“dSt
j | d    | dƒ} t t    |ƒ| ƒ} t
j || ƒ} g}tjdd
ƒ}tjdd ƒ}|j||fd    ƒ}| |krCtjd ||| |fƒdSxˆt| ƒD]z\}}t|ƒ|krƒtjd |ƒdS|t|ƒ}||kr®t|ƒ}nt
j|ƒ}|j|ƒqPW| |gS(NtLegendAttrRandRuleis"¸ÃÎïÆ·ÀàÐÍûÓд«ÆæÊôÐÔ!itemType=%sis4ûÓÐÅäÖô«ÆæÊôÐÔ×é¶ÔÓ¦´«ÆæÊôÐÔÀàÐÍÁбí! groupType=%sis2ûÓÐÅäÖÃ×°±¸½×¶ÔÓ¦Ëæ»ú´«ÆæÊôÐÔÌõÊý: itemClassLV=%ssDûÓÐÅäÖÃ×°±¸½×ÐǶÔÓ¦Ëæ»ú´«ÆæÊôÐÔÌõÊý: itemClassLV=%s, itemQuality=%siiisd´«ÆæÊôÐÔÌõÊýÉÙÓÚ±£µ××î´óÊýÖµÌõÊý: itemClassLV=%s, itemQuality=%s, legAttrCnt=%s, maxValueMinCount=%ss1´«ÆæÊôÐÔûÓÐÅäÖÃËæ»úÊýÖµ·¶Î§»òÅäÖôíÎó: attrID=%s(R2R]R_R RPRVRR@R°RRCtrandintRˆRDRt    enumerateRùtchoiceR8(RaRctequipTypeRandGroupDictt randGroupListtrandLegendAttrIDLsittlegendAttrGroupDictt    groupTypeRHRIt randCountDicttqualityCountDictt randCountListt
legAttrCntRTRUtrandValueListDicttmaxValueMinCountDicttmaxValueMinCountRRYt randValueListt    randValue((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR?Ù    sf         c
Cs!tjdƒ}tj|ƒ}||kr?tjd|ƒdS||}tjdƒ}||krytjd|ƒdS||}|jƒ}tt    |ƒ|ƒ}tjd|||fƒ|sÈdSt
j ||ƒ}g|D]}t
j ||ƒ^qá}    tjd||    fƒ||    gS(NtWingLegendAttrCounts¸Ã³á°ò½×¼¶Ã»Óд«ÆæÊôÐÔ, ½×Êý=%stWingLegendAttrValues-¸Ã³á°ò½×¼¶Ã»ÓÐÅäÖöÔÓ¦µÄ´«ÆæÊôÐÔÊýÖµ, ½×Êý=%ss<Éú³É³á°ò´«ÆæÊôÐÔ: itemClassLV=%s,legAttrCnt=%s,attrIDList=%ss/    curLegAttrIDList=%s, curLegAttrValueList=%s( R]R_RR@RPR2RVtkeysRˆRRCRDRc(
RatwingLegAttrCntDictRHRltwingLegAttrValueDicttcurClassLVLegAttrDictt
attrIDListRTRYRU((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR=
s( 
 
 &RcBseZd„ZRS(cCsjd|_d|_g|_t|_d|_t|_tj|_    g|_
g|_ g|_ g|_ dS(Ni(tstarLVtholeCntt    stoneDataRRRRGRkRR×R\R]RR(Rš((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRœ;
s                                         (R}R~Rœ(((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR6
scCsh|jƒj|ƒ}xLt|jƒƒD]8}|j|ƒ}| s(|jƒrVq(n|jƒq(WdS(N(R R R¯RRRR:(RRWtpackRRa((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt    ClearPackK
scCs,t|tjƒt||d|tjgƒS(Ni(R}Rkt rptTempSwapRù(RRdRG((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytPutItemInTempSwapU
scCs0|rt|tjƒn|jtjdƒdS(s£ ¿ªÆôʰȡµÄÎïÆ··ÅÈëÁÙʱ´æ·Å±³°ü
    @param isClearItem: ÊÇ·ñÇå³ýÁÙʱ´æ·Å±³°üÎïÆ·; Ò»°ã¼¤»î¸Ã¹¦ÄÜʱÉèÖÃΪ True£»
                        ÓÉÓÚ±ê¼Ç¸Ã״̬µÄkey¼Ç¼²»´æÓÚÊý¾Ý¿â£¬¹ÊÔÚ¸ÃÉ趨ÓÐЧÆÚÄÚÍæ¼ÒÀëÏßÖØÉϻᵼÖÂÉ趨±»ÖØÖÃ
                        ËùÒÔµÃÔÚÌØ¶¨µÄ¹¦ÄÜÂß¼­ÀÈ縱±¾µÄ DoEnterFB ÖØÐÂÉ趨£©£¬µ«´Ëʱ²»ÄÜÇå¿Õ´Ë±³°üÎïÆ·£¬ÐèÉèÖÃΪ False
                        ·ñÔò»áµ¼ÖÂÖØÐÂÉÏÏߺó֮ǰÒѾ­Ê°È¡µÄÁÙʱÎïÆ·±»Çå¿Õ
    iN(R}Rkt rptTempItemR±R3t!Def_PlayerKey_PickupItemPutInTemp(Rt isClearItem((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytOpenPickupItemPutInTemp[
scCs|jtjdƒdS(Ni(R±R3R(R((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytClosePickupItemPutInTempg
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: ÎïÆ·±³°ü¿Õ¼ä²»¹»Ê±Ê¹ÓÃÓʼþ·¢ÎïÆ·¸øÍæ¼ÒµÄÓʼþÄ£°å
    RN(R R RkR€R¯RRRR8RRRRRtGetMailItemDicttDefaultLackSpaceMailTypeR-t SendMailByKeyRRRŠR‹RùR}(RRt mailTypeKeyt extraItemListt tempItemListR|RRat    needSpacet
isSendMailt mailItemListttempItemR®RdtitemCntRG((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytDoGivePlayerTempPackIteml
s4 
  c
Cs’|jƒ}tjddiƒ}||kr1dSt|ƒ}|jƒ}||\}}}||}    tj||jƒg||    |ggƒtS(Nt ChangeOldItemi(    RR]R_R1R@R-R‡RRR(
RRêRdtchangeOldItemDictRRGttoItemIDttoCnttmailKeytgiveCnt((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR.
s    
(cCsItj|tjtjƒrdStj|tjtjdƒi}i}xXtjtjt    j
gD]>}|j ƒj |ƒ}x t |jƒƒD] }|j|ƒ}|s¯qŽn|jƒ}tjddiƒ}||krâqŽn|jƒ}    |jƒ}
||\} } } |
| }d| |    f}|j|dƒ|||<tj|||
tdƒ| |krv|g|| <n||| krŽ|| j|ƒqŽqŽWq`Wx |jƒD]’\} }g}xa|D]Y}||kràqÈn||}|jdƒ\}}    |jt|ƒ|t|    ƒgƒqÈWtj| |jƒg|ƒq¯WdS(NiR‘s%s_%siRö(RPtGetDictValueByBitR3tDef_Player_Dict_VersionFixtDef_VerFix_GodWeaponItemtSetDictValueByBitRRRgRkR>R R R¯RRRR]R_R@RRtDelItemRR8titemstsplitRR-R‡Rf(Rt giveItemDicttmailDictRÕRRRaRdR’RGRÎR“R”R•R–tkeyStrt
keyStrListRÐ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytLoginCheckChangeOldItem
sH    
 
& c     Csgi}x‘|D]‰\}}}tjƒj|ƒ}|sUtjd||jƒƒdStj|jƒƒ}    t|    ||ƒ}
|j    |    dƒ|
||    <q Wt
} x?|j ƒD]1\}    }
|
t j ||    |
ƒkr­t} Pq­q­W| r'tj||jƒg|ƒtjdt|ƒ|jƒƒn<x9|D]1\}}}t||||tjgd|ƒq.WdS(Ns+GivePlayerItemOrMail ÎïÆ·ID²»´æÔÚ itemID=%sis;GivePlayerItemOrMail±³°ü¿Õ¼ä²»¹»£¬·¢ËÍÓʼþ: mailItemList=%sR(RPR*R+RVRfR3R/R2R.RRRœRRRR-R‡RRR2R RùRR( RRÐR•RtneedPackSpaceDictRdRRGRaRWR‹RŒ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGivePlayerItemOrMailÄ
s*# (gRRPR3R-RRkR$RCR9RR¾RüRR—RÀRÂR]RÆRÄR+RR
RRRRR"R$R(R1R5R#R?RBRGRHRKRLRZRhRiRuRRRyR‚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ùRïRúReRRRûRRîRR‰R7R1R.R1R3R5R?RQR?R=RR}RRƒR„RR.R¢R¤(((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt<module>sÌ                                                         :6         
             F    $        #         ,    a    ÿÿ¿                                                   #        3        8    !    a    7    Ÿ    %4                 8                                   n    A        
         $         '