From bd61f5e92fad5dc02f693747fde8fdb86ee01c5c Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 06 十二月 2019 20:46:52 +0800 Subject: [PATCH] 8346 【恺英】【后端】协助系统(初版,可完成协助完整流程,增加新NPC伤血管理,支持协助、支持超过20亿伤害) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTeam.py | 15 +++++++++------ 1 files changed, 9 insertions(+), 6 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTeam.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTeam.py index ccd03a4..0c59fe1 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTeam.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTeam.py @@ -26,6 +26,7 @@ import SkillCommon import IPY_GameWorld import DataRecordPack +import NPCHurtManager #import PlayerTruck import ShareDefine import SkillShell @@ -249,10 +250,10 @@ #curMapTeam.SetTeamType(recvPack.GetTeamType()) DR_Team("RefreshPlayerTeamID_Create", teamID, dataDict) - if playerTeamID != teamID or not curTeam: - isNewTeam = playerTeamID != teamID # 切地图/上线时teamID可能不变,但是team为None + if (playerTeamID != teamID or not curTeam) and curMapTeam: + #isNewTeam = playerTeamID != teamID # 切地图/上线时teamID可能不变,但是team为None #GameWorld.DebugLog(" 玩家当前无队伍,处理玩家进队!isNewTeam=%s" % isNewTeam, playerID) - __OnEnterTeam(curPlayer, curMapTeam, isNewTeam, tick, dataDict) + __OnEnterTeam(curPlayer, curMapTeam, playerTeamID, tick, dataDict) else: dataDict["MemberCount"] = 0 if not curMapTeam else curMapTeam.GetMemberCount() DR_Team("RefreshPlayerTeamID_Update", teamID, dataDict) @@ -264,7 +265,7 @@ # @param tick 当前时间 # @return None # @remarks 函数详细说明. -def __OnEnterTeam(curPlayer, curMapTeam, isNewTeam, tick, dataDict): +def __OnEnterTeam(curPlayer, curMapTeam, playerTeamID, tick, dataDict): teamID = curMapTeam.GetTeamID() memCount = curMapTeam.GetMemberCount() if memCount >= ShareDefine.Def_Team_MaxPlayerCount: @@ -292,8 +293,8 @@ #PlayerTruck.ChangeTruckNoteInfo(curPlayer) #以下为进入一个新的队伍额外处理 - if not isNewTeam: - return + if playerTeamID != teamID: + NPCHurtManager.OnNPCHurtPlayerEnterTeam(playerID, curPlayer.GetPlayerName(), playerTeamID, curMapTeam, tick) return def __OnPlayerLeaveTeam(copyMapID, playerID, leaveTeamID, tick): @@ -311,6 +312,8 @@ __DelPlayerIDFromTeamPlayer(playerID, False) + NPCHurtManager.OnNPCHurtPlayerLeaveTeam(playerID, leaveTeamID, tick) + dataDict = {"playerID":playerID, "copyMapID":copyMapID} ### =========================== 以下逻辑是玩家存在时才需要处理的 ================================= curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID) -- Gitblit v1.8.0