//Scenes // 0 - Main Menu // 1 - Players Lobby // 2 - Loading Screen // 3 - Modded Scene // 4 - Lobby // 5 - Darkrooms // 6 - Grassrooms // 7 - Hotel // 8 - Level Fun // 9 - Office // 10 - Parking // 11 - Pools // 12 - Run for Life // 13 - Sewers // 14 - Train Station // 15 - Caves state("Inside the Backrooms") {} startup { Assembly.Load(File.ReadAllBytes("Components/asl-help")).CreateInstance("Unity"); vars.Helper.LoadSceneManager = true; Assembly.Load(File.ReadAllBytes("Components/uhara10")).CreateInstance("Main"); vars.Uhara.EnableDebug(); settings.Add("levelSplit", true, "Split on level change."); } init { var Instance = vars.Uhara.CreateTool("Unity", "IL2CPP", "Instance"); var loadingS = Instance.Get("LoadingScreenManager", "s_Hold"); var pCount = Instance.Get("RoomManager", "m_PlayersCount"); var pReady = Instance.Get("RoomManager", "m_PlayersReadyToNextLevel"); vars.Helper["loadingScene"] = vars.Helper.Make(loadingS.Base, loadingS.Offsets); vars.Helper["playerCount"] = vars.Helper.Make(pCount.Base, pCount.Offsets); vars.Helper["playersReady"] = vars.Helper.Make(pReady.Base, pReady.Offsets); } update { vars.Helper.Update(); vars.Helper.MapPointers(); current.Scene = vars.Helper.Scenes.Active.Index; if (old.Scene != current.Scene) { vars.Log("Scene changed: " + old.Scene + " -> " + current.Scene); } } start { if (current.loadingScene == false && current.Scene == 4) { return true; } } split { if (settings["levelSplit"]) { if (old.Scene != current.Scene && old.Scene != 0 && old.Scene != 1) { return true; } } return false; } isLoading { if (current.loadingScene) { return true; } if (current.playerCount == current.playersReady){ return true; } if (current.Scene == 0) { return true; } return false; } exit { timer.IsGameTimePaused = true; }