RUMBLE does not support other mod managers. If you want to use a manager, you must use the RUMBLE Mod Manager, a manager specifically designed for this game.
Decompiled source of MultiplayerMapsInSinglePlayer v2.3.1
Mods/MultiplayerMapsInSinglePlayer.dll
Decompiled a month agousing System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using Il2Cpp; using Il2CppRUMBLE.Audio; using Il2CppRUMBLE.Interactions.InteractionBase; using Il2CppRUMBLE.Managers; using Il2CppRUMBLE.Networking.MatchFlow; using Il2CppRUMBLE.Players.Subsystems; using Il2CppRUMBLE.Utilities; using Il2CppTMPro; using MelonLoader; using MultiplayerMapsInSinglePlayer; using RumbleModdingAPI.RMAPI; using UnityEngine; using UnityEngine.Events; using UnityEngine.SceneManagement; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: MelonInfo(typeof(main), "MultiplayerMapsInSinglePlayer", "2.3.1", "UlvakSkillz", null)] [assembly: MelonGame("Buckethead Entertainment", "RUMBLE")] [assembly: MelonColor(255, 195, 0, 255)] [assembly: MelonAuthorColor(255, 195, 0, 255)] [assembly: VerifyLoaderVersion(0, 7, 2, true)] [assembly: AssemblyTitle("MultiplayerMapsInSinglePlayer")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("MultiplayerMapsInSinglePlayer")] [assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("a1ecbc05-cfec-4a4b-ba0b-5bf9bf4f1186")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyVersion("1.0.0.0")] namespace MultiplayerMapsInSinglePlayer; public class main : MelonMod { private bool DDOLInit = false; private GameObject ddolButton; private GameObject gymButtonMap0; private GameObject gymButtonMap1; private GameObject returntoGymButton; private GameObject textPanel; private GameObject textPanelText; private GameObject gymTextPanelTitle; private GameObject gymTextPanelTitleText; private GameObject gymTextPanelRing; private GameObject gymTextPanelRingText; private GameObject gymTextPanelPit; private GameObject gymTextPanelPitText; private GameObject returnToGymPanel; private GameObject returnToGymPanelText; private GameObject modParent; private SceneManager sceneManager; public override void OnLateInitializeMelon() { Actions.onMapInitialized += MapLoaded; } private void MapLoaded(string scene) { //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_01e6: Unknown result type (might be due to invalid IL or missing references) //IL_0316: Unknown result type (might be due to invalid IL or missing references) //IL_033b: Unknown result type (might be due to invalid IL or missing references) //IL_0360: Unknown result type (might be due to invalid IL or missing references) //IL_0385: Unknown result type (might be due to invalid IL or missing references) //IL_03aa: Unknown result type (might be due to invalid IL or missing references) //IL_03cf: Unknown result type (might be due to invalid IL or missing references) //IL_03f4: Unknown result type (might be due to invalid IL or missing references) //IL_0419: Unknown result type (might be due to invalid IL or missing references) //IL_043e: Unknown result type (might be due to invalid IL or missing references) //IL_0463: Unknown result type (might be due to invalid IL or missing references) //IL_0488: Unknown result type (might be due to invalid IL or missing references) //IL_04fd: Unknown result type (might be due to invalid IL or missing references) //IL_0507: Expected O, but got Unknown //IL_05be: Unknown result type (might be due to invalid IL or missing references) //IL_05fe: Unknown result type (might be due to invalid IL or missing references) //IL_0623: Unknown result type (might be due to invalid IL or missing references) //IL_069f: Unknown result type (might be due to invalid IL or missing references) //IL_06a6: Expected O, but got Unknown //IL_0707: Unknown result type (might be due to invalid IL or missing references) //IL_072c: Unknown result type (might be due to invalid IL or missing references) //IL_07b1: Unknown result type (might be due to invalid IL or missing references) //IL_07d2: Unknown result type (might be due to invalid IL or missing references) //IL_07f3: Unknown result type (might be due to invalid IL or missing references) //IL_086e: Unknown result type (might be due to invalid IL or missing references) //IL_0893: Unknown result type (might be due to invalid IL or missing references) //IL_08b8: Unknown result type (might be due to invalid IL or missing references) //IL_092a: Unknown result type (might be due to invalid IL or missing references) //IL_0b74: Unknown result type (might be due to invalid IL or missing references) //IL_0b7b: Expected O, but got Unknown //IL_0be4: Unknown result type (might be due to invalid IL or missing references) //IL_0c09: Unknown result type (might be due to invalid IL or missing references) //IL_0c8e: Unknown result type (might be due to invalid IL or missing references) //IL_0caf: Unknown result type (might be due to invalid IL or missing references) //IL_0cd0: Unknown result type (might be due to invalid IL or missing references) //IL_0d4b: Unknown result type (might be due to invalid IL or missing references) //IL_0d70: Unknown result type (might be due to invalid IL or missing references) //IL_0d95: Unknown result type (might be due to invalid IL or missing references) //IL_0dc8: Unknown result type (might be due to invalid IL or missing references) //IL_0dcf: Expected O, but got Unknown //IL_0e10: Unknown result type (might be due to invalid IL or missing references) //IL_0e31: Unknown result type (might be due to invalid IL or missing references) //IL_0e52: Unknown result type (might be due to invalid IL or missing references) //IL_09b1: Unknown result type (might be due to invalid IL or missing references) //IL_09d2: Unknown result type (might be due to invalid IL or missing references) //IL_09f3: Unknown result type (might be due to invalid IL or missing references) //IL_0a42: Unknown result type (might be due to invalid IL or missing references) //IL_0a6f: Unknown result type (might be due to invalid IL or missing references) //IL_0a76: Expected O, but got Unknown //IL_0ab7: Unknown result type (might be due to invalid IL or missing references) //IL_0ad8: Unknown result type (might be due to invalid IL or missing references) //IL_0af9: Unknown result type (might be due to invalid IL or missing references) switch (scene) { case "Gym": if (!DDOLInit) { sceneManager = Singleton<SceneManager>.instance; ddolButton = Create.NewButton(); ddolButton.SetActive(false); Object.DontDestroyOnLoad((Object)(object)ddolButton); textPanel = Object.Instantiate<GameObject>(((Component)MatchmakingSettings.GetGameObject().transform.GetChild(1)).gameObject); textPanelText = Object.Instantiate<GameObject>(((Component)MatchmakingSettings.GetGameObject().transform.GetChild(3)).gameObject); textPanelText.transform.SetParent(textPanel.transform); ((Object)textPanel).name = "TextPanel"; textPanel.SetActive(false); Object.DontDestroyOnLoad((Object)(object)textPanel); DDOLInit = true; } gymButtonMap0 = Object.Instantiate<GameObject>(ddolButton); ((Object)gymButtonMap0).name = "Teleport To Ring Button"; gymButtonMap1 = Object.Instantiate<GameObject>(ddolButton); ((Object)gymButtonMap1).name = "Teleport To Pit Button"; gymButtonMap0.transform.position = new Vector3(5.2317f, 1.4f, 10.2582f); gymButtonMap0.transform.rotation = Quaternion.Euler(1.0437f, 31.2109f, 335.5875f); ((Component)gymButtonMap0.transform.GetChild(0)).gameObject.GetComponent<InteractionButton>().onPressed.AddListener(UnityAction.op_Implicit((Action)delegate { LoadMap0(); })); gymButtonMap1.transform.position = new Vector3(5.4477f, 1.4f, 10.6f); gymButtonMap1.transform.rotation = Quaternion.Euler(1.0437f, 31.2109f, 335.5875f); ((Component)gymButtonMap1.transform.GetChild(0)).gameObject.GetComponent<InteractionButton>().onPressed.AddListener(UnityAction.op_Implicit((Action)delegate { LoadMap1(); })); gymButtonMap0.SetActive(true); gymButtonMap1.SetActive(true); gymTextPanelTitle = Object.Instantiate<GameObject>(textPanel); gymTextPanelRing = Object.Instantiate<GameObject>(textPanel); gymTextPanelPit = Object.Instantiate<GameObject>(textPanel); ((Object)gymTextPanelTitle).name = "Teleport Title"; ((Object)gymTextPanelRing).name = "Ring Plate"; ((Object)gymTextPanelPit).name = "Pit Plate"; gymTextPanelTitleText = ((Component)gymTextPanelTitle.transform.GetChild(0)).gameObject; gymTextPanelRingText = ((Component)gymTextPanelRing.transform.GetChild(0)).gameObject; gymTextPanelPitText = ((Component)gymTextPanelPit.transform.GetChild(0)).gameObject; gymTextPanelTitle.transform.position = new Vector3(5.1022f, 1.4485f, 10.2802f); gymTextPanelTitle.transform.rotation = Quaternion.Euler(344.7058f, 302.3016f, 270f); gymTextPanelTitle.transform.localScale = new Vector3(0.3548f, 0.3288f, 0.2806f); gymTextPanelRing.transform.position = new Vector3(5.2791f, 1.3159f, 10.1191f); gymTextPanelRing.transform.rotation = Quaternion.Euler(320.3004f, 302.3016f, 270f); gymTextPanelRing.transform.localScale = new Vector3(0.1548f, 0.1288f, 0.2806f); gymTextPanelRingText.transform.localScale = new Vector3(7.5414f, 3.6636f, 6.462f); gymTextPanelPit.transform.position = new Vector3(5.504f, 1.3159f, 10.4646f); gymTextPanelPit.transform.rotation = Quaternion.Euler(320.3004f, 302.3016f, 270f); gymTextPanelPit.transform.localScale = new Vector3(0.1548f, 0.1288f, 0.2806f); gymTextPanelPitText.transform.localScale = new Vector3(7.5414f, 3.6636f, 6.462f); gymTextPanelTitle.SetActive(true); gymTextPanelRing.SetActive(true); gymTextPanelPit.SetActive(true); ((TMP_Text)gymTextPanelTitleText.GetComponent<TextMeshPro>()).text = "Teleport To Maps:"; ((TMP_Text)gymTextPanelRingText.GetComponent<TextMeshPro>()).text = "Ring"; ((TMP_Text)gymTextPanelPitText.GetComponent<TextMeshPro>()).text = "Pit"; modParent = new GameObject(); ((Object)modParent).name = "MultiplayerMapsInSinglePlayer"; gymButtonMap0.transform.SetParent(modParent.transform); gymButtonMap1.transform.SetParent(modParent.transform); gymTextPanelTitle.transform.SetParent(modParent.transform); gymTextPanelRing.transform.SetParent(modParent.transform); gymTextPanelPit.transform.SetParent(modParent.transform); gymTextPanelTitleText.transform.localScale = new Vector3(4.4f, 4f, 4f); modParent.transform.SetParent(MatchConsole.GetGameObject().transform); modParent.transform.localPosition = new Vector3(-11.1941f, -0.3117f, -2.9644f); modParent.transform.localRotation = Quaternion.Euler(0f, 56.4394f, 359.9398f); break; case "Map0": if (Singleton<PlayerManager>.instance.AllPlayers.Count == 1) { GameObject gameObject = CollissionGutter.GetGameObject(); gameObject.layer = 9; Object.Destroy((Object)(object)gameObject.GetComponent<KillPlayerOnCollision>()); Pedestals.GetGameObject().SetActive(false); MatchHandler instance2 = Singleton<MatchHandler>.instance; instance2.CurrentMatchPhase = (MatchPhase)2; GameObject val4 = new GameObject(); ((Object)val4).name = "MultiplayerMapsInMatchmaking"; returntoGymButton = Object.Instantiate<GameObject>(ddolButton); returntoGymButton.transform.SetParent(val4.transform); ((Object)returntoGymButton).name = "Return To Gym Button"; returntoGymButton.transform.position = new Vector3(1.9859f, -4.0983f, 18.8987f); returntoGymButton.transform.rotation = Quaternion.Euler(357.8411f, 272.1151f, 76.6469f); ((Component)returntoGymButton.transform.GetChild(0)).gameObject.GetComponent<InteractionButton>().onPressed.AddListener(UnityAction.op_Implicit((Action)delegate { LoadGym(); })); returntoGymButton.SetActive(true); GameObject val5 = Object.Instantiate<GameObject>(Rock.GetGameObject()); val5.transform.SetParent(val4.transform); val5.transform.localPosition = new Vector3(1.9758f, -4.1383f, 18.9787f); val5.transform.localRotation = Quaternion.Euler(357f, 0f, 115f); val5.transform.localScale = new Vector3(0.0024f, 0.0024f, 0.0024f); returnToGymPanel = Object.Instantiate<GameObject>(textPanel); returnToGymPanel.transform.SetParent(val4.transform); ((Object)returnToGymPanel).name = "Return To Gym Plate"; returnToGymPanelText = ((Component)returnToGymPanel.transform.GetChild(0)).gameObject; returnToGymPanel.transform.position = new Vector3(1.7225f, -3.9242f, 19.0338f); returnToGymPanel.transform.rotation = Quaternion.Euler(270f, 272.8807f, 0f); returnToGymPanel.transform.localScale = new Vector3(0.3548f, 0.3288f, 0.2806f); returnToGymPanel.SetActive(true); ((TMP_Text)returnToGymPanelText.GetComponent<TextMeshPro>()).text = "Return to Gym"; GameObject val6 = Object.Instantiate<GameObject>(returntoGymButton); ((Object)val6).name = "Respawn Player Button"; val6.transform.SetParent(val4.transform); val6.transform.position = new Vector3(2.5859f, -4.0983f, 18.8787f); ((Component)val6.transform.GetChild(0)).gameObject.GetComponent<InteractionButton>().onPressed.AddListener(UnityAction.op_Implicit((Action)delegate { ((Component)Singleton<PlayerManager>.instance.localPlayer.Controller).GetComponent<PlayerResetSystem>().ResetPlayerController(); })); GameObject val7 = Object.Instantiate<GameObject>(Rock.GetGameObject()); val7.transform.SetParent(val4.transform); val7.transform.localPosition = new Vector3(2.5745f, -4.1382f, 18.9632f); val7.transform.localRotation = Quaternion.Euler(357f, 0f, 115f); val7.transform.localScale = new Vector3(0.0024f, 0.0024f, 0.0024f); GameObject val8 = Object.Instantiate<GameObject>(returnToGymPanel); ((Object)val8).name = "Respawn Player Panel"; val8.transform.SetParent(val4.transform); val8.transform.position = new Vector3(2.3459f, -3.9242f, 19.0187f); ((TMP_Text)((Component)val8.transform.GetChild(0)).GetComponent<TextMeshPro>()).text = "Respawn"; GameObject val9 = new GameObject("QuickSwapper"); val9.transform.SetParent(val4.transform); ShiftstoneQuickswapper.GetGameObject().transform.SetParent(val9.transform); val9.transform.position = new Vector3(1.2436f, -3.7218f, 16.8382f); val4.transform.position = new Vector3(25.7f, -5.8f, -18.64f); val4.transform.rotation = Quaternion.Euler(343.2917f, 305.4231f, 0f); instance2.FadeIn(); } break; case "Map1": if (Singleton<PlayerManager>.instance.AllPlayers.Count == 1) { SceneProcessors.GetGameObject().GetComponent<SceneProcessorBatch>().ExecuteBatch(); Pedestals.GetGameObject().SetActive(false); MatchHandler instance = Singleton<MatchHandler>.instance; instance.CurrentMatchPhase = (MatchPhase)2; GameObject val = new GameObject(); ((Object)val).name = "MultiplayerMapsInMatchmaking"; instance.FadeIn(); returntoGymButton = Object.Instantiate<GameObject>(ddolButton); ((Object)returntoGymButton).name = "Return To Gym Button"; returntoGymButton.transform.SetParent(val.transform); returntoGymButton.transform.position = new Vector3(0f, 0.9909f, 10.619f); returntoGymButton.transform.rotation = Quaternion.Euler(358.2508f, 93.5928f, 274.9258f); ((Component)returntoGymButton.transform.GetChild(0)).gameObject.GetComponent<InteractionButton>().onPressed.AddListener(UnityAction.op_Implicit((Action)delegate { LoadGym(); })); returntoGymButton.SetActive(true); GameObject val2 = Object.Instantiate<GameObject>(Rock.GetGameObject()); val2.transform.SetParent(val.transform); val2.transform.localPosition = new Vector3(-0.0201f, 0.9708f, 10.699f); val2.transform.rotation = Quaternion.Euler(351.9923f, 4.3127f, 114.0367f); val2.transform.localScale = new Vector3(0.0024f, 0.0024f, 0.0024f); returnToGymPanel = Object.Instantiate<GameObject>(textPanel); ((Object)returnToGymPanel).name = "Return To Gym Plate"; returnToGymPanel.transform.SetParent(val.transform); returnToGymPanelText = ((Component)returnToGymPanel.transform.GetChild(0)).gameObject; returnToGymPanel.transform.position = new Vector3(-0.257f, 1.221f, 10.7388f); returnToGymPanel.transform.rotation = Quaternion.Euler(270f, 270f, 0f); returnToGymPanel.transform.localScale = new Vector3(0.3548f, 0.3288f, 0.2806f); returnToGymPanel.SetActive(true); ((TMP_Text)returnToGymPanelText.GetComponent<TextMeshPro>()).text = "Return to Gym"; GameObject val3 = new GameObject("QuickSwapper"); val3.transform.SetParent(val.transform); ShiftstoneQuickswapper.GetGameObject().transform.SetParent(val3.transform); val3.transform.position = new Vector3(-0.6655f, 1.4164f, 8.5891f); val.transform.position = new Vector3(-4.4457f, -1.99f, 1.7281f); val.transform.rotation = Quaternion.Euler(350f, 240.6918f, 0f); } break; } } private void LoadGym() { sceneManager.LoadSceneAsync(1, false, false, 2f, (LoadSceneMode)0, (AudioCall)null); } private void LoadMap0() { sceneManager.LoadSceneAsync(3, false, false, 2f, (LoadSceneMode)0, (AudioCall)null); } private void LoadMap1() { sceneManager.LoadSceneAsync(4, false, false, 2f, (LoadSceneMode)0, (AudioCall)null); } public void DestroyStructures() { Singleton<PoolManager>.instance.ResetPools((AssetType)3); } }