require('Actor/ActorCommon') local questActorProxy = require('Actor/Quest/QuestActorProxy') local Quest357 = class("Quest357", questActorProxy) Quest357.defaultAlias = "Quest357" local DailyNpcManager = require('Actor/DailyNPCManager') local q357Cfg = require('Quest/Client/Q357ClientConfig') local AmborData = q357Cfg.AmborData local GaiaData = q357Cfg.GaiaData local Q357NPC1Data = q357Cfg.Q357NPC1Data local Q357NPC2Data = q357Cfg.Q357NPC2Data local Q357NPC3Data = q357Cfg.Q357NPC3Data local Q357NPC4Data = q357Cfg.Q357NPC4Data local Q357NPC5Data = q357Cfg.Q357NPC5Data local Q357NPC6Data = q357Cfg.Q357NPC6Data -- Generated function Quest357:OnSubStartHandlerBuild() self.subStartHandlers = {} -- self.subStartHandlers["35701"] = self.OnSubStart35701 -- self.subStartHandlers["35702"] = self.OnSubStart35702 -- self.subStartHandlers["35703"] = self.OnSubStart35703 -- self.subStartHandlers["35704"] = self.OnSubStart35704 -- self.subStartHandlers["35705"] = self.OnSubStart35705 -- self.subStartHandlers["35706"] = self.OnSubStart35706 -- self.subStartHandlers["35707"] = self.OnSubStart35707 -- self.subStartHandlers["35708"] = self.OnSubStart35708 -- self.subStartHandlers["35709"] = self.OnSubStart35709 -- self.subStartHandlers["35710"] = self.OnSubStart35710 self.subStartHandlers["35711"] = self.OnSubStart35711 self.subStartHandlers["35721"] = self.OnSubStart35721 self.subStartHandlers["35722"] = self.OnSubStart35722 self.subStartHandlers["35723"] = self.OnSubStart35723 self.subStartHandlers["35724"] = self.OnSubStart35724 self.subStartHandlers["35725"] = self.OnSubStart35725 end function Quest357:OnSubFinishHandlerBuild() self.subFinishHandlers = {} -- self.subFinishHandlers["35701"] = self.OnSubFinish35701 -- self.subFinishHandlers["35702"] = self.OnSubFinish35702 -- self.subFinishHandlers["35703"] = self.OnSubFinish35703 -- self.subFinishHandlers["35704"] = self.OnSubFinish35704 -- self.subFinishHandlers["35705"] = self.OnSubFinish35705 -- self.subFinishHandlers["35706"] = self.OnSubFinish35706 -- self.subFinishHandlers["35707"] = self.OnSubFinish35707 -- self.subFinishHandlers["35708"] = self.OnSubFinish35708 -- self.subFinishHandlers["35709"] = self.OnSubFinish35709 -- self.subFinishHandlers["35710"] = self.OnSubFinish35710 self.subFinishHandlers["35711"] = self.OnSubFinish35711 self.subFinishHandlers["35721"] = self.OnSubFinish35721 self.subFinishHandlers["35722"] = self.OnSubFinish35722 self.subFinishHandlers["35723"] = self.OnSubFinish35723 self.subFinishHandlers["35724"] = self.OnSubFinish35724 self.subFinishHandlers["35725"] = self.OnSubFinish35725 end ---sub start & finish 内调用的函数 --@region sub start & finish function Quest357:GaiaVanish() local gaia = actorMgr:GetActor(GaiaData.Gaia) if gaia ~= nil then gaia:SetVisible(false) end local ambor = actorMgr:GetActor(AmborData.Ambor) if ambor ~= nil then ambor:SetVisible(false) end end function Quest357:AmborVanish() self:ShowBlackScreen(0.5, 1.0, 0.5, function(self) local ambor = actorMgr:GetActor(AmborData.Ambor) if ambor ~= nil then ambor:Destroy(false) end end ) end function Quest357:TotorialContent() local ambor = actorMgr:GetActor("Ambor") ambor:NarratorOnlyTask(q357Cfg.NarratorData.FlyTutorial) end function Quest357:NarratorFly() local AmborData = self.clientData.AmborData actorMgr:CreateActorWithPos(AmborData.Ambor, AmborData.AmborScript, AmborData.AmborID, 0, AmborData.Pos3, AmborData.Dir3, true, false) self:ShowTutorialDialog(150) --self:ShowTutorialDialog(150, self.TotorialContent) --self:NarratorOnlyTask(self.clientData.NarratorData.FlyTutorial) --[[ local TargetData = self.clientData.TargetData globalActor:UnSpawn(TargetData.Target4) globalActor:SpawnGadget(TargetData.TargetID, TargetData.Pos4, TargetData.Dir4, TargetData.Target4) ]] end function Quest357:FlyTutorial() self:ShowBlackScreen(1.0, 1.0, 2.0, self.NarratorFly, nil) local paimon = actorMgr:GetActor("Paimon") if paimon ~= nil then paimon:DestroyWithDisappear(false) end --[[ local AmborData = self.clientData.AmborData actorMgr:CreateActorWithPos(AmborData.Ambor, AmborData.AmborScript, AmborData.AmborID, 0, AmborData.Pos3, AmborData.Dir3, true, false) self:NarratorOnlyTask(self.clientData.NarratorData.FlyTutorial) local TargetData = self.clientData.TargetData --globalActor:UnSpawn(TargetData.Target4) globalActor:SpawnGadget(TargetData.TargetID, TargetData.Pos4, TargetData.Dir4, TargetData.Target4) ]] end function Quest357:BeforeShoot() self:ShowBlackScreen(1.0, 1.0, 2.0, self.ShootTutorial, nil) end function Quest357:ShootTutorial() local TargetData = self.clientData.TargetData globalActor:UnSpawn(TargetData.Target1) globalActor:UnSpawn(TargetData.Target2) globalActor:SpawnGadget(TargetData.TargetID, TargetData.Pos1, TargetData.Dir1, TargetData.Target1) globalActor:SpawnGadget(TargetData.TargetID, TargetData.Pos2, TargetData.Dir2, TargetData.Target2) --Temp Hide Paimon local PaimonData = self.clientData.PaimonData actorMgr:CreateActorWithPos(PaimonData.Paimon, PaimonData.PaimonScript, PaimonData.PaimonID, 0, PaimonData.hiddenPos, PaimonData.hiddenDir, true, false) local AmborData = self.clientData.AmborData actorMgr:CreateActorWithPos(AmborData.Ambor, AmborData.AmborScript, AmborData.AmborID, 0, AmborData.hiddenPos, AmborData.hiddenDir, true, false) self:NarratorOnlyTask(self.clientData.NarratorData.ShootTutorial) end function Quest357:Story1() self:NarratorOnlyTask(self.clientData.NarratorData.Story1, nil, "Story") end function Quest357:Story2() self:NarratorOnlyTask(self.clientData.NarratorData.Story2, nil, "Story") end function Quest357:On35701CutsceneFinish() local AmborData = self.clientData.AmborData self:RequestInteraction(AmborData.Ambor) local Stone3Data = self.clientData.Stone3Data globalActor:UnSpawn(Stone3Data.Stone3) globalActor:SpawnGadget(Stone3Data.StoneID, Stone3Data.Pos3, Stone3Data.Dir3, Stone3Data.Stone3) local TargetData = self.clientData.TargetData globalActor:UnSpawn(TargetData.Target3) globalActor:SpawnGadget(TargetData.TargetID, TargetData.Pos3, TargetData.Dir3, TargetData.Target3) --dragon fly self:PlayFreeCutscene(self.clientData.InterData.DragonCutScene,nil, nil) end function Quest357:On35722CutsceneFinish() local AmborData = self.clientData.AmborData self:TransmitPlayer(3, sceneData:GetDummyPoint(3,"Q35707Player").pos, sceneData:GetDummyPoint(3,"Q35707Player").rot, nil, function (self) actorMgr:CreateActorWithPos(AmborData.Ambor, AmborData.AmborScript, AmborData.AmborID, 0, AmborData.Pos4, AmborData.Dir4, true, false) self:PlayCutscene(self.clientData.InterData.Cutscene3, function (self) self:RequestInteraction(AmborData.Ambor) end ) end ) end function Quest357:DesStone4() local StoneData = self.clientData.SpecialStoneData globalActor:UnSpawn(StoneData.Stone4) end --@endregion --老的一阶段脚本 --@region old quest sub start & finish handlers ---按流程触发顺序 --[[ function Quest357:OnSubStart35701(quest) print("35701 Start : Creat Ambor") local AmborData = self.clientData.AmborData actorMgr:CreateActorWithPos(AmborData.Ambor, AmborData.AmborScript, AmborData.AmborID, 0, AmborData.Pos1, AmborData.Dir1, true, false) local StoneData = self.clientData.StoneData globalActor:UnSpawn("Stone") globalActor:SpawnGadget(StoneData.StoneID, StoneData.Pos1,StoneData.Dir1,"Stone") end ]] function Quest357:OnSubStart35701(quest) print("35701 Start : Creat Ambor & Environment") --[[ -- creat stone local StoneData = self.clientData.StoneData globalActor:UnSpawn(StoneData.Stone3) globalActor:SpawnGadget(StoneData.StoneID, StoneData.Pos3, StoneData.Dir3, StoneData.Stone3) ]] local AmborData = self.clientData.AmborData actorMgr:CreateActorWithPos(AmborData.Ambor, AmborData.AmborScript, AmborData.AmborID, 0, AmborData.Pos1, AmborData.Dir1, true, false) --play cutscene self:PlayCutscene(self.clientData.InterData.Cutscene2, self.On35701CutsceneFinish) --ambor run to first wind --creat wind local WindData = self.clientData.WindData local RiseDir = {x=0,y=0,z=0} globalActor:SpawnGadget(WindData.WindID, WindData.Pos1,M.Dir2Euler(RiseDir),WindData.Wind1) globalActor:SpawnGadget(WindData.WindID, WindData.Pos2,M.Dir2Euler(RiseDir),WindData.Wind2) globalActor:SpawnGadget(WindData.WindID, WindData.Pos3,M.Dir2Euler(RiseDir),WindData.Wind3) globalActor:SpawnGadget(WindData.WindID, WindData.Pos4,M.Dir2Euler(RiseDir),WindData.Wind4) globalActor:SpawnGadget(WindData.WindID, WindData.Pos5,M.Dir2Euler(RiseDir),WindData.Wind5) globalActor:SpawnGadget(WindData.WindID, WindData.Pos6,M.Dir2Euler(RiseDir),WindData.Wind6) globalActor:SpawnGadget(WindData.WindID, WindData.Pos7,M.Dir2Euler(RiseDir),WindData.Wind7) --creat skybox --local SkyboxData = self.clientData.SkyboxData --globalActor:SpawnLocalGadget("Skybox", SkyboxData.SkyboxID, SkyboxData.SkyboxPos, M.Dir2Euler(RiseDir)) --change weather globalActor:ChangeWeather ("Blustery") --creat wall local WallData = self.clientData.WallData --globalActor:SpawnLocalGadget("Wall", WallData.WallID, WallData.WallPos, WallData.WallDir) globalActor:SpawnGadget(WallData.WallID, WallData.WallPos, WallData.WallDir,"Wall") --change music globalActor:PlayAudioState("StateGroup_musicEmotion", "State_musicAgitated") --dragon fly --self:PlayFreeCutscene(self.clientData.InterData.DragonCutScene,nil, nil) --creat Q357NPC actorMgr:CreateActorWithPos(Q357NPC1Data.Q357NPC1, Q357NPC1Data.Q357NPC1Script, Q357NPC1Data.Q357NPC1ID, 0, Q357NPC1Data.Pos1, Q357NPC1Data.Dir1, true, false) --local Q357NPC1 = actorMgr:GetActor("Q357NPC1") --Q357NPC1:DoFreeStyle(362) actorMgr:CreateActorWithPos(Q357NPC2Data.Q357NPC2, Q357NPC2Data.Q357NPC2Script, Q357NPC2Data.Q357NPC2ID, 0, Q357NPC2Data.Pos1, Q357NPC2Data.Dir1, true, false) --local Q357NPC2 = actorMgr:GetActor("Q357NPC2") --Q357NPC2:DoFreeStyle(362) actorMgr:CreateActorWithPos(Q357NPC3Data.Q357NPC3, Q357NPC3Data.Q357NPC3Script, Q357NPC3Data.Q357NPC3ID, 0, Q357NPC3Data.Pos1, Q357NPC3Data.Dir1, true, false) --local Q357NPC3 = actorMgr:GetActor("Q357NPC3") --Q357NPC3:DoFreeStyle(362) actorMgr:CreateActorWithPos(Q357NPC4Data.Q357NPC4, Q357NPC4Data.Q357NPC4Script, Q357NPC4Data.Q357NPC4ID, 0, Q357NPC4Data.Pos1, Q357NPC4Data.Dir1, true, false) --local Q357NPC4 = actorMgr:GetActor("Q357NPC4") --Q357NPC4:DoFreeStyle(362) actorMgr:CreateActorWithPos(Q357NPC5Data.Q357NPC5, Q357NPC5Data.Q357NPC5Script, Q357NPC5Data.Q357NPC5ID, 0, Q357NPC5Data.Pos1, Q357NPC5Data.Dir1, true, false) --local Q357NPC5 = actorMgr:GetActor("Q357NPC5") --Q357NPC5:DoFreeStyle(362) actorMgr:CreateActorWithPos(Q357NPC6Data.Q357NPC6, Q357NPC6Data.Q357NPC6Script, Q357NPC6Data.Q357NPC6ID, 0, Q357NPC6Data.Pos1, Q357NPC6Data.Dir1, true, false) --local Q357NPC6 = actorMgr:GetActor("Q357NPC6") --Q357NPC6:DoFreeStyle(362) print("-----------Notify NPC to Panic-----------") local MengdeNpcList=DailyNpcManager.GetMengdeNpcListSpecial() for i=1, #MengdeNpcList do self:NotifyTo(MengdeNpcList[i], DailyNpcManager.NpcEventType.HIDESELF, true) end end function Quest357:OnSubFinish35701(quest) print("35701 Finish : Hide Paimon") self:ActionSafeCall( function(self) local paimon = actorMgr:GetActor("Paimon") if paimon ~= nil then paimon:DestroyWithDisappear(false) end end ) end function Quest357:OnSubFinish35702(quest) print("35702 Finish : Ambor Run") --dragon fly self:PlayFreeCutscene(self.clientData.InterData.DragonCutScene,nil, nil) --ambor run to first wind local ambor = actorMgr:GetActor(self.clientData.AmborData.Ambor) ambor:AddPriorityInter(InterTimingType.BTN, self.clientData.InterData.NoReplyInter) ambor:RunToTask(self.clientData.AmborData.Pos2, function(actor, task) actor:ClearFollowTask() actor:ClearPriorityInter(InterTimingType.BTN) actor:Standby() actor:TurnTo(M.Euler2DirXZ(self.clientData.AmborData.Dir2)) end ) local TargetData = self.clientData.TargetData globalActor:UnSpawn(TargetData.Target3) end function Quest357:OnSubFinish35703(quest) print("35703 Finish : Creat Ambor & FlyTutorial") --local AmborData = self.clientData.AmborData --actorMgr:CreateActorWithPos(AmborData.Ambor, AmborData.AmborScript, AmborData.AmborID, 0, AmborData.Pos3, AmborData.Dir3, true, false) --self:NarratorOnlyTask(self.clientData.NarratorData.FlyTutorial) self:ActionSafeCall(self.FlyTutorial) end function Quest357:OnSubFinish35704(quest) print("35704 Finish : Creat Stone") --[[ local StoneData = self.clientData.StoneData globalActor:UnSpawn(StoneData.Stone1) globalActor:UnSpawn(StoneData.Stone2) globalActor:SpawnGadget(StoneData.StoneID, StoneData.Pos1, StoneData.Dir1, StoneData.Stone1) globalActor:SpawnGadget(StoneData.StoneID, StoneData.Pos2, StoneData.Dir2, StoneData.Stone2) ]] --[[ local TargetData = self.clientData.TargetData globalActor:UnSpawn(TargetData.Target4) ]] end function Quest357:OnSubFinish35705(quest) print("35705 Finish : ShootTutorial") --local AmborData = self.clientData.AmborData --actorMgr:CreateActorWithPos(AmborData.Ambor, AmborData.AmborScript, AmborData.AmborID, 0, AmborData.hiddenPos, AmborData.hiddenDir, true, false) --self:NarratorOnlyTask(self.clientData.NarratorData.ShootTutorial) self:ActionSafeCall(self.BeforeShoot) --self:ActionSafeCall(self.ShootTutorial) --[[ local TargetData = self.clientData.TargetData --globalActor:UnSpawn(TargetData.Target1) globalActor:SpawnGadget(TargetData.TargetID, TargetData.Pos1, TargetData.Dir1, TargetData.Target1) --Temp Hide Paimon local PaimonData = self.clientData.PaimonData actorMgr:CreateActorWithPos(PaimonData.Paimon, PaimonData.PaimonScript, PaimonData.PaimonID, 0, PaimonData.hiddenPos, PaimonData.hiddenDir, true, false) ]] end function Quest357:OnSubFinish35706(quest) print("35706 Finish : Story1") --self:NarratorOnlyTask(self.clientData.NarratorData.Story1, nil, "Story") self:ActionSafeCall(self.Story1) --local StoneData = self.clientData.StoneData --globalActor:UnSpawn(StoneData.Stone2) --globalActor:SpawnGadget(StoneData.StoneID, StoneData.Pos2, StoneData.Dir2, StoneData.Stone2) local TargetData = self.clientData.TargetData globalActor:UnSpawn(TargetData.Target1) --globalActor:SpawnGadget(TargetData.TargetID, TargetData.Pos2, TargetData.Dir2, TargetData.Target2) end function Quest357:OnSubFinish35707(quest) print("35707 Finish : Creat Stone 4th") local TargetData = self.clientData.TargetData globalActor:UnSpawn(TargetData.Target2) --globalActor:SpawnGadget(TargetData.TargetID, TargetData.Pos5, TargetData.Dir5, TargetData.Target5) --[[ local StoneData = self.clientData.SpecialStoneData globalActor:UnSpawn(StoneData.Stone4) globalActor:SpawnGadget(StoneData.StoneID, StoneData.Pos4, StoneData.Dir4, StoneData.Stone4) self:NarratorOnlyTask(self.clientData.NarratorData.Story3, nil, "Story3") ]] end function Quest357:OnSubStart35709(quest) print("35709 Start : ") local Q357NPC1 = actorMgr:GetActor("Q357NPC1") if Q357NPC1 ~= nil then Q357NPC1:DestroyWithDisappear(false) end --actorMgr:CreateActorWithPos(Q357NPC2Data.Q357NPC2, Q357NPC2Data.Q357NPC2Script, Q357NPC2Data.Q357NPC2ID, 0, Q357NPC2Data.Pos1, Q357NPC2Data.Dir1, true, false) local Q357NPC2 = actorMgr:GetActor("Q357NPC2") if Q357NPC2 ~= nil then Q357NPC2:DestroyWithDisappear(false) end --actorMgr:CreateActorWithPos(Q357NPC3Data.Q357NPC3, Q357NPC3Data.Q357NPC3Script, Q357NPC3Data.Q357NPC3ID, 0, Q357NPC3Data.Pos1, Q357NPC3Data.Dir1, true, false) local Q357NPC3 = actorMgr:GetActor("Q357NPC3") if Q357NPC3 ~= nil then Q357NPC3:DestroyWithDisappear(false) end --actorMgr:CreateActorWithPos(Q357NPC4Data.Q357NPC4, Q357NPC4Data.Q357NPC4Script, Q357NPC4Data.Q357NPC4ID, 0, Q357NPC4Data.Pos1, Q357NPC4Data.Dir1, true, false) local Q357NPC4 = actorMgr:GetActor("Q357NPC4") if Q357NPC4 ~= nil then Q357NPC4:DestroyWithDisappear(false) end --actorMgr:CreateActorWithPos(Q357NPC5Data.Q357NPC5, Q357NPC5Data.Q357NPC5Script, Q357NPC5Data.Q357NPC5ID, 0, Q357NPC5Data.Pos1, Q357NPC5Data.Dir1, true, false) local Q357NPC5 = actorMgr:GetActor("Q357NPC5") if Q357NPC5 ~= nil then Q357NPC5:DestroyWithDisappear(false) end --actorMgr:CreateActorWithPos(Q357NPC6Data.Q357NPC6, Q357NPC6Data.Q357NPC6Script, Q357NPC6Data.Q357NPC6ID, 0, Q357NPC6Data.Pos1, Q357NPC6Data.Dir1, true, false) local Q357NPC6 = actorMgr:GetActor("Q357NPC6") if Q357NPC6 ~= nil then Q357NPC6:DestroyWithDisappear(false) end print("-----------Notify NPC to Daily-----------") local MengdeNpcList=DailyNpcManager.GetMengdeNpcListSpecial() for i=1, #MengdeNpcList do self:NotifyTo(MengdeNpcList[i], DailyNpcManager.NpcEventType.STARTDAILY, true) end end function Quest357:OnSubStart35711(quest) print("35711 Finish : Creat Stone 4th") local TargetData = self.clientData.TargetData globalActor:SpawnGadget(TargetData.TargetID, TargetData.Pos5, TargetData.Dir5, TargetData.Target5) local StoneData = self.clientData.SpecialStoneData globalActor:UnSpawn(StoneData.Stone4) globalActor:SpawnGadget(StoneData.StoneID, StoneData.Pos4, StoneData.Dir4, StoneData.Stone4) local HitSphereData = self.clientData.HitSphereData globalActor:UnSpawn("HitSphere") globalActor:SpawnGadget(70300047, sceneData:GetDummyPoint(3,"Q357Stone3").pos, sceneData:GetDummyPoint(3,"Q357Stone3").rot, "HitSphere") --globalActor:SpawnGadget(HitSphereData.HitSphereID, HitSphereData.Pos, HitSphereData.Dir, HitSphereData.HitSphere) self:NarratorOnlyTask(self.clientData.NarratorData.Story3, nil, "Story3") end function Quest357:OnSubFinish35711(quest) print("35711 Finish : Cutscene") --destroy target5 local TargetData = self.clientData.TargetData globalActor:UnSpawn(TargetData.Target5) --destroy wind globalActor:UnSpawn("Wind1") globalActor:UnSpawn("Wind2") globalActor:UnSpawn("Wind3") globalActor:UnSpawn("Wind4") globalActor:UnSpawn("Wind5") globalActor:UnSpawn("Wind6") globalActor:UnSpawn("Wind7") globalActor:UnSpawn("Wall") --globalActor:UnSpawn("Skybox") --stop dragon self:StopFreeCutscene(self.clientData.InterData.DragonCutScene, false) --change weather --globalActor:ChangeWeather ("ClearSky") globalActor:LeaveWeather() --change music --globalActor:PlayAudioState("StateGroup_musicEmotion", "State_musicNormal") --creat ambor temp local AmborData = self.clientData.AmborData actorMgr:CreateActorWithPos(AmborData.Ambor, AmborData.AmborScript, AmborData.AmborID, 0, AmborData.Pos4, AmborData.Dir4, true, false) --creat gaia temp local GaiaData = self.clientData.GaiaData actorMgr:CreateActorWithPos(GaiaData.Gaia, GaiaData.GaiaScript, GaiaData.GaiaID, 0, GaiaData.Pos2, GaiaData.Dir2, true, false) --[[ actorMgr:CreateActorWithPos(GaiaData.Gaia, GaiaData.GaiaScript, GaiaData.GaiaID, 0, GaiaData.Pos1, GaiaData.Dir1, true, false) local gaia = actorMgr:GetActor(self.clientData.GaiaData.Gaia) gaia:AddPriorityInter(InterTimingType.BTN, self.clientData.InterData.NoReplyInter) gaia:RunToTask(self.clientData.GaiaData.Pos2, function(actor, task) actor:ClearFollowTask() actor:ClearPriorityInter(InterTimingType.BTN) actor:Standby() actor:TurnTo(M.Euler2DirXZ(self.clientData.GaiaData.Dir2)) end ) ]] --play cutscene self:PlayCutscene(self.clientData.InterData.Cutscene1, self.On35722CutsceneFinish) --destroy stone4 self:CallDelay(2, self.DesStone4) --local StoneData = self.clientData.SpecialStoneData --globalActor:UnSpawn(StoneData.Stone4) --Destroy NPC --actorMgr:CreateActorWithPos(Q357NPC1Data.Q357NPC1, Q357NPC1Data.Q357NPC1Script, Q357NPC1Data.Q357NPC1ID, 0, Q357NPC1Data.Pos1, Q357NPC1Data.Dir1, true, false) local Q357NPC1 = actorMgr:GetActor("Q357NPC1") if Q357NPC1 ~= nil then Q357NPC1:DestroyWithDisappear(false) end --actorMgr:CreateActorWithPos(Q357NPC2Data.Q357NPC2, Q357NPC2Data.Q357NPC2Script, Q357NPC2Data.Q357NPC2ID, 0, Q357NPC2Data.Pos1, Q357NPC2Data.Dir1, true, false) local Q357NPC2 = actorMgr:GetActor("Q357NPC2") if Q357NPC2 ~= nil then Q357NPC2:DestroyWithDisappear(false) end --actorMgr:CreateActorWithPos(Q357NPC3Data.Q357NPC3, Q357NPC3Data.Q357NPC3Script, Q357NPC3Data.Q357NPC3ID, 0, Q357NPC3Data.Pos1, Q357NPC3Data.Dir1, true, false) local Q357NPC3 = actorMgr:GetActor("Q357NPC3") if Q357NPC3 ~= nil then Q357NPC3:DestroyWithDisappear(false) end --actorMgr:CreateActorWithPos(Q357NPC4Data.Q357NPC4, Q357NPC4Data.Q357NPC4Script, Q357NPC4Data.Q357NPC4ID, 0, Q357NPC4Data.Pos1, Q357NPC4Data.Dir1, true, false) local Q357NPC4 = actorMgr:GetActor("Q357NPC4") if Q357NPC4 ~= nil then Q357NPC4:DestroyWithDisappear(false) end --actorMgr:CreateActorWithPos(Q357NPC5Data.Q357NPC5, Q357NPC5Data.Q357NPC5Script, Q357NPC5Data.Q357NPC5ID, 0, Q357NPC5Data.Pos1, Q357NPC5Data.Dir1, true, false) local Q357NPC5 = actorMgr:GetActor("Q357NPC5") if Q357NPC5 ~= nil then Q357NPC5:DestroyWithDisappear(false) end --actorMgr:CreateActorWithPos(Q357NPC6Data.Q357NPC6, Q357NPC6Data.Q357NPC6Script, Q357NPC6Data.Q357NPC6ID, 0, Q357NPC6Data.Pos1, Q357NPC6Data.Dir1, true, false) local Q357NPC6 = actorMgr:GetActor("Q357NPC6") if Q357NPC6 ~= nil then Q357NPC6:DestroyWithDisappear(false) end --Notify NPC --[[print("-----------Notify NPC to Daily-----------") for i=1, #CfgMengdeDayPatrol.DummyPointData.NpcID do self:NotifyTo("MengdeDayPatrol" .. '_' .. tostring(i), 35702, false) end for i=1, #CfgMengdeInsomniaPatrol.DummyPointData.NpcID do self:NotifyTo("MengdeInsomniaPatrol" .. '_' .. tostring(i), 35702, false) end for i=1, #CfgMengdeDayStand.DummyPointData.NpcID do self:NotifyTo("MengdeDayStand" .. '_' .. tostring(i), 35702, false) end for i=1, #CfgMengdeNightStand.DummyPointData.NpcID do self:NotifyTo("MengdeNightStand" .. '_' .. tostring(i), 35702, false) end for i=1, #CfgMengdeNightSit.DummyPointData.NpcID do self:NotifyTo("MengdeNightSit" .. '_' .. tostring(i), 35702, false) end for i=1, #CfgMengdeInsomniaStand.DummyPointData.NpcID do self:NotifyTo("MengdeInsomniaStand" .. '_' .. tostring(i), 35702, false) end for i=1, #CfgMengdeDaySit.DummyPointData.NpcID do self:NotifyTo("MengdeDaySit" .. '_' .. tostring(i), 35702, true) end--]] end function Quest357:OnSubFinish35708(quest) print("35708 Finish : NPC Hide") --[[ local AmborData = self.clientData.AmborData local ambor = actorMgr:GetActor(self.clientData.AmborData.Ambor) ambor:AddPriorityInter(InterTimingType.BTN, self.clientData.InterData.NoReplyInter) ambor:RunToTask(self.clientData.AmborData.Pos5, function(actor, task) actor:ClearFollowTask() actor:ClearPriorityInter(InterTimingType.BTN) actorMgr:CreateActorWithPos(AmborData.Ambor, AmborData.AmborScript, AmborData.AmborID, 0, AmborData.hiddenPos, AmborData.hiddenDir, true, false) end ) local GaiaData = self.clientData.GaiaData local gaia = actorMgr:GetActor(self.clientData.GaiaData.Gaia) gaia:AddPriorityInter(InterTimingType.BTN, self.clientData.InterData.NoReplyInter) gaia:RunToTask(self.clientData.GaiaData.Pos3, function(actor, task) actor:ClearFollowTask() actor:ClearPriorityInter(InterTimingType.BTN) actorMgr:CreateActorWithPos(GaiaData.Gaia, GaiaData.GaiaScript, GaiaData.GaiaID, 0, GaiaData.hiddenPos, GaiaData.hiddenDir, true, false) end ) ]] local AmborData = self.clientData.AmborData actorMgr:CreateActorWithPos(AmborData.Ambor, AmborData.AmborScript, AmborData.AmborID, 0, AmborData.hiddenPos, AmborData.hiddenDir, true, false) local GaiaData = self.clientData.GaiaData actorMgr:CreateActorWithPos(GaiaData.Gaia, GaiaData.GaiaScript, GaiaData.GaiaID, 0, GaiaData.hiddenPos, GaiaData.hiddenDir, true, false) self:ActionSafeCall( function(self) local paimon = actorMgr:GetActor("Paimon") if paimon ~= nil then paimon:DestroyWithDisappear(false) end end ) end function Quest357:OnSubFinish35709(quest) print("35709 Finish : Creat Paimon") local PaimonData = self.clientData.PaimonData actorMgr:CreateActorWithPos(PaimonData.Paimon, PaimonData.PaimonScript, PaimonData.PaimonID, 0, PaimonData.Pos1, PaimonData.Dir1, true, false) local paimon = actorMgr:GetActor(self.clientData.PaimonData.Paimon) paimon:AddPriorityInter(InterTimingType.BTN, self.clientData.InterData.NoReplyInter) paimon:RunToTask(self.clientData.PaimonData.Pos2, function(actor, task) actor:ClearFollowTask() actor:ClearPriorityInter(InterTimingType.BTN) --actorMgr:CreateActorWithPos(PaimonData.Paimon, PaimonData.PaimonScript, PaimonData.PaimonID, 0, PaimonData.hiddenPos, PaimonData.hiddenDir, true, false) end ) --self:NarratorOnlyTask(self.clientData.NarratorData.Story2) self:ActionSafeCall(self.Story2) end --@endregion function Quest357:OnSubStart35721(quest) print("35721 Start : Cutscene") -- self:PlayFreeCutscene(self.clientData.InterData.DragonCutScene) self:ActionSafeCall( function (self) local MengdeNpcList=DailyNpcManager.GetMengdeNpcListSpecial() for i=1, #MengdeNpcList do self:NotifyTo(MengdeNpcList[i], DailyNpcManager.NpcEventType.HIDESELF, true) end self:PlayCutscene(self.clientData.InterData.Cutscene2, function (self) globalActor:PlayerEnterDungeon(67, 2004) end ) end ) end function Quest357:OnSubStart35722(quest) print("35722 Start : ...") end function Quest357:OnSubStart35723(quest) print("35723 Start : ...") local AmborData = self.clientData.AmborData actorMgr:CreateActorWithPos(AmborData.Ambor, AmborData.AmborScript, AmborData.AmborID, 0, AmborData.Pos4, AmborData.Dir4, true, false) self:PlayCutscene(self.clientData.InterData.Cutscene3, function (self) self:RequestInteraction(AmborData.Ambor) end ) end function Quest357:OnSubStart35724(quest) print("35724 Start : ...") end function Quest357:OnSubStart35725(quest) print("35724 Start : ...") self:PlayCutscene(q357Cfg.InterData.Cutscene1, function (self) self:TransmitPlayer(3, sceneData:GetDummyPoint(3,"Q35707Player").pos, sceneData:GetDummyPoint(3,"Q35707Player").rot) end ) end function Quest357:OnSubFinish35721(quest) print("35721 Finish : ...") end function Quest357:OnSubFinish35722(quest) print("35722 Finish : ...") end function Quest357:OnSubFinish35723(quest) print("35723 Finish : ...") self:ActionSafeCall( function(self) self:ShowBlackScreen(0.5, 1.0, 0.5, function(self) local ambor = actorMgr:GetActor(AmborData.Ambor) if ambor ~= nil then ambor:Destroy(false) end local gaia = actorMgr:GetActor(GaiaData.Gaia) if gaia ~= nil then gaia:Destroy(false) end local paimon = actorMgr:GetActor("Paimon") if paimon ~= nil then paimon:Destroy(false) end end ) end ) end function Quest357:OnSubFinish35724(quest) print("35724 Finish : Creat Paimon") end function Quest357:OnSubFinish35725(quest) end function Quest357:InvokeOnInteraction(param) if param == 1 then print("Ambor & Kaeya Hide") local GaiaData = self.clientData.GaiaData local AmborData = self.clientData.AmborData local gaia = actorMgr:GetActor(self.clientData.GaiaData.Gaia) if gaia ~= nil then gaia:ClearFollowTask() gaia:WalkToTask(GaiaData.Pos4) end local ambor = actorMgr:GetActor(self.clientData.AmborData.Ambor) if ambor ~= nil then ambor:ClearFollowTask() ambor:WalkToTask(AmborData.Pos6) end self:CallDelay(3,self.GaiaVanish) -- elseif param == 2 then -- print("Creat Stone") -- local StoneData = self.clientData.StoneData -- globalActor:UnSpawn(StoneData.Stone1) -- globalActor:SpawnGadget(StoneData.StoneID, StoneData.Pos1, StoneData.Dir1, StoneData.Stone1) -- local Stone2Data = self.clientData.Stone2Data -- globalActor:UnSpawn(Stone2Data.Stone2) -- globalActor:SpawnGadget(Stone2Data.StoneID, Stone2Data.Pos2, Stone2Data.Dir2, Stone2Data.Stone2) -- elseif param == 3 then -- print("Ambor Hide") -- local AmborData = self.clientData.AmborData -- local ambor = actorMgr:GetActor(self.clientData.AmborData.Ambor) -- if ambor ~= nil then -- ambor:ClearFollowTask() -- ambor:WalkToTask(AmborData.Pos7, Quest357.AmborVanish) -- end end end function Quest357:Start() end function Quest357:OnDestroy() end return Quest357