cehua-HWJ35
2019-03-07 65d21adcb8f585c123fca5946270d36ff10280e4
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
jþ€\c@s5ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zeed „Zeed „Zd „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„ƒYZ.ddd„Z/d„Z0d „Z1d!„Z2d"„Z3d#„Z4d$„Z5d%„Z6d&„Z7d'„Z8e(d(„Z9gd)„Z:d*„Z;d+„Z<ed,„Z=d-„Z>d.„Z?d/„Z@d0„ZAd1„ZBd2„ZCd3„ZDd4„ZEd5„ZFd6eigd7„ZGd6eigd8„ZHd9„ZId:„ZJd6eigejKejLge(d;„ZMd<„ZNd6eigejKejLge(d=„ZOd>„ZPddd6d?„ZQd@„ZRdA„ZSdB„ZTdC„ZUdD„ZVdedeedE„ZWedF„ZXdGfdH„ƒYZYdI„ZZddJ„Z[dK„Z\dL„Z]d6eigegdM„Z^ed6eigdN„Z_dS(OiÿÿÿÿNcCsX|jƒj|ƒ}x<td|jƒƒD]%}|j|ƒ}|jƒr+|Sq+WdS(Niiÿÿÿÿ(tGetItemManagertGetPacktrangetGetCounttGetAttIsEmpty(t    curPlayert    packindextcurPacktititem((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetItemPackSpaceIndex*s  cCsgd}|jƒj|ƒ}xEtd|jƒƒD].}|j|ƒ}|jƒr1|d7}q1q1W|S(Nii(RRRRRR(RRt    itemSpaceRR    R
((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetItemPackSpace;s cCsX|jƒj|ƒ}x<td|jƒƒD]%}|j|ƒ}|jƒr+tSq+WtS(Ni(RRRRRRtTruetFalse(RRRR    R
((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCheckPackHasSpaceLs  cCs@x9t|jƒƒD]%}|j|ƒ}|jƒsdSqWtS(N(RRRRR(titemPackR    R
((skE:\SnxxServerCode\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
((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytFindPlayerItemCountByItemIDlscCss|jƒj|ƒ}xWtd|jƒƒD]@}|j|ƒ}tj|ƒsUq+n|jƒ|kr+|Sq+WdS(Ni(    RRRRRRRRtNone(RRRRR    R
((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytFindPlayerItemByItemIDscCs”|jƒj|ƒ}xxtd|jƒƒD]a}|j|ƒ}tj|ƒsUq+n|jdƒ}|dkrvq+n|j    ƒ|kr+|Sq+WdS(Ni(
RRRRRRRtGetEffectByIndexRt GetEffectID(RRRRR    R
teffect((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytFindPlayerItemByEffID”s cCse|jƒtjkr)tj|dƒdS|jƒjtjƒ}t|ƒsatj|dƒdSt    S(NtDJ_Res_Horses_AlreadyEquiptHorses_Bag_NoRoom(
tGetPlayerVehiclet IPY_GameWorldtpvHorset PlayerControlt
NotifyCodeRRtrptHorseRR(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(RRRRRRRt GetIsLockedR,t SetItemCountRRtappendtGetGUIDtClearR(
RRRtcountt delEventItemtguidListRt curDelCountR    R
((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt DelPlayerItemÑs6   
 
 c Csh|jƒj|ƒ}|}xFtd|jƒƒD]/}    |j|    ƒ}
tj|
ƒs[q1n|
jƒ|krsq1n| rŒt|
ƒrŒq1n| r¥|
j    ƒr¥q1n|
jƒ|krÒt
|
|
jƒ|ƒt S|
jƒ|kr|dkr|j |
jƒƒn|
jƒt S|dkr6|j |
jƒƒn||
jƒ}|
jƒ|dkr1t Sq1WtS(Ni(RRRRRRRRR,t    GetIsBindR.RRR/R0R1R( RRRR2tisbindR3R4RR5R    R
((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytDelPlayerItem_Bind s6 
 
 cCs&||kr"||kr"|r"tStS(N(RR(t    srcItemIDt srcItemIsBindt
destItemIDtdestItemIsBind((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCanPackItemByItemTypeAscCs ||kr||krtStS(N(RR(R:R;R<R=((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCanPackItemByItemBindNscCs+t|jƒ|jƒ|jƒ|jƒƒS(N(R>RR7(tsrcItemtdestItem((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt CanPackItemXscCs+t|jƒ|jƒ|jƒ|jƒƒS(N(R?RR7(R@RA((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCheckDragItemBind`sc Csd|jƒ}|tjks*|tjkrHtjd||jƒƒtS|j|ƒ}|dkrtjd||jƒƒtS|j|ƒ}|dkrºtjd||jƒƒtS||j    ƒksØ|dkrtjd||j    ƒf|jƒƒtS||j    ƒks |dkrJtjd||j    ƒf|jƒƒtS|j
|ƒ}    |j
|ƒ}
|} |    dkr~tS|
dkrŽtS|    j ƒržtS|    j ƒr¾t j|dƒtS| |    j    ƒkrÔtS| dkrätS| dkrÿ|    j    ƒ} n||kr+t|    ƒr+t j|dƒtS||krWt|
ƒrWt j|dƒtS|    |
| fS(    Ns*CanDragItem -> ²»ÔÊÐí²Ù×÷ÒÑɾ³ýµÄÎïÆ· = %ssCanDragItem ->±³°üÒì³£ = %ssCanDragItem ->Ä¿µÄ±³°üÒì³£ = %sis&CanDragItem ->³õʼ±³°üË÷ÒýÒì³£ = %s,%ss&CanDragItem ->Ä¿µÄ±³°üË÷ÒýÒì³£ = %s,%stGeRen_chenxin_644055titemuse_chenxin_31379(RR"t
rptDeletedt    GameWorldtLogt GetPlayerIDRRRRRRR-R$R%R,( Rt fromPackPlacet    fromIndext toPackPlacettoIndexR2t itemManagerRttoPackR@RAtputCount((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt __CanDragItemlsV   &&      cCsýtjddƒ}|stS|jƒ}|jƒ}tjddƒ}||kr_||}n
|d}|jƒ|krtS|tjddƒks¯|tjddƒkr³tS|tjddƒksã|tjddƒkrçtStjddƒ}|S(    sVÅжÏÊÇ·ñÐèÒª¼Ç¼
        ¼Ç¼ÓÅÏȼ¶£º ¿ª¹Ø > ÐèÒª¼Ç¼µÄ > ²»ÐèÒª¼Ç¼µÄ > Î´ÖªÉ趨
    t
ItemRecorditItemRecordRuleiiiii(t IpyGameDataPYt
GetFuncCfgRR)RtGetFuncEvalCfgt GetItemColorR(tcurItemt
recordOpentitemTypetitemIDtitemTypeMinColorDicttminColort defaultNeed((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytItemNeedRecord²s&    
cCsP|jƒ}|jƒ}|tjddƒksH|tjddƒkrLtStS(NRSii(R)RRTRVRR(RXRZR[((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(RRXtlimitSTRtlimitPHY((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( RaRbRcRtGetLVt GetItemUseLVR$R%RtGetReincarnationLvtGetEventCanUsetGetOfficialRank(RR
t
needNotifytitemUseRealmLimit((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCheckItemUseLVs  cCs|jƒ}|S(N(tGetUseLV(RXtinitLV((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRp#s cCstS(N(R(RX((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytIsValuableItem:s 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Í϶¯´´½¨Òì³£RDisÎïÆ·¶ÑµþÒì³£ = %s,%s(RQRRtSwitchRRtCreateSingleItemRRRGRHRIR_t
AssignItemR.t    SetIsBindR7R-R$R%t GetPackCountR"trptItemRCtmint SetItemIsBindRBtPlayerItemControlert    PutInItem(RRJRKRLRMR2tresultR@RARPt needPutItemt maxPackCounttdestRemainCountt realPutCounttplayerItemControl((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt __DoDragItemfsj        ?  !       cCsn||kr)||kr)tjdƒdSt||||||ƒ}|tkrj|j||||ƒdS|S(Ns!###ÆðʼλÖúÍÖÕֹλÖÃÏàͬ, ²»´¦Àí(RGRHRŠRtNotify_ItemPutFail(RRJRKRLRMR2R„((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__PlayerRt'_PlayerItemControler__PlayerItemManagerRR"trptEquipt!_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R-R$R%RR,Rt
JobUseablet    GetSexReqR*tDef_PlayerSex_AlltGetSexRvRlR(R’RXRtRtcurItemNeedSexReq((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RRRtPutInR"RtSwitchCanSpliceEquipRt
SwitchItemR(R’RXtequipPackIndexRt    equipPacktcurEquip((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt SwitchEquip1s         cCs‰|j}d}|j}xWt|jƒƒD]C}|j|ƒ}|jƒrRq+n|jƒsdq+n|d7}q+W|jtj    |ƒdS(Nii(
RRtxrangeRRRtGetItemQualitytSetDictR*tDef_PlayerKey_StartEquipCnt(R’RR2R¤R    R¥((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytRefreshStartEquipCountDs          cCs|j}|jtjƒS(N(Rt GetDictByKeyR*Rª(R’R((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetStartEquipCountVs    c Cs.|j|tƒsdS|jƒ}|j}|j}|j|ƒ}|jƒr[ddgn|jƒ|jƒg\}}|jƒ|jƒ}    }
|j    ||ƒ} | rt
j |ƒt j ||ƒtj|ƒidd6|d6|d6|    d6|
d    6} tj|tj| ƒn|jƒ| r*|SdS(
Niÿÿÿÿitt    EquipItemtdotypet    desItemIDt desUserDataR:t srcUserData(RŸRt GetEquipPlaceRRRRRt GetUserDataR¦t PlayerSuccesstDoEquipSuccessLogictOperate_EquipStonetDoMoveEquipStonet
EventShelltEventRespons_EquipStartDataRecordPacktCache_FightPowerChangeInfoR*tPowerDownType_EquipChangeR«( R’RXR£t
equipPlaceRR¤t    equipItemR±R²R:R³R„tdataDict((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR¯^s"         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(    R7RRRRR~R.R1R(R’R¥RXt
euqipCounttequipPackCountt    itemCounttsumValue((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR¡‚s$*    
    c     Cst|j}|j}|j|ƒ}|dks9|jƒr=dS|jƒ}|jƒ}|jƒ}|jƒrt    j
|dƒdSt |ƒr¡t    j
|dƒdS|j j tjƒ}    |dksÔ||    jƒkrñt    j
|dtjgƒdS|jƒ}
t|tj|tj||
ƒs"dS|jƒtj|ƒidd6|d6|d6} tj|tj| ƒ||fS(    NR•R–itGeRen_chenxin_676165t UnEquipItemR°tequipIDtuserData(RRRRRRRµR´R-R$R%R,RŽRR"RRRŒRR«RºR»R¼R½R*R¾( R’t
equipIndext    packIndexRRÀR¥RÈRÉR¿Rt curEquipCountRÁ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRÇ«s4              !
  R®c    Cs|j}d}d}|\}}}    |p3t|ƒ}
|tjkr‡|jtjƒpZd} t|jƒ|jtjƒd| ƒ}n3|tj    krºt
|jƒ|jtj ƒƒ}ng} xt t j|ƒƒD]} |jtj|| fƒ}|rqÖn|
rwt j||ƒ}i|d6| d6|d6|d6}|j|    ƒt j|||sgd|n|||ƒn| j| ƒtj|tj|| f|ƒ|jƒ|krÐt||jƒ|ƒqÖ|jƒPqÖW| røt||| ƒn|r|jƒ rtStS(    NiitsourceRËt    packPlacet ItemKeyDatat    eventNamesVPack_%s(RR_RbtrptRuneRatDef_IudetRuneSourcetGetRuneItemKeyDataRtDef_IudetRuneLVt rptGatherSoultGetGatherSoulItemKeyDatatDef_IudetGatherSoulLVR§Rt GetVPackCnttNomalDictGetPropertyR*tDef_PDict_VPackItemtGetItemNoteDicttupdatet
DR_GetItemR/R$tNomalDictSetPropertyRR.R1tSync_VPackItem_RefreshRRR(R’RËttagItemteventRt canPutInCnttsetItemKeyDataRÐt isForceEventtaddDictt isNeedRecordt
runeSourcetrefreshPlaceListtplacet itemKeyDatat itemNoteDicttnoteDict((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytPutItemInVPackîs>    *$" ,  
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(+RR*tDef_TransformItemIDListRtmaxRaRbtDef_IudetItemCountRtDef_ItemID_FamilyContributiont PlayerFamilytAddPlayerFamilyActiveValueRtDef_AddFAVReason_UseItemtDef_ItemID_SilverMoneyR$t    GiveMoneyR"tTYPE_Price_Silver_MoneytDef_ItemID_FamilyActivetTYPE_Price_FamilyActivityt Def_ItemID_SPtPlayerAddZhenQitDef_ItemID_GoldPapertTYPE_Price_Gold_PapertDef_ItemID_RealmPointtTYPE_Price_RealmPointtDef_ItemID_BossReborntstrRGtGetPlayerManagertGameServer_QueryPlayerResulttlentDef_ItemID_YsogtTYPE_Price_YsogtDef_ItemID_SoulDusttTYPE_Price_SoulDusttDef_ItemID_SoulSplinterstTYPE_Price_SoulSplinterstDef_ItemID_SoulCoretTYPE_Price_SoulCoretDef_ItemID_HonortTYPE_Price_Honor(R’RRàR[RÄtmsgStr((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytDoTransformItems< ! +cCs©|tjtjtjgkr"dS|j}tj|ƒ}|jƒ|j    ƒ|j
ƒ|j ƒg}i|j ƒd6|d6|d6|d6}t jtj||gƒdS(NtPlayerIDtItemDatat    PackIndextEvent(R"RRbt rptDogzItemtrptZhuXianItemRR$tGetPlayerServerGroupIDRRR7RµRIRGtSendMsgToClientServertCrossServerMsg_PutInItem(R’RËRàRáRt serverGroupIDtitemDatatitemMsg((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt__CrossServerPutInItem:s    *(c
Cs9|j}tj|ƒ}|r't}ntjƒj|jƒƒ}|sLtStjƒry|j    |||ƒ|j
ƒt St j |jƒ|ƒ}t|ƒ}|jƒ}    |     }
|
r¼dnd} |j||jƒ|| |ƒstjdt|ƒƒ|j
ƒtSt} |jƒ} |jƒt jkratj|tjd|jdƒjdƒgƒt S| t jkr¯|tjkr|j||ƒ|j
ƒt St }t j}n:| dkrÝtd|| ƒ}t}t } n |j ƒ}|tj!kr |j"|||ƒS|\}}}|jƒt#j$dƒkrr|j%tj&ƒdkrr|j'tj&|j(t j)ƒƒqrn|j*j+|ƒ}| rÄ|tjtj,tj-tj.gkrÄt/|ƒp¾|} nt}|raxŽt0d|j1ƒƒD]t}|j2|ƒ}|j3ƒt krqæn|j3ƒdkr;t4||ƒ r;qæn|j5ƒt krSqænt|ƒ}t|ƒ}||}|dkr‡qæn||krø||}t6||ƒt6|||ƒ| rZtj7||||ƒ}tj8|||||ƒqZqæ||}t6||ƒ|j
ƒt }| rYtj7||||ƒ}tj8|||||ƒnPqæWn|t krqt SxÁt0d|j1ƒƒD]ª}|j2|ƒ}|j3ƒt kr´q‡nt|ƒ}t|ƒ}||}|dkrèq‡n||krgt9|jƒ||
ƒ}|j:|ƒt6|||ƒ| r1tj7||||ƒ}tj8|||||ƒq1q‡|r€|j;||ƒn|j<ƒtj=kr¥|j>|ƒnE|j<ƒtj?krÊ|j:|ƒn tj@d|jƒ|jAƒƒt }| r0tj7|||t|ƒƒ}tj8|||||ƒnPq‡W|S(Niis±³°üÂú£¬²»ÄÜ·ÅÈëÎïÆ· count = %dtOpenBoxByLoginDayCfgsÎïÆ· = %s·ÅÈë´íÎó(BRRtCheckItemIsEquipRRGt GetGameDatatGetItemByTypeIDRt IsCrossServert*_PlayerItemControler__CrossServerPutInItemR1RR*tGetItemPackTypeR)t GetItemCountR7t CanPutInItemtDebugLogtDef_ItemType_SuccessItemR¶tDoAddSuccessProgressRbtSuccType_GetSpecialItemRtGetEffectValueRïR"RRtDef_UpperLimit_DWordRðR~tDef_VPack_TypeListRít ReadChConfigtGetEvalChConfigRatDef_IudetCreateItemLoginDayt SetUserAttrRÙtDef_PDict_LoginDayCntRŽRt rptTreasureRÑRÕR_R§RRRRBR-R.RÛRÝtGetOutPutItemObjR|tCheckEquipAttrtGetGameWorldItemTypet gwitRoleItemR tgwitSingleItemRHRI(R’RËRàt defaultPileRáRtisEquipt curItemDatat tagItemCounttisBindt isAuctionItemt auctionGroupRæR[R†RÐRäRåRt    putResultR    R
t packItemCountt curItemCountt canPutinCounttupdCountRët curCreateItem((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRƒLsÖ         
  !
 .
       %+"  
 
 
 
 
    c
CsC|jtjƒ}|jtjƒ}|r@|r@||kr@dS|j}t||ƒ}|sbdS|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(tGetUserAttrCountRbtDef_IudetLegendAttrIDtDef_IudetLegendAttrValueRtGetAddEquipLegendAttrRtGetEquipGearScoret ClearUserAttrR§Rt AddUserAttrt MakeEquipGSRGtErrLogRRI( R’tpackTypeRXtlegendAttrIDCounttlegendAttrValueCountRtlegendAttrInfotsrcScoretlegendAttrIDListtlegendAttrValueListR    tupdScore((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR6ës*              )cCsdS(s! Íæ¼ÒÉÏÏßÐÞ¸´×°±¸ÊôÐÔbug
        N((R’((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytCheckRolePackEquipAttrs3cCs5tjƒrtS|j|||||ƒ\}}|S(N(RGR#RtCanPutInItemEx(R’RËt    curItemIDRCR@R:tcheckRettputIndex((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR'Bs !cCs­tjƒ}|j|ƒ}|dkrBtjd|ƒtdfSt}|tjkr||t    j
krptdfStj }    n:|dkrªt d||ƒ}    t}t}n |j ƒ}    |    dkrãtjd||    fƒtdfStj|jƒ|ƒ}d}
|j} |tjkr‹xettj|ƒƒD]N} | jtj|| fƒ} | r]q/n|
d7}
|
|kr/t| fSq/WtdfSd}|jj|ƒ}xçt|jƒƒD]Ó}|j|ƒ}|jƒrù|
|    7}
|dkrs|}qsnz|rs|jƒrq¶nt|jƒ|j ƒ||ƒrs|    t!|ƒkrs|
|    t!|ƒ7}
|dkrp|}qpqsn|
|kr¶t|fSq¶W|
|kr£tdfSt|fS(NsÕÒ²»µ½ItemID = %diis$²ß»®Ìî±í´íÎó %s -> maxPackCount = %siÿÿÿÿ("RGR!R"RRHRRR*RïR"RR-RðR~R%R)RRbR.R§RRØRÙRÚRŽRRRRR-R>RR7R&(R’RËRZRCR@R:tgameDataR<R>R†t maxCanPutItemRRéRêt    itemIndexRR    R
((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRYPsf  
 
        
    
 
 
   !   
N(t__name__t
__module__RRRŽRR‘R”RŸR¦R«R­R¯R¡RÇRRíRR$RRƒR6RXR'RY(((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR‚Ús(         A                $    )    C*    "Ÿ        = iicCs=|dkrdnd}|d|dt|dƒd|S(Niiiʚ;iáõiçi †(R€(R[tRuneLVt    lockStateRÍ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRӚscCs|dS(Ni †((tkeyData((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt GetRuneItemIDscCs |ddS(Niáõi †((Rd((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetRuneItemPlusLVžscCs|dS(Niʚ;((Rd((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetRuneItemIsLockŸscCs |ddS(Niʚ;iáõ((Rd((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetRuneItemSource scCs|dkp|jƒtjkS(Ni(RWR*tDef_Quality_Orange(RXtplusLV((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytIsRuneItemNeedRecord¡scCst|dƒd|S(Niçi †(R€(R[t GatherSoulLV((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRÖ¥scCs|dS(Ni †((Rd((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetGatherSoulItemID§scCs |ddS(Niáõi †((Rd((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetGatherSoulItemPlusLV¨scCs|dkp|jƒtjkS(Ni(RWR*Ri(RXRj((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ÞR*RÚRßtSync_VPackItem_Clear(RRËRéRdtisSync((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ØtChPyNetSendPackttagMCVPackRefreshR1tPackTypeRÙR*RÚttagMCVPackItemt    ItemPlaceRtVPacklItemListR/RtCountt 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(    RsttagMCVPackClearR1Rut ItemPlaceListRRyRzR{(RRËR|t
vpackClear((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRpÉs 
        cCs;tjƒj|ƒ}t||j|j|j|jƒdS(N(RGRtGetPlayerByIndextDropItemToOtherPackt 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Æ(RRR‚R§RRRR*R%R)t__DoDropItemToOtherPackR/R$R%( Rt fromPackIndext desPackIndexRˆtisAlltmovePackt itemControlt fullPackListR_RXt toPackIndext fullPackIndex((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRƒãs0    c CsÉ|j||ƒr |jƒtS|jƒ}|jƒ}|jƒsJdnd}|tjkrˆtj    ||tƒsxt
S|j ||ƒS|j ||||ƒ\}    }
|    s°t
St |||||
|ƒS(Nii(RR1RRRR7RbRÑRRRRíRYRŒ( RR‘RR“R_RXt curItemTypeIDRCR@R[R\((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(tGetPlayerActionR*tDef_Player_ResetItem_StateR$R%RRRRRRR-R"t rptWarehouset GetTickByTypetTYPE_Player_Tick_WareHouseSorttTYPE_Player_Tick_Timet SetTickByTypetResetWareHousetGetResetItemTicktDef_ItemPackResetIntervaltSetResetItemTickt ResetRolePackt Sync_Refresh(RRËt
beingIndextendIndexRŠRR    RX((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    ResetItemWs
cCsƒi}x~t||dƒD]i}|j|ƒ}|jƒrAqn|jƒ}|jƒ}||krrg||<nt|||ƒqWg}    g}
xQ|jƒD]C} x:| D]2} tj| ƒrÒ|
j    | ƒq­|    j    | ƒq­Wq W|
j
t ƒ|    j
t ƒ|j ||ƒ|} x1|
D])}|j| ƒj|tƒ| d7} qWx1|    D])}|j| ƒj|tƒ| d7} qRWdS(Ni(RRRtGetItemRt__ResetItem_AddItemInListtvaluesRtCheckNoteEquipGSR/tsortt__CmpWareHouseEquipt __CmpRolePacktWipePackR|R(RRR¤R¥titemDictR    t curRoleItemRXR[titemListt equipGSListttmpListttmpItemtputPlaceR
((skE:\SnxxServerCode\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(    RoRWR¨R)tcmpRRTRVRˆ(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(RRRR©RRªRRR"RR«RtCheckJobR¬RKR´R)R*tDef_ItemType_RunetDef_ItemType_RuneExpR/R­R¯R°R|R(RRR¤R¥R±R    R²RXR[R³tequipGSGreaterListtequipGSLesserListt runeItemListR¤RµR¶tequipGSt
cmpEquipGStcmpItemR·R
((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR¢¸sj      !              cCsŸ|jƒ}|jƒ}||kr|jƒ|jƒkrõ|jƒ|jƒkrÑ|jƒ|jƒkr¸|jƒ|jƒkržt|jƒ|jƒƒ St|jƒ|jƒƒ St|jƒ|jƒƒStd|jƒd|jƒƒSq›td|jƒd|jƒƒSn‚tjddƒ}||krn||krnt|j    |jƒƒ|j    |jƒƒƒS||kr~dS||krŽdSt||ƒSdS(NitPackageSortPriorityiiÿÿÿÿ(
R)RWR¨RR7R¹RRTRVRˆ(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~RBtSetCountR/(tcurListtaddItemRÄt    packCountRXtcurCountt canPlaceCount((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRªTs$     
    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( RRRRRRR,R/tGetIDRGRHRR1(RRËRR³R    R
t curPlayerID((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytClearPackEventItemós    R®cCs²|dkrtStjƒj|ƒ}|s/tS|dkr‚tjd|ƒ}|s‚tjd|||f|jƒƒd}q‚n|dkr”tnt}|s©t    j
n|d}    t j |j ƒ|    ƒ}
|
|    ksÞ| rê|
g}nt} t|ƒ} x0|D](}
| j|
|||ƒrt} PqqW| s9tSt|ƒr„t} x2t|ƒD]$}t||||ƒrXt} qXqXW| Stj|ƒrôt} xTt|ƒD]F}t|d|d|ƒ}|sÎ| St||||ƒr¦t} q¦q¦W| St} |}td||ƒ}x˜|dkr­|dkr­|d8}||krJ|n|}|dkr`Pn||8}t|||d|ƒ}|sŒ| St||||ƒrt} qqW| S(s¸øÍæ¼ÒÎïÆ·
    @param auctionGroup: ÅÄÆ·×éÊý£¬0Ϊ·ÇÅÄÆ·£¬´óÓÚ0Ϊ×ܸøµÄÎïÆ·Êý²ð³ÉµÄÅÄÆ·×éÊý£»×¢ÒâÕâ¸ö²»Ò»¶¨°´µþ¼Ó²ð·Ö£¬²ß»®×ÔÐоö¶¨·Ç¼¸×éÅÄ
    it AuctionItemsR·ÇÅÄÂôÎïÆ·£¬²»Äܰ´ÅÄÆ··Ö×飬ĬÈÏתΪ·ÇÅÄÆ·! itemID=%s,itemCount=%s,auctionGroup=%siR(RRGR!R"RTtGetIpyGameDataRORIRR"RR*R%R)R‚R'tGetAppointItemRealIDR§tGivePlayerAppointItemRt
GetIsEquipR5tDoLogic_PutItemInPackRð(RR[RÄR@t packIndexListRáR<tipyDataR?t defaultPackRËtcanPutInR‘tisOKt_t outPutEquiptdoCountR†t    giveCounttgiveItem((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGivePlayerItem sl             
 
 cCs,t||ƒ}|stSt||d|ƒS(sl¸øÍæ¼Ò¶¨ÖÆÎïÆ·±íÎïÆ·£¬¶¨ÖÆÎïÆ·Ä¬ÈϸöÊý1
    @param appointID ¶¨ÖƱíID
    @param isAuctionItem ÊÇ·ñÅÄÆ·
    Rá(tGetAppointItemDictDataRtGivePlayerEquip(Rt    appointIDR?Rát itemDictData((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRÕTscCs t|ƒ}|siStjd|ƒ}|s2iSi}|jƒ|d<|jƒ|d<||d<|jƒ|d<||d<|jƒ|d<|jƒ|d<|S(    sj»ñÈ¡¶¨ÖƱíÎïÆ·Êý¾Ý£¬¶¨ÖÆÎïÆ·Ä¬ÈϸöÊý1
    @param appointID ¶¨ÖƱíID
    @param isAuctionItem ÊÇ·ñÅÄÆ·
    t AppointItemt legendAttrIDtlegendAttrValuetItemIDtCancelUseLimitt IsAuctionItemtOutOfPrintAttrIDtOutOfPrintAttrValue(RÔRTRÓtGetLegendAttrIDtGetLegendAttrValuetGetCancelUseLimittGetOutOfPrintAttrtGetOutOfPrintAttrValue(RåR?R[RÙRæ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRã_s 
 
cCsZtjƒj|ƒ}|sdS|jdƒ}|jƒ}|tjkrMdS|jdƒS(s»ñÈ¡¶¨ÖÆÎïÆ·¶ÔÓ¦µÄÕæÊµÎïÆ·IDi(RGR!R"RRR*tDef_Effect_AppointItemR,(R[RXtcurEfftcurEffID((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRÔys cCs"t|ƒ}t|||||ƒS(N(t GetItemByDataR×(RRRáRPR:RÀ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRäŠs cCs‰|s
dSt|jddƒƒ}t|jddƒƒ}tj|d|ƒ}|sYdStƒ}|sndnd|_t|jdttjƒƒƒ|_    |jdgƒ|_
|jdgƒ|_ |jd    gƒ|_ |jd
gƒ|_ tj||ƒd |kr.|d }|j|t|ƒƒnd |kr]t|d ƒ}tj||ƒn|jd dƒr…|jtjdƒn|S(NRêiRìR?itSourceRèRéRíRîtUserDatatEquipGSRë(tinttgetRR{tSingleEquipTmpDataR>RRbtItem_Source_UnkownRÍRURVtOutOfPrintAttrIDListtOutOfPrintAttrValueListtChItemtEquipAddAdditionExt SetUserDataRtSetEquipGearScoreR2Rc(RR[R?RÀt tmpEquipDataRÉRÅ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR÷”s0    $ 
 cCsTt|ƒ}x*|D]"}|j||||ƒrtSqW|jƒtjdƒtS(Ns,DoLogic_PutItemInPack Error ÎïÆ·ÎÞ·¨·ÅÈë±³°ü(R‚RƒRR1RGROR(Rt curGiveItemRáRØR:R‘RË((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR×Ìs      
 cCs|j|ƒdS(N(R}(RR>((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
(RRR*RïR2RbRñR€R-RÉRGRORt    tracebackt extract_stackt
format_exc(R
tcnttplayerIDtaccIDt
playerNameR[t    errorInfo((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR.ös  " +cCs/|jƒtjkr%|jtjƒS|jƒS(N(RR*RïRaRbRñR(R
((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR&    scCs]|jƒtjkr4|tjkr(dStj}n |jƒ}ttj    |t
|ƒƒƒS(Ni( RR*RïR"RR-R~Rûtmathtceiltfloat(RPRRÄRÌ((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetItemNeedPackCount
    s   cCs|jƒtjkS(N(t IsBothHandsRbtDef_Weapon_Two_Handed(R¥((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytIsTwoHandedWeapon    scCs|jƒtjkS(N(RRbtDef_Weapon_Dual_Hands(R¥((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt IsDualWeapons    scCsX||kr|Sx=|D]5}|j|ƒ}|jƒr<|St|ƒr|SqW|dS(Ni(RRR(R¤tpackEquipIndexR|t
placeIndexR¥((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGetMultiPlaceEquipPlace'    s    c    CsËtj||||ƒ}|s3tjd|ƒdStj|ƒsF|St|ƒro|jƒtt||ƒƒS|ry|St    ƒ}t
|||ƒ}|r·|d|_ |d|_ nt j||ƒ|S(s5 »ñÈ¡¹¦Äܲú³öµÄÎïÆ·ÊµÀý
    @param isAuctionItem: ÊÇ·ñÅÄÆ·£¬Ä¬ÈÏ·ÇÅÄÆ·
    @param expireTime: ÓÐЧʱ¼ä£¬Ê±¼äµ¥Î»ÓÉʱЧÀàÐ;ö¶¨
    @param curPlayer: ²ú³ö¸ÃÎïÆ·Ê±µÄÍæ¼Ò£¬·ÇÅÄÆ·Ê±Ðè´«Èë¸ÃÖµ£¬ÎïÆ·Ä³Ð©ÊôÐÔÓÉÍæ¼ÒµÈ¼¶¾ö¶¨£¬Èç´«ÆæÊôÐÔ
    @param isAllAttr: ÊÇ·ñÉú³É¸Ã×°±¸ËùÓÐÊôÐÔ£¬GM´´½¨ÎïÆ·Ê±Óã¬ÐèÑéÖ¤Ïà¹ØÈ¨ÏÞ
    s²ú³öÎïÆ·Òì³£,ÎÞ·¨´´½¨ÎïÆ· = %sNii(RR{RGROR RÔR1R÷RãRýRJRURVRR(    R[RÄR?t
expireTimeRt    isAllAttrRXRRS((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR5;    s$ 
     c! Cs‡|jƒsdS|jƒ}|jƒ}|jƒ}|jƒrFdnd}tjd|||ƒ}|s‘|tjkrt    j
d|ƒndS|j ƒ}|j ƒ}    |j ƒ}
|dkrÝ|    dkrÝ|
dkrÝdS|søt    jd|ƒdS|jƒ|jƒ} } tjd|ƒ} | s-dS| jƒ}| jƒ}| jƒ}g}g}|rŠ|jƒdkrydS|||}n:|r×t|ƒ|krÆt    jd    ||||f| ƒdS||| 7}n|    r,t|ƒ|    krt    jd
|||    |f| ƒdS|tj||    ƒ7}n|
rÄt|ƒt|ƒ}x*|D]"}||krO|j|ƒqOqOWt|ƒ|
kr«t    jd |||
|f| ƒdS|tj||
ƒ7}ntj|ƒ}tjd ||||ƒ}|st    jd |||||f| ƒdS|jƒ}xS|D]K}||krjt    jd||||||f| ƒdSd}||}x*|D]"\}}| |kr|}PqqW|dkràt    jd||||||| f| ƒdStjd|ƒ}}|st    jd||f| ƒdS|jƒ}||krSt    jd|||f| ƒdS||}tj |ƒ} |j!| ƒq.W||gS(s[»ñÈ¡Éú³Éµ½×°±¸ÉϵĴ«ÆæÊôÐÔ
    @return: None »òÕß [[´«ÆæÊôÐÔЧ¹ûIDÁбí], [ÊôÐÔÖµÁбí]]
    NiitEquipLegendAttrCounts¸Ã×°±¸Ã»Óд«ÆæÊôÐÔ: itemID=%ss&Éú³É×°±¸´«ÆæÊôÐÔÊ±Íæ¼Ò²»´æÔÚ!itemID=%stEquipLegendAttrTypeiZs]×°±¸¹Ì¶¨´«ÆæÊôÐÔÅäÖò»×ã!itemID=%s,itemType=%s,fixedLegendAttrCount=%s,fixedLegendAttrList=%ss[×°±¸×·Çó´«ÆæÊôÐÔÅäÖò»×ã!itemID=%s,itemType=%s,goodLegendAttrCount=%s,goodLegendAttrList=%ss]×°±¸Ò»°ã´«ÆæÊôÐÔÅäÖò»×ã!itemID=%s,itemType=%s,otherLegendAttrCount=%s,otherLegendAttrList=%stEquipLegendAttrValuesX´«ÆæÊôÐԵȼ¶ÊýÖµ±íÕÒ²»µ½ÅäÖÃ!itemID=%s,itemType=%s,itemClassLV=%s,itemColor=%s,isSuit=%sst´«ÆæÊôÐԵȼ¶ÊýÖµ±íûÓÐÅäÖÃÊôÐÔID¶ÔÓ¦µÈ¼¶¿â±àºÅ!itemID=%s,itemType=%s,itemClassLV=%s,itemColor=%s,isSuit=%s,attrID=%ss~´«ÆæÊôÐԵȼ¶ÊýÖµ±íÕÒ²»µ½ÊôÐÔID¶ÔÓ¦µÈ¼¶¿â±àºÅ!itemID=%s,itemType=%s,itemClassLV=%s,itemColor=%s,isSuit=%s,attrID=%s,playerLV=%stEquipLegendAttrLibs2´«ÆæÊôÐÔ¿â²»´æÔÚ´«ÆæÊôÐÔIDÅäÖÃ!itemID=%s,attrID=%ss5´«ÆæÊôÐÔ¿â±àºÅ²»´æÔÚ!itemID=%s,attrID=%s,curLibNum=%s("R7RR)RWt
GetSuiteIDRTtGetIpyGameDataNotLogR*tDef_Quality_PurpleRGR(tGetFixedLegendAttrCounttGetGoodLegendAttrCounttGetOtherLegendAttrCountRORIRoRÓtGetFixedLegendAttrListtGetGoodLegendAttrListtGetCommLegendAttrListt
GetGMLevelRtrandomtsampletlisttremoveRtGetItemClassLVtGetLVLegendAttrLibNumInfoRtGetLegendAttrLibtchoiceR/(!RXRRR[RZt    itemColortisSuittattrCountIpyDatatfixedLegendAttrCounttgoodLegendAttrCounttotherLegendAttrCountR tplayerLVtattrTypeIpyDatatfixedLegendAttrListtgoodLegendAttrListtcommLegendAttrListtcurLegAttrIDListtcurLegAttrValueListtotherLegendAttrListt    curAttrIDt itemClassLVtattrValueIpyDatatattrLVLibNumDicttattrIDt    curLibNumt lvAttrLibListtlvtlibNumtattrLibIpyDatat attrLibDictt    valueListt    attrValue((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyRJa    s°       $                            
         
RýcBseZd„ZRS(cCsjd|_d|_g|_t|_d|_t|_tj|_    g|_
g|_ g|_ g|_ dS(Ni(tstarLVtholeCntt    stoneDataRtisSuitetsuiteLVR>RbRþRÍRURVRÿR(R’((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyR”Ø    s                                         (R`RaR”(((skE:\SnxxServerCode\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§RRRR1(RRPtpackR    RX((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt    ClearPackè    scCs>t|tjƒ|sdnd}t||d|tjgƒS(Nii(RTRbt rptTempSwapRâ(RR[R>R@((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytPutItemInTempSwapò    scCs0|rt|tjƒn|jtjdƒdS(s£ ¿ªÆôʰȡµÄÎïÆ··ÅÈëÁÙʱ´æ·Å±³°ü
    @param isClearItem: ÊÇ·ñÇå³ýÁÙʱ´æ·Å±³°üÎïÆ·; Ò»°ã¼¤»î¸Ã¹¦ÄÜʱÉèÖÃΪ True£»
                        ÓÉÓÚ±ê¼Ç¸Ã״̬µÄkey¼Ç¼²»´æÓÚÊý¾Ý¿â£¬¹ÊÔÚ¸ÃÉ趨ÓÐЧÆÚÄÚÍæ¼ÒÀëÏßÖØÉϻᵼÖÂÉ趨±»ÖØÖÃ
                        ËùÒÔµÃÔÚÌØ¶¨µÄ¹¦ÄÜÂß¼­ÀÈ縱±¾µÄ DoEnterFB ÖØÐÂÉ趨£©£¬µ«´Ëʱ²»ÄÜÇå¿Õ´Ë±³°üÎïÆ·£¬ÐèÉèÖÃΪ False
                        ·ñÔò»áµ¼ÖÂÖØÐÂÉÏÏߺó֮ǰÒѾ­Ê°È¡µÄÁÙʱÎïÆ·±»Çå¿Õ
    iN(RTRbt rptTempItemR©R*t!Def_PlayerKey_PickupItemPutInTemp(Rt isClearItem((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytOpenPickupItemPutInTempù    scCs|jtjdƒdS(Ni(R©R*RX(R((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytClosePickupItemPutInTemp
sc
Cs­g}|jƒjtjƒ}xOt|jƒƒD];}|j|ƒ}| s1|jƒr_q1n|j|ƒq1W| r‚| r‚gSt    |ƒt    |ƒ}|t
j |t j |ƒk}    |    r'g}
x$|D]} |
jt
j| ƒƒqÉW|
|7}
|stjn|}tj||jƒg|
ƒnrt|ƒ} x'|D]} | jt j | d|ƒq:Wx9|D]1\} }}t|| ||t j gd|ƒqdWt|tjƒdS(sn ½«ÁÙʱ±³°üÖеÄÎïÆ··ÅÈëÍæ¼ÒÎïÆ·±³°ü
    @param mailType: ÎïÆ·±³°ü¿Õ¼ä²»¹»Ê±Ê¹ÓÃÓʼþ·¢ÎïÆ·¸øÍæ¼ÒµÄÓʼþÄ£°å
    RáN(RRRbRWR§RRRR/RRR R"RtGetMailItemDicttDefaultLackSpaceMailTypeR$t SendMailByKeyRIR‚RƒRâRT(RRát mailTypeKeyt extraItemListt tempItemListRSR    RXt    needSpacet
isSendMailt mailItemListttempItemR‘R[titemCntR>((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytDoGivePlayerTempPackItem
 
s2 
  &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á(RGR!R"RORÏR*R%R)RRüRtitemsRR RR$R^RIR(RRâR"R( RR³tmailKeyRátneedPackSpaceDictR[RfR>RXRPRbRc((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pytGivePlayerItemOrMail,
s(#&(`R"RGR*R$RRbRR+R/RR¶RóRsRzR¸RTR¼RºRR R RRRRRR(R,RRR6R9R>R?RBRCRQR_R`RlRRvRpRyRŠRŒR‚RÓReRfRgRhRkRÖRmRnRoRrRßRpR‹RƒRŒR¦R¨RžR®R¢R¯RªRÑRâRÕRãRÔRt rptAnyWhereRäR÷R×RR.R&RRRRR5RJRýRTRVRZR[RgRk(((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ItemControler.pyt<module>sº                                                        :6         
             F    $        #         ,    a    ÿÿ                                                   #        3        8    !    a    ;    Ÿ    I                  8'                              & r    
         "