1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
È{ó[c@sH
ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl!Z!ddl"Z"ddl#Z#ddl$Z$ddl%Z%ddl&Z&ddl'Z'ddl(Z(ddl)Z)ddl*Z*ddl+Z+ddl,Z,ddl-Z-ddl.Z.ddl/Z/ddl0Z0ddl1Z1ddl2Z2ddl3Z3ddl4Z4ddl5Z5ddl6Z6ddl7Z7ddl8Z8ddl9Z9ddl:Z:ddl;Z;ddl<Z<ddl=Z=ddl>Z>ddl?Z?ddl@Z@ddlAZAddlBZBddlCZCddlDZDddlEZEddlFZFddlGZGddlHZHddlIZIddlJZJddlKZKddlLZLddlMZMddlNZNddlOZOddlPZPddlQZQddlRZRddlSZSddlTZTddlUZUddlVZVddlWZWddlXZXddlYZYddlZZZddl[Z[ddl\Z\ddl]Z]ddl^Z^ddl_Z_ddl`Z`ddlaZaddlbZbddlcZcddldZdddleZeddlfZfddlgZgddlhZhddliZiddljZjd„Zkd„Zld„Zmd„Znd„Zod„Zpd„Zqd    „Zrd
„Zsd „Ztd „Zud „Zvd„Zwd„Zxd„Zyd„Zzd„Z{d„Z|d„Z}d„Z~d„Zd„Z€d„Zd„Z‚d„Zƒd„Z„d„Z…d„Z†d„Z‡d„Zˆd „Z‰d!„ZŠd"„Z‹d#„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™d0„Zšd1„Z›d2„Zœd3„Zd4„Zžd5„ZŸd6„Z d7„Z¡d8„Z¢d9„Z£d:„Z¤d;„Z¥d<„Z¦d=„Z§d>„Z¨d?„Z©d@„ZªdA„Z«dB„Z¬dC„Z­dD„Z®dE„Z¯dF„Z°dG„Z±dH„Z²dI„Z³dJ„Z´dK„ZµdL„Z¶dM„Z·dN„Z¸dO„Z¹dP„ZºdQ„Z»dR„Z¼dS„Z½dT„Z¾dU„Z¿dV„ZÀdW„ZÁdX„ZÂdY„ZÃdZ„ZÄd[„ZÅd\„ZÆd]„ZÇd^„ZÈd_„ZÉd`da„ZÊdb„ZËdc„ZÌdd„ZÍde„ZÎdf„ZÏdg„ZÐdh„ZÑdi„ZÒdj„ZÓdk„ZÔdl„ZÕdm„ZÖdn„Z×do„ZØdp„ZÙdq„ZÚdd`dr„ZÛeÜddse•d`dt„ZÝdu„ZÞdv„Zßdw„Zàdx„Zády„Zâdz„Zãd{„Zäd|„Zåd}„Zæd~„Zçd„Zèd€„Zéd„Zêd‚„Zëdƒ„Zìd„„Zíd…„Zîd†„Zïd‡„Zðdˆ„Zñd‰„ZòdŠ„Zód‹„ZôdŒ„Zõd„ZödŽ„Z÷d„Zød„Zùd‘„Zúd’„Zûd“„Züd”„Zýd`d•„ZþdS(–iÿÿÿÿNcCsdS(N((ttick((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt
InitPlayerscCs§tj|ƒdkr(tj|dƒn|jƒjƒdkrY|jƒjtjƒn|jƒdkr~|j    tj
ƒn|j ƒdkr£|j tj ƒndS(Nii(t PlayerControlt
GetJobRankt
SetJobRankt GetTradeListtGetTradeItemCounttSetTradeListCounttChConfigtDef_PlayerTradeMaxItemCounttGetTickTypeCounttSetTickTypeCounttTYPE_Player_Tick_CounttGetMaxChannelCounttSetMaxChannelCounttDef_PlayerTalkChannelMaxCount(t    curPlayerR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytInitLoginPlayerŠscCs7tj||ƒrdStj|tƒtj|ƒdS(N(tFBLogictPlayerLoginInFBCheckt
EventShelltNotifyAllQuestDetailtTruetPlayerEventCountertUpdatePlayerLoginTime(RR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytOnAllServerInitOK²s
 cCsÝ|jtjƒdkrdS|jƒjƒ}|jƒjƒ}|dksX|dkr\dStj|jƒdtj    ƒ}|tj|jƒdtj    ƒkr¤dSt
j |j ƒ|j ƒ|ƒtj|tjdƒdS(Nitt0ii(ss0(ss0(tNomalDictGetPropertyRtDef_Player_Dict_OtherDayLogint GetLogoffTimetstript GetLoginTimet    GameWorldtGetDateTimeByStrtsplittTYPE_Time_Format_DaytDataRecordPacktDR_OtherDayLogintGetAccIDtGetIPRtNomalDictSetProperty(Rt logoffTimeStrt loginTimeStrtlogoffTimeDate((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytNoteOtherDayLoginÊs%cCsÜ|jtjdƒt|ƒt|ƒ|jƒ|jƒt|ƒt|ƒt    |ƒt
j |ƒt
j ||ƒt
j ||ƒt|ƒt|ƒt||ƒt||ƒ|jtjƒƒtj|ƒtj|ƒtj|ƒtj|ƒtj|ƒ}|tjdkrbtj|tj dƒtj|tj!dƒtj|tj"dƒnt#|ƒt$j%|ƒt&|ƒt'||ƒt(|ƒt)|ƒt*j+|ƒt,j-|ƒt*j.|ƒt*j/|ƒt0j|ƒt1j2|ƒt3j4||ƒt5j4||ƒt6j7||ƒt8j9|ƒt8j:|ƒt8j;|ƒt<j=|t>j?ƒt@jA||ƒtBjC|ƒtDj|ƒtEj|ƒtFjG|ƒtHjI|ƒtJjK|ƒtj|ƒjL|ƒtMjN|ƒ|jOƒtPjQ|ƒtRjS|ƒtTjU|ƒtVjW|ƒtXjY|ƒtZj[|ƒt\j]|ƒt^j|ƒt_j`|ƒtaj|ƒtbj|ƒtcjd|ƒtejf|ƒtgjh||ƒtijj|ƒtkjl|ƒtjm|ƒtn|ƒtojp|ƒtqjp|ƒtrjp|ƒtsjp|ƒttjp|ƒtuj|ƒtvjw|ƒtxjy|ƒtzjp|ƒt{j||ƒt}j~|ƒtj€|ƒtj‚|ƒtƒj„|ƒt…j†|ƒt‡jp|ƒtˆj‰|ƒt@jŠ||ƒt‹jŒ|ƒtjŽ|ƒtj|ƒtj|ƒt‘j|ƒt’|ƒtHj“|ƒt”jp|ƒt•jp|ƒt–j|ƒt—j|ƒ|j˜ƒt™|ƒtš|ƒ|j›dƒ|jœdƒt‹j|ƒ}|r­|jžt>jŸ|ƒn|j ƒrØ|j¡t¢j£|j ƒt¤ƒndS(Niièi(¥tSetDictRtDef_PlayerKey_LoadMapIsLogintSync_PyServerDataTimeToClienttSync_OpenServerDaytSync_ClientPlayerLogintSync_GameServer_MapIDtSyncGuideStatetInitPlayerPackt__Sync_PackDetelt SkillCommontPlayerLoginCheckLearnSkillt PlayerLoginMergeServerSkillLogictPlayerLoginUpdateSkillCDt__Sync_ClientSkillt__Sync_ClientBufftInitRealityTimeItemtDoPlayerLoginInMapt SetLoginTimeR!tGetCurrentDataTimeStrtPlayerGodWeapontOnLogintPlayerPrestigeSysR%tDR_PlayerLogint EventReporttWriteEvent_loginRtGetPlayerLeaveServerSecondtDef_PlayerOfflineProtectTimeR)t Def_Player_Dict_PlayChangeLineIDt Def_Player_Dict_FuncChangeLineIDt Def_Player_Dict_HighChangeLineIDt__DoMixServerFirstLogintPlayerBillboardtBillboardOnLoginR-t__Sync_PlayerOfflinet__SyncPlayerInfoExt SyncPKModeltChEquiptNotifyEquipPartStarLVtOperate_EquipWashtOnEquipWashLogintNotifyEquipPartSuiteLVtSyncAllEquipAttrActiveInfotOperate_EquipStonetPlayerGreatMastert MasterOnLogint    PlayerVipt    DoOnLogintPlayerRefineStovet
PetControltDoLogic_PetInfo_OnLoginRtEventResponse_OnEntertEventResponse_OnLogintNotifyRunEndAwardt ItemControlertClearPackEventItemt IPY_GameWorldt rptAnyWheretPlayerGameWallowtCalc_Wallow_OfflineTimet PlayerLVAwardtSync_LVAwardGetRecordInfot
PlayerCointPlayerGoldGifttOperate_PlayerBuyZhenQit DoPlayerLogint GameFuncCommtSync_FuncOpenStatet PlayerSignDaytSignDayOnLogintNotifyPlayerDeadTimetUpdatePlayerNametSync_UpdatePlayerNameCounttBalanceServer_PlayerLoginInitOKt PlayerHorsetPlayerHorseLogintPlayerTreasuretOnTreasureLogintPlayerLoginDayAwardtOnLoginNotifyLoginDayAwardtOpenServerCampaigntOnOpenServerCampaignLogintGameLogic_TrialTowertOnFBPlayerLogintGameLogic_GodAreatGodAreaOnLogint    NPCCommontSyncCollNPCTimetPlayerActivitytFBCommont    FBOnLogintPlayerWorldAverageLvtPlayerGoldInvesttPlayerAttrFruittAttrFruitOnLogint PlayerSuccesst SuccOnLogint PlayerFamilytFamilyPlayerOnLogintPlayerDienstgradtSync_AllDienstgradOnLogint PlayerRecovertRecoverOnLogintNotifyPlayerAllCurrencytNotifyPlayerBasePointtPlayerCostRebatet OnPlayerLogintPlayerActTotalRechargetPlayerSpringSaletPlayerFlashGiftbagtPlayerFlashSalet BossHurtMngtChItemtSync_ItemDayUseCntt
PlayerRunetPlayerRuneLogintPlayerFamilyRedPackettPlayerMagicWeapontPlayerMagicWeaponLogintFunctionNPCCommontShopItemOnLogintPassiveBuffEffMngtOnLoginGFPassivet PlayerDiceExt DiceExOnLogint QuestCommontSync_StoryMissionStatetGameLogic_XMZZt OnXMZZLogintPlayerOnlinePrizetPlayerEquipDecomposet PlayerLogintDoLogic_CheckWallowt    PlayerTJGt NotifyTJGInfot PlayerGeTuitLoginNotifySettingtPlayerFreeGoodstPlayerBossReborntPlayerFairyCeremonytSyncPackDownloadAwardtDoFuncOpenLogict
PlayerDogzt FamilyRobBosstPlayerBindJadeWheeltPlayerWishingWelltSendDBQueryRechargetSyncLittleHelpertSyncChatBubbleBoxStatetSetStatet
SetFacePict
GetTJGTimetSendGameServerRefreshStatetCDBPlayerRefresh_HappyPointtGetGMForbidenTalktSendPropertyRefresht ShareDefinetCDBPlayerRefresh_ForbidenTalktFalse(RRtleaveServerSecondttjgTime((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRnísà
 
 
 
 
 
 
 
 
 
 
 
 
 
                 
 
 
 
 
 
   cCsHtjƒ}|jƒ|jƒ|_|jƒ|_tj||ƒdS(N(tChPyNetSendPackttagMCPlayerInfotCleartIsAdulttGetCreateRoleTimetCreateRoleTimet NetPackCommont SendFakePack(Rt playerInfoEx((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRP?s  
cCs7tjƒjtjƒ}|s"dStj}tjƒj|ƒ}tjd||jƒƒ|jt    j
ƒ}||kr‰tjdƒdSt j |t    j
|ƒt j||ƒt j |t    jdƒtj|ƒxQtjD]F}t j |t    j|dt    jƒt j |t    j|dt    jƒqÜWtj|ƒdS(NsºÏ·þÊ׵Ǵ¦ÀílastMixServerDay=%ss±¾´ÎºÏ·þÒѾ­µÇ¼¹ý.i(R!t GetGameWorldtGetGameWorldDictByKeyRÉtDef_Notify_WorldKey_IsMixServert$Def_Notify_WorldKey_LastMixServerDaytDebugLogt GetPlayerIDRRtDef_PDict_MixLoginDayRR)RMt!UpdBillboardOnMixServerFirstLogintDef_PDict_MixLoginDayStatetPlayerMixLoginDayAwardtNotifyPlayerAwardStatetDef_MixCampaign_Type_Listt'Def_PDict_MixServerCampaign_AwardRecordt Def_PDictType_OpenServerCampaignt&Def_PDict_MixServerCampaign_RecordDataRttResetChangeNameCnt(Rt isMixServertlastMixServerDayKeytlastMixServerDayt    playerDayt campaignType((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRLKs*        cCs0tj|tjdƒtj|tjdƒdS(Ni(RR)RtDef_Player_Dict_PlayerDeadCnttDef_Player_Dict_DeadTime(R((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytClearPlayerDeadInfouscCsKtjƒ}tjdƒ}tjdƒ}t|||ƒt||ƒdS(NtPlayerLoginNotify_TimeSecttPlayerLoginNotify_Dict(R!tGetCurrentTimet ReadChConfigtGetEvalChConfigtDoNotifyByTimeSecttDoNotifyByDict(RRtcurTimetnotifyByTimeSectt notifyByDict((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytPlayerLoginNotify€s   cCsLxE|D]=}tj||dƒs)qntj||d|dƒqWdS(Niii(R!t IsAtActTimeRt
NotifyCode(RRöt
notifyInfot    curNotify((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRô“s cCs\tjƒ}xI|D]A}|j|dƒ|dkrtj||d|dƒqqWdS(Niiii(R!R×RØRRû(RRüt    gameWorldRý((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRõ¡s  c
Cs|jƒ}xÝtjD]Ò}|j|ƒ}|jƒx°t|jƒƒD]œ}|j|ƒ}|jƒroqHnt    j
|ƒ}t    j |ƒ}||krHt    j ||ƒt jd|||||jƒ|jƒf|jƒƒqHqHWqWx'tjjƒD]}tj||ƒqüWdS(NsLµÇ¼¸üÐÂ×°±¸ÆÀ·Ö: packType=%s,i=%s,hisScore=%s,newScore=%s,itemID=%s,guid=%s(tGetItemManagerRt Def_PlayerLoginInitPackIndexListtGetPackt Sync_RefreshtxrangetGetCounttGetAttIsEmptyt
ItemCommont CalcEquipGStGetEquipGearScoretSetEquipGearScoreR!tLogt GetItemTypeIDtGetGUIDRÜtDef_VPackCnt_DicttkeysRctSync_VPackItem_Refresh(Rt itemManagert    packIndextrolePacktitcurItemtnewScorethisScore((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR6­s" 
      :cCstj||ƒdS(N(t PlayerStatetProcessTimeEquip(RR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR=æscCsF|jƒ}x3t|jƒƒD]}|j|ƒ}|jƒqWdS(N(tGetSkillManagertranget GetSkillCounttGetSkillByIndext
Sync_Skill(Rt skillManagerRtcurSkill((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR;ïs
 cCsd|jƒjƒ|jƒjƒ|jƒjƒ|jƒjƒ|jƒjƒ|jƒjƒdS(N(t GetBuffStatet    Sync_BufftGetDeBuffStatetGetAurat
GetIncBufftGetProcessBuffStatetGetProcessDeBuffState(R((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR<üs cCs!tjƒrdStj|ƒdS(N(R!t IsMergeServerR²tTJGDeadOffline(RR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRO
s  %cCsrtjƒrdStjƒ}|s&dS|jtjƒ}||krntj|tj|ƒtjd|ƒndS(Ns(¸üÐÂÍæ¼ÒËùÊô·þÎñÆ÷×éID: serverGroupID=%s(    R!R(tGetServerGroupIDRRtDef_Player_Dict_ServerGroupIDRR)RÛ(Rt serverGroupIDtplayerServerGroupID((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytUpdatePlayerServerGroupID5s   cCs6|jdƒ|jtƒ|jtƒ|jtƒ|jtƒ|jtƒ|jƒtj    krvt
j ||ƒn t
j |ƒt ||ƒtj|tj|ƒtj||ƒtj|ƒ}|jƒ|j|ƒ|j|ƒ|jtj|ƒtj||ƒt|ƒtj|jƒƒtt_ dS(Ni(!tGameServer_SetLoadMapStatet
SetCanMoveRËt    SetInitOKt SetMapLoadOKt
SetVisiblet SetCanAttacktGetPlayerActionRet paGameEventtPlayerGameEventt StopGameEventtTakeoffFishermanEquipmentt__CheckClearBuffOnMapChangeR7tAddBuffBySkillType_NoRefurbishRtDef_SkillID_LimitSuperBuffRtChangePlayerSighRtReCalcAllStatetSetProcessEquipDurgTickt SetLoginTickR.tDef_PlayerKey_CalcOLTimeTicktRefreshRebornPointtSavePlayerMessionInDataServertRemoveLeaveServerPlayerInfoRÜRt
PyGameDatatg_needRefreshMapServerState(RRt playerControl((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR>Is,        
 
    cCs»tjƒjƒ}tjdƒ}g}xf|jƒD]X\}}| sS||kr4tj|||ƒrŒtjd|ƒ|j    |ƒqŒq4q4Wx$t
j D]}tj|||ƒqšWdS(NtFBBuffsÇеØÍ¼É¾³ý¶àÓàbuff: %s( R!tGetMaptGetMapIDRòRótitemst    BuffSkilltDelBuffBySkillIDRÛtappendRtClearBuffOnMapChangeList(RRtcurMapIDt
fbBuffDictt
buffIDListtbuffIDt    mapIDList((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR:scCsdS(N((R((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRC•scCstjtƒ||ƒdS(N(R!t GetPsycoFunct__Func_PlayerLogin(tindexR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR°£scCs¼tjƒj|ƒ}y;t||ƒt||ƒ|jtƒtj||ƒWne|j    t
j ƒddl }tj d|jƒƒtjƒjƒr¸td|jƒƒ‚q¸nXdS(NiÿÿÿÿsÍæ¼ÒÉÏÏßÂß¼­´íÎó~~~~~
%ssÍæ¼ÒÉÏÏßÂß¼­´íÎó~~~~
%s(R!tGetPlayerManagertGetPlayerByIndexRRnR0RËtPlayerAutoCheckOnlinetPlayerLoginCaptchatKickRetdisWaitForPlayerLoinErrort    tracebacktErrLogt
format_excR×t GetDebugLevelt    Exception(RWRRR^((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRV­s    cCstjtƒ||ƒdS(N(R!RUt__Func_ChangeMapInit(RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt ChangeMapInitÉscCsatjƒj|ƒ}t||ƒtj||ƒt|ƒt||ƒ|jƒ|j    ƒ}|dkrô|j ƒtj |t j|ƒ|jt jƒ}|j|ƒtj|ƒtj|jƒ|jƒ|jƒ|jƒ||jƒƒntj||ƒ|jƒtjƒjƒt j!kr9|j"dƒn |j"dƒ|j#ƒ|j$t%ƒdS(Nii(&R!RXRYRR7tPlayerChangeMapUpdateSkillCDR5R>tInitChangeMapPlayerSummonInfotGetTrucktNonetGameServer_Sync_TruckMapIDR;RR<RtDef_Player_Dict_PawnTruckLVtSetLVt PlayerTrucktChangeTruckNoteInfoRMtUpdateBillboardPlayerTruckRÜtGetNametGetOperateInfotGetLVRJR^tSync_PetInfo_ChangeMapR3RIt GetMapFBTypeRetfbtTeamtGameServer_TeamEnterFBt#BalanceServer_PlayerChangeMapInitOKR0RË(RWRRtcurTruckttruckLv((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRcÓs,
 
     
 
  !
 
cCsE|jƒ}tj|ƒtj|ƒtj|ƒ|jƒjtjƒ}|jt    j
ƒ|j ƒ|jƒjtj ƒ}|jt    j ƒ|j ƒ|jtjƒ}|jt    jƒ|jtjƒ}|jt    jƒ|jtjƒ}|jtjƒ|jtjƒ}|jtjƒ|jtjƒ}|jt    jƒdS(N(RÿRt Init_ItemPacktInit_WarehousetInit_TreasurePackRRÉt rptDogzItemtSetCountRtDef_PackCnt_DogzItemtSync_PackCanUseCountt rptDogzEquiptDef_PackCnt_DogzEquipt rptTempSwaptDef_PackCnt_TempSwapt rptTempItemtDef_PackCnt_TempItemRetrptEquiptretMaxRftDef_AnyWherePackCounttrptPettDef_PackCnt_Pet(RRtcurPack((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR5's*    
 
cCstj}t||ƒS(N(RR<tCheckHasBuffBySkillID(RtskillID((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt__CheckLimitSuperBuff[s    cCstjƒj|ƒ}|s9tjd||jƒƒtStj|ƒ}tj||ƒ}|dkrjtS|d}|j    ƒ}|j
|ƒ}|s™tSt S(Ns,Íæ¼ÒÈ¡Ïûbuffʧ°Ü,Êý¾Ý¿âÎÞ´Ëbuff,buffid = %s i(( R!t GetGameDatatGetSkillBySkillIDR RÜRËR7t GetBuffTypetGetBuffManagerByBuffTypetGetSkillTypeIDtFindBuffR(RRt    buffSkilltbuffTypet    buffTuplet    buffStatetbuffSkillTypeIDtcurBuff((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRŒes 
 cCstjtƒ||ƒdS(N(R!RUt__Func_LoadMapOK(RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt    LoadMapOKƒsc
Cs´tjƒj|ƒ}|jƒrÎ|jtjƒ}|jtjƒ}|rÊ|rÊtjd|j    ƒƒ|j
tjdƒ|j
tjdƒ|j t ƒt j|tjƒ|jƒtj||ƒndSt|ƒsÞdStjd|j    ƒƒ|jdƒ|jt ƒ|j|jƒ|jƒƒtj|ƒ}|oT|jtjƒdksq|jƒ|j t ƒn|jƒdkr–|jtj ƒn|j!t ƒ|j"ƒr¿|j#t ƒnt$|ƒsÛ|j%t ƒn|j&t ƒ|j'ƒ}|tj(kr.t)j*|t+t+ƒsVt)j,|t+ƒqVn(|tj-krVt.j/|t+t+t+ƒnt0||ƒt1j2||ƒt j3|t ƒt4j5||ƒtj6||ƒt7j8|ƒt7j9|ƒt:j;|ƒtj<ƒ}|jƒ}|jƒ}    |j=tj>ƒru|j=tj>ƒdkr.t j |ƒj?ƒn.t@jA||    tjBƒ\}}    |jC||    ƒt jD|tj>dƒn|jƒdksœ|jEƒtj krÙ|jtjFƒ}
|
r½tjGntjH} tI|| |ƒn½|jJ||    ƒt kr–t@jA||    tjBƒ\} } | dkrc| dkrctjd||    f|j    ƒƒt j |ƒ}|j?ƒq–|jC| | ƒtjd| | f|j    ƒƒn|jKƒtLjM|ƒ|jNƒtjOkr=tj<ƒjPƒtjQkr=tj<ƒjPƒtRjSdƒkr=|jTtjOƒtUjV|tjW|ƒtUjV|tjX|ƒn|jYƒ}|jZƒ|kr†|j[|ƒt\|ƒtj]d    |ƒnt^j_|ƒt`ja|ƒjbƒ|jcƒt S(
Ns'Íæ¼Ò¸±±¾Öбä¸ü¹¦ÄÜÏß·ÐéÄâÇеØÍ¼³É¹¦!!!is µØÍ¼¶ÁÈ¡³É¹¦iis:Íæ¼ÒµÇÂ¼ÖØÖÃλÖÃʧ°Ü, °ÑÍæ¼Ò´ò»ØÖØÉúµã posX = %s posY = %ss<Íæ¼ÒµÇÂ¼ÖØÖÃλÖÃʧ°Ü, ÉèÖø½½üµã nearPosX = %s nearPosY = %stMapID_NeedCamps½øÈëµØÍ¼Ç¿ÖÆÇл»PKģʽ: %s(dR!RXRYt GetMapLoadOKt GetDictByKeyRtDef_PlayerKey_ResetFBLinePosXtDef_PlayerKey_ResetFBLinePosYR RÜR.R3RRtSetSighttDef_PlayerSight_Defaultt RefreshViewRt    DoEnterFBt__CheckForbidLoginR/R2tInitPostGetPosXtGetPosYRªtGetCommonMissiont GetPropertytDef_NewGuyNoSighttGetHPtSetPlayerActionRetpaDieR1t
GetGMLeveltSetIsDefVisibleRŽR4R0tGetLastMapPlayerVehicletpvHorseRwtPlayerRideHorseUpRËtPlayerRideHorseDowntpvTruckRlt PlayerTruckUPtInitPlayerTruckt
PlayerTeamtPlayerLoginSetTeamtSetIsNeedProcesst PlayerGMOpert DoGMOperLogictDoEnterFBLogicRtEventResponse_OnMaptEventResponse_OnMapExR^tDoLogic_PetLoadMapOKRIRtDef_PDict_IsReBorntSetToBornPlacetGameMaptGetNearbyPosByDistDef_RebornPos_Area_RangetResetPosR)R5R/trebornType_CitytrebornType_SystemtPlayerRebornByTypetCanMovetDataServer_CheckPrizeItemRRt
GetFactiontCampType_NeutralRJtDef_MapID_NeedCampRòRót
SetFactionRLRMtDef_SkillID_JusticetDef_SkillID_EviltGetInitAttackModelt GetAttackModet SetAttackModeRQRÛR¦tOnLoadMapGFPassiveRctPlayerItemControlertRefreshStartEquipCountt
EndLoadMap(RWRRtresetFBLinePosXtresetFBLinePosYt firstMissiont playerVehicletcurMaptposXtposYtisLogint
rebornTypetnearPosXtnearPosYRGtinitAttackModel((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR›s¦   
 
             '  #
!      
 
cCs9tjƒ}|jƒ|jƒ|_tj||ƒdS(N(RÎttagMCAttackModeRÐRÔtModeRÔRÕ(RtsendPack((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRQXs
 
cCstS(N(R(R((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt__CheckGMCanLoadMapOKescCs:|jƒtdtjƒ@dkr&tS|jtjƒdS(Nii(t GetAccStatetpowRtDef_PysForbidByPyRR\Ret    disGMKick(R((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR¦}s"cCsï|j|ƒ|jƒ}tjd||jƒƒ|dkr{|jƒdkrwtjd|jƒƒ|jdƒndS|jƒtjd||jƒƒtjƒj    |ƒ}|s¾dS|j
|ƒ|j |j ƒƒ|j |ƒdS(Ns³õʼ»¯æô³µ ID = %d ...is###Fix Truck State!s$֪ͨgameserverË¢ÐÂ×Ô¼ºµÄæô³µ id = %d(tSetTruckCalcStartTimet
GetTruckIDR!R RÜt GetTruckStatet SetTruckStatetGameServer_RefreshTruckReqt GetNPCManagert FindTruckByIDtSetTruckt
SetTruckIDtGetIDtSetOwner(RRttruckIDRw((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR¸Œs    
 cCstjtƒ||ƒdS(N(R!RUt__Func_AddPoint(RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytAddPointÈscCsntjƒj|ƒ}tj|ƒ}|jƒ}tjƒ}|jƒ}|dks`||krddS|jƒ}|t    j
kr™|j ||j ƒƒn™|t    j krÂ|j||jƒƒnp|t    jkrë|j||jƒƒnG|t    jkr|j||jƒƒntjd||jƒƒdS|j||ƒtj|d|i|d6ƒ|jƒdS(NisAddPoint GetTypeErr = %sRût AddPointType(R!RXRYRt GetFreePointRet IPY_CAddPointtGetPointtGetTypeRÉtDef_Effect_STRt
SetBaseSTRt
GetBaseSTRtDef_Effect_PNEt
SetBasePNEt
GetBasePNEtDef_Effect_PHYt
SetBasePHYt
GetBasePHYtDef_Effect_CONt
SetBaseCONt
GetBaseCONR_R÷t SetFreePointR%t DR_FreepointtRefreshPlayerAttrState(RWRRRGt curFreePointt recvAddPointtaddValuet addPointType((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRúÑs,    
cCsìg}idtj6dtj6dtj6dtj6}xU|jƒD]G\}}tjƒ}||_t    |d|ƒƒ|_
|j |ƒqAWtj ƒ}|j ƒ|jƒ|_|jƒ|_t|ƒ|_||_tj||ƒdS(NtBaseSTRtBasePHYtBaseCONtBasePNEsGet%s(RetCDBPlayerRefresh_BaseSTRtCDBPlayerRefresh_BasePHYtCDBPlayerRefresh_BaseCONtCDBPlayerRefresh_BasePNERKRÎttagRefreshTypet RefreshTypetgetattrtValueRNttagObjInfoListRefreshRÐR÷tObjIDtGetGameObjTypetObjTypetlentCountRÔRÕ(Rt
notifyListtnotifyBasePointDictt refreshTypetkeyStrt notifyStructRè((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR•üs&
 
 
       
    cCstjƒj|ƒ}||jtjƒtjtjkr?dS|jtj|ƒtj|j    ƒ|j
ƒ|j |j ƒ|j ƒkrŒdS|jƒ|j|j |j ƒtjƒ}|jƒ|jƒ|_|jƒ|_|j |_ |j |_ tj||tdƒdS(Niÿÿÿÿ(R!RXRYt GetTickByTypeRtTYPE_Player_Tick_RushtTYPE_Player_Tick_Timet SetTickByTypetGetDistR¨R©tPosXtPosYtGetSighttStopMovet    ChangePosRÎt    tagMCRushRÐR÷tIDR"R#Rt PyNotifyAllRË(RWt
clientDataRRRè((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt OnPlayerRush!s &6
 
  c     CsTtjƒj|ƒ}|jtjƒtjkr4dStj|tj    t
j ƒsSt St |ƒscdS|j}|j}|j}|j}|j}||kr¬||kr¬dStjƒj||ƒsä|j|jƒ|jƒƒdS||jdƒdkrdS|jd|ƒ|jƒ}    |    t
jt
jgkr9dStjƒ}
t|||
||||ƒsgdStj||||ƒdkr¥|j|jƒ|jƒƒdS|jƒt
j krÍt!j"||ƒnt#j$||ƒ|j%||ƒ|j&ƒj'ƒ} | dkrdStj| jƒ| jƒ||ƒdkr=dSt)j*|||ƒdS(Nt FightMoveTicki2ii(+R!RXRYRRt#Def_Player_Dict_AutoCheckHack_StatetDef_AutoCheck_State_DangertOperControlManagertIsObjCanDoActiontDef_Obj_ActState_ServerActRetoalMoveRËt__CheckPlayerCanMovetStartXtStartYtDestXtDestYt    WorldTickRIRËRÇR¨R©RŸR.tGetPlayerVehicletpvNullR³t CheckMovePosR/R5R6R7R8RtDelLimitSuperBuffR4t    GetPetMgrt GetFightPetRhR^tFightPetFollowMove( RWR8RRtsendPack_StartXtsendPack_StartYtsendPack_DestXtsendPack_DestYtsendPack_WorldTicktvehicleRÞtfightPet((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytPlayerFightMoveSsX                          *cCstjtƒ||ƒdS(N(R!RUt__Func_PlayerMove(RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt
PlayerMoveÅsc
    CsidStjƒj|ƒ}|jtjƒtjkr8dStj|tj    t
j ƒsWt St |ƒsgdSt
jƒ}|jƒ}|jƒ}|jƒ}|jƒ}|jƒ}tjƒj||ƒsËdS||krç||krçdStjƒjƒt
jkr!tj||||ƒs!dSn|jƒ}    |    t
jt
jgkrIdSt|||||||ƒdS(N(R!RXRYRRR;R<R=R>R?ReR@RËRAtIPY_CPlayerMovet    GetStartXt    GetStartYtGetDestXtGetDestYt GetWorldTickRIRËRstfbtNullRt DoFBCanMoveRGRHR³tPlayerNormalMove(
RWRRRèRNRORPRQRRRS((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRVÎs>           cCsl|jƒstS|jƒs tS|jƒdkr6tStj|tjtj    ƒsUtSt
j |ƒshtSt S(Ni( RžRËt
GetCanMoveR­R=R>RR?ReR@RtPlayerCanStateTransferR(R((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRA's   cCs§dStjƒ}tj||||ƒs6|jƒdSt|||||||ƒsXdS|jƒtjkr€t    j
||ƒntj |tj ƒ|j ||ƒdS(N(R!RIRtPlayerMoveCheckClientWorldTicktSync_ClientTickRIR5ReR6R7R8tChangePlayerActiontpaNulltMove(Rt client_StartXt client_StartYt client_DestXt client_DestYtclientWorldTickRRÞ((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR`Rs 
c CsÜtj||||ƒsY|rU|jƒ|jƒkrU|j|jƒ|jƒƒntS|jƒ}|jƒ}    |j||ƒsš|r–|jƒntSt    j
||    ||ƒ}
|
t j krØ|rÔ|jƒntSt S(N(RtPlayerRefreshPosR÷RÇR¨R©RËRËtMoveFailR!R/RtDef_PlayerMaxMoveDistR( RtcheckObjRÞtstartXtstartYtdestXtdestYtsendPlayerMoveFailtobjPosXtobjPosYtmoveDist((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRI¨s     $cCstjtƒ||ƒdS(N(R!RUt__Func_PlayerStopMove(RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytPlayerStopMovescCsdS(N((RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRyscCsÇtjƒj|ƒ}tjƒ}|jƒ}|jƒdkrx|jƒtjkrdt    ||ƒnt
|||ƒdSt j ||ƒržt j|dƒdSt
|||ƒrÃt|||ƒndS(NitReborn_lhs_31379(R!RXRYRetIPY_CCliectRebornRR­R5R¯tSyncPlayerRebornRÊRtDoFBForbidRebornRRûtPlayerReborn_InFB(RWRRRètplayerRebornType((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytPlayerClickRebornms  cCs`tjƒ}|jƒ|jƒ|_||_|jƒ|_|jƒ|_    t
j ||ƒdS(N( t ChNetSendPackttagPlayerRebornRÐRÜtPlayerIDtTypeR¨R0R©R1RÔRÕ(RRât
rebornInfo((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR}s 
    cCsdS(N((RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytPlayerNeedSeeOther­scCstjtƒ||ƒdS(N(R!RUt$__Func_PlayerClickOtherPlayerGetInfo(RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytPlayerClickOtherPlayerGetInfoÛsc Csþtjƒj|ƒ}tjƒ}|jƒ}|jƒ}tj||ƒ}|dkr[dStj    |j
ƒ|j ƒ|j
ƒ|j ƒƒ}||j ƒk}|j ƒ}    |    tjtjgkrÅdS|    tjkrã|rÒi}
|jƒ|
d<|jƒ|
d<|jƒ|
d<|jƒ|
d<tj|ƒ|
d<|jƒ|
d<|jƒ|
d<|jƒ|
d<|jƒ|
d    <|jƒ|
d
<|jƒ|
d <|jƒ|
d <t|
ƒ} t| ƒ} |j|| | ƒdS|j |ƒdS|rú|j!|ƒdSdS( NtmaxHPtmaxMPthittmisstatkSpeedt superHitRatetsuperHitt luckyHitRatet greatHitRatet ignoreDefRatetdamageReduceRatetdamageBackRate("R!RXRYRetIPY_CClickObjGetInfotGetObjIDt
GetObjTypetGetObjRhR/R¨R©R2R"t    gotPlayertgotNPCtGetMaxHPtGetMaxMPtGetHittGetMissRt GetAtkSpeedtGetSuperHitRatet GetSuperHittGetLuckyHitRatetGetGreatHitRatetGetIgnoreDefRatetGetDamageReduceRatetGetDamageBackRatetstrR$tPlayerClickOtherPlayerDetailtSync_GetPlayerInfoFailtPlayerClickOtherNPCDetail( RWRRRèt sendPack_IDt sendPack_TypettagObjtdistt canGetDetailt
tagObjTypetextendDataDictt
extendDatat extendDataLen((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRˆäsJ    0     cCs9tjdƒtjƒj|ƒ}|jƒdkr8dStjƒ}|jƒ}|dkrltj    |ƒndS|j
ƒrtj |dƒdS|j ƒtj kr©dStj|tjtjƒsÈdS|j|ƒtjƒ}|jƒ}|jƒ}|dkr(|tjkr(tj||ƒdStj    |ƒdS(Ns PlayerSit...iitCanNotSitWrongState(R!RÛRXRYR­RetIPY_CSitRRt DoPlayerStandtIsMovingRûRGRHR=R>RR?toalSittSetRestoreTimeR5Rft DoPlayerSit(RWRRRètsetTypet
playAction((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt    PlayerSit2    s6               cCstjtƒ||ƒdS(N(R!RUt__Func_PlayerDisconnect(RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytPlayerDisconnecti    scCsœ|jtjƒdkrdStjƒtj|jƒjƒƒ}|jdkrc|j    dkrcdSt
j |j ƒ|j ƒ|ƒtj|tjdƒdS(Niii
i<iX(RRtDef_Player_Dict_LoginValidR!RñR"R RtdaystsecondsR%t DR_LoginValidR'R(RR)(RtdiffTime((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytNoteLoginValidq    s%cCstjƒj|ƒ}yt||ƒWnUddl}tjd|jƒƒtjƒjƒr~t    d|jƒƒ‚q~nX|j
|ƒdS(NiÿÿÿÿsÍæ¼ÒÏÂÏßÂß¼­´íÎó~~~~~
%s( R!RXRYtDoPlayerDisconnectR^R_R`R×RaRbt DoDisconnect(RWRRR^((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR¿ˆ    s cCs×tjd|jƒƒtjƒtj||ƒ|jtjƒƒt    j
|ƒt |ƒt j |ƒtj|ƒtj|tjdƒtj|tjdƒtj|tjdƒtj||ƒtj|ƒdS(NsPlayerDisconnect!i(R!R RÜtPlayerMergeEventtBroadcastMergePlayerEventRtPlayerLeaveServert SetLogoffTimeR@R%tDR_PlayerDisconnectRÆR®tCalcOnlineTimeRltUpdateFirstGoldTimeR)Rt!Def_Player_Dict_RouteServerInitOKtDef_Player_Dict_AutoTrucktDef_Player_Dict_RoomIDR²t CalcPlayerTJGREtWriteEvent_session(RR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRÇ›    s
 
   cCsƒtjƒj|ƒ}tjƒ}|jƒ}tj|ƒs\d}tjd|jƒƒdSt    |ƒdkrrdS|j
|ƒdS(NRsSetShutCutData Encoding Errid( R!RXRYRetIPY_CSetShutCutDatat
GetSettingtEncodingToUnicodeR_R÷R$t
SetSetting(RWRRRètsetting((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytSetShutcutSettingHVä    s   c Cs)tjƒj|ƒ}|j}tjd||jƒƒtjd|ƒ}|sTdStj|t    j
|ƒ}|s|j ƒ}|r´|j ƒ|kr´tjd||jƒƒdS|j ƒ}|r|jt    jƒ}    |    td|ƒ@}
|
stjd||jƒƒdSqntj||ƒdS(Ns#ÉèÖÃʹÓõÄÁÄÌìÆøÅÝ¿òID: useBoxID=%st ChatBubbleBoxs)    µÈ¼¶²»×㣬ÎÞ·¨Ê¹ÓÃ¸ÃÆøÅÝ¿ò£¡needLV=%sis5    Î´¹ºÂòVIPÀñ°ü£¬ÎÞ·¨Ê¹ÓÃ¸ÃÆøÅÝ¿ò£¡needVIPLVGift=%s(R!RXRYt BubbleBoxTypeRÛRÜt IpyGameDataPYtGetIpyGameDatatGetDictValueByBitRtDef_PDict_ChatBubbleBoxStatet    GetNeedLVRqtGetNeedVIPLVGiftRtDef_Player_Dict_VipAwardRecordRëRtSetChatBubbleBox( RWR8RRtuseBoxIDtipyDatat curBoxStatetneedLVt needVIPLVGifttrecordthasBuy((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytOnSetChatBubbleBoxü    s*      
cCsCtjd|ƒ}|sdStj|tj|dƒt|ƒtS(NRÛi(RÝRÞR!tSetDictValueByBitRRàRÁR(RtboxIDRæ((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytDoActivateChatBubbleBox
s 
cCsI|jtjdƒ}|s dStjƒ}||_tj||ƒdS(Ni(RRRàRÎttagMCChatBubbleBoxStatetBoxStateRÔRÕ(RtboxStatet boxStatePack((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRÁ 
s     cCsÿtjƒj|ƒ}|j}|tjkrKtjd||jƒƒdSx­tdtj    dƒD]•}t
|d|ƒs¡tjd||f|jƒƒqbnt |d|ƒ}t j |tj||f|ƒtjd|||f|jƒƒqbWdS(Ns!СÖúÊÖ²»Ö§³Ö¸ÃÉèÖñàºÅ! setNum=%sisValue%ss+СÖúÊÖ²»Ö§³Ö¸ÃÖµ±àºÅÉèÖÃ! setNum=%s,value%ss"СÖúÊÖÖµÉèÖÃ: setNum=%s,value%s=%s(R!RXRYtSetNumRtLittleHelperSetNumCountR_RÜRtLittleHelperValueCountthasattrRRR)t!Def_Player_Dict_LittleHelperValueRÛ(RWR8RRtsetNumRtvalue((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytOnSetLittleHelper7
s      'cCsg}xÈttjdƒD]³}d}xŽtdtjdƒD]v}|jtj||fƒ}|skq=n|s‰tjƒ}||_    nt
|d|ƒr=t |d||ƒq=q=W|r|j |ƒqqW|sÛdStj ƒ}||_t|jƒ|_tj||ƒdS(NisValue%s(RRRõRhRöRRøRÎttagMCLittleHelperFuncSetRôR÷tsetattrRNttagMCLittleHelperSett FuncSetListR$t FuncSetCountRÔRÕ(Rt funcSetListRùtfuncSetRRútsetPack((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRÀF
s*       cCstjƒj|ƒ}|j}|j}|dkr |s?dntddƒd}x1ttjƒD] }t    j
|tj ||ƒqbWtj d||fƒnj|dtjkrÈtj d|ƒdStj d||fƒ|rëdnd}tj|tj ||ƒdS(    Niÿiiiis"ÉèÖÃÈ«²¿Òýµ¼×´Ì¬: isOK=%s,value=%ss0ÉèÖÃÒýµ¼Ê§°Ü, ³¬¹ý×î´óÖ§³Ö¼Ç¼λ£¡ guideIndex=%ss"ÉèÖÃÒýµ¼³É¹¦ guideIndex=%s,isOK=%s(R!RXRYt
GuideIndextIsOKRëRRtDef_GuideStateKeyCountRR)tDef_Player_Dict_GuideStateRÛR_Rí(RWR8RRt
guideIndextisOKRúR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt OnSetGuideOKh
s         cCsutjƒ}g|_x7ttjƒD]&}|jj|jtj|ƒƒq%Wt    |jƒ|_
t j ||ƒdS(N( RÎttagMCGuideStatet
GuideStateRRRRNRRR$R%RÔRÕ(RtguideStatePackR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR4}
s     $cCs)tjƒ}||_tj||ƒdS(N(RÎttagMCShowGuidetGuideIDRÔRÕ(RtguideIDt    showGuide((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt    ShowGuide‡
s     cCsdS(N((RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt
PlayerJump§
scCsjtjƒj|ƒ}|sdS|jƒ}|jƒ}||krGdS|tjkrftj|ƒndS(N(    R!RXRYtGetPlayerLastActionR5ReR6R7R9(RWRRt
lastActiont    curAction((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytOnPlayerChangeAction°
s   cCstjƒj|ƒ}tjƒ}|jƒ}|dksE|dkrIdS|j|ƒ|jƒdkr{tj    ||ƒndS(Niid(
R!RXRYRetIPY_CSetHPRestoretGetValuetSetHPRestoreSettingR­RtPlayerAutoRestoreHP(RWRRRètcurValue((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytHPRestoreSettingÑ
s   cCstjƒj|ƒ}tjƒ}|jƒ}|dksE|dkrIdS|j|ƒ|jƒdkr{tj    ||ƒndS(Niid(
R!RXRYRetIPY_CSetMPRestoreRtSetMPRestoreSettingR­RtPlayerAutoRestoreMP(RWRRRèR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytMPRestoreSettingï
s   cCstjƒj|ƒ}tjƒ}|jƒ}|jƒ}|dkrg|tjkrg|jtjƒn¨|dkr•|tj    kr•|jtj    ƒnz|dkrÃ|tj
krÃ|j tj
ƒnL|dkrñ|tj krñ|j tj ƒntj d||jƒƒdSdS(Niis"SetMoneyType = > ½ðÇ®ÀàÐÍ = %s´íÎó(R!RXRYRetIPY_CSetMoneyTypeRt GetMoneyTypetTYPE_Price_Gold_MoneytSetUseGoldTypetTYPE_Price_Gold_PapertTYPE_Price_Silver_MoneytSetUseSilverTypetTYPE_Price_Silver_PaperR RÜ(RWRRRètcurTypet curMoneyType((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt SetMoneyType s   cCsmtjƒj|ƒ}||jƒtjkr2dS|j|ƒtj||ƒt    j||ƒt
|ƒdS(N( R!RXRYtGetPosInfoTickRtDef_GetOtherPosIntervaltSetPosInfoTickR¹tNotifyPosInfoToPlayerRltOnSendMapSignCnt(RWRR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt PlayerMapInfo5 s 
cCs}tjƒj|ƒ}tjƒ}|jƒ}tjƒjƒ}|tj    krltj
d||j ƒƒdSt ||ƒdS(Ns±¾µØÍ¼²»¿ÉÇл»PKģʽ,mapID=%s( R!RXRYRetIPY_CChangeAttackModetGetModeRIRJRtDef_CanNotChangeAtkModelMapR RÜtChangeAttackMode(RWRRRèt sendPackModetmapID((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytPlayerChangeAttackModeX s  
cCsÔ|tjks|tjkr3tjd|ƒdS|jƒ|krZtjd|ƒdStjƒjƒ}|td|ƒ@sštjd||fƒdS|tjkr¹t    j
|ƒn|j |ƒt |ƒdS(Ns*±ä¸üPKģʽÒì³££¬²»´æÔÚ¸Ãģʽ!attackMode=%ss PKģʽÏàͬ£¬²»±ä¸ü!attackMode=%sis3±¾µØÍ¼½ûÖ¹Çл»¸Ãģʽ£¡attackModels=%s,changeMode=%s( RetamPeacetamMaxR!RÛRÔRItGetAttackModelsRëRƒtClearSummonAngry_PlayerRÕRQ(Rt
attackModet attackModels((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR6r s 
cCs]tjƒj|ƒ}tjƒ}|jƒ}tj|||ƒtj|ƒ}|j    ƒdS(N(
R!RXRYRetIPY_CCancelBufft    GetBuffIDRLRMRtRefreshPlayerAttrByBuff(RWRRRèRRG((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytPlayerCancelBuff› s 
 
cCstjtƒ||ƒdS(N(R!RUt__Func_StartGameEvent(RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytStartGameEvent scCs5tjƒj|ƒ}|jƒdkr+dStjƒ}|jƒ}|tjkrftj    ||ƒdS|tj
krydSt j t j|ƒ}|dkr¹t j|t j|ƒs¹dSn|jƒ}||t jkrÜdStj||ƒsòdStj|||ƒs dStj|tjƒtj|||ƒdS(Ni(R!RXRYR­RetIPY_CStartGameEventRtgeNullR7R8tgeFishR=tGetActBitByActionRtDef_ActBit_GameEventRhR>tDef_Obj_ActState_ClientActtGetGameEventTicktDef_ShowEventTimetCheckCanBeginGameEventtCanProcessGameEventRReR6RE(RWRRRèt    eventTypet    curActBittlastShowEventTick((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRDË s4            cCs;tjƒj|ƒ}|jr$dnd}|j|ƒdS(Nii(R!RXRYtAdultt ChangeAdult(RWR8RRtadult((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt
PySetAdult( s cCsÜtjƒj|ƒ}||jƒtjkr2dS|jƒdkrHdStj|tj    t
j ƒsgdS|j ƒrwdS|j ƒt
jkrdS|jƒt
jkr©dS|j|ƒt
jƒ}tj||jƒƒtS(Ni(R!RXRYtGetShowFaceTickRRMR­R=R>RKRetoalLookR¸R5RfRGRHtSetShowFaceTickt IPY_CShowFaceRtDoPlayerShowPlayerFaceRR(RWRRRè((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytShowFaceA s&        cCsY|jƒsdS|jƒdkr&dStj|ƒtkr?dS|jƒtkrUdStS(Ni(RžR­RRbRRa(R((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytCheckPlayerStopMoveh s cCstjtƒ||ƒdS(N(R!RUt__Func_PlayerCanResetWorldPos(RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytPlayerCanResetWorldPos„ scCs)tjƒj|ƒ}tj||ƒdS(N(R!RXRYRtDoPlayerResetWorldPos(RWRR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR^ scCs-tjƒj|ƒ}|jƒt|ƒdS(N(R!RXRYt    ExitEventtNotifyChangeMapFail(RWRR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytPlayerChangeMapFailCallback˜ s
 
cCs7|jtƒtjƒ}|jƒtj||ƒdS(N(R3RRÎttagMCChangeMapFailRÐRÔRÕ(RRè((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRb¡ s
 
cCsdS(N((RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt OnlineReply¹ scCsdS(N((RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytPlayerSummonMoveï scCsdS(N((RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytPlayerSummonAttack; scCsdS(N((RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytPlayerSummonStop£ scCsŠtjƒj|ƒ}tjƒ}|jƒ}|dkrc|dkrctjd||jƒƒdS|jƒ|krydS|j    |ƒdS(Niis#HideMask -> ·â°üÀàÐÍ´íÎóisHide = %s(
R!RXRYRet IPY_CHideMaskt    GetIsHideR RÜt GetIsHideMaskt SetIsHideMask(RWRRRètisHide((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytHideMaskÕ s   cCs&tjƒj|ƒ}t||ƒdS(N(R!RXRYt __Func_ExitFB(RWRR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytExitFBõ s cCs‘tjƒjƒtjkr=|jƒtjddƒkr=dStjd|j    ƒ|j
ƒƒt j |ƒspdSt j ||ƒtj|ƒdS(NtMapLineisÍæ¼Ò = %s , Ö÷¶¯À뿪¸±±¾(R!RIRsReR^RJRÝtGetFuncEvalCfgR RoR÷RtCanPlayerLeaveFBtDoPlayerLeaveFBRt PlayerLeaveFB(RR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRoÿ s9  c    Cs0tjƒj|ƒ}tjƒ}|jƒ}|dkrWtjd||jƒƒdS|jƒ}d}t    j
ddiƒ}||kr¤t d||dƒ}nt    j
ddƒ}||kr    ||kr    |||kr    tjd||||f|jƒƒdSt ||ƒsdSt j||ƒdS(Nis%ChangeLine -> ·â°ü´íÎó, ÎÞ´ËÏß· = %sRqiisF¸ÃµØÍ¼Ã»Óпª·Å´ËÏß·£¬ÎÞ·¨ÊÖ¶¯Çл»£¡mapID=%s,changLineID=%s,maxLine=%s(R!RXRYRetIPY_CChangeLinetGetLineR_R÷RJRÝRrtmaxt__CheckCanChangLineRtPlayerChangeLine(    RWRRRèt changLineIDR8tactivityLineIDtactivityMapLineDictt mapLineDict((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt
ChangeLine s(     (    cCsñ||jƒtjkr-tj|dƒtS|jƒ}|tjkrXtj    |ƒn#|tj
kr{tj|dƒtStj |ƒržtj|dƒtS|j ƒdkrÄtj|dƒtS|jƒtjkrítj|dƒtStS(NtPK_liubo_500807tGeRen_liubo_71563tGeRen_liubo_850801tGeRen_liubo_760310(t GetLoginTickRtDef_PlayerChangLine_TickRRûRËR5RetpaSitR·tDef_PlayerChangLine_StatetIsPlayerInFightRgRhRGtDef_PlayerChangLine_VehicleR(RRt playerAction((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRyEs& cCsdS(N((RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt    LineState~scCsøtjƒjƒ}|tjkritjddƒ}tjƒjƒ}||krY||S|jddƒS|t    j
t    j gkr…dS|j t    j ƒrôtj|t    jƒd}|rô|jƒjƒ|jƒjƒkrñtjddƒdSqôndS(NtDuplicatesRebornTimeiitRebornArguments(R!RIRsReR^RÝRrRJtgetRtrebornType_HealthtrebornType_UseItemRtDef_PDict_IsAddReviveTiredR7t FindBuffByIDtDef_SkillID_ReviveTiredtGetSkillt
GetSkillLVt GetSkillMaxLV(RR€tmapTypetfbRebornTimeDictRPtfindBuff((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt GetRebronTime™s $cCs_|jtjƒ}ttjƒƒ}tjd|td||ƒfƒtd||ƒ|kS(Ns¸´»îÀäȴʱ¼ä=%s,passTime=%si(RRRítintttimeR!RÛRx(Rt
rebornTimetplayerDeadTimeTicktcurGameWorldTick((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytCanRebornByTimeOverÈs$ic
Cs•|jƒ}|jƒ}tjƒ}d}tj}tj}    t||ƒ}
t||
ƒsntj    |dƒt
St
} |tj kr±t j ƒr˜t} qmtj|tjdƒn¼|tjkr1|jƒsÐt
Stjƒjtjƒ} | jdƒjdƒ}| jdƒjdƒ}    tj|tj|ƒn<|tjkrp|jƒs]tjdƒt
St|ƒsmt
Sný|tjkr¢|jƒst
St|ƒsmt
SnË|tj tj!gkr/t} t j"|ƒ} | sm|jƒsåt
S|tj krt|ƒs)t
Sq,|tj!kr,t|ƒs)t
Sq,qmn>|tj#krWtj|tjdƒn|tj$krint
S|j%|ƒ| r–t j&|||ƒnt'j(|tj)|ƒ|j*tj+ƒr`t'j,|tj-ƒd}|r|j.ƒj/ƒ}|j.ƒj0ƒ|kr|d}qnd}t'j(|tj-||ƒtjd|ƒtj|tj+dƒntj|ƒ}|j1ƒ|j2|j3ƒ|tjƒ|j4|j5ƒ|    tjƒt j6||ƒ|tj krÛ| s'tjƒj7|j8ƒ|j9ƒƒ s'|tj#kr4|j:ƒ|j;ƒkr4|j<ƒn=|tj#krqtj=||j:ƒ|j>ƒ|j?ƒt
ƒnt@jA|ƒtjB|tCjDƒtS(NitRebornCDiis    µØÍ¼ÅäÖò»ÄÜÔ­µØ¸´»îs    ¸´»îÆ£ÀÍBUff buffSkillLV=%s(ER÷tGetVIPLvR!RIRtDef_MaxRateValueRšR RRûRËRÈRtOnPlayerRebornRR)RÂtrebornType_SkilltGetSkillRebornRRtDef_SkillID_SkillReBornt    GetEffecttGetEffectValueRLRMRtGetLocalRebornRÛt__HealthRebornPayMoneyRt__RebornDelItemtrebornType_FBGoldtrebornType_FBUseItemtDecFreeRebornCounttrebornType_MainCityRÉtReborntOnResetFBRebornPlacePosR7R;R<RR‘R’R“R”R•R–tRefreshAllStatetSetHPRœtSetMPRtOnPlayerRebornOverRËR¨R©tGetRebornMapIDRJRÃtPlayerResetWorldPost GetRebornMapXt GetRebornMapYt    PlayerPett AutoSummonPetReReRf(RR€Rt mapBornPlacet curPlayerIDtcurVipLvtgameMapt
moneyPricetresetHpPercenttresetMpPercentRt
isFBRebornt reBornSkilltfreeBornR™t buffSkillLVRG((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRÊÙsœ                            
%' . cCs§tjddƒ}|d}|s&tStj|tj|ƒ}|sHtSi}x6|D].\}}tj|||t    j
|ƒsUtSqUWt j |ddd||ƒtS(NRiiit HealthReborn( RÝRrRRt HaveMoneyExRÉtTYPE_Price_Gold_Paper_MoneyRËtPayMoneyRtDef_Cost_ReviveR!tLogin_Interface_GoldRec(Rt    rebornCfgRÁt costMoneyListtinfoDictt    moneyTypetmoneyCnt((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR«ss
cCs<tj|tjƒ}|stStj||dtdƒtS(NiR±(RtFindItemInPackByEffectExRtDef_Effect_RebornRËtDelItemR(Rt
rebornItem((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR¬‡s
cCs<tjƒjƒ}|tjkr%dStj|||ƒdS(N(R!RIRsReR^Rt DoFBOnReborn(RRâRR—((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR¦s
cCsdS(N((RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytPlayerUseMakeStove¿scCsdS(N((RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytQueryFamilyWarPlanæscCsˆtjƒj|ƒ}||jtjƒtjtjkrOtj|dƒdS|j    tj|ƒ|j
tj |j ƒdddƒdS(Nt Old_hgg_31379tTruckPosRi( R!RXRYR+RtTYPE_Player_Tick_QueryTruckPosR-RRûR.tGameServer_QueryPlayerByIDtqueryType_sqtTruckRï(RWRR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt QueryTruckPoss&"cCsdS(N((RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytMoveToTruckPos%scCsdS(N((RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt FarIdentifyNscCs…tjƒj|ƒ}||jtjƒtjtjkr?dS|jtj|ƒtjƒj    ƒt
j krqdSt j ||ƒdS(N(R!RXRYR+RtTYPE_Player_Tick_FBStateR-R.RIRsReR^Rt DoGetFBState(RWRR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt
GetFBStatecs&cCsvtjƒj|ƒ}|jƒs%dS||jtjƒtjtjkrOdS|jtj|ƒt    j
||ƒdS(N( R!RXRYRžR+RtTYPE_Player_Tick_FBHelpR-R.RtDoFBHelp(RWRR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytFBHelp†s &cCstjtƒ||ƒdS(N(R!RUt__Func_EnterFbGameEvent(RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytEnterFbGameEvent¯scCsPtjƒj|ƒ}tjƒ}|jƒ}|jƒ}tj|||ƒdS(N(    R!RXRYRetIPY_CEnterFbGameEventRJt    GetLineIDRt PlayerEnterFB(RWRRRèR8tclientSendLineID((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRè¸s    cCsdS(N((RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytPointTransportÎs;cCsdS(N((RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytFriendTransPortsc    Cs}tjƒ}|jƒ}|jƒ}|jƒ}|jƒ}|jƒ}tjƒj    |ƒ}t
|||||||ƒdS(N( RetIPY_CWorldTransferRRJR¨R©t GetExtField1R!RXRYt__Func_WorldTransPort(    RWRt packUseItemtpackTransportTypeR8RßRàtlineIDR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytWorldTransPortis      c
    Csntjƒj|ƒ}|j}|j}|j}|j}|j}|j}    t    ||||||||    ƒdS(N(
R!RXRYR…tMapIDtLineIDR0R1tExData1Rò(
RWt
clientPackRRRôR8RõRßRàtexData1((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytPYWorldTransPorts                        c
Cs«|jƒ|krR||jtjƒtjtjkr<dS|jtj|ƒn|jƒ}tjd||||f|ƒ|dkrdn|}|tj    j
ƒkrÃtj d||ƒdStj    j |ƒ}    t j|ƒsèdSt j||ƒsþdSt|||||ƒ\}}||fd    krBt j|dƒdS|    tjkrut||    ƒ rut||    ƒ rudS|jtj|    ƒt||||d|d|ƒdS(
NsAWorldTransPort packTransportType=%s,mapID=%s,lineID=%s,exData1=%siÿiÿÿÿÿs-WorldTransPort packTransportType = %s, NoFindis#04BBF813-7A30-47A8-927DE1ACCC4F378ERõRû(ii(RJR+RtTYPE_Player_Tick_WorldTransportR-R.RÜR!RÛtDef_PackType_TransportTypeRR_RŽRtCheckPlayerTransporttCheckTagCountrytGetTransportPosRûtDef_Transport_Type_MissiontTransportVipLvRestricttPayForTransportR.tDef_PlayerKey_TransTypet
BeginTrans(
RRôR8RßRàRRõRûtplayerIDt transportType((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRòŒs6&     Rc        
Cs)tj|||||||||ƒ    tS(N(RR¸RË(    RR8RßRàt    takeTruckRõtmsgtcanLockRû((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRÉs%cCsX|jƒ|krNtjƒj||ƒsNtj||tjƒ\}}qNn||fS(N(RJR!RIRËRÄRÅRRÆ(RRttransportMapIDt transportPosXt transportPosY((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRäs$cCsÃtjdƒ}|stSd}|jƒjtjƒ}tj|||ƒ\}}|s¦tjddƒ}t    |t
j ||t j ƒs¿tjd||fƒtSntj||||tƒtS(Nt TransportPayiis=    ´«ËÍÏûºÄ´¦Àí ´«Ë͵À¾ß²»×ã itemID=%s, Ç®Ò²²»¹»costMoney=%s(RÝt
GetFuncCfgRRÿRRetrptItemRtGetItem_FromPack_ByIDtTransportPayMoneyRÉRÊRtGMTool_Offline_WorldTransferR!RÛRËt
ReduceItem(RRtitemIDtuseCounttitemPackt    hasEnoughtitemListt    costMoney((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRscCstj|tjƒS(N(R[tGetPrivilegeValueRtVIPPrivilege_FreeTransport(RR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRsc    CsŽtj|||ƒ}|gkr%tSxb|D]Z\}}|dkr,tj|||tji|d6ƒtj||dd||ƒq,q,WtS(Nit TransportType(    RRÉRËRËRtDef_Cost_TransportR!RÍR(RRÑtmoneyRtnoteMarkt    moneyList((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR$s  cCs5tjƒj|ƒ}tj|ƒ}|jtƒdS(N(R!RXRYRt
PlayerLvUpR(RWRRRG((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytPlayerLvUpRequestCs cCsdS(N((RWR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytDoubleExpStateZscCsStjƒj|ƒ}tjƒ}|jƒ}|jƒ}tj||||ƒdS(N(    R!RXRYRetIPY_CFBSpecilSkillRtGetStateRtUseFBSpecilSkill(RWRRt fbSkillPacktuseTypetuseState((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR(bs
   c    Cs3tjƒrdStjdƒ}tjƒj|ƒ}|j}|j}|jt    |ƒƒ}|svtj
d|ƒdS|d}|j ƒ}    |}
|j ƒ} |    |krÅtj
d|    |fƒdS|
| krìtj
d|
| fƒdSt j|ƒ} |jƒ} tj|ƒ}t    t|dƒƒ}|d}t    |dƒ}t    t|dƒƒ}t j |ƒ}t j|||ƒ}|sŠdSxe|D]]\}}t j|||tji|
d6|d    6|tj6ƒs‘tj
d
t |fƒdSq‘W|j|ƒt    t| |
dƒƒ}|j|ƒ|jƒdS( NtOfflineSys_ExpChangesÀëÏß¾­Ñé¶Ò»»Ë÷Òý´íÎóindex=%sis=ÀëÏß¹Ò»ú·â°ü¶Ò»»¾­ÑéÒì³££¬Íæ¼ÒvipµÈ¼¶ %s, ÏÔʾµÄvipµÈ¼¶ %s £¬s5ÀëÏß¹Ò»ú·â°ü¶Ò»»¾­ÑéÒì³££¬¶Ò»»Ê±¼ä %s, ÀÛ»ýʱ¼ä %s £¬iit
ChangeTimetIndexs3¸ßЧÁ·¹¦£¬£¬½ðÇ®²»×ã##PlayerControl=%s,,moneyCnt=%s(R!R(RòRóRXRYR.t ExchangeTimeRŽR›R_R¢tGetOfflineMinutesRtGetPlayerReExpRqRˆtGetWorldAverageLvExpRatetevalRÉRËRtDef_Cost_OffLineExptDef_Cost_Reason_SonKeytAddExpRxtSetOfflineMinutestSyn_OfflineTimeQueryResult(RWt curPackDataRtOfflineExpChangeDictRtmulIndext exchangeTimetrecListtminVIPLvtVIPLvt
useMinutest haveMinutestrExptreLVtworldLvExpRatet    redeemExpt moneyInfoListRÑRRGt haveMoneyListRÒt offlineTime((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytPlayerExpExchange~sR         
 
!  
cCsdS(N((RWR9R((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytBuyMapSignCountÎs$cCsdS(N((R((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR1øscCsûtjƒj|ƒ}|j}tjj|ƒ}|dkrQtjd|ƒdS|j    t
j ƒ}|t d|ƒ@r‹tjd|ƒdS|j t
jƒdkr¸tjd|ƒdSd|}|jt
jdd|t|ƒƒ|jt
jdƒdS(    Ns Ã»ÓÐÕâ¸ö¼Ò×åÐüÉÍÈÎÎñ arrestID=%sis¸ÃÈÎÎñ½±ÀøÒѾ­ÁìÈ¡ arrestID=%sis$ÒѾ­ÔÚ²éѯÖÐ, ²»Öظ´²éѯ arrestID=%ss%sitFamilyArrestAward(R!RXRYtArrestIDRÉtDef_ArrestOverState_BitDicRŽRhRÛRRt&Def_Player_Dict_FamilyArrestAwardStateRëRŸt$Def_PlayerKey_FamilyArrestQueryStateRÝtqueryType_FamilyArrestR$R.(RWR8RRtarrestIDtbitt receiveStatetsendMsg((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytReceiveFamilyArrestAwards"     
"cCs#tjƒj|ƒ}t|ƒdS(N(R!RXRYt"Sync_FamilyArrestAwardReceiveState(RWR8RR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt"QueryFamilyArrestAwardReceiveState;s
cCsEtjƒ}|jƒ|jtjƒ}||_tj||ƒdS(N(    RÎt tagFamilyArrestAwardReceiveStateRÐRRRNt ReceiveStateRÔRÕ(RtawardReceiveStatetstate((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRVDs  
    cCsg}xOtdtjƒD];}|jtj|ƒ}|dkrGqn|j|ƒqWt|ƒ}|jtj|j    ƒd|t
|ƒƒdS(NitRequestIsFamily( RRt!Def_Player_RequestAddFamilyMaxCntRt"Def_Player_Dict_RequestAddFamilyIDRNR¨RÝtqueryType_RequestIsFamilyR÷R$(Rt familyIDListRWtfamilyIDRT((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytQueryIsResFamilyQs  c     Cs0tjƒj|ƒ}|j}|j}|j}tjd|||fƒ|tjkrjtjdƒdStj    ƒj
tj ƒ}|s™tj dƒdS|tj kr½tj d|ƒdStj||||ƒrÙdS|jtj|dtjƒ}tj||ƒ}    |    tjkrq|tjkr`|jtj|dtjƒ}
tj|||    |
ƒntjdƒdS|tjkr¬|jtjƒdkr¬tjdƒdSn|jtjdƒ|jƒ} |||| g} tjƒj|jƒddd    d
| tt | ƒƒƒtjd t | ƒƒdS( NsEGiveMixServerCampaignAward campaignType=%s,queryType=%s,awardIndex=%ss$    ¿Í»§¶Ë²»¿É·¢ÁìÈ¡ºÏ·þÓʼþ½±ÀøÀàÐÍs    µ±Ç°·ÇºÏ·þ״̬£¡s5    ºÏ·þ»î¶¯ÀàÐÍ´íÎócampaignType=%s error! not defineis    ÒѾ­ÁìÈ¡¹ý¸Ã½±Àø...is    ÒѾ­ÔÚ²éѯÖÐ...tMixServerCampaignAwards%ss    msgList=%s(!R!RXRYt CampaignTypeR…R.RÛRÉt Def_MSCGameServerQuery_MailAwardR×RØRÙR_RâtMixServerCampaigntDoMixServerCampaignOnMapServerRRRãRätGetDataByDigitPlacetDef_AwardState_Gott!Def_MSCGameServerQuery_QueryAwardRåtSync_MixServerCampaignAwardRŸt&Def_PlayerKey_QueryMixServerAwardStateR.t GetFamilyIDtGameServer_QueryPlayerResultR÷R$R¨( RWR8RRRët    queryTypet
awardIndextisMixt awardRecordt
awardStatet
recordDataRatmsgList((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytGiveMixServerCampaignAwardssN                       cCs”tjƒ}|j|ƒ}tj|tjƒsMtj|dtjgƒdS|j    }t
|ƒ}tjƒj |j ƒddd|t |ƒƒdS(NtGeRen_chenxin_676165itPlayerGetReward(R!RXRYRtCheckPackHasSpaceReRRRût
RewardTypeR¨RnR÷R$(RWR8Rt playerManagerRt
rewardTypet
resultName((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytClientPlayerGetReward±s      cCsçtjƒ}|j|ƒ}|j}|j}|j}tjd|||fƒ|tjkrrt    j
||ƒnq|tj kr”t j ||ƒnO|tjkr³tj|ƒn0|tjkrÕtj||ƒn|tjkrôt j|ƒnï|tjkrtj||ƒnÍ|tjkr8tj||ƒn«|tjkrWt    j|ƒnŒ|tjkrvtj |ƒnm|tj!kr˜tj"||ƒnK|tj#krºt$j%||ƒn)|tj&krÜt'j(||ƒn|tj)krþt*j+||ƒnå|tj,kr t-j.||ƒnÃ|tj/kr?t0j1|ƒn¤|tj2krat0j3||ƒn‚|tj4kr€t5||ƒnc|tj6krŸt7j8|ƒnD|tj9krÁt:j;||ƒn"|tj<krãt=j>||ƒndS(Ns5PlayerGetReward: rewardType=%s,dataEx=%s,dataExStr=%s(?R!RXRYRztDataExt    DataExStrRÛRtDef_RewardType_ActivityR…tGetActivityAwardtDef_RewardType_FamilyActivityRŽtGetFamilyActivityAwardt(Def_RewardType_ChampionFamilyDailyRewardtGameLogic_FamilyWartGetChampionFamilyDailyRewardtDef_RewardType_XMZZWinCntR¬tGetXMZZWinPrizetDef_RewardType_FamilyDayAwardtGetFamilyDayAwardtDef_RewardType_LVAwardRitGetPlayerLVAwardtDef_RewardType_XBXZR¢tOnGetXBXZAwardtDef_RewardType_DayRealmPointtGetRealmPointAwardtDef_RewardType_GoldGiftFirstRltGetPlayerGoldGiftFirsttDef_RewardType_MWSoulAwardtGetMWSoulAwardtDef_RewardType_FreeGoodsR¶tOnGetFreeGoodstDef_RewardType_CostRebateR–tOnGetCostRebateAwardtDef_RewardType_TotalRechargeR˜tOnGetTotalRechargeAwardtDef_RewardType_BossRebornR·tGetBossRebornActionAwardtDef_RewardType_FCRechargeR¸tGetFCRechargeAwardtDef_RewardType_FCPartytGetFCPartyAwardtDef_RewardType_DownLoadtGetDownloadAwardtDef_RewardType_WishingWellR¾tDoGetWishingAwardtDef_RewardType_OpenFuncRotGetFuncOpenAwardtDef_RewardType_IceLodeStartGameLogic_IceLodetGetIceLodeStarAward(RWR8RR{RR|tdataExt    dataExStr((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRxÆs^             YcCs<tjƒ}|jƒ||_||_tj||ƒdS(N(RÎttagMCPlayerRewardGetRecordRÐRztRewardGetRecordRÔRÕ(RR|trewardGetRecordRè((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytSync_RewardGetRecordInfols  
        cCsŒtjƒj|ƒ}t|jƒ}tjdƒ\}}}|jddg|ƒ}d}    x:t|ƒD],\}
} t    j
|t j |    |
f| ƒqhW|jddg|ƒ} d}    x:t| ƒD],\}
} t    j
|t j |    |
f| ƒqÄW|jddg|ƒ} d}    x:t| ƒD],\}
} t    j
|t j |    |
f| ƒq Wd}    |j|    dƒ} t    j
|t j |    df| ƒdS(NtAutoFightSettingt
BasicSkillit    AreaSkillRLtHPPackagePercent( R!RXRYR3tDataRòRóRŽt    enumerateRR)RtDef_PDict_AutoFightSetting(RWR8RRt settingDicttBasicSkillCounttAreaSkillCounttBuffSkillCounttBasicSkillListtKeyt
ValueIndexRt AreaSkillListt BuffSkillList((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytOnSaveAutoFightSettingws&$$$ c Cs¡tjdƒ\}}}i}d}g}x@t|ƒD]2}|jtj||fdƒ}|j|ƒq7W|||<d}g}    x@t|ƒD]2}|jtj||fdƒ}|    j|ƒqW|    ||<d}g}
x@t|ƒD]2}|jtj||fdƒ}|
j|ƒqéW|
||<d}|jtj|dfdƒ}|||<tjƒ} | j    ƒd|| _
t | j
ƒ| _ t j|| ƒdS(NR±R²iR³RLR´s%s(RòRóRRRR·RNRÎttagMCAutoFightSettingRÐRµR$tSizeRÔRÕ( RR¹RºR»R¸R½R¼R¾RR¿RÀRè((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytSync_AutoFightSetting•s:
 
 
 
 
 cCs3tjƒj|ƒ}|sdStj||ƒdS(N(R!RXRYRœtOnQueryBossHurtList(RWR8RR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRŽs
cCs    tjƒj|ƒ}|sdS|jsutj}||j|ƒtj|krbtjdƒdS|j    ||ƒn|j
}|j }|j }g}|ryt |j ƒ}Wn&tk
r×tjd|j ƒdSXt|tƒstjdt|ƒƒdSntjd||t|ƒfƒtjƒjƒ}    |    |krÊtj||ƒ}
tj|ƒ} | j|ƒ} d} | rŽ| jƒ} ntjd|    || t|
ƒfƒtj||| |
ƒn;dt|||gƒ}|jtjdd|t|ƒƒdS(    Ns OnQueryMapNPCInfo ²éѯ¹ýÓÚÆµ·±£¡sOnQueryMapNPCInfo, npcIDList=%ss-OnQueryMapNPCInfo, npcIDList=%s is not list£¡s7OnQueryMapNPCInfo tagMapID=%s,tagLineID=%s,npcIDList=%sisB    Í¬µØÍ¼²éѯcurMapID=%s,tagLineID=%s,playerCnt=%s,npcInfoDict=%ss%stNPCInfo(R!RXRYt IsNoTimeLimitRt TYPE_Player_Tick_QueryMapNPCInfoR+R-RÛR.R÷Røt    NPCIDListR3t BaseExceptionR_t
isinstancetlistR¨RIRJRƒt
GetNPCInfoRet GetMapCopyPlayerManagerByFbIndextGetPlayerCountt SyncNPCInfoRÝtqueryType_NPCInfoR$(RWR8RRttickTypettagMapIDt    tagLineIDt queryNPCStrt    npcIDListRPt npcInfoDictRþR{t    playerCntRT((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytOnQueryMapNPCInfoÈsN                                c Cs©tjƒj|ƒ}|sdS|jsTtj|tj|ƒsTtjdƒdSn|j}|j    }|j
}g}|räyt |j
ƒ}Wn&t k
r¶tj d|j
ƒdSXt|tƒsätj dt|ƒƒdSntjd||t|ƒfƒtjƒjƒ}||krjtj||ƒ}    tjd||t|    ƒfƒtj|||    ƒn;dt|||gƒ}
|jtjdd|
t|
ƒƒdS(    Ns#OnQueryMapNPCCntInfo ²éѯ¹ýÓÚÆµ·±£¡s"OnQueryMapNPCCntInfo, npcIDList=%ss0OnQueryMapNPCCntInfo, npcIDList=%s is not list£¡s:OnQueryMapNPCCntInfo tagMapID=%s,tagLineID=%s,npcIDList=%ss5    Í¬µØÍ¼²éѯcurMapID=%s,tagLineID=%s,npcInfoDict=%ss%sitNPCCnt(R!RXRYRÇtCheckPlayerTickRRÈRÛR÷RøRÉR3RÊR_RËRÌR¨RIRJRƒt GetNPCCntInfotSyncNPCCntInfoRÝtqueryType_NPCCntR$( RWR8RRRÓRÔRÕRÖRPR×RT((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytOnQueryMapNPCCntInfos@                           cCs3tjƒ}|jƒ||_tj||ƒdS(N(RÎttagMergeWarRegisterStateRÐt RegisterStateRÔRÕ(RR[t
resultPack((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytSendRegisterState3s
 
    cCs#tjƒj|ƒ}|jƒdS(N(R!RXRYRd(RWR8RR((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytQueryWorldTick=s
cCs”tjƒ}|sdStjƒ}|jƒ|j|_|j|_|j    |_
|j |_ |j |_|j|_|j|_tj||ƒdS(N(R!RñRÎttagServerDateTimeRÐtyeartYeartmonthtMonthtdaytDaythourtHourtminutetMinutetsecondtSecondt microsecondt    MicSecondRÔRÕ(Rt
serverTimetserverDateTime((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR0Gs  
       cCsôtjƒ}|sdStjƒ}tjƒ}|jƒ|jtjƒ|_    |jtj
ƒ|_ |jtj ƒ|_ |jtjƒ|_|j|_|j|_|j|_|j|_|j|_|j|_|j|_tj||ƒdS(N( R!RñR×RÎttagOpenServerDayRÐRØRÉtDef_Notify_WorldKey_ServerDayRëRÙt IsMixServert Def_Notify_WorldKey_MixServerDaytMixDayt%Def_Notify_WorldKey_OpenServerWeekdayt OpenWeekdayRætNowYearRètNowMonthRêtNowDayRìtNowHourRît    NowMinuteRðt    NowSecondRòt NowMicSecondRÔRÕ(RRôtgwtpackData((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR1^s&   
       cCstjƒj|ƒ}|jtjƒtjkr4dSt|||ƒsÿ|jƒ|j    ƒ}}tj
ƒj ||ƒt krìt j||dƒ}|jƒ|krÑ|j    ƒ|krÑtjd||fƒdS|jƒ}|j    ƒ}n|j||ƒndS(NisÍæ¼Ò×ø±ê¿¨ËÀ %s %s(R!RXRYRRR;R<tPYPlayerNormalMoveR¨R©RIRËRRÄtGetEmptyPlaceInAreaR_RÇ(RWRúRRRßRàt    resultPos((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt PYPlayerMove„s $ c Csõt|ƒstS|j}|j}|j}|j}|j}|j}|j}    |j    ƒ}
|    dkr’||
dkr’t
j d||
fƒtSt
j ƒj ||ƒs»t
j dƒtS|jƒ|kr,|jƒ|kr,|    dkrÿ||
dkrÿtS|j|ƒt|||||||    ƒtSt
j ƒjƒtjkrftj||||ƒsftSn|jƒ} | tjtjgkrŽtStj||||ƒs´|jƒtSt
j|jƒ|jƒ||ƒ} | dkrt
j d|jƒ|jƒ||f|jƒƒtS|j ƒtj!krBt"j#||ƒntj$|tj%ƒ|j&||ƒt|||||||    ƒ|j|ƒ|j'ƒj(ƒ} | rñ|    dksÈ|| j)ƒdkrñt*j+|||ƒ| j,tj-ƒqñntS(    Nii2smove ·¢°üÌ«¿ì ÊÕ°ü%s - ÉÏÒ»´Î%ss
ÒÆ¶¯Õϰ­µãiÞis)ÒÆ¶¯¾àÀë¹ý´ó£¬ Íæ¼Ò×ø±ê %s-%s  ÊÕ°ü %s-%si,(.RARtDirt
ClientPosXt
ClientPosYt    SeverPosXt    SeverPosYRFtMoveTypetGetClientMoveTickR!RÛRIRËRËR¨R©tSetClientMoveTicktPyNotifyPlayerMoveRsReR^RR_RGRHR³RRcRdR/R÷R5R6R7R8ReRfR4RKRLt GetActionTickR^RMt SetCurActiont    laNPCNull(RRúRtmoveDirt
clientPosXt
clientPosYtsendPack_SeverPosXtsendPack_SeverPosYRRtmoveTypet lastMoveTickRSR¯RT((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRšs`                               $  
$  "cCstjƒ}|jƒ|jƒ|_tj|_||_||_    ||_
||_ ||_ |j ƒ|_||_tj||tdƒdS(Niÿÿÿÿ(RÎttagMCPYPlayerMoveRÐR÷R!ReRšR#R
R R R RtGetSpeedtSpeedRRR7RË(RRRRRßRàRRè((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyRs 
                         c    Cs|jtjƒ}|r2tjd|jƒƒdStjdƒ}|dkr”t|ƒ}t    j
|t j |ƒ}||kr”t j|dƒdSnt j|tjdƒ|dkrÕt jd|jƒg|ƒn9x6|D].\}}}tj||||t j gƒqÜWt|ƒdS(Ns&    ·Ö°üÏÂÔØ½±ÀøÒÑÁìÈ¡£¬²»¿ÉÖØ¸´ÁìÈ¡£¡t
DownRewarditGeRen_chenxin_998371itSubpackageDownload(RRtDef_PDict_DownloadAwardStateR!R R÷RÝRrR$RtGetItemPackSpaceReRRRûR)t SendMailByKeyRctGivePlayerItemR¹(    RR«Rst awardItemListt    needSpacet    packSpaceRtitemCnttisBind((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR£s$    #
cCs?tjƒ}|jƒ|jtjƒ|_tj||ƒdS(N(    RÎttagMCPackDownloadRecordRÐRRR#tRecordRÔRÕ(RRè((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyR¹.s
 
cCsEtjƒ}|jƒ||_||_||_tj||ƒdS(s»Í¨ÖªÇ°¶ËÏòij¸öµãÒÆ¶¯
                ÕâÀïǰ¶Ë¿ÉÄÜÐèÒªÕë¶Ôij´ÎÒÆ¶¯×ö¶îÍâ´¦Àí£¬±ÈÈçÒÆ¶¯µ½Ä³¸öµãºóÐèÒª×Ô¶¯Õ½¶·µÈ
                ËùÒÔÕâÀïÖ»×ö֪ͨǰ¶Ë¿ÉÒÔÏòij¸öµãÒÆ¶¯£¬×îÖÕÒÆ¶¯ÓÉǰ¶Ë·¢Æð
    N(RÎttagMCNotifyPlayerMoveRÐR0R1tNPCIDRÔRÕ(RRßRàtnpcIDRè((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pytNotifyPlayerMove6s 
            (ÿRReR!RRÄRRt
SkillShellRLRR¹RwRlRƒR7R7RRRRcRRR¤R¼RòR^R=RÉRZRgRÔRÎRmR%RMRtR®RiRlRqRfR»RCRŽR{RARˆtGameLogic_ManorWarR‰R…t PlayerTeHuiR†R½RœR¾RŠRŒRRàR¶tShopItemManageR’R©R¯t
PlayerCoatRYt PlayerCostVIPtPlayerMergeKingt PlayerMergePKRoR¢RR†R·RTRyRÉRRŸR¡RÝRERXR}R[R]R¦R¨RªR²R¬tGameLogic_SealDemonR›RšR–R˜R™R¸R‚R¼RERkR´R»tdatetimeRœtmathtreRRRR-RnRPRLRîRùRôRõR6R=R;R<ROR.R>R:RCR°RVRdRcR5RŽRŒRœR›RQRéR¦R¸RûRúR•R9RURWRVRAR`RRIRzRyRR}R‡R‰RˆR¾RÀRÆR¿RÇRÚRìRïRÁRûRÀR
R4RRRRR!R,R2R9R6RCRERDRVR\R]R_R^RcRbReRfRgRhRnRpRoRRyR‹RšR RÊR«R¬RRØRÙRßRàRáRäRçRéRèRîRïRöRüRòRËRRRRRR$R%R(RIRJR1RURWRVRbRvR~RxR°RÁRÄRÅRÙRßRãRäR0R1R    RRR£R¹R1(((sX.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\ChPlayer.pyt<module>sú                                                                                                                       (        #    ÿS         *                      9                     +        6            
        
    T    4    
        
    Ë                 <            +    %    2    r            Y    +    V ]            _    #        .            N    7                I                            "        
                 !        #    #    #        )    '            ]        '                                 6    L    h    2         
    !    %    9        /     š                '    !        )        #    )                K    P         =                                P    *        ,                 "    >        ¦             (         9    2    
    
        &        j