From 584440c8d2de253e92a8ff4b6facdda62effec56 Mon Sep 17 00:00:00 2001 From: Somebody Date: Fri, 2 Aug 2024 14:07:39 +0800 Subject: [PATCH] Fix bug if the res missing --- GameServer/Game/Mission/MissionManager.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/GameServer/Game/Mission/MissionManager.cs b/GameServer/Game/Mission/MissionManager.cs index 7db67bac..e8ed06a0 100644 --- a/GameServer/Game/Mission/MissionManager.cs +++ b/GameServer/Game/Mission/MissionManager.cs @@ -413,7 +413,8 @@ public class MissionManager : BasePlayerManager foreach (var quest in Player.QuestManager?.GetRunningQuest() ?? []) { var excel = GameData.QuestDataData[quest.QuestId]; - var finishWay = GameData.FinishWayData[excel.FinishWayID]; + var finishWay = GameData.FinishWayData.GetValueOrDefault(excel.FinishWayID); + if (finishWay == null) continue; if (finishWay.FinishType == finishType) if (handler != null) await handler.HandleQuestFinishType(Player, excel, finishWay, arg); @@ -437,7 +438,8 @@ public class MissionManager : BasePlayerManager foreach (var quest in Player.QuestManager?.GetRunningQuest() ?? []) { var excel = GameData.QuestDataData[quest.QuestId]; - var finishWay = GameData.FinishWayData[excel.FinishWayID]; + var finishWay = GameData.FinishWayData.GetValueOrDefault(excel.FinishWayID); + if (finishWay == null) continue; if (finishWay.FinishType == MissionFinishTypeEnum.Talk) if (finishWay.ParamStr1 == talkString) await Player.QuestManager!.FinishQuest(quest.QuestId);