| | |
| | | import PlayerMail
|
| | | import DBDataMgr
|
| | | import GameServerRefresh
|
| | | import IPY_ServerDefine
|
| | | import CommFunc
|
| | | from PyMongoDB import RecvPackToMapDB
|
| | |
|
| | | import datetime
|
| | | import time
|
| | | import math
|
| | | import re
|
| | | import base64
|
| | | #---------------------------------------------------------------------
|
| | |
|
| | | #---------------------------------------------------------------------
|
| | |
| | | except:
|
| | | import traceback
|
| | | GameWorld.RaiseException("玩家下线逻辑错误\r\n%s" % traceback.format_exc())
|
| | | |
| | | RecvPackToMapDB.MapCallDB(GetPackSaveData(curPlayer))
|
| | | #调用底层使玩家下线
|
| | | curPlayer.DoDisconnect(tick)
|
| | |
|
| | | # 简化c++的保存数据封包
|
| | | def GetPackSaveData(curPlayer):
|
| | | roleSaveData = base64.b64decode(curPlayer.GetPackData()) # base64加密了
|
| | | allData = ""
|
| | | allData = CommFunc.WriteBYTE(allData, IPY_ServerDefine.gstUpdate)
|
| | | allData = CommFunc.WriteString(allData, len(roleSaveData), roleSaveData)
|
| | | return allData
|
| | |
|
| | |
|
| | | ##玩家正常下线
|
| | | #@param curPlayer 玩家索引
|
| | | #@param tick 时间戳
|