| | |
| | | '''
|
| | |
|
| | | playerID = curPlayer.GetPlayerID()
|
| | | sysFixVersion = 2025123012 # 系统定义的最后一次修正版本号,一般以 yyyyMMddhh 定义为版本号
|
| | | sysFixVersion = 2026021300 # 系统定义的最后一次修正版本号,一般以 yyyyMMddhh 定义为版本号
|
| | | playerVersion = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FixVersion)
|
| | | if not playerVersion:
|
| | | createRoleTime = curPlayer.GetCreateRoleTime() # 按创角
|
| | |
| | | # 每个版本修正完需要立即更新到对应的版本号值,防止中间某个版本修正失败,导致重登后重复修正已经处理的版本
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FixVersion, fixVersion)
|
| | |
|
| | | # 修正公会跨服首次没有过天
|
| | | fixVersion = 2026021300
|
| | | if playerVersion < fixVersion:
|
| | | if DBFamily.IsFamilyCross():
|
| | | GameWorld.Log("跨服公会玩家登录补过天")
|
| | | PlayerFamily.__doPlayerOnDay(curPlayer)
|
| | | |
| | | # 其他
|
| | | # 需要按修正版本时间顺序依次处理!!!需要按修正版本时间顺序依次处理!!!需要按修正版本时间顺序依次处理!!!
|
| | |
|
| | |
| | | #@return 返回值无意义
|
| | | #@remarks C++封包触发, 玩家下线
|
| | | def PlayerDisconnect(index, tick):
|
| | | GameWorld.GetPsycoFunc(__Func_PlayerDisconnect)(index, tick)
|
| | | curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
| | | PlayerDisconnectEx(curPlayer, tick)
|
| | | return
|
| | |
|
| | | ##C++封包触发, 玩家下线
|
| | |
| | | #@param tick 时间戳
|
| | | #@return 返回值无意义
|
| | | #@remarks C++封包触发, 玩家下线
|
| | | def __Func_PlayerDisconnect(index, tick):
|
| | | curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
| | | def PlayerDisconnectEx(curPlayer, tick):
|
| | | try:
|
| | | # 避免因逻辑错误导致下线失败,可能导致回档的情况
|
| | | DoPlayerDisconnect(curPlayer, tick)
|