| | |
| | | if FBLogic.PlayerLoginInFBCheck(curPlayer, tick):
|
| | | #玩家是第一次登录, 并且玩家需要踢回原来地图
|
| | | return
|
| | | |
| | | #刷新人物日期状态
|
| | | #GameWorld.Log('PlayerEventCounter.UpdatePlayerLoginTime')
|
| | | PlayerEventCounter.UpdatePlayerLoginTime(curPlayer)
|
| | | return
|
| | |
|
| | | #// A1 20 货币兑换 #tagCMMoneyExchange
|
| | |
| | | # !!!必要发送的数据要注意位置
|
| | | if GameWorld.IsCrossServer():
|
| | | curPlayer.SetForbiddenSyncClientState(True)
|
| | | |
| | | # !!!先处理检查OnDay,再处理玩家登录的功能数据,防止某些功能login处理数据后又被onday重置
|
| | | PlayerEventCounter.UpdatePlayerLoginTime(curPlayer)
|
| | |
|
| | | __DoPlayerLoginServer(curPlayer, tick)
|
| | |
|
| | |
| | | #同步自动战斗配置记录
|
| | | # Sync_AutoFightSetting(curPlayer)
|
| | |
|
| | | PlayerFamily.OnPlayerLogin(curPlayer, tick)
|
| | | |
| | | # 竞技场
|
| | | PlayerArena.OnLogin(curPlayer)
|
| | |
|
| | |
| | | else:
|
| | | PyMongoMain.GetUserCtrlDB().OnPlayerLogin(curPlayer)
|
| | | GMT_BroadCast.OnPlayerLogin(curPlayer)
|
| | | PlayerFamily.OnPlayerLogin(curPlayer, tick)
|
| | | PlayerHero.OnPlayerLogin(curPlayer)
|
| | | PlayerMail.OnPlayerLogin(curPlayer)
|
| | | PlayerHJG.OnPlayerLogin(curPlayer)
|
| | |
| | |
|
| | | # --------------------------------------------------------------
|
| | |
|
| | | syncCD = 2000
|
| | | if refreshType == IPY_PlayerDefine.CDBPlayerRefresh_FightPower:
|
| | | syncCD = 60 * 1000
|
| | | |
| | | # 同步给相关跨服
|
| | | tick = GameWorld.GetGameWorld().GetTick()
|
| | | lastSyncTick = curPlayer.GetDictByKey("S2C_PlayerBaseInfo")
|
| | | if lastSyncTick and (tick - lastSyncTick) <= 2000:
|
| | | if lastSyncTick and (tick - lastSyncTick) <= syncCD:
|
| | | # 短时间内只同步一次
|
| | | #GameWorld.DebugLog("同步基础属性CD中! refreshType=%s,syncCD=%s,pass=%s" % (refreshType, syncCD, tick - lastSyncTick))
|
| | | return
|
| | | curPlayer.SetDict("S2C_PlayerBaseInfo", tick)
|
| | |
|
| | |
| | | #到此处已经可以保存数据,即使客户端不回包断线
|
| | | #原 //01 07 地图读取OK#tagCInitMapOK 逻辑 直接调用
|
| | | __Func_LoadMapOK(index, tick)
|
| | | GameServerRefresh.GameSever_PlayerInitOK(index, tick)
|
| | | DoPlayerRealLoginOK(curPlayer, tick)
|
| | | #GameServerRefresh.GameSever_PlayerInitOK(index, tick) GameServer已废弃,不再执行该逻辑
|
| | | except:
|
| | | curPlayer.Kick(IPY_GameWorld.disWaitForPlayerLoinError)
|
| | | import traceback
|
| | |
| | |
|
| | | #申请得到奖励物品
|
| | | #curPlayer.DataServer_CheckPrizeItem()
|
| | | |
| | | #防止玩家读取地图时未触发OnDay,读取地图后再次验证(2009.9.11)
|
| | | PlayerEventCounter.UpdatePlayerLoginTime(curPlayer)
|
| | |
|
| | | #设置阵营
|
| | | if curPlayer.GetFaction() != ChConfig.CampType_Neutral \
|