private void SublimeVehicleSpawnerMenu() { List <IMenuItem> vehicleSpawnerMenuItems = new List <IMenuItem>(); Dictionary <string, int> vehicleCategoriesDict = new Dictionary <string, int>() { { "Compacts", 0 }, { "Sedans", 1 }, { "SUVs", 2 }, { "Coupes", 3 }, { "Muscle", 4 }, { "Sports Classic", 5 }, { "Sports", 6 }, { "Super", 7 }, { "Motorcycle", 8 }, { "Off-Road", 9 }, { "Industrial", 10 }, { "Utility", 11 }, { "Vans/Pickups", 12 }, { "Bicycles", 13 }, { "Boats", 14 }, { "Helicopters", 15 }, { "Airplanes", 16 }, { "Service", 17 }, { "Emergency", 18 }, { "Military", 19 }, { "Commercial", 20 }, { "Trains/Containers", 21 } }; foreach (KeyValuePair <string, int> vehicleType in vehicleCategoriesDict) { var buttonVehicleCategoryMenu = new MenuButton(vehicleType.Key); // Add vehicle categories buttonVehicleCategoryMenu.Activated += (sender, args) => { List <IMenuItem> vehicleSpawnerVehicleItems = new List <IMenuItem>(); // Add vehicles to each category foreach (VehicleHash vehicle in Enum.GetValues(typeof(VehicleHash))) { int vehicleClass = Function.Call <int>((Hash)0xDEDF1C8BD47C2200, (int)vehicle); string getDisplayModel = Function.Call <string>(Hash.GET_DISPLAY_NAME_FROM_VEHICLE_MODEL, (int)vehicle); string convertDisplayModelToName = Function.Call <string>(Hash._GET_LABEL_TEXT, getDisplayModel); if (vehicleClass == vehicleType.Value && convertDisplayModelToName != null) { var buttonSpawnVehicle = new MenuButton(convertDisplayModelToName); buttonSpawnVehicle.Activated += (subSender, subArgs) => VehicleFunctions.SpawnVehicle(vehicle); vehicleSpawnerVehicleItems.Add(buttonSpawnVehicle); } } ListMenu vehicleSpawnerVehiclesMenu = new ListMenu(vehicleType.Key, vehicleSpawnerVehicleItems.OrderBy(v => v.Caption).ToArray(), 20); DrawMenu(vehicleSpawnerVehiclesMenu); }; vehicleSpawnerMenuItems.Add(buttonVehicleCategoryMenu); } VehicleSpawnerCategoriesMenu = new GTA.Menu("Vehicle Spawner", vehicleSpawnerMenuItems.ToArray()); DrawMenu(VehicleSpawnerCategoriesMenu); }
private void SublimeVehicleMenu() { List <IMenuItem> vehicleMenuItems = new List <IMenuItem>(); var buttonVehicleSpawnerMenu = new MenuButton("Vehicle Spawner Menu"); buttonVehicleSpawnerMenu.Activated += (sender, args) => SublimeVehicleSpawnerMenu(); vehicleMenuItems.Add(buttonVehicleSpawnerMenu); var buttonVehicleModKitMenu = new MenuButton("Vehicle Mod Menu"); buttonVehicleModKitMenu.Activated += (sender, args) => SublimeVehicleModCategoriesMenu(); vehicleMenuItems.Add(buttonVehicleModKitMenu); var toggleWarpInSpawned = new MenuToggle("Warp in Spawned Vehicle", "", VehicleFunctions.IsWarpInSpawnedVehicleEnabled); toggleWarpInSpawned.Changed += (sender, args) => VehicleFunctions.ToggleWarpInSpawnedVehicle(); vehicleMenuItems.Add(toggleWarpInSpawned); var buttonFixVehicle = new MenuButton("Fix Vehicle"); buttonFixVehicle.Activated += (sender, args) => VehicleFunctions.FixVehicle(); vehicleMenuItems.Add(buttonFixVehicle); var toggleIndestructible = new MenuToggle("Indestructible", "", VehicleFunctions.IsVehicleIndestructible); toggleIndestructible.Changed += (sender, args) => VehicleFunctions.ToggleVehicleIndestructible(); vehicleMenuItems.Add(toggleIndestructible); var toggleSeatBelt = new MenuToggle("Seat Belt", "", VehicleFunctions.IsSeatBeltEnabled); toggleSeatBelt.Changed += (sender, args) => VehicleFunctions.ToggleSeatBelt(); vehicleMenuItems.Add(toggleSeatBelt); var toggleLockDoors = new MenuToggle("Lock Doors", "", VehicleFunctions.IsLockedDoorsEnabled); toggleLockDoors.Changed += (sender, args) => VehicleFunctions.ToggleLockDoors(); vehicleMenuItems.Add(toggleLockDoors); var toggleNeverFallOffBike = new MenuToggle("Never Fall-Off Bike", "", VehicleFunctions.IsNeverFallOffBikeEnabled); toggleNeverFallOffBike.Changed += (sender, args) => VehicleFunctions.ToggleNeverFallOffBike(); vehicleMenuItems.Add(toggleNeverFallOffBike); var toggleSpeedBoost = new MenuToggle("Speed Boost", "", VehicleFunctions.IsSpeedBoostEnabled); toggleSpeedBoost.Changed += (sender, args) => VehicleFunctions.ToggleSpeedBoost(); vehicleMenuItems.Add(toggleSpeedBoost); var toggleVehicleJump = new MenuToggle("Vehicle Jump", "", VehicleFunctions.CanVehiclesJump); toggleVehicleJump.Changed += (sender, args) => VehicleFunctions.ToggleVehicleJump(); vehicleMenuItems.Add(toggleVehicleJump); var enumVehicleWeaponAssets = new MenuEnumScroller("Vehicle Weapon", "", VehicleFunctions.VehicleWeaponAssetsDict.Keys.ToArray(), VehicleFunctions.VehicleWeaponAssetIndex); enumVehicleWeaponAssets.Changed += (sender, args) => VehicleFunctions.VehicleWeaponAssetIndex = enumVehicleWeaponAssets.Index; vehicleMenuItems.Add(enumVehicleWeaponAssets); var toggleVehicleWeapons = new MenuToggle("Vehicle Weapons", "", VehicleFunctions.IsVehicleWeaponsEnabled); toggleVehicleWeapons.Changed += (sender, args) => VehicleFunctions.ToggleVehicleWeapons(); vehicleMenuItems.Add(toggleVehicleWeapons); VehicleMenu = new GTA.Menu("Vehicle Options", vehicleMenuItems.ToArray()); DrawMenu(VehicleMenu); }