diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/gametutorial/GameTutorial.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/gametutorial/GameTutorial.java index dc157fa3e..770898720 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/gametutorial/GameTutorial.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/gametutorial/GameTutorial.java @@ -72,8 +72,8 @@ public abstract class GameTutorial if(_currentPhase == null) { onEnd(); - endTutorial(); _hasEnded = true; + endTutorial(); Manager.getPluginManager().callEvent(new GameTutorialEndEvent(this)); } else @@ -97,7 +97,16 @@ public abstract class GameTutorial player.setAllowFlight(false); player.setFlying(false); if(TeleportOnEnd) - _team.SpawnTeleport(); + { + Manager.runSyncLater(new Runnable() + { + @Override + public void run() + { + _team.SpawnTeleport(); + } + }, 5); + } } Manager.GetChat().Silence(StartAfterTutorial, false); Manager.GetGame().PrepareTime = (System.currentTimeMillis() - Manager.GetGame().GetStateTime()) + StartAfterTutorial; diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/gametutorial/TutorialPhase.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/gametutorial/TutorialPhase.java index 76445fe42..18b1b513b 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/gametutorial/TutorialPhase.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/gametutorial/TutorialPhase.java @@ -64,7 +64,7 @@ public abstract class TutorialPhase @Override public void run() { - while(!_hasEnded) + while(!_hasEnded && !getTutorial().hasEnded()) { _tutorial.Manager.runSync(new Runnable() {