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.0
Mods/MultiplayerMapsInSinglePlayer.dll
Decompiled 2 weeks 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.0", "UlvakSkillz", null)] [assembly: MelonGame("Buckethead Entertainment", "RUMBLE")] [assembly: MelonColor(255, 195, 0, 255)] [assembly: MelonAuthorColor(255, 195, 0, 255)] [assembly: VerifyLoaderVersion(0, 6, 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_07eb: Unknown result type (might be due to invalid IL or missing references) //IL_0810: Unknown result type (might be due to invalid IL or missing references) //IL_0835: Unknown result type (might be due to invalid IL or missing references) //IL_08a7: Unknown result type (might be due to invalid IL or missing references) //IL_0a6e: Unknown result type (might be due to invalid IL or missing references) //IL_0a75: Expected O, but got Unknown //IL_0ade: Unknown result type (might be due to invalid IL or missing references) //IL_0b03: Unknown result type (might be due to invalid IL or missing references) //IL_0bc2: Unknown result type (might be due to invalid IL or missing references) //IL_0be7: Unknown result type (might be due to invalid IL or missing references) //IL_0c0c: Unknown result type (might be due to invalid IL or missing references) //IL_0c3f: Unknown result type (might be due to invalid IL or missing references) //IL_0c46: Expected O, but got Unknown //IL_0c87: Unknown result type (might be due to invalid IL or missing references) //IL_0ca8: Unknown result type (might be due to invalid IL or missing references) //IL_0cc9: Unknown result type (might be due to invalid IL or missing references) //IL_093c: Unknown result type (might be due to invalid IL or missing references) //IL_0969: Unknown result type (might be due to invalid IL or missing references) //IL_0970: Expected O, but got Unknown //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) switch (scene) { case "Gym": if (!DDOLInit) { sceneManager = Singleton<SceneManager>.instance; ddolButton = Create.NewButton(); ddolButton.active = 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.parent = textPanel.transform; ((Object)textPanel).name = "TextPanel"; textPanel.active = 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.active = true; gymButtonMap1.active = 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.active = true; gymTextPanelRing.active = true; gymTextPanelPit.active = 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.parent = modParent.transform; gymButtonMap1.transform.parent = modParent.transform; gymTextPanelTitle.transform.parent = modParent.transform; gymTextPanelRing.transform.parent = modParent.transform; gymTextPanelPit.transform.parent = modParent.transform; gymTextPanelTitleText.transform.localScale = new Vector3(4.4f, 4f, 4f); modParent.transform.parent = 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().active = false; MatchHandler instance2 = Singleton<MatchHandler>.instance; instance2.CurrentMatchPhase = (MatchPhase)2; GameObject val3 = new GameObject(); ((Object)val3).name = "MultiplayerMapsInMatchmaking"; returntoGymButton = Object.Instantiate<GameObject>(ddolButton); returntoGymButton.transform.parent = val3.transform; ((Object)returntoGymButton).name = "Return To Gym Button"; returntoGymButton.transform.position = new Vector3(1.9859f, -4.0983f, 18.9987f); 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.active = true; returnToGymPanel = Object.Instantiate<GameObject>(textPanel); returnToGymPanel.transform.parent = val3.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.active = true; ((TMP_Text)returnToGymPanelText.GetComponent<TextMeshPro>()).text = "Return to Gym"; GameObject val4 = Object.Instantiate<GameObject>(returntoGymButton); ((Object)val4).name = "Respawn Player Button"; val4.transform.parent = val3.transform; val4.transform.position = new Vector3(2.5859f, -4.0983f, 18.9787f); ((Component)val4.transform.GetChild(0)).gameObject.GetComponent<InteractionButton>().onPressed.AddListener(UnityAction.op_Implicit((Action)delegate { ((Component)Singleton<PlayerManager>.instance.localPlayer.Controller).GetComponent<PlayerResetSystem>().ResetPlayerController(); })); GameObject val5 = Object.Instantiate<GameObject>(returnToGymPanel); ((Object)val5).name = "Respawn Player Panel"; val5.transform.parent = val3.transform; val5.transform.position = new Vector3(2.3459f, -3.9242f, 19.0187f); ((TMP_Text)((Component)val5.transform.GetChild(0)).GetComponent<TextMeshPro>()).text = "Respawn"; GameObject val6 = new GameObject("QuickSwapper"); val6.transform.parent = val3.transform; ShiftstoneQuickswapper.GetGameObject().transform.parent = val6.transform; val6.transform.position = new Vector3(1.2436f, -3.7218f, 16.8382f); val3.transform.position = new Vector3(25.7f, -5.8f, -18.64f); val3.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().active = 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.parent = val.transform; returntoGymButton.transform.position = new Vector3(0f, 0.9909f, 10.719f); 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.active = true; returnToGymPanel = Object.Instantiate<GameObject>(textPanel); ((Object)returnToGymPanel).name = "Return To Gym Plate"; returnToGymPanel.transform.parent = 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.active = true; ((TMP_Text)returnToGymPanelText.GetComponent<TextMeshPro>()).text = "Return to Gym"; GameObject val2 = new GameObject("QuickSwapper"); val2.transform.parent = val.transform; ShiftstoneQuickswapper.GetGameObject().transform.parent = val2.transform; val2.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() { DestroyStructures(); sceneManager.LoadSceneAsync(1, false, false, 2f, (LoadSceneMode)0, (AudioCall)null); } private void LoadMap0() { DestroyStructures(); sceneManager.LoadSceneAsync(3, false, false, 2f, (LoadSceneMode)0, (AudioCall)null); } private void LoadMap1() { DestroyStructures(); sceneManager.LoadSceneAsync(4, false, false, 2f, (LoadSceneMode)0, (AudioCall)null); } public void DestroyStructures() { Singleton<PoolManager>.instance.ResetPools((AssetType)3); } }