/// <summary> /// Creates all the submenus depending on the permissions of the user. /// </summary> private void CreateSubmenus() { // Add the online players menu. if (IsAllowed(Permission.OPMenu)) { OnlinePlayersMenu = new OnlinePlayers(); Menu menu = OnlinePlayersMenu.GetMenu(); MenuItem button = new MenuItem("Online Players", "All currently connected players.") { Label = "→→→" }; AddMenu(menu, button); Menu.OnItemSelect += (sender, item, index) => { if (item == button) { OnlinePlayersMenu.UpdatePlayerlist(); menu.RefreshIndex(); //menu.UpdateScaleform(); } }; } if (IsAllowed(Permission.OPUnban) || IsAllowed(Permission.OPViewBannedPlayers)) { BannedPlayersMenu = new BannedPlayers(); Menu menu = BannedPlayersMenu.GetMenu(); MenuItem button = new MenuItem("Banned Players", "View and manage all banned players in this menu.") { Label = "→→→" }; AddMenu(menu, button); Menu.OnItemSelect += (sender, item, index) => { if (item == button) { TriggerServerEvent("vMenu:RequestBanList", Game.Player.Handle); menu.RefreshIndex(); //menu.UpdateScaleform(); } }; } // Add the player options menu. if (IsAllowed(Permission.POMenu)) { PlayerOptionsMenu = new PlayerOptions(); Menu menu = PlayerOptionsMenu.GetMenu(); MenuItem button = new MenuItem("Player Options", "Common player options can be accessed here.") { Label = "→→→" }; AddMenu(menu, button); } // Add the vehicle options Menu. if (IsAllowed(Permission.VOMenu)) { VehicleOptionsMenu = new VehicleOptions(); Menu menu = VehicleOptionsMenu.GetMenu(); MenuItem button = new MenuItem("Vehicle Options", "Here you can change common vehicle options, as well as tune & style your vehicle.") { Label = "→→→" }; AddMenu(menu, button); } // Add the vehicle spawner menu. if (IsAllowed(Permission.VSMenu)) { VehicleSpawnerMenu = new VehicleSpawner(); Menu menu = VehicleSpawnerMenu.GetMenu(); MenuItem button = new MenuItem("Vehicle Spawner", "Spawn a vehicle by name or choose one from a specific category.") { Label = "→→→" }; AddMenu(menu, button); } // Add Saved Vehicles menu. if (IsAllowed(Permission.SVMenu)) { SavedVehiclesMenu = new SavedVehicles(); Menu menu = SavedVehiclesMenu.GetMenu(); MenuItem button = new MenuItem("Saved Vehicles", "Save new vehicles, or spawn or delete already saved vehicles.") { Label = "→→→" }; AddMenu(menu, button); Menu.OnItemSelect += (sender, item, index) => { if (item == button) { SavedVehiclesMenu.UpdateMenuAvailableCategories(); } }; } // Add the Personal Vehicle menu. if (IsAllowed(Permission.PVMenu)) { PersonalVehicleMenu = new PersonalVehicle(); Menu menu = PersonalVehicleMenu.GetMenu(); MenuItem button = new MenuItem("Personal Vehicle", "Set a vehicle as your personal vehicle, and control some things about that vehicle when you're not inside.") { Label = "→→→" }; AddMenu(menu, button); } // Add the player appearance menu. if (IsAllowed(Permission.PAMenu)) { PlayerAppearanceMenu = new PlayerAppearance(); Menu menu = PlayerAppearanceMenu.GetMenu(); MenuItem button = new MenuItem("Player Appearance", "Choose a ped model, customize it and save & load your customized characters.") { Label = "→→→" }; AddMenu(menu, button); MpPedCustomizationMenu = new MpPedCustomization(); Menu menu2 = MpPedCustomizationMenu.GetMenu(); MenuItem button2 = new MenuItem("MP Ped Customization", "Create, edit, save and load multiplayer peds. ~r~Note, you can only save peds created in this submenu. vMenu can NOT detect peds created outside of this submenu. Simply due to GTA limitations.") { Label = "→→→" }; AddMenu(menu2, button2); } // Add the time options menu. // check for 'not true' to make sure that it _ONLY_ gets disabled if the owner _REALLY_ wants it disabled, not if they accidentally spelled "false" wrong or whatever. if (IsAllowed(Permission.TOMenu) && GetSettingsBool(Setting.vmenu_enable_time_sync)) { TimeOptionsMenu = new TimeOptions(); Menu menu = TimeOptionsMenu.GetMenu(); MenuItem button = new MenuItem("Time Options", "Change the time, and edit other time related options.") { Label = "→→→" }; AddMenu(menu, button); } // Add the weather options menu. // check for 'not true' to make sure that it _ONLY_ gets disabled if the owner _REALLY_ wants it disabled, not if they accidentally spelled "false" wrong or whatever. if (IsAllowed(Permission.WOMenu) && GetSettingsBool(Setting.vmenu_enable_weather_sync)) { WeatherOptionsMenu = new WeatherOptions(); Menu menu = WeatherOptionsMenu.GetMenu(); MenuItem button = new MenuItem("Weather Options", "Change all weather related options here.") { Label = "→→→" }; AddMenu(menu, button); } // Add the weapons menu. if (IsAllowed(Permission.WPMenu)) { WeaponOptionsMenu = new WeaponOptions(); Menu menu = WeaponOptionsMenu.GetMenu(); MenuItem button = new MenuItem("Weapon Options", "Add/remove weapons, modify weapons and set ammo options.") { Label = "→→→" }; AddMenu(menu, button); } // Add Weapon Loadouts menu. if (IsAllowed(Permission.WLMenu)) { WeaponLoadoutsMenu = new WeaponLoadouts(); Menu menu = WeaponLoadoutsMenu.GetMenu(); MenuItem button = new MenuItem("Weapon Loadouts", "Mange, and spawn saved weapon loadouts.") { Label = "→→→" }; AddMenu(menu, button); } // Add Voice Chat Menu. if (IsAllowed(Permission.VCMenu)) { VoiceChatSettingsMenu = new VoiceChat(); Menu menu = VoiceChatSettingsMenu.GetMenu(); MenuItem button = new MenuItem("Voice Chat Settings", "Change Voice Chat options here.") { Label = "→→→" }; AddMenu(menu, button); } { RecordingMenu = new Recording(); Menu menu = RecordingMenu.GetMenu(); MenuItem button = new MenuItem("Recording Options", "In-game recording options.") { Label = "→→→" }; AddMenu(menu, button); } // Add misc settings menu. //if (CommonFunctions.IsAllowed(Permission.MSMenu)) // removed the permissions check, because the misc menu should've never been restricted in the first place. // not sure why I even added this before... saving of preferences and similar functions should always be allowed. // no matter what. { MiscSettingsMenu = new MiscSettings(); Menu menu = MiscSettingsMenu.GetMenu(); MenuItem button = new MenuItem("Misc Settings", "Miscellaneous vMenu options/settings can be configured here. You can also save your settings in this menu.") { Label = "→→→" }; AddMenu(menu, button); } // Add About Menu. AboutMenu = new About(); Menu sub = AboutMenu.GetMenu(); MenuItem btn = new MenuItem("About vMenu", "Information about vMenu.") { Label = "→→→" }; AddMenu(sub, btn); // Refresh everything. MenuController.Menus.ForEach((m) => m.RefreshIndex()); if (!GetSettingsBool(Setting.vmenu_use_permissions)) { Notify.Alert("vMenu is set up to ignore permissions, default permissions will be used."); } }
/// <summary> /// Creates all the submenus depending on the permissions of the user. /// </summary> private void CreateSubmenus() { // Add the player options menu. if (IsAllowed(Permission.POMenu)) { PlayerOptionsMenu = new PlayerOptions(); Menu menu = PlayerOptionsMenu.GetMenu(); MenuItem button = new MenuItem("Персонаж", "Настройки вашего персонажа.") { Label = "→→→" }; AddMenu(menu, button); } // Add the vehicle options Menu. if (IsAllowed(Permission.VOMenu)) { VehicleOptionsMenu = new VehicleOptions(); Menu menu = VehicleOptionsMenu.GetMenu(); MenuItem button = new MenuItem("Автомобиль", "Настройки вашего автомобиля.") { Label = "→→→" }; AddMenu(menu, button); } // Add the vehicle spawner menu. if (IsAllowed(Permission.VSMenu)) { VehicleSpawnerMenu = new VehicleSpawner(); Menu menu = VehicleSpawnerMenu.GetMenu(); MenuItem button = new MenuItem("Заспавнить автомобиль", "Меню спавна автомобилей.") { Label = "→→→" }; AddMenu(menu, button); } // Add Saved Vehicles menu. if (IsAllowed(Permission.SVMenu)) { SavedVehiclesMenu = new SavedVehicles(); Menu menu = SavedVehiclesMenu.GetMenu(); MenuItem button = new MenuItem("Сохраненные автомобили", "Меню спавна/удаления и сохранения автомобилей.") { Label = "→→→" }; AddMenu(menu, button); Menu.OnItemSelect += (sender, item, index) => { if (item == button) { SavedVehiclesMenu.UpdateMenuAvailableCategories(); } }; } // Add the Personal Vehicle menu. if (IsAllowed(Permission.PVMenu)) { PersonalVehicleMenu = new PersonalVehicle(); Menu menu = PersonalVehicleMenu.GetMenu(); MenuItem button = new MenuItem("Персональный автомобиль", "Меню настроек личного автомобиля.") { Label = "→→→" }; AddMenu(menu, button); } // Add the player appearance menu. if (IsAllowed(Permission.PAMenu)) { PlayerAppearanceMenu = new PlayerAppearance(); Menu menu = PlayerAppearanceMenu.GetMenu(); MenuItem button = new MenuItem("Внешний вид персонажа", "Меню выбора и кастомизации NPC/AI-персонажей.") { Label = "→→→" }; AddMenu(menu, button); MpPedCustomizationMenu = new MpPedCustomization(); Menu menu2 = MpPedCustomizationMenu.GetMenu(); MenuItem button2 = new MenuItem("Внешний вид MP-персонажа", "Меню создания и модификации MP персонажей.") { Label = "→→→" }; AddMenu(menu2, button2); } // Add the time options menu. // check for 'not true' to make sure that it _ONLY_ gets disabled if the owner _REALLY_ wants it disabled, not if they accidentally spelled "false" wrong or whatever. if (IsAllowed(Permission.TOMenu) && GetSettingsBool(Setting.vmenu_enable_time_sync)) { TimeOptionsMenu = new TimeOptions(); Menu menu = TimeOptionsMenu.GetMenu(); MenuItem button = new MenuItem("Time Options", "Change the time, and edit other time related options.") { Label = "→→→" }; AddMenu(menu, button); } // Add the weather options menu. // check for 'not true' to make sure that it _ONLY_ gets disabled if the owner _REALLY_ wants it disabled, not if they accidentally spelled "false" wrong or whatever. if (IsAllowed(Permission.WOMenu) && GetSettingsBool(Setting.vmenu_enable_weather_sync)) { WeatherOptionsMenu = new WeatherOptions(); Menu menu = WeatherOptionsMenu.GetMenu(); MenuItem button = new MenuItem("Weather Options", "Change all weather related options here.") { Label = "→→→" }; AddMenu(menu, button); } // Add the weapons menu. if (IsAllowed(Permission.WPMenu)) { WeaponOptionsMenu = new WeaponOptions(); Menu menu = WeaponOptionsMenu.GetMenu(); MenuItem button = new MenuItem("Оружие", "Меню добавления и редактирования оружия.") { Label = "→→→" }; AddMenu(menu, button); } // Add Weapon Loadouts menu. if (IsAllowed(Permission.WLMenu)) { WeaponLoadoutsMenu = new WeaponLoadouts(); Menu menu = WeaponLoadoutsMenu.GetMenu(); MenuItem button = new MenuItem("Боезапасы", "Меню создания и редактирования боезапасов.") { Label = "→→→" }; AddMenu(menu, button); } // Add Voice Chat Menu. if (IsAllowed(Permission.VCMenu)) { VoiceChatSettingsMenu = new VoiceChat(); Menu menu = VoiceChatSettingsMenu.GetMenu(); MenuItem button = new MenuItem("Голосовой чат", "Меню настроек голосового чата.") { Label = "→→→" }; AddMenu(menu, button); } // Add the online players menu. if (IsAllowed(Permission.OPMenu)) { OnlinePlayersMenu = new OnlinePlayers(); Menu menu = OnlinePlayersMenu.GetMenu(); MenuItem button = new MenuItem("Игроки онлайн", "Все подключенные игроки.") { Label = "→→→" }; AddMenu(menu, button); Menu.OnItemSelect += (sender, item, index) => { if (item == button) { OnlinePlayersMenu.UpdatePlayerlist(); menu.RefreshIndex(); //menu.UpdateScaleform(); } }; } if (IsAllowed(Permission.OPUnban) || IsAllowed(Permission.OPViewBannedPlayers)) { BannedPlayersMenu = new BannedPlayers(); Menu menu = BannedPlayersMenu.GetMenu(); MenuItem button = new MenuItem("Заблокированные игроки", "Посмотреть всех заблокированных игроков.") { Label = "→→→" }; AddMenu(menu, button); Menu.OnItemSelect += (sender, item, index) => { if (item == button) { TriggerServerEvent("vMenu:RequestBanList", Game.Player.Handle); menu.RefreshIndex(); //menu.UpdateScaleform(); } }; } // Add misc settings menu. //if (CommonFunctions.IsAllowed(Permission.MSMenu)) // removed the permissions check, because the misc menu should've never been restricted in the first place. // not sure why I even added this before... saving of preferences and similar functions should always be allowed. // no matter what. { MiscSettingsMenu = new MiscSettings(); Menu menu = MiscSettingsMenu.GetMenu(); MenuItem button = new MenuItem("Прочие настройки", "Дополнительные опции и настройки меню сервера.") { Label = "→→→" }; AddMenu(menu, button); } // Add About Menu. AboutMenu = new About(); Menu sub = AboutMenu.GetMenu(); MenuItem btn = new MenuItem("О Меню", "Информация о меню.") { Label = "→→→" }; AddMenu(sub, btn); { RecordingMenu = new Recording(); Menu menu = RecordingMenu.GetMenu(); MenuItem button = new MenuItem("Редактор ~y~R*", "Запись и редактирование клипов в игре.") { Label = "→→→" }; AddMenu(menu, button); } // Refresh everything. MenuController.Menus.ForEach((m) => m.RefreshIndex()); if (!GetSettingsBool(Setting.vmenu_use_permissions)) { Notify.Alert("vMenu is set up to ignore permissions, default permissions will be used."); } }
/// <summary> /// Creates all the submenus depending on the permissions of the user. /// </summary> private void CreateSubmenus() { // Add the online players menu. if (IsAllowed(Permission.OPMenu)) { OnlinePlayersMenu = new OnlinePlayers(); Menu menu = OnlinePlayersMenu.GetMenu(); MenuItem button = new MenuItem("Online Players", "All currently connected players.") { Label = "→→→" }; AddMenu(Menu, menu, button); Menu.OnItemSelect += async(sender, item, index) => { if (item == button) { PlayersList.RequestPlayerList(); await OnlinePlayersMenu.UpdatePlayerlist(); menu.RefreshIndex(); } }; } if (IsAllowed(Permission.OPUnban) || IsAllowed(Permission.OPViewBannedPlayers)) { BannedPlayersMenu = new BannedPlayers(); Menu menu = BannedPlayersMenu.GetMenu(); MenuItem button = new MenuItem("Banned Players", "View and manage all banned players in this menu.") { Label = "→→→" }; AddMenu(Menu, menu, button); Menu.OnItemSelect += (sender, item, index) => { if (item == button) { TriggerServerEvent("vMenu:RequestBanList", Game.Player.Handle); menu.RefreshIndex(); } }; } MenuItem playerSubmenuBtn = new MenuItem("Player Related Options", "Open this submenu for player related subcategories.") { Label = "→→→" }; Menu.AddMenuItem(playerSubmenuBtn); // Add the player options menu. if (IsAllowed(Permission.POMenu)) { PlayerOptionsMenu = new PlayerOptions(); Menu menu = PlayerOptionsMenu.GetMenu(); MenuItem button = new MenuItem("Player Options", "Common player options can be accessed here.") { Label = "→→→" }; AddMenu(PlayerSubmenu, menu, button); } MenuItem vehicleSubmenuBtn = new MenuItem("Vehicle Related Options", "Open this submenu for vehicle related subcategories.") { Label = "→→→" }; Menu.AddMenuItem(vehicleSubmenuBtn); // Add the vehicle options Menu. if (IsAllowed(Permission.VOMenu)) { VehicleOptionsMenu = new VehicleOptions(); Menu menu = VehicleOptionsMenu.GetMenu(); MenuItem button = new MenuItem("Vehicle Options", "Here you can change common vehicle options, as well as tune & style your vehicle.") { Label = "→→→" }; AddMenu(VehicleSubmenu, menu, button); } // Add the vehicle spawner menu. if (IsAllowed(Permission.VSMenu)) { VehicleSpawnerMenu = new VehicleSpawner(); Menu menu = VehicleSpawnerMenu.GetMenu(); MenuItem button = new MenuItem("Vehicle Spawner", "Spawn a vehicle by name or choose one from a specific category.") { Label = "→→→" }; AddMenu(VehicleSubmenu, menu, button); } // Add Saved Vehicles menu. if (IsAllowed(Permission.SVMenu)) { SavedVehiclesMenu = new SavedVehicles(); Menu menu = SavedVehiclesMenu.GetMenu(); MenuItem button = new MenuItem("Saved Vehicles", "Save new vehicles, or spawn or delete already saved vehicles.") { Label = "→→→" }; AddMenu(VehicleSubmenu, menu, button); VehicleSubmenu.OnItemSelect += (sender, item, index) => { if (item == button) { SavedVehiclesMenu.UpdateMenuAvailableCategories(); } }; } // Add the Personal Vehicle menu. if (IsAllowed(Permission.PVMenu)) { PersonalVehicleMenu = new PersonalVehicle(); Menu menu = PersonalVehicleMenu.GetMenu(); MenuItem button = new MenuItem("Personal Vehicle", "Set a vehicle as your personal vehicle, and control some things about that vehicle when you're not inside.") { Label = "→→→" }; AddMenu(VehicleSubmenu, menu, button); } // Add the player appearance menu. if (IsAllowed(Permission.PAMenu)) { PlayerAppearanceMenu = new PlayerAppearance(); Menu menu = PlayerAppearanceMenu.GetMenu(); MenuItem button = new MenuItem("Player Appearance", "Choose a ped model, customize it and save & load your customized characters.") { Label = "→→→" }; AddMenu(PlayerSubmenu, menu, button); MpPedCustomizationMenu = new MpPedCustomization(); Menu menu2 = MpPedCustomizationMenu.GetMenu(); MenuItem button2 = new MenuItem("MP Ped Customization", "Create, edit, save and load multiplayer peds. ~r~Note, you can only save peds created in this submenu. vMenu can NOT detect peds created outside of this submenu. Simply due to GTA limitations.") { Label = "→→→" }; AddMenu(PlayerSubmenu, menu2, button2); } MenuItem worldSubmenuBtn = new MenuItem("World Related Options", "Open this submenu for world related subcategories.") { Label = "→→→" }; Menu.AddMenuItem(worldSubmenuBtn); // Add the time options menu. // check for 'not true' to make sure that it _ONLY_ gets disabled if the owner _REALLY_ wants it disabled, not if they accidentally spelled "false" wrong or whatever. if (IsAllowed(Permission.TOMenu) && GetSettingsBool(Setting.vmenu_enable_time_sync)) { TimeOptionsMenu = new TimeOptions(); Menu menu = TimeOptionsMenu.GetMenu(); MenuItem button = new MenuItem("Time Options", "Change the time, and edit other time related options.") { Label = "→→→" }; AddMenu(WorldSubmenu, menu, button); } // Add the weather options menu. // check for 'not true' to make sure that it _ONLY_ gets disabled if the owner _REALLY_ wants it disabled, not if they accidentally spelled "false" wrong or whatever. if (IsAllowed(Permission.WOMenu) && GetSettingsBool(Setting.vmenu_enable_weather_sync)) { WeatherOptionsMenu = new WeatherOptions(); Menu menu = WeatherOptionsMenu.GetMenu(); MenuItem button = new MenuItem("Weather Options", "Change all weather related options here.") { Label = "→→→" }; AddMenu(WorldSubmenu, menu, button); } // Add the weapons menu. if (IsAllowed(Permission.WPMenu)) { WeaponOptionsMenu = new WeaponOptions(); Menu menu = WeaponOptionsMenu.GetMenu(); MenuItem button = new MenuItem("Weapon Options", "Add/remove weapons, modify weapons and set ammo options.") { Label = "→→→" }; AddMenu(PlayerSubmenu, menu, button); } // Add Weapon Loadouts menu. if (IsAllowed(Permission.WLMenu)) { WeaponLoadoutsMenu = new WeaponLoadouts(); Menu menu = WeaponLoadoutsMenu.GetMenu(); MenuItem button = new MenuItem("Weapon Loadouts", "Mange, and spawn saved weapon loadouts.") { Label = "→→→" }; AddMenu(PlayerSubmenu, menu, button); } if (IsAllowed(Permission.NoClip)) { MenuItem toggleNoclip = new MenuItem("Toggle NoClip", "Toggle NoClip on or off."); PlayerSubmenu.AddMenuItem(toggleNoclip); PlayerSubmenu.OnItemSelect += (sender, item, index) => { if (item == toggleNoclip) { NoClipEnabled = !NoClipEnabled; } }; } // Add Voice Chat Menu. if (IsAllowed(Permission.VCMenu)) { VoiceChatSettingsMenu = new VoiceChat(); Menu menu = VoiceChatSettingsMenu.GetMenu(); MenuItem button = new MenuItem("Voice Chat Settings", "Change Voice Chat options here.") { Label = "→→→" }; AddMenu(Menu, menu, button); } { RecordingMenu = new Recording(); Menu menu = RecordingMenu.GetMenu(); MenuItem button = new MenuItem("Recording Options", "In-game recording options.") { Label = "→→→" }; AddMenu(Menu, menu, button); } // Add misc settings menu. { MiscSettingsMenu = new MiscSettings(); Menu menu = MiscSettingsMenu.GetMenu(); MenuItem button = new MenuItem("Misc Settings", "Miscellaneous vMenu options/settings can be configured here. You can also save your settings in this menu.") { Label = "→→→" }; AddMenu(Menu, menu, button); } // Add About Menu. AboutMenu = new About(); Menu sub = AboutMenu.GetMenu(); MenuItem btn = new MenuItem("About vMenu", "Information about vMenu.") { Label = "→→→" }; AddMenu(Menu, sub, btn); // Refresh everything. MenuController.Menus.ForEach((m) => m.RefreshIndex()); if (!GetSettingsBool(Setting.vmenu_use_permissions)) { Notify.Alert("vMenu is set up to ignore permissions, default permissions will be used."); } if (PlayerSubmenu.Size > 0) { MenuController.BindMenuItem(Menu, PlayerSubmenu, playerSubmenuBtn); } else { Menu.RemoveMenuItem(playerSubmenuBtn); } if (VehicleSubmenu.Size > 0) { MenuController.BindMenuItem(Menu, VehicleSubmenu, vehicleSubmenuBtn); } else { Menu.RemoveMenuItem(vehicleSubmenuBtn); } if (WorldSubmenu.Size > 0) { MenuController.BindMenuItem(Menu, WorldSubmenu, worldSubmenuBtn); } else { Menu.RemoveMenuItem(worldSubmenuBtn); } if (MiscSettingsMenu != null) { MenuController.EnableMenuToggleKeyOnController = !MiscSettingsMenu.MiscDisableControllerSupport; } }
/// <summary> /// Creates all the submenus depending on the permissions of the user. /// </summary> private void CreateSubmenus() { // Add the online players menu. if (IsAllowed(Permission.OPMenu)) { OnlinePlayersMenu = new OnlinePlayers(); Menu menu = OnlinePlayersMenu.GetMenu(); MenuItem button = new MenuItem("線上玩家列表", "當前在伺服器的所有玩家") { Label = "→→→" }; AddMenu(Menu, menu, button); Menu.OnItemSelect += (sender, item, index) => { if (item == button) { OnlinePlayersMenu.UpdatePlayerlist(); menu.RefreshIndex(); } }; } if (IsAllowed(Permission.OPUnban) || IsAllowed(Permission.OPViewBannedPlayers)) { BannedPlayersMenu = new BannedPlayers(); Menu menu = BannedPlayersMenu.GetMenu(); MenuItem button = new MenuItem("封鎖玩家列表", "當前在伺服器被封鎖的玩家名單") { Label = "→→→" }; AddMenu(Menu, menu, button); Menu.OnItemSelect += (sender, item, index) => { if (item == button) { TriggerServerEvent("vMenu:RequestBanList", Game.Player.Handle); menu.RefreshIndex(); } }; } MenuItem playerSubmenuBtn = new MenuItem("玩家相關選項", "查看與玩家相關的功能") { Label = "→→→" }; Menu.AddMenuItem(playerSubmenuBtn); // Add the player options menu. if (IsAllowed(Permission.POMenu)) { PlayerOptionsMenu = new PlayerOptions(); Menu menu = PlayerOptionsMenu.GetMenu(); MenuItem button = new MenuItem("玩家選項", "可以查看常見的玩家功能.") { Label = "→→→" }; AddMenu(PlayerSubmenu, menu, button); } MenuItem vehicleSubmenuBtn = new MenuItem("載具相關選項", "打開此子選單以獲取與載具相關的子類別.") { Label = "→→→" }; Menu.AddMenuItem(vehicleSubmenuBtn); // Add the vehicle options Menu. if (IsAllowed(Permission.VOMenu)) { VehicleOptionsMenu = new VehicleOptions(); Menu menu = VehicleOptionsMenu.GetMenu(); MenuItem button = new MenuItem("載具相關選項", "您可以更改常用的載具選項,以及調整和样式化您的載具.") { Label = "→→→" }; AddMenu(VehicleSubmenu, menu, button); } // Add the vehicle spawner menu. if (IsAllowed(Permission.VSMenu)) { VehicleSpawnerMenu = new VehicleSpawner(); Menu menu = VehicleSpawnerMenu.GetMenu(); MenuItem button = new MenuItem("載具召喚", "召喚出任何一台載具.") { Label = "→→→" }; AddMenu(VehicleSubmenu, menu, button); } // Add Saved Vehicles menu. if (IsAllowed(Permission.SVMenu)) { SavedVehiclesMenu = new SavedVehicles(); Menu menu = SavedVehiclesMenu.GetMenu(); MenuItem button = new MenuItem("載具管理", "可以用來管你的載具.") { Label = "→→→" }; AddMenu(VehicleSubmenu, menu, button); VehicleSubmenu.OnItemSelect += (sender, item, index) => { if (item == button) { SavedVehiclesMenu.UpdateMenuAvailableCategories(); } }; } // Add the Personal Vehicle menu. if (IsAllowed(Permission.PVMenu)) { PersonalVehicleMenu = new PersonalVehicle(); Menu menu = PersonalVehicleMenu.GetMenu(); MenuItem button = new MenuItem("私人車輛", "將一輛車設置為私人車輛,不再室內時還可以對該車輛進行某些操作.") { Label = "→→→" }; AddMenu(VehicleSubmenu, menu, button); } // Add the player appearance menu. if (IsAllowed(Permission.PAMenu)) { PlayerAppearanceMenu = new PlayerAppearance(); Menu menu = PlayerAppearanceMenu.GetMenu(); MenuItem button = new MenuItem("玩家容貌", "選擇一個PED模型,對其進行自定義,儲存加載角色.") { Label = "→→→" }; AddMenu(PlayerSubmenu, menu, button); MpPedCustomizationMenu = new MpPedCustomization(); Menu menu2 = MpPedCustomizationMenu.GetMenu(); MenuItem button2 = new MenuItem("人物外觀選項", "創建、編輯、保存和加載外觀。 ~r~注意,您只能保存在此子選單中創建的外觀。 vMenu無法檢測到在此子選單之外創建的外觀。完全是由於GTA限制.") { Label = "→→→" }; AddMenu(PlayerSubmenu, menu2, button2); } MenuItem worldSubmenuBtn = new MenuItem("世界相關選項", "打開與世界相關的子類別的子選單.") { Label = "→→→" }; Menu.AddMenuItem(worldSubmenuBtn); // Add the time options menu. // check for 'not true' to make sure that it _ONLY_ gets disabled if the owner _REALLY_ wants it disabled, not if they accidentally spelled "false" wrong or whatever. if (IsAllowed(Permission.TOMenu) && GetSettingsBool(Setting.vmenu_enable_time_sync)) { TimeOptionsMenu = new TimeOptions(); Menu menu = TimeOptionsMenu.GetMenu(); MenuItem button = new MenuItem("時間選項", "更改時間,並編輯其他與時間相關的選項.") { Label = "→→→" }; AddMenu(WorldSubmenu, menu, button); } // Add the weather options menu. // check for 'not true' to make sure that it _ONLY_ gets disabled if the owner _REALLY_ wants it disabled, not if they accidentally spelled "false" wrong or whatever. if (IsAllowed(Permission.WOMenu) && GetSettingsBool(Setting.vmenu_enable_weather_sync)) { WeatherOptionsMenu = new WeatherOptions(); Menu menu = WeatherOptionsMenu.GetMenu(); MenuItem button = new MenuItem("天氣選項", "在此處更改所有與天氣相關的選項.") { Label = "→→→" }; AddMenu(WorldSubmenu, menu, button); } // Add the weapons menu. if (IsAllowed(Permission.WPMenu)) { WeaponOptionsMenu = new WeaponOptions(); Menu menu = WeaponOptionsMenu.GetMenu(); MenuItem button = new MenuItem("武器選項", "添加/刪除武器,修改武器並設置彈藥選項.") { Label = "→→→" }; AddMenu(PlayerSubmenu, menu, button); } // Add Weapon Loadouts menu. if (IsAllowed(Permission.WLMenu)) { WeaponLoadoutsMenu = new WeaponLoadouts(); Menu menu = WeaponLoadoutsMenu.GetMenu(); MenuItem button = new MenuItem("武器裝載量", "管理,並生成節省的武器裝載.") { Label = "→→→" }; AddMenu(PlayerSubmenu, menu, button); } if (IsAllowed(Permission.NoClip)) { MenuItem toggleNoclip = new MenuItem("切換 NoClip", "切換 NoClip 啟用或停用."); PlayerSubmenu.AddMenuItem(toggleNoclip); PlayerSubmenu.OnItemSelect += (sender, item, index) => { if (item == toggleNoclip) { NoClipEnabled = !NoClipEnabled; } }; } // Add Voice Chat Menu. if (IsAllowed(Permission.VCMenu)) { VoiceChatSettingsMenu = new VoiceChat(); Menu menu = VoiceChatSettingsMenu.GetMenu(); MenuItem button = new MenuItem("語音聊天設置", "在此處更改語音聊天選項.") { Label = "→→→" }; AddMenu(Menu, menu, button); } { RecordingMenu = new Recording(); Menu menu = RecordingMenu.GetMenu(); MenuItem button = new MenuItem("錄影選項", "遊戲中的錄製選項.") { Label = "→→→" }; AddMenu(Menu, menu, button); } // Add misc settings menu. { MiscSettingsMenu = new MiscSettings(); Menu menu = MiscSettingsMenu.GetMenu(); MenuItem button = new MenuItem("其他設定", "可以在此處配置其他vMenu選項/設置。您也可以在此選單中保存設置.") { Label = "→→→" }; AddMenu(Menu, menu, button); } // Add About Menu. AboutMenu = new About(); Menu sub = AboutMenu.GetMenu(); MenuItem btn = new MenuItem("關於vMenu", "介紹 vMenu.") { Label = "→→→" }; AddMenu(Menu, sub, btn); // Refresh everything. MenuController.Menus.ForEach((m) => m.RefreshIndex()); if (!GetSettingsBool(Setting.vmenu_use_permissions)) { Notify.Alert("vMenu設置為忽略權限,將使用預設權限."); } if (PlayerSubmenu.Size > 0) { MenuController.BindMenuItem(Menu, PlayerSubmenu, playerSubmenuBtn); } else { Menu.RemoveMenuItem(playerSubmenuBtn); } if (VehicleSubmenu.Size > 0) { MenuController.BindMenuItem(Menu, VehicleSubmenu, vehicleSubmenuBtn); } else { Menu.RemoveMenuItem(vehicleSubmenuBtn); } if (WorldSubmenu.Size > 0) { MenuController.BindMenuItem(Menu, WorldSubmenu, worldSubmenuBtn); } else { Menu.RemoveMenuItem(worldSubmenuBtn); } if (MiscSettingsMenu != null) { MenuController.EnableMenuToggleKeyOnController = !MiscSettingsMenu.MiscDisableControllerSupport; } }