I have this do, but same doesn't work
OpenShip();
Thread.Sleep(10 * 1000);
map.Broadcast(UserInterfaceHelper.GenerateMsg(stri ng.Format(Language.Instance.GetMessageFromKey("SHI P_SECONDS"), 60), 0));
Thread.Sleep(10 * 1000);
map.Broadcast(UserInterfaceHelper.GenerateMsg(stri ng.Format(Language.Instance.GetMessageFromKey("SHI P_SECONDS"), 50), 0));
Thread.Sleep(10 * 1000);
map.Broadcast(UserInterfaceHelper.GenerateMsg(stri ng.Format(Language.Instance.GetMessageFromKey("SHI P_SECONDS"), 40), 0));
LockShip();
Thread.Sleep(10 * 1000);
map.Broadcast(UserInterfaceHelper.GenerateMsg(stri ng.Format(Language.Instance.GetMessageFromKey("ACT 7_SHIP_WILL_GO_SOON"), 30), 0));
Thread.Sleep(20 * 1000);
map.Broadcast(UserInterfaceHelper.GenerateMsg(Lang uage.Instance.GetMessageFromKey("SHIP_SETOFF"), 0));
List<ClientSession> sessions = map.Sessions.Where(s => s?.Character != null).ToList();
Observable.Timer(TimeSpan.FromSeconds(0)).Subscrib e(X => TeleportPlayers(sessions));
OpenShip();