From 2ca79941b6d50bafac81c7c0fd6ce5ab2ab25047 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 17 九月 2018 18:05:10 +0800 Subject: [PATCH] 1910 【BUG】仙盟联赛进入地图后瞬移至对方营地 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py | 36 +++++++++++++++++++++++++++++++----- 1 files changed, 31 insertions(+), 5 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py index ac6ef1d..b295e14 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py @@ -108,6 +108,7 @@ import PlayerSpringSale import PlayerFairyCeremony import ChNetSendPack +import FamilyRobBoss import PyGameData import PlayerCoin import PlayerGeTui @@ -237,6 +238,7 @@ curPlayer.SetDict(ChConfig.Def_PlayerKey_LoadMapIsLogin, 1) #通知时间 Sync_PyServerDataTimeToClient(curPlayer) + Sync_OpenServerDay(curPlayer) #通知玩家基本信息 curPlayer.Sync_ClientPlayerLogin() @@ -537,11 +539,13 @@ SyncPackDownloadAward(curPlayer) # 登录触发功能开启(老号处理) GameFuncComm.DoFuncOpenLogic(curPlayer) - # 神兽 + # 神兽 PlayerDogz.OnPlayerLogin(curPlayer) - # 神兽副本 + # 神兽副本 GameLogic_Dogz.SyncNPCRefreshTime(curPlayer.GetID()) - + # 骑宠 + FamilyRobBoss.OnPlayerLogin(curPlayer) + # 上线查询一次充值订单 curPlayer.SendDBQueryRecharge() @@ -1846,6 +1850,7 @@ curMap = GameWorld.GetMap() #校验客户端时间 if not PlayerControl.PlayerMoveCheckClientWorldTick(curPlayer, clientWorldTick, client_StartX, client_StartY): + curPlayer.Sync_ClientTick() return #移动点检查 @@ -3479,8 +3484,14 @@ return mapID = curPlayer.GetMapID() + + activityLineID = 0 # 活动线, 默认1线 + activityMapLineDict = IpyGameDataPY.GetFuncEvalCfg("MapLine", 2, {}) + if mapID in activityMapLineDict: + activityLineID = max(0, activityMapLineDict[mapID] - 1) + mapLineDict = IpyGameDataPY.GetFuncEvalCfg("MapLine", 1) - if mapID in mapLineDict and changLineID >= mapLineDict[mapID]: + if changLineID != activityLineID and mapID in mapLineDict and changLineID >= mapLineDict[mapID]: GameWorld.ErrLog("该地图没有开放此线路,无法手动切换!mapID=%s,changLineID=%s,maxLine=%s" % (mapID, changLineID, mapLineDict[mapID]), curPlayer.GetID()) return @@ -3663,6 +3674,7 @@ rebornTime = GetRebronTime(curPlayer, playerRebornType) #冷却时间到了 if not CanRebornByTimeOver(curPlayer, rebornTime): + PlayerControl.NotifyCode(curPlayer, 'RebornCD') return False isFBReborn = False @@ -5267,7 +5279,7 @@ # 请求GameServer目标地图NPC信息 sendMsg = "%s" % str([tagMapID, tagLineID, npcIDList]) curPlayer.GameServer_QueryPlayerByID(ChConfig.queryType_NPCCnt, 0, - 'NPCCntInfo', sendMsg, len(sendMsg)) + 'NPCCnt', sendMsg, len(sendMsg)) return @@ -5315,6 +5327,19 @@ NetPackCommon.SendFakePack(curPlayer, serverDateTime) return +## 通知开服天数 +# @param curPlayer: 玩家实例 +# @return: None +def Sync_OpenServerDay(curPlayer): + gw = GameWorld.GetGameWorld() + packData = ChPyNetSendPack.tagOpenServerDay() + packData.Clear() + packData.Day = gw.GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + packData.IsMixServer = gw.GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_IsMixServer) + packData.MixDay = gw.GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_MixServerDay) + packData.OpenServerTime = GameWorld.ChangeTimeNumToStr(gw.GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_InitOpenServerTime)) + NetPackCommon.SendFakePack(curPlayer, packData) + return #=============================================================================== # //B4 09 玩家移动 # tagCMPyMove @@ -5408,6 +5433,7 @@ #校验客户端时间 if not PlayerControl.PlayerMoveCheckClientWorldTick(curPlayer, sendPack_WorldTick, sendPack_SeverPosX, sendPack_SeverPosY): + curPlayer.Sync_ClientTick() return False dist = GameWorld.GetDist(curPlayer.GetPosX(), curPlayer.GetPosY(), sendPack_SeverPosX, sendPack_SeverPosY) -- Gitblit v1.8.0