From e4c7eb72844c7a3ee3b131a3a99fcea49a13f65e Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 13 十二月 2021 16:51:25 +0800 Subject: [PATCH] 9363 【BT5】【后端】新增魔化之地(增加特殊灵宠可配置不同升阶道具支持) --- ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py | 40 +++++++++++++++++++++++++++++++++++----- 1 files changed, 35 insertions(+), 5 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py index 2189b3c..17c406e 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py @@ -62,10 +62,13 @@ import GMShell import IPY_PlayerDefine import GameWorldArena +import CrossLuckyCloudBuy import CrossRealmPK import AuctionHouse import PlayerAssist import PlayerFB +import PlayerLove +import PlayerCharm #--------------------------------------------------------------------- #--------------------------------------------------------------------- @@ -169,8 +172,6 @@ PlayerStore.OnPlayerLogin(curPlayer) #通知世界boss信息 GameWorldBoss.OnPlayerLogin(curPlayer) - #家族副本boss状态通知 - PlayerFamilyBoss.OnLogin(curPlayer) #渡劫 PlayerDuJie.OnPlayerLogin(curPlayer) #守卫人皇 @@ -186,6 +187,8 @@ GameWorldArena.OnPlayerLogin(curPlayer) #跨服PK CrossRealmPK.OnPlayerLogin(curPlayer) + #幸运云购 + CrossLuckyCloudBuy.OnPlayerLogin(curPlayer) #诛仙BOSS PlayerZhuXianBoss.OnPlayerLogin(curPlayer) #骑宠boss状态通知 @@ -199,6 +202,30 @@ else: #协助 PlayerAssist.OnPlayerLogin(curPlayer, True) + + return + +def DoPlayerRealLoginOK(curPlayer, loginMsg, tick): + ''' 玩家最终登录成功处理, 由 MapServer DoPlayerRealLoginOK 通知 + 该函数为地图最终登录成功才会执行到,以后一些功能类的登录处理建议均写到这里 + 旧的功能先不动( __DoPlayerLoginServer 函数中的功能),如果有登录相关的bug再考虑是否移动到此函数 + ''' + isMixServerFirstLogin = loginMsg[0] + GameWorld.Log("GameServer->DoPlayerRealLoginOK, isMixServerFirstLogin=%s" % isMixServerFirstLogin, curPlayer.GetPlayerID()) + + if GameWorld.IsCrossServer(): + return + + if not PlayerControl.GetIsTJG(curPlayer): + #家族副本boss状态通知 + PlayerFamilyBoss.OnLogin(curPlayer) + #魅力 + PlayerCharm.OnPlayerLogin(curPlayer) + #情缘 + PlayerLove.OnPlayerLogin(curPlayer) + + if isMixServerFirstLogin: + PlayerCharm.OnMixServerFirstLogin(curPlayer) return @@ -552,6 +579,8 @@ AuctionHouse.OnPlayerLeaveServer(curPlayer) #协助 PlayerAssist.OnLeaveServer(curPlayer) + #红包 + PlayerFamilyRedPacket.OnLeaveServer(curPlayer) #------------镖车逻辑 #TruckPlayerDisconnectProcess(curPlayer, tick) @@ -668,7 +697,7 @@ elif packType == IPY_GameServer.CDBPlayerRefresh_LV: curPlayer.SetLV(packValue) - PlayerSocial.UpdateSocialInfo(curPlayer, packType, packValue) + PlayerSocial.UpdateSocialInfo(curPlayer.GetID(), packType, packValue) #玩家等级记录 playerID = curPlayer.GetID() if playerID in PyGameData.g_todayPlayerLVDict: @@ -715,7 +744,7 @@ elif packType == IPY_GameServer.CDBPlayerRefresh_OfficialRank: curPlayer.SetOfficialRank(packValue) - PlayerSocial.UpdateSocialInfo(curPlayer, packType, packValue) + PlayerSocial.UpdateSocialInfo(curPlayer.GetID(), packType, packValue) #更新排行榜的境界 PlayerBillboard.UpdateBillboardRealm(curPlayer) @@ -1190,7 +1219,8 @@ serverDateTime.Hour = serverTime.hour serverDateTime.Minute = serverTime.minute serverDateTime.Second = serverTime.second - serverDateTime.MicSecond = serverTime.microsecond + serverDateTime.MicSecond = serverTime.microsecond + serverDateTime.CrossServerTime = GameWorld.GetCrossServerTimeStr() # 通知客户端同步时间 NetPackCommon.SendFakePack(curPlayer, serverDateTime) -- Gitblit v1.8.0