public override void OnStart() { earRapeButton = ButtonAPI.CreateButton(ButtonAPI.ButtonType.Toggle, "EarRape", "F**K ALL EARS", ButtonAPI.HorizontalPosition.FourthButtonPos, ButtonAPI.VerticalPosition.TopButton, ButtonAPI.MakeEmptyPage("PureCheat").transform, delegate(bool a) { USpeaker.field_Internal_Static_Single_1 = a ? float.MaxValue : 1f; PureLogger.Log(a ? ConsoleColor.Red : ConsoleColor.Green, a ? "EarRape Enabled" : "EarRape Disabled"); }, Color.white, Color.red, null, false, false, false, false, null, true); }
public override void OnStart() { killButton = ButtonAPI.CreateButton(ButtonAPI.ButtonType.Default, "Quit", "Shutdown game", ButtonAPI.HorizontalPosition.ThirdButtonPos, ButtonAPI.VerticalPosition.TopButton, ButtonAPI.MakeEmptyPage("PureCheat").transform, delegate(bool a) { Application.Quit(); Timer aTimer = new System.Timers.Timer(); aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent); aTimer.Interval = 800; aTimer.Enabled = true; }, Color.red, Color.red, null); }
public override void OnStart() { ButtonAPI.CreateButton(ButtonAPI.ButtonType.Default, "Fly Menu", "Fly menu", ButtonAPI.HorizontalPosition.FirstButtonPos, ButtonAPI.VerticalPosition.TopButton, ButtonAPI.MakeEmptyPage("PureCheat").transform, delegate(bool a) { ButtonAPI.EnterSubMenu(ButtonAPI.MakeEmptyPage("FlyMenu")); }, Color.white, Color.white, null, false, false); toggleFlyButton = ButtonAPI.CreateButton(ButtonAPI.ButtonType.Toggle, "Fly", "Toggle fly", ButtonAPI.HorizontalPosition.FirstButtonPos, ButtonAPI.VerticalPosition.TopButton, ButtonAPI.MakeEmptyPage("FlyMenu").transform, delegate(bool a) { isFly = a; PureUtils.GetLocalPlayer().GetComponent <CharacterController>().enabled = !a; PureLogger.Log(a ? "Fly enabled" : "Fly Disabled"); }, Color.white, Color.red, null, false, false); resetFlySpeedButton = ButtonAPI.CreateButton(ButtonAPI.ButtonType.Default, $"Speed [{flySpeed}]", "Reset fly speed", ButtonAPI.HorizontalPosition.FirstButtonPos, ButtonAPI.VerticalPosition.TopButton, ButtonAPI.MakeEmptyPage("FlyMenu").transform, delegate(bool a) { flySpeed = 2; resetFlySpeedButton.SetText($"Speed [{flySpeed}]"); }, Color.white, Color.white, null, false); ButtonAPI.CreateButton(ButtonAPI.ButtonType.Default, "▲", "Fly speed up", ButtonAPI.HorizontalPosition.SecondButtonPos, ButtonAPI.VerticalPosition.TopButton, ButtonAPI.MakeEmptyPage("FlyMenu").transform, delegate(bool a) { flySpeed += 1; resetFlySpeedButton.SetText($"Speed [{flySpeed}]"); }, Color.white, Color.white, null, false, false); ButtonAPI.CreateButton(ButtonAPI.ButtonType.Default, "▼", "Fly speed down", ButtonAPI.HorizontalPosition.SecondButtonPos, ButtonAPI.VerticalPosition.TopButton, ButtonAPI.MakeEmptyPage("FlyMenu").transform, delegate(bool a) { flySpeed -= 1; if (flySpeed <= 0) { flySpeed = 1; } resetFlySpeedButton.SetText($"Speed [{flySpeed}]"); }, Color.white, Color.white, null, false); }
public override void OnStart() { playerCamera = PureUtils.GetLocalPlayerCamera().GetComponent <Camera>(); defaultFOV = playerCamera.fieldOfView; playerCamera.fieldOfView = FOV; ButtonAPI.CreateButton(ButtonAPI.ButtonType.Default, "FOV Menu", "Field of view menu", ButtonAPI.HorizontalPosition.SecondButtonPos, ButtonAPI.VerticalPosition.TopButton, ButtonAPI.MakeEmptyPage("PureCheat").transform, delegate(bool a) { ButtonAPI.EnterSubMenu(ButtonAPI.MakeEmptyPage("FOVMenu")); }, Color.white, Color.white, null, false, false); resetFOVButton = ButtonAPI.CreateButton(ButtonAPI.ButtonType.Default, $"FOV [{FOV}]", $"Set field of view to {defaultFOV}", ButtonAPI.HorizontalPosition.FirstButtonPos, ButtonAPI.VerticalPosition.TopButton, ButtonAPI.MakeEmptyPage("FOVMenu").transform, delegate(bool a) { FOV = defaultFOV; playerCamera.fieldOfView = FOV; resetFOVButton.SetText($"FOV [{FOV}]"); }, Color.white, Color.white, null, true); ButtonAPI.CreateButton(ButtonAPI.ButtonType.Default, "▲", "Set field of view up", ButtonAPI.HorizontalPosition.SecondButtonPos, ButtonAPI.VerticalPosition.TopButton, ButtonAPI.MakeEmptyPage("FOVMenu").transform, delegate(bool a) { FOV += 1; playerCamera.fieldOfView = FOV; resetFOVButton.SetText($"FOV [{FOV}]"); }, Color.white, Color.white, null, false, false); ButtonAPI.CreateButton(ButtonAPI.ButtonType.Default, "▼", "Set field of view down", ButtonAPI.HorizontalPosition.SecondButtonPos, ButtonAPI.VerticalPosition.TopButton, ButtonAPI.MakeEmptyPage("FOVMenu").transform, delegate(bool a) { FOV -= 1; if (FOV <= 0) { FOV = 1; } playerCamera.fieldOfView = FOV; resetFOVButton.SetText($"FOV [{FOV}]"); }, Color.white, Color.white, null, false); }
public override void VRChat_OnUiManagerInit() { if (subMenu != "UIExpansionKit") { ButtonAPI.CustomTransform = GameObject.Find("/UserInterface/QuickMenu/" + subMenu).transform; ButtonAPI.CreateButton(ButtonAPI.ButtonType.Default, "Vibrator\nController", "Vibrator Controller Settings", buttonX - 4, 3 - buttonY, null, delegate(bool a) { ButtonAPI.EnterSubMenu(ButtonAPI.MakeEmptyPage("SubMenu_1")); }, Color.white, Color.magenta, null, true, false, false, false, null, true); } //Back LockButtonUI = ButtonAPI.CreateButton(ButtonAPI.ButtonType.Default, "Back", "Exit this menu", ButtonAPI.HorizontalPosition.RightOfMenu, ButtonAPI.VerticalPosition.BottomButton, ButtonAPI.MakeEmptyPage("SubMenu_1").transform, delegate(bool a) { if (subMenu == "UIExpansionKit") { ButtonAPI.EnterSubMenu(GameObject.Find("/UserInterface/QuickMenu/ShortcutMenu")); } else { ButtonAPI.EnterSubMenu(GameObject.Find("/UserInterface/QuickMenu/" + subMenu)); } }, Color.yellow, Color.magenta, null, true, false, false, false, null, true); //Lock button LockButtonUI = ButtonAPI.CreateButton(ButtonAPI.ButtonType.Default, "Lock Speed\nButton", "Click than press button on controller to set button to lock vibraton speed (click twice to disable)", ButtonAPI.HorizontalPosition.FirstButtonPos, ButtonAPI.VerticalPosition.TopButton, ButtonAPI.MakeEmptyPage("SubMenu_1").transform, delegate(bool a) { if (findButton == "lockButton") { lockButton = KeyCode.None; findButton = null; LockKeyBind.SetText(""); LockButtonUI.SetText("Lock Speed\nButton"); MelonPreferences.SetEntryValue(vibratorController.Identifier, "lockButton", lockButton.GetHashCode()); return; } findButton = "lockButton"; LockButtonUI.SetText("Press Now"); }, Color.white, Color.magenta, null, true, false, false, false, null, true); LockKeyBind = ButtonAPI.CreateButton(ButtonAPI.ButtonType.Default, "", "Lock Speed Keybind", ButtonAPI.HorizontalPosition.FirstButtonPos, ButtonAPI.VerticalPosition.SecondButton, ButtonAPI.MakeEmptyPage("SubMenu_1").transform, delegate(bool a) { }, Color.white, Color.grey, null, false, false, false, false, null, false); LockKeyBind.SetInteractivity(false); if (lockButton != 0) { LockKeyBind.SetText(lockButton.ToString()); } //Hold button HoldButtonUI = ButtonAPI.CreateButton(ButtonAPI.ButtonType.Default, "Hold\nButton", "Click than press button on controller to set button to hold to use toy (click twice to disable)", ButtonAPI.HorizontalPosition.SecondButtonPos, ButtonAPI.VerticalPosition.TopButton, ButtonAPI.MakeEmptyPage("SubMenu_1").transform, delegate(bool a) { if (findButton == "holdButton") { holdButton = KeyCode.None; findButton = null; HoldKeyBind.SetText(""); HoldButtonUI.SetText("Hold\nButton"); MelonPreferences.SetEntryValue(vibratorController.Identifier, "lockButton", holdButton.GetHashCode()); return; } findButton = "holdButton"; HoldButtonUI.SetText("Press Now"); }, Color.white, Color.magenta, null, true, false, false, false, null, true); HoldKeyBind = ButtonAPI.CreateButton(ButtonAPI.ButtonType.Default, "", "Hold Keybind", ButtonAPI.HorizontalPosition.SecondButtonPos, ButtonAPI.VerticalPosition.SecondButton, ButtonAPI.MakeEmptyPage("SubMenu_1").transform, delegate(bool a) { }, Color.white, Color.grey, null, false, false, false, false, null, false); HoldKeyBind.SetInteractivity(false); if (holdButton != 0) { HoldKeyBind.SetText(holdButton.ToString()); } //Add toy addButtonUI = ButtonAPI.CreateButton(ButtonAPI.ButtonType.Default, "Add\nToy", "Click to pair with a friend's toy", ButtonAPI.HorizontalPosition.ThirdButtonPos, ButtonAPI.VerticalPosition.TopButton, ButtonAPI.MakeEmptyPage("SubMenu_1").transform, delegate(bool a) { InputPopup("", delegate(string text) { if (text.Length != 4) { addButtonUI.SetText("Add\nToys\n<color=#FF0000>Invalid Code</color>"); } else { Client.send("join " + text); } }); }, Color.white, Color.magenta, null, true, false, false, false, null, true); //How to use ButtonAPI.CreateButton(ButtonAPI.ButtonType.Default, "How To Use", "Opens instructions to use", ButtonAPI.HorizontalPosition.ThirdButtonPos, ButtonAPI.VerticalPosition.SecondButton, ButtonAPI.MakeEmptyPage("SubMenu_1").transform, delegate(bool a) { System.Diagnostics.Process.Start("https://github.com/markviews/VRChatVibratorController"); }, Color.white, Color.grey, null, false, false, false, false, null, false); quickMenu = GameObject.Find("UserInterface/QuickMenu/QuickMenu_NewElements"); menuContent = GameObject.Find("UserInterface/MenuContent/Backdrop/Backdrop"); }
internal Toy(string name, string id) { this.id = id; this.name = name; button = ButtonAPI.CreateButton(ButtonAPI.ButtonType.Default, name + "\nClick to\nSet", "Click to set controll mode", (ButtonAPI.HorizontalPosition) x ++, ButtonAPI.VerticalPosition.BottomButton, ButtonAPI.MakeEmptyPage("SubMenu_1").transform, delegate(bool a) { changeHand(); }, Color.white, Color.magenta, null, true, false, false, false, null, true); toys.Add(this); GameObject slider = GameObject.Find("UserInterface/QuickMenu/UserInteractMenu/User Volume/VolumeSlider"); GameObject quickmenu = GameObject.Find("UserInterface/QuickMenu/ShortcutMenu"); GameObject speedSliderObject = GameObject.Instantiate(slider, quickmenu.transform, true); speedSlider = speedSliderObject.GetComponent <UnityEngine.UI.Slider>(); speedSlider.maxValue = 20; speedSlider.wholeNumbers = true; speedSlider.value = 0; speedSliderText = speedSlider.transform.Find("Fill Area/VolumeNumberText").GetComponent <UnityEngine.UI.Text>(); speedSliderText.text = name + " Speed: 0%"; speedSliderObject.SetActive(false); if (name.Equals("Max")) { GameObject maxSliderObject = GameObject.Instantiate(slider, quickmenu.transform, true); maxSliderObject.transform.localScale = new Vector3(0.7f, 1, 1); maxSlider = maxSliderObject.GetComponent <UnityEngine.UI.Slider>(); maxSlider.maxValue = 3; maxSlider.wholeNumbers = true; maxSlider.value = 0; Transform textTransform = maxSlider.transform.Find("Fill Area/VolumeNumberText"); textTransform.localScale = new Vector3(1, 1, 1); maxSliderText = textTransform.GetComponent <UnityEngine.UI.Text>(); maxSliderText.text = "Max Contraction: 0"; maxSliderObject.SetActive(false); } else if (name.Equals("Nora")) { rotateButton = ButtonAPI.CreateButton(ButtonAPI.ButtonType.Default, "Rotate", "Rotate Nora", ButtonAPI.HorizontalPosition.LeftOfMenu, ButtonAPI.VerticalPosition.BelowBottomButton, ButtonAPI.ShortcutMenuTransform, delegate(bool a) { rotate(); }, Color.white, Color.magenta, null, true, false, false, false, null, true); rotateButton.gameObject.GetComponent <RectTransform>().sizeDelta = new Vector2(720, 190); rotateButton.gameObject.SetActive(false); } else if (name.Equals("Edge")) { speedSlider.GetComponent <RectTransform>().sizeDelta = new Vector2(850, 160); GameObject edgeSliderObject = GameObject.Instantiate(slider, quickmenu.transform, true); edgeSliderObject.GetComponent <RectTransform>().sizeDelta = new Vector2(850, 160); edgeSlider = edgeSliderObject.GetComponent <UnityEngine.UI.Slider>(); edgeSlider.maxValue = 20; edgeSlider.wholeNumbers = true; edgeSlider.value = 0; Transform textTransform = edgeSlider.transform.Find("Fill Area/VolumeNumberText"); textTransform.localScale = new Vector3(1, 1, 1); edgeSliderText = textTransform.GetComponent <UnityEngine.UI.Text>(); edgeSliderText.text = "Edge Speed: 0%"; edgeSliderObject.SetActive(false); } }
public override void VRChat_OnUiManagerInit() { Tuple<string, string, Color?, Color?, Action<bool>> SubMenu1Data = Tuple.Create<string, string, Color?, Color?, Action<bool>>("Sub Menu 1", "The First SubMenu", UnityEngine.Color.magenta, null, delegate(bool a) { Process.Start("https://VRCAntiCrash.com/ButtonAPI"); }); Tuple<string, string, Color?, Color?, Action<bool>> SubMenu2Data = Tuple.Create<string, string, Color?, Color?, Action<bool>>("Sub Menu 2", "The Second SubMenu", UnityEngine.Color.magenta, null, delegate(bool a) { Process.Start("https://VRCAntiCrash.com/ButtonAPI"); }); //Make Button To Enter SubMenu_1 ButtonAPI.CreateButton(ButtonAPI.ButtonType.Default, LoadedImage != null ? "" : "Utils", "Some Random Utils.", ButtonAPI.HorizontalPosition.LeftOfMenu, ButtonAPI.VerticalPosition.TopButton, null, delegate (bool a) { ButtonAPI.EnterSubMenu(ButtonAPI.MakeEmptyPage("SubMenu_1", SubMenu1Data.Item1, SubMenu1Data.Item2, SubMenu1Data.Item3, SubMenu1Data.Item4, SubMenu1Data.Item5)); }, UnityEngine.Color.white, UnityEngine.Color.magenta, null, true, false, false, false, LoadedImage, true); //SubMenu_1 Contents ButtonAPI.CreateButton(ButtonAPI.ButtonType.Default, "Next Page", "Goes To The Next Page.", ButtonAPI.HorizontalPosition.LeftOfMenu, ButtonAPI.VerticalPosition.TopButton, ButtonAPI.MakeEmptyPage("SubMenu_1", SubMenu1Data.Item1, SubMenu1Data.Item2, SubMenu1Data.Item3, SubMenu1Data.Item4, SubMenu1Data.Item5).transform, delegate (bool a) { ButtonAPI.EnterSubMenu(ButtonAPI.MakeEmptyPage("SubMenu_2", SubMenu2Data.Item1, SubMenu2Data.Item2, SubMenu2Data.Item3, SubMenu2Data.Item4, SubMenu2Data.Item5)); }, UnityEngine.Color.white, UnityEngine.Color.magenta, null, false, false, false, false, null, true); InputField InputField = null; InputField = ButtonAPI.CreateInputField("Enter Text Here..", ButtonAPI.VerticalPosition.BelowBottomButton, ButtonAPI.MakeEmptyPage("SubMenu_1", SubMenu1Data.Item1, SubMenu1Data.Item2, SubMenu1Data.Item3, SubMenu1Data.Item4, SubMenu1Data.Item5).transform, delegate (string text) { //MelonLogger.Log("New Text: " + text); }, delegate () { if (InputField.text.StartsWith("teleport ") && InputField.text.Length > 9) { Player TargetPlayer = PlayerManager.field_Private_Static_PlayerManager_0 .field_Private_List_1_Player_0.ToArray() .FirstOrDefault(o => o.field_Private_APIUser_0.displayName.ToLower().StartsWith(InputField.text.Replace("teleport ", "").ToLower())); if (TargetPlayer != null) { MelonLogger.Log("Teleporting To: " + TargetPlayer.field_Private_APIUser_0.displayName); VRCPlayer.field_Internal_Static_VRCPlayer_0.transform.position = TargetPlayer.transform.position; } else { MelonLogger.Log("Player: " + InputField.text.Replace("teleport ", "") + " Not Found!"); } } }); ButtonAPI.CreateButton(ButtonAPI.ButtonType.Toggle, "Disable Portals", "Disables Portals Entirely - This Stops That Stupid Notorious Menu Disabling Bullshit", ButtonAPI.HorizontalPosition.FirstButtonPos, ButtonAPI.VerticalPosition.TopButton, ButtonAPI.MakeEmptyPage("SubMenu_1", SubMenu1Data.Item1, SubMenu1Data.Item2, SubMenu1Data.Item3, SubMenu1Data.Item4, SubMenu1Data.Item5).transform, delegate (bool a) { DisablePortals = a; if (!a) { Functions.TogglePortals(true); } }, UnityEngine.Color.white, UnityEngine.Color.magenta, null, false, false, false, DisablePortals, null, true, KeyCode.LeftControl, KeyCode.P); //Test Checkbox ButtonAPI.PlagueButton CheckBox = null; CheckBox = ButtonAPI.CreateButton(ButtonAPI.ButtonType.Toggle, "X", "A CheckBox, Ez", ButtonAPI.HorizontalPosition.SecondButtonPos, ButtonAPI.VerticalPosition.SecondButton, ButtonAPI.MakeEmptyPage("SubMenu_1", SubMenu1Data.Item1, SubMenu1Data.Item2, SubMenu1Data.Item3, SubMenu1Data.Item4, SubMenu1Data.Item5).transform, delegate (bool a) { CheckBox.text.text = (a ? "✓" : "X"); }, UnityEngine.Color.white, UnityEngine.Color.magenta, null, false, false, true, false, null, true); ButtonAPI.CreateText(ButtonAPI.ButtonType.Toggle, ButtonAPI.SizeType.ButtonSize, "Some Text", "Just Some Text", ButtonAPI.HorizontalPosition.FirstButtonPos, ButtonAPI.VerticalPosition.SecondButton, ButtonAPI.MakeEmptyPage("SubMenu_1", SubMenu1Data.Item1, SubMenu1Data.Item2, SubMenu1Data.Item3, SubMenu1Data.Item4, SubMenu1Data.Item5).transform, true, true, delegate (bool a) { //Do Something Here }, false, UnityEngine.Color.magenta, UnityEngine.Color.white); ButtonAPI.CreateSlider(ButtonAPI.MakeEmptyPage("SubMenu_1", SubMenu1Data.Item1, SubMenu1Data.Item2, SubMenu1Data.Item3, SubMenu1Data.Item4, SubMenu1Data.Item5).transform, delegate (float v) { }, (float)ButtonAPI.HorizontalPosition.FirstButtonPos, (float)ButtonAPI.VerticalPosition.BottomButton, "Test Slider", 15f, 100f, 0f); //SubMenu_2 Contents ButtonAPI.CreateButton(ButtonAPI.ButtonType.Default, "Prev Page", "Goes To The Previous Page.", ButtonAPI.HorizontalPosition.LeftOfMenu, ButtonAPI.VerticalPosition.TopButton, ButtonAPI.MakeEmptyPage("SubMenu_2", SubMenu2Data.Item1, SubMenu2Data.Item2, SubMenu2Data.Item3, SubMenu2Data.Item4, SubMenu2Data.Item5).transform, delegate (bool a) { ButtonAPI.EnterSubMenu(ButtonAPI.MakeEmptyPage("SubMenu_1", SubMenu1Data.Item1, SubMenu1Data.Item2, SubMenu1Data.Item3, SubMenu1Data.Item4, SubMenu1Data.Item5)); }, UnityEngine.Color.white, UnityEngine.Color.magenta, null, false, false, false, false, null, true); ButtonAPI.CreateButton(ButtonAPI.ButtonType.Default, "Hello World", "Prints Hello World To Console.", ButtonAPI.HorizontalPosition.FirstButtonPos, ButtonAPI.VerticalPosition.TopButton, ButtonAPI.MakeEmptyPage("SubMenu_2", SubMenu2Data.Item1, SubMenu2Data.Item2, SubMenu2Data.Item3, SubMenu2Data.Item4, SubMenu2Data.Item5).transform, delegate (bool a) { MelonLogger.Log(ConsoleColor.Magenta, "Hello World!"); }, UnityEngine.Color.white, UnityEngine.Color.magenta, null, false, false, false, false, null, true); }