From 84b25871163760cda47b3bb8d51d4dfba59bafa6 Mon Sep 17 00:00:00 2001 From: Jacob Parker Date: Wed, 2 Jun 2021 20:32:11 -0700 Subject: [PATCH 01/13] tweak: improve performance of PLD move many CPU-intensive tasks to delayed loop --- vMenu/FunctionsController.cs | 88 ++++++++++++++---------------------- 1 file changed, 35 insertions(+), 53 deletions(-) diff --git a/vMenu/FunctionsController.cs b/vMenu/FunctionsController.cs index cd508a7f..a8506be5 100644 --- a/vMenu/FunctionsController.cs +++ b/vMenu/FunctionsController.cs @@ -27,13 +27,11 @@ class FunctionsController : BaseScript private float cameraRotationHeading = 0f; // show location variables - private Vector3 currentPos = Game.PlayerPed.Position; - private Vector3 nodePos = Game.PlayerPed.Position; - private float heading = 0f; private float safeZoneSizeX = (1 / GetSafeZoneSize() / 3.0f) - 0.358f; - private uint crossing = 1; - private string crossingName = ""; - private string suffix = ""; + private string zoneDisplay = ""; + private string streetDisplay = ""; + private string headingDisplay = ""; + private List waypointPlayerIdsToRemove = new List(); private int voiceTimer = 0; private int voiceCycle = 1; @@ -714,26 +712,44 @@ private async Task UpdateLocation() if (MainMenu.MiscSettingsMenu.ShowLocation) { // Get the current location. - currentPos = GetEntityCoords(Game.PlayerPed.Handle, true); + var currentPos = GetEntityCoords(Game.PlayerPed.Handle, true); + var heading = Game.PlayerPed.Heading; + zoneDisplay = World.GetZoneLocalizedName(currentPos); // Get the nearest vehicle node. - nodePos = currentPos; + var nodePos = Vector3.Zero; GetNthClosestVehicleNode(currentPos.X, currentPos.Y, currentPos.Z, 0, ref nodePos, 0, 0, 0); - heading = Game.PlayerPed.Heading; // Get the safezone size for x and y to be able to move with the minimap. safeZoneSizeX = (1 / GetSafeZoneSize() / 3.0f) - 0.358f; - //safeZoneSizeY = GetSafeZoneSize() - 0.27f; - //safeZoneSizeY = (1 / GetSafeZoneSize() / 3.6f) - 0.27f; // Get the cross road. - var p1 = (uint)1; // unused - crossing = (uint)1; - GetStreetNameAtCoord(currentPos.X, currentPos.Y, currentPos.Z, ref p1, ref crossing); - crossingName = GetStreetNameFromHashKey(crossing); + uint mainSt = 0, crossSt = 0; + GetStreetNameAtCoord(currentPos.X, currentPos.Y, currentPos.Z, ref mainSt, ref crossSt); + var mainName = GetStreetNameFromHashKey(mainSt); + var crossName = GetStreetNameFromHashKey(crossSt); // Set the suffix for the road name to the corssing name, or to an empty string if there's no crossing. - suffix = (crossingName != "" && crossingName != "NULL" && crossingName != null) ? "~t~ / " + crossingName : ""; + var prefix = currentPos.DistanceToSquared(nodePos) > 1400f ? "~m~Near ~s~" : "~s~"; + var suffix = crossSt != 0 ? "~t~ / " + crossName : ""; + streetDisplay = prefix + mainName + suffix; + + if (heading > 320 || heading < 45) // North + { + headingDisplay = "N"; + } + else if (heading >= 45 && heading <= 135) // West + { + headingDisplay = "W"; + } + else if (heading > 135 && heading < 225) // South + { + headingDisplay = "S"; + } + else // East + { + headingDisplay = "E"; + } await Delay(200); } @@ -750,54 +766,20 @@ private async Task UpdateLocation() /// private void ShowLocation() { - // Create the default prefix. - var prefix = "~s~"; - - // If the vehicle node is further away than 1400f, then the player is not near a valid road. - // So we set the prefix to "Near " (). - if (Vdist2(currentPos.X, currentPos.Y, currentPos.Z, nodePos.X, nodePos.Y, nodePos.Z) > 1400f) - { - prefix = "~m~Near ~s~"; - } - - string headingCharacter; - - // Heading Facing North - if (heading > 320 || heading < 45) - { - headingCharacter = "N"; - } - // Heading Facing West - else if (heading >= 45 && heading <= 135) - { - headingCharacter = "W"; - } - // Heading Facing South - else if (heading > 135 && heading < 225) - { - headingCharacter = "S"; - } - // Heading Facing East - else - { - headingCharacter = "E"; - } - // Draw the street name + crossing. SetTextWrap(0f, 1f); - DrawTextOnScreen(prefix + World.GetStreetName(currentPos) + suffix, 0.234f + safeZoneSizeX, GetSafeZoneSize() - GetTextScaleHeight(0.48f, 6) - GetTextScaleHeight(0.48f, 6)/*0.925f - safeZoneSizeY*/, 0.48f); + DrawTextOnScreen(streetDisplay, 0.234f + safeZoneSizeX, GetSafeZoneSize() - GetTextScaleHeight(0.48f, 6) - GetTextScaleHeight(0.48f, 6)/*0.925f - safeZoneSizeY*/, 0.48f); // Draw the zone name. SetTextWrap(0f, 1f); - DrawTextOnScreen(World.GetZoneLocalizedName(currentPos), 0.234f + safeZoneSizeX, GetSafeZoneSize() - GetTextScaleHeight(0.45f, 6) - GetTextScaleHeight(0.95f, 6)/*0.9485f - safeZoneSizeY*/, 0.45f); + DrawTextOnScreen(zoneDisplay, 0.234f + safeZoneSizeX, GetSafeZoneSize() - GetTextScaleHeight(0.45f, 6) - GetTextScaleHeight(0.95f, 6)/*0.9485f - safeZoneSizeY*/, 0.45f); // Draw the left border for the heading character. - SetTextWrap(0f, 1f); DrawTextOnScreen("~t~|", 0.188f + safeZoneSizeX, GetSafeZoneSize() - GetTextScaleHeight(1.2f, 6) - GetTextScaleHeight(0.4f, 6)/*0.915f - safeZoneSizeY*/, 1.2f, Alignment.Left); // Draw the heading character. SetTextWrap(0f, 1f); - DrawTextOnScreen(headingCharacter, 0.208f + safeZoneSizeX, GetSafeZoneSize() - GetTextScaleHeight(1.2f, 6) - GetTextScaleHeight(0.4f, 6)/*0.915f - safeZoneSizeY*/, 1.2f, Alignment.Center); + DrawTextOnScreen(headingDisplay, 0.208f + safeZoneSizeX, GetSafeZoneSize() - GetTextScaleHeight(1.2f, 6) - GetTextScaleHeight(0.4f, 6)/*0.915f - safeZoneSizeY*/, 1.2f, Alignment.Center); // Draw the right border for the heading character. SetTextWrap(0f, 1f); From e6fa7394afd0735a765a6ef21197b839a039a96f Mon Sep 17 00:00:00 2001 From: IS4 Date: Sat, 1 Jan 2022 20:24:36 +0100 Subject: [PATCH 02/13] Change InfiniteAmmo only if WPUnlimitedAmmo is allowed --- vMenu/FunctionsController.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vMenu/FunctionsController.cs b/vMenu/FunctionsController.cs index 425f160c..a28741ff 100644 --- a/vMenu/FunctionsController.cs +++ b/vMenu/FunctionsController.cs @@ -1382,9 +1382,9 @@ private async Task WeaponOptions() } // Enable/disable infinite ammo. - if (Game.PlayerPed.Weapons.Current != null && Game.PlayerPed.Weapons.Current.Hash != WeaponHash.Unarmed) + if (Game.PlayerPed.Weapons.Current != null && Game.PlayerPed.Weapons.Current.Hash != WeaponHash.Unarmed && IsAllowed(Permission.WPUnlimitedAmmo)) { - Game.PlayerPed.Weapons.Current.InfiniteAmmo = MainMenu.WeaponOptionsMenu.UnlimitedAmmo && IsAllowed(Permission.WPUnlimitedAmmo); + Game.PlayerPed.Weapons.Current.InfiniteAmmo = MainMenu.WeaponOptionsMenu.UnlimitedAmmo; } if (MainMenu.WeaponOptionsMenu.AutoEquipChute) From ba29907aeaf68f1c7acb30168cc41e63fc7b70ce Mon Sep 17 00:00:00 2001 From: IS4 Date: Thu, 10 Feb 2022 02:17:01 +0100 Subject: [PATCH 03/13] Update vMenu/FunctionsController.cs Co-authored-by: Christopher M. <10535902+cm8263@users.noreply.github.com> --- vMenu/FunctionsController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vMenu/FunctionsController.cs b/vMenu/FunctionsController.cs index a28741ff..c9839d4e 100644 --- a/vMenu/FunctionsController.cs +++ b/vMenu/FunctionsController.cs @@ -1382,7 +1382,7 @@ private async Task WeaponOptions() } // Enable/disable infinite ammo. - if (Game.PlayerPed.Weapons.Current != null && Game.PlayerPed.Weapons.Current.Hash != WeaponHash.Unarmed && IsAllowed(Permission.WPUnlimitedAmmo)) + if (IsAllowed(Permission.WPUnlimitedAmmo) && Game.PlayerPed.Weapons.Current != null && Game.PlayerPed.Weapons.Current.Hash != WeaponHash.Unarmed) { Game.PlayerPed.Weapons.Current.InfiniteAmmo = MainMenu.WeaponOptionsMenu.UnlimitedAmmo; } From bfc24bd883274ed3cfad066ce340034d7a602c94 Mon Sep 17 00:00:00 2001 From: Freddy <33939455+freedy69@users.noreply.github.com> Date: Wed, 23 Feb 2022 13:42:19 +0400 Subject: [PATCH 04/13] Tweak ped pointing 1) Ignore point key on keyboard while text input box is on (currently, if the text input box is enabled and you type B, your ped starts pointing) 2) Changed native hashes to their actual names --- vMenu/FunctionsController.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/vMenu/FunctionsController.cs b/vMenu/FunctionsController.cs index 425f160c..b4b58ade 100644 --- a/vMenu/FunctionsController.cs +++ b/vMenu/FunctionsController.cs @@ -964,7 +964,7 @@ async Task TogglePointing() // Press the B button on keyboard once to toggle. else { - if (Game.IsControlJustReleased(0, Control.SpecialAbilitySecondary) && !Game.PlayerPed.IsInVehicle()) + if (Game.IsControlJustReleased(0, Control.SpecialAbilitySecondary) && UpdateOnscreenKeyboard() != 0 && !Game.PlayerPed.IsInVehicle()) { await TogglePointing(); } @@ -979,18 +979,18 @@ async Task TogglePointing() } else { - N_0xd5bb4025ae449a4e(Game.PlayerPed.Handle, "Pitch", GetPointingPitch()); - N_0xd5bb4025ae449a4e(Game.PlayerPed.Handle, "Heading", GetPointingHeading()); - N_0xb0a6cfd2c69c1088(Game.PlayerPed.Handle, "isBlocked", GetPointingIsBlocked()); + SetTaskMoveNetworkSignalFloat(Game.PlayerPed.Handle, "Pitch", GetPointingPitch()); + SetTaskMoveNetworkSignalFloat(Game.PlayerPed.Handle, "Heading", GetPointingHeading()); + SetTaskMoveNetworkSignalBool(Game.PlayerPed.Handle, "isBlocked", GetPointingIsBlocked()); if (GetFollowPedCamViewMode() == 4) { - N_0xb0a6cfd2c69c1088(Game.PlayerPed.Handle, "isFirstPerson", true); + SetTaskMoveNetworkSignalBool(Game.PlayerPed.Handle, "isFirstPerson", true); } else { - N_0xb0a6cfd2c69c1088(Game.PlayerPed.Handle, "isFirstPerson", false); + SetTaskMoveNetworkSignalBool(Game.PlayerPed.Handle, "isFirstPerson", false); } - N_0xd5bb4025ae449a4e(Game.PlayerPed.Handle, "Speed", 0.25f); + SetTaskMoveNetworkSignalFloat(Game.PlayerPed.Handle, "Speed", 0.25f); } } } From 64d00ecb3f06cc4174c0e31185e4dbd395455517 Mon Sep 17 00:00:00 2001 From: Michael S Date: Sun, 25 Sep 2022 20:58:44 +0300 Subject: [PATCH 05/13] Add new content from mpsecurity and mpsum2 DLCs --- SharedClasses/PermissionsManager.cs | 32 ++- vMenu/data/ValidWeapon.cs | 73 +++++-- vMenu/data/VehicleData.cs | 38 +++- vMenu/menus/PersonalVehicle.cs | 20 ++ vMenu/menus/PlayerAppearance.cs | 307 +++++++++++++++++++++++++++- vMenu/menus/VehicleOptions.cs | 21 +- vMenu/menus/WeaponOptions.cs | 2 +- vMenu/vMenuClient.csproj | 2 +- vMenuServer/config/permissions.cfg | 27 ++- vMenuServer/vMenuServer.csproj | 2 +- 10 files changed, 482 insertions(+), 42 deletions(-) diff --git a/SharedClasses/PermissionsManager.cs b/SharedClasses/PermissionsManager.cs index 4f00c165..60518c73 100644 --- a/SharedClasses/PermissionsManager.cs +++ b/SharedClasses/PermissionsManager.cs @@ -73,6 +73,7 @@ public enum Permission VORepair, VOWash, VOEngine, + VODestroyEngine, VOBikeSeatbelt, VOSpeedLimiter, VOChangePlate, @@ -148,6 +149,7 @@ public enum Permission PVAll, PVToggleEngine, PVToggleLights, + PVToggleStance, PVKickPassengers, PVLockDoors, PVDoors, @@ -290,16 +292,26 @@ public enum Permission WPUnarmed, WPVintagePistol, WPWrench, - WPPlasmaPistol, // xmas 2018 dlc (1604) - WPPlasmaCarbine, // xmas 2018 dlc (1604) - WPPlasmaMinigun, // xmas 2018 dlc (1604) - WPStoneHatchet, // xmas 2018 dlc (1604) - WPCeramicPistol, // xmas 2019 dlc (1868) - WPNavyRevolver, // xmas 2019 dlc (1868) - //WPHazardCan, // xmas 2019 dlc (1868) (Does not have label text) - WPPericoPistol, // xmas 2020 dlc (2189) - WPMilitaryRifle, // xmas 2020 dlc (2189) - WPCombatShotgun, // xmas 2020 dlc (2189) + WPPlasmaPistol, + WPPlasmaCarbine, + WPPlasmaMinigun, + WPStoneHatchet, + // MPHEIST3 DLC (v 1868) + WPCeramicPistol, + WPNavyRevolver, + WPHazardCan, + // MPHEIST4 DLC (v 2189) + WPPericoPistol, + WPMilitaryRifle, + WPCombatShotgun, + // MPSECURITY DLC (v 2545) + WPEMPLauncher, + WPHeavyRifle, + WPFertilizerCan, + WPStunGunMP, + // MPSUM2 DLC (v 2699) + WPPrecisionRifle, + WPTacticalRifle, #endregion // Weapon Loadouts Menu diff --git a/vMenu/data/ValidWeapon.cs b/vMenu/data/ValidWeapon.cs index 3be3bb77..b2f6d8d5 100644 --- a/vMenu/data/ValidWeapon.cs +++ b/vMenu/data/ValidWeapon.cs @@ -206,19 +206,26 @@ private static void CreateWeaponsList() { "weapon_unarmed", GetLabelText("WTD_UNARMED") }, { "weapon_vintagepistol", GetLabelText("WTD_VPISTOL") }, { "weapon_wrench", GetLabelText("WTD_WRENCH") }, - // DLC CHRISTMAS2018 (v 1604) { "weapon_raypistol", GetLabelText("WTD_RAYPISTOL") }, { "weapon_raycarbine", GetLabelText("WTD_RAYCARBINE") }, { "weapon_rayminigun", GetLabelText("WTD_RAYMINIGUN") }, { "weapon_stone_hatchet", GetLabelText("WTD_SHATCHET") }, - // DLC CHRISTMAS2019 (v 1868) + // MPHEIST3 DLC (v 1868) { "weapon_ceramicpistol", GetLabelText("WTD_CERPST") }, { "weapon_navyrevolver", GetLabelText("WTD_REV_NV") }, - { "weapon_hazardcan", "Hazard Can" }, //(Does not have label text) - // DLC CHRISTMAS2020 (v 2189) + { "weapon_hazardcan", GetLabelText("WTD_HAZARDCAN") }, + // MPHEIST4 DLC (v 2189) { "weapon_gadgetpistol", GetLabelText("WTD_GDGTPST") }, { "weapon_militaryrifle", GetLabelText("WTD_MLTRYRFL") }, - { "weapon_combatshotgun", GetLabelText("WTD_CMBSHGN") } + { "weapon_combatshotgun", GetLabelText("WTD_CMBSHGN") }, + // MPSECURITY DLC (v 2545) + { "weapon_emplauncher", GetLabelText("WTD_EMPL") }, + { "weapon_heavyrifle", GetLabelText("WTD_HEAVYRIFLE") }, + { "weapon_fertilizercan", GetLabelText("WTD_FERTILIZERCAN") }, + { "weapon_stungun_mp", GetLabelText("WTD_STNGUNMP") }, + //MPSUM2 DLC (V 2699) + { "weapon_tacticalrifle", GetLabelText("WTD_TACRIFLE") }, + { "weapon_precisionrifle", GetLabelText("WTD_PRCSRIFLE") }, }; public static readonly Dictionary weaponNames = new Dictionary() @@ -309,19 +316,26 @@ private static void CreateWeaponsList() { "weapon_unarmed", GetLabelText("WT_UNARMED") }, { "weapon_vintagepistol", GetLabelText("WT_VPISTOL") }, { "weapon_wrench", GetLabelText("WT_WRENCH") }, - // DLC CHRISTMAS2018 (v 1604) { "weapon_raypistol", GetLabelText("WT_RAYPISTOL") }, { "weapon_raycarbine", GetLabelText("WT_RAYCARBINE") }, { "weapon_rayminigun", GetLabelText("WT_RAYMINIGUN") }, { "weapon_stone_hatchet", GetLabelText("WT_SHATCHET") }, - // DLC CHRISTMAS2019 (v 1868) + // MPHEIST3 DLC (v 1868) { "weapon_ceramicpistol", GetLabelText("WT_CERPST") }, { "weapon_navyrevolver", GetLabelText("WT_REV_NV") }, - //{ "weapon_hazardcan", GetLabelText("WT_") }, (Does not have label text) - // DLC CHRISTMAS2020 (v 2189) + { "weapon_hazardcan", GetLabelText("WT_HAZARDCAN") }, + // MPHEIST4 DLC (v 2189) { "weapon_gadgetpistol", GetLabelText("WT_GDGTPST") }, { "weapon_militaryrifle", GetLabelText("WT_MLTRYRFL") }, - { "weapon_combatshotgun", GetLabelText("WT_CMBSHGN") } + { "weapon_combatshotgun", GetLabelText("WT_CMBSHGN") }, + // MPSECURITY DLC (v 2545) + { "weapon_emplauncher", GetLabelText("WT_EMPL") }, + { "weapon_heavyrifle", GetLabelText("WT_HEAVYRIFLE") }, + { "weapon_fertilizercan", GetLabelText("WT_FERTILIZERCAN") }, + { "weapon_stungun_mp", GetLabelText("WT_STNGUNMP") }, + //MPSUM2 DLC (V 2699) + { "weapon_tacticalrifle", GetLabelText("WT_TACRIFLE") }, + { "weapon_precisionrifle", GetLabelText("WT_PRCSRIFLE") }, }; #endregion @@ -414,19 +428,26 @@ private static void CreateWeaponsList() ["weapon_unarmed"] = Permission.WPUnarmed, ["weapon_vintagepistol"] = Permission.WPVintagePistol, ["weapon_wrench"] = Permission.WPWrench, - // DLC CHRISTMAS2018 (v 1604) ["weapon_raypistol"] = Permission.WPPlasmaPistol, ["weapon_raycarbine"] = Permission.WPPlasmaCarbine, ["weapon_rayminigun"] = Permission.WPPlasmaMinigun, ["weapon_stone_hatchet"] = Permission.WPStoneHatchet, - // DLC CHRISTMAS2019 (v 1868) + // MPHEIST3 DLC (v 1868) ["weapon_ceramicpistol"] = Permission.WPCeramicPistol, ["weapon_navyrevolver"] = Permission.WPNavyRevolver, - //["weapon_hazardcan"] = Permission.WPHazardCan, (Does not have label text) - // DLC CHRISTMAS2020 (v 2189) + ["weapon_hazardcan"] = Permission.WPHazardCan, + // MPHEIST4 DLC (v 2189) ["weapon_gadgetpistol"] = Permission.WPPericoPistol, ["weapon_militaryrifle"] = Permission.WPMilitaryRifle, ["weapon_combatshotgun"] = Permission.WPCombatShotgun, + // MPSECURITY DLC (v 2545) + ["weapon_emplauncher"] = Permission.WPEMPLauncher, + ["weapon_heavyrifle"] = Permission.WPHeavyRifle, + ["weapon_fertilizercan"] = Permission.WPFertilizerCan, + ["weapon_stungun_mp"] = Permission.WPStunGunMP, + //MPSUM2 DLC (V 2699) + ["weapon_tacticalrifle"] = Permission.WPTacticalRifle, + ["weapon_precisionrifle"] = Permission.WPPrecisionRifle, }; #endregion @@ -789,8 +810,28 @@ private static void CreateWeaponsList() ["COMPONENT_SWITCHBLADE_VARMOD_VAR2"] = GetLabelText("WCT_SB_VAR2"), ["COMPONENT_VINTAGEPISTOL_CLIP_01"] = GetLabelText("WCT_CLIP1"), ["COMPONENT_VINTAGEPISTOL_CLIP_02"] = GetLabelText("WCT_CLIP2"), - // CHRISTMAS 2018 DLC (v 1604) - ["COMPONENT_RAYPISTOL_VARMOD_XMAS18"] = GetLabelText("WCT_VAR_RAY18") + ["COMPONENT_RAYPISTOL_VARMOD_XMAS18"] = GetLabelText("WCT_VAR_RAY18"), + // MPHEIST3 DLC (v 1868) + ["COMPONENT_CERAMICPISTOL_CLIP_01"] = GetLabelText("WCT_CLIP1"), + ["COMPONENT_CERAMICPISTOL_CLIP_02"] = GetLabelText("WCT_CLIP2"), + ["COMPONENT_CERAMICPISTOL_SUPP"] = GetLabelText("WCT_SUPP"), + // MPHEIST4 DLC (v 2189) + ["COMPONENT_MILITARYRIFLE_CLIP_01"] = GetLabelText("WCT_CLIP1"), + ["COMPONENT_MILITARYRIFLE_CLIP_02"] = GetLabelText("WCT_CLIP2"), + ["COMPONENT_MILITARYRIFLE_SIGHT_01"] = GetLabelText("WCT_MRFL_SIGHT"), + // MPSECURITY DLC (v 2545) + ["COMPONENT_APPISTOL_VARMOD_SECURITY"] = GetLabelText("WCT_VAR_STUD"), + ["COMPONENT_MICROSMG_VARMOD_SECURITY"] = GetLabelText("WCT_VAR_WEED"), + ["COMPONENT_PUMPSHOTGUN_VARMOD_SECURITY"] = GetLabelText("WCT_VAR_BONE"), + ["COMPONENT_HEAVYRIFLE_CLIP_01"] = GetLabelText("WCT_CLIP1"), + ["COMPONENT_HEAVYRIFLE_CLIP_02"] = GetLabelText("WCT_CLIP2"), + ["COMPONENT_HEAVYRIFLE_SIGHT_01"] = GetLabelText("WCT_HVYRFLE_SIG"), + ["COMPONENT_HEAVYRIFLE_CAMO1"] = GetLabelText("WCT_VAR_FAM"), + //MPSUM2 DLC (V 2699) + ["COMPONENT_TACTICALRIFLE_CLIP_01"] = GetLabelText("WCT_CLIP1"), + ["COMPONENT_TACTICALRIFLE_CLIP_02"] = GetLabelText("WCT_CLIP2"), + ["COMPONENT_PRECISIONRIFLE_CLIP_01"] = GetLabelText("WCT_CLIP1"), + ["COMPONENT_AT_AR_FLSH_REH"] = GetLabelText("WCT_FLASH"), }; #endregion diff --git a/vMenu/data/VehicleData.cs b/vMenu/data/VehicleData.cs index 27d60cd9..42d888a5 100644 --- a/vMenu/data/VehicleData.cs +++ b/vMenu/data/VehicleData.cs @@ -272,6 +272,7 @@ public static class Vehicles "BLISTA", "BRIOSO", "BRIOSO2", // CAYO PERICO (MPHEIST4) DLC - Requires b2189 + "BRIOSO3", // CRIMINAL ENTERPRISES (MPSUM2) DLC - Requires b2699 "CLUB", // SUMMER SPECIAL (MPSUM) DLC - Requires b2060 "DILETTANTE", "DILETTANTE2", @@ -293,10 +294,12 @@ public static class Vehicles "ASEA", "ASEA2", "ASTEROPE", + "CINQUEMILA", // THE CONTRACT (MPSECURITY) DLC - Requires b2545 "COG55", "COG552", "COGNOSCENTI", "COGNOSCENTI2", + "DEITY", // THE CONTRACT (MPSECURITY) DLC - Requires b2545 "EMPEROR", "EMPEROR2", "EMPEROR3", @@ -310,6 +313,7 @@ public static class Vehicles "PRIMO", "PRIMO2", "REGINA", + "RHINEHART", // CRIMINAL ENTERPRISES (MPSUM2) DLC - Requires b2699 "ROMERO", "SCHAFTER2", "SCHAFTER5", @@ -330,12 +334,14 @@ public static class Vehicles #region SUVs public static List SUVs { get; } = new List() { + "ASTRON", // THE CONTRACT (MPSECURITY) DLC - Requires b2545 "BALLER", "BALLER2", "BALLER3", "BALLER4", "BALLER5", "BALLER6", + "BALLER7", // THE CONTRACT (MPSECURITY) DLC - Requires b2545 "BJXL", "CAVALCADE", "CAVALCADE2", @@ -344,9 +350,12 @@ public static class Vehicles "DUBSTA2", "FQ2", "GRANGER", + "GRANGER2", // THE CONTRACT (MPSECURITY) DLC - Requires b2545 "GRESLEY", "HABANERO", "HUNTLEY", + "IWAGEN", // THE CONTRACT (MPSECURITY) DLC - Requires b2545 + "JUBILEE", // THE CONTRACT (MPSECURITY) DLC - Requires b2545 "LANDSTALKER", "LANDSTALKER2", // SUMMER SPECIAL (MPSUM) DLC - Requires b2060 "MESA", @@ -375,8 +384,10 @@ public static class Vehicles "FELON", "FELON2", "JACKAL", + "KANJOSJ", // CRIMINAL ENTERPRISES (MPSUM2) DLC - Requires b2699 "ORACLE", "ORACLE2", + "POSTLUDE", // CRIMINAL ENTERPRISES (MPSUM2) DLC - Requires b2699 "PREVION", // LS TUNERS (MPTUNER) DLC - Requires b2372 "SENTINEL", "SENTINEL2", @@ -392,6 +403,7 @@ public static class Vehicles "BLADE", "BUCCANEER", "BUCCANEER2", + "BUFFALO4", // THE CONTRACT (MPSECURITY) DLC - Requires b2545 "CHINO", "CHINO2", "CLIQUE", @@ -417,6 +429,7 @@ public static class Vehicles "GAUNTLET3", // CASINO AND RESORT (MPVINEWOOD) DLC - Requires b2060 "GAUNTLET4", // CASINO AND RESORT (MPVINEWOOD) DLC - Requires b2060 "GAUNTLET5", // SUMMER SPECIAL (MPSUM) DLC - Requires b2060 + "GREENWOOD", // CRIMINAL ENTERPRISES (MPSUM2) DLC - Requires b2699 "HERMES", "HOTKNIFE", "HUSTLER", @@ -440,6 +453,7 @@ public static class Vehicles "RUINER", "RUINER2", "RUINER3", + "RUINER4", // CRIMINAL ENTERPRISES (MPSUM2) DLC - Requires b2699 "SABREGT", "SABREGT2", "SLAMVAN", @@ -455,11 +469,13 @@ public static class Vehicles "TULIP", "VAMOS", "VIGERO", + "VIGERO2", // CRIMINAL ENTERPRISES (MPSUM2) DLC - Requires b2699 "VIRGO", "VIRGO2", "VIRGO3", "VOODOO", "VOODOO2", + "WEEVIL2", // CRIMINAL ENTERPRISES (MPSUM2) DLC - Requires b2699 "YOSEMITE", "YOSEMITE2", // CASINO HEIST (MPHEIST3) DLC - Requires b2060 }; @@ -533,8 +549,10 @@ public static class Vehicles "COMET4", "COMET5", "COMET6", // LS TUNERS (MPTUNER) DLC - Requires b2372 + "COMET7", // THE CONTRACT (MPSECURITY) DLC - Requires b2545 "COQUETTE", "COQUETTE4", // SUMMER SPECIAL (MPSUM) DLC - Requires b2060 + "CORSITA", // CRIMINAL ENTERPRISES (MPSUM2) DLC - Requires b2699 "CYPHER", // LS TUNERS (MPTUNER) DLC - Requires b2372 "DRAFTER", // CASINO AND RESORT (MPVINEWOOD) DLC - Requires b2060 "ELEGY", @@ -570,6 +588,7 @@ public static class Vehicles "NINEF", "NINEF2", "OMNIS", + "OMNISEGT", // CRIMINAL ENTERPRISES (MPSUM2) DLC - Requires b2699 "PARAGON", // CASINO AND RESORT (MPVINEWOOD) DLC - Requires b2060 "PARAGON2", // CASINO AND RESORT (MPVINEWOOD) DLC - Requires b2060 "PARIAH", @@ -590,7 +609,9 @@ public static class Vehicles "SCHLAGEN", "SCHWARZER", "SENTINEL3", + "SENTINEL4", // CRIMINAL ENTERPRISES (MPSUM2) DLC - Requires b2699 "SEVEN70", + "SM722", // CRIMINAL ENTERPRISES (MPSUM2) DLC - Requires b2699 "SPECTER", "SPECTER2", "SUGOI", // CASINO HEIST (MPHEIST3) DLC - Requires b2060 @@ -599,6 +620,8 @@ public static class Vehicles "SULTAN3", // LS TUNERS (MPTUNER) DLC - Requires b2372 "SURANO", "TAMPA2", + "TENF", // CRIMINAL ENTERPRISES (MPSUM2) DLC - Requires b2699 + "TENF2", // CRIMINAL ENTERPRISES (MPSUM2) DLC - Requires b2699 "TROPOS", "VERLIERER2", "VECTRE", // LS TUNERS (MPTUNER) DLC - Requires b2372 @@ -618,6 +641,7 @@ public static class Vehicles "AUTARCH", "BANSHEE2", "BULLET", + "CHAMPION", // THE CONTRACT (MPSECURITY) DLC - Requires b2545 "CHEETAH", "CYCLONE", "DEVESTE", @@ -627,11 +651,13 @@ public static class Vehicles "FMJ", "FURIA", // CASINO HEIST (MPHEIST3) DLC - Requires b2060 "GP1", + "IGNUS", // THE CONTRACT (MPSECURITY) DLC - Requires b2545 "INFERNUS", "ITALIGTB", "ITALIGTB2", "KRIEGER", // CASINO AND RESORT (MPVINEWOOD) DLC - Requires b2060 "LE7B", + "LM87", // CRIMINAL ENTERPRISES (MPSUM2) DLC - Requires b2699 "NERO", "NERO2", "OSIRIS", @@ -650,6 +676,7 @@ public static class Vehicles "TEZERACT", "THRAX", // CASINO AND RESORT (MPVINEWOOD) DLC - Requires b2060 "TIGON", // SUMMER SPECIAL (MPSUM) DLC - Requires b2060 + "TORERO2", // CRIMINAL ENTERPRISES (MPSUM2) DLC - Requires b2699 "TURISMOR", "TYRANT", "TYRUS", @@ -660,6 +687,7 @@ public static class Vehicles "VOLTIC", "VOLTIC2", "XA21", + "ZENO", // THE CONTRACT (MPSECURITY) DLC - Requires b2545 "ZENTORNO", "ZORRUSSO", // CASINO AND RESORT (MPVINEWOOD) DLC - Requires b2060 }; @@ -706,11 +734,13 @@ public static class Vehicles "OPPRESSOR2", "PCJ", "RATBIKE", + "REEVER", // THE CONTRACT (MPSECURITY) DLC - Requires b2545 "RROCKET", // CASINO AND RESORT (MPVINEWOOD) DLC - Requires b2060 "RUFFIAN", "SANCHEZ", "SANCHEZ2", "SANCTUS", + "SHINOBI", // THE CONTRACT (MPSECURITY) DLC - Requires b2545 "SHOTARO", "SOVEREIGN", "STRYDER", // CASINO HEIST (MPHEIST3) DLC - Requires b2060 @@ -744,6 +774,7 @@ public static class Vehicles "CARACARA", "CARACARA2", // CASINO AND RESORT (MPVINEWOOD) DLC - Requires b2060 "DLOADER", + "DRAUGUR", // CRIMINAL ENTERPRISES (MPSUM2) DLC - Requires b2699 "DUBSTA3", "DUNE", "DUNE2", @@ -767,6 +798,7 @@ public static class Vehicles "MONSTER5", "NIGHTSHARK", "OUTLAW", // CASINO HEIST (MPHEIST3) DLC - Requires b2060 + "PATRIOT3", // THE CONTRACT (MPSECURITY) DLC - Requires b2545 "RANCHERXL", "RANCHERXL2", "RCBANDITO", @@ -902,6 +934,7 @@ public static class Vehicles "YOUGA", "YOUGA2", "YOUGA3", // SUMMER SPECIAL (MPSUM) DLC - Requires b2060 + "YOUGA4", // THE CONTRACT (MPSECURITY) DLC - Requires b2545 }; #endregion #region Cycles @@ -959,6 +992,7 @@ public static class Vehicles "CARGOBOB2", "CARGOBOB3", "CARGOBOB4", + "CONADA", // CRIMINAL ENTERPRISES (MPSUM2) DLC - Requires b2699 "FROGGER", "FROGGER2", "HAVOK", @@ -1102,6 +1136,7 @@ public static class Vehicles "MULE2", "MULE3", "MULE4", + "MULE5", // THE CONTRACT (MPSECURITY) DLC - Requires b2545 "PACKER", "PHANTOM", "PHANTOM2", @@ -1160,7 +1195,8 @@ public static class Vehicles Military = 19, Commercial = 20, Trains = 21 - */ + OpenWheel = 22 + */ public static Dictionary> VehicleClasses { get; } = new Dictionary>() { diff --git a/vMenu/menus/PersonalVehicle.cs b/vMenu/menus/PersonalVehicle.cs index 9c9059ea..53fb4adf 100644 --- a/vMenu/menus/PersonalVehicle.cs +++ b/vMenu/menus/PersonalVehicle.cs @@ -39,6 +39,7 @@ private void CreateMenu() MenuItem setVehice = new MenuItem("Set Vehicle", "Sets your current vehicle as your personal vehicle. If you already have a personal vehicle set then this will override your selection.") { Label = "Current Vehicle: None" }; MenuItem toggleEngine = new MenuItem("Toggle Engine", "Toggles the engine on or off, even when you're not inside of the vehicle. This does not work if someone else is currently using your vehicle."); MenuListItem toggleLights = new MenuListItem("Set Vehicle Lights", new List() { "Force On", "Force Off", "Reset" }, 0, "This will enable or disable your vehicle headlights, the engine of your vehicle needs to be running for this to work."); + MenuListItem toggleStance = new MenuListItem("Vehicle Stance", new List() { "Default", "Lowered" }, 0, "Select stance for your Personal Vehicle."); MenuItem kickAllPassengers = new MenuItem("Kick Passengers", "This will remove all passengers from your personal vehicle."); //MenuItem MenuItem lockDoors = new MenuItem("Lock Vehicle Doors", "This will lock all your vehicle doors for all players. Anyone already inside will always be able to leave the vehicle, even if the doors are locked."); @@ -72,6 +73,12 @@ private void CreateMenu() { menu.AddMenuItem(toggleLights); } + + // Toggle stance + if (IsAllowed(Permission.PVToggleStance)) + { + menu.AddMenuItem(toggleStance); + } // Kick vehicle passengers if (IsAllowed(Permission.PVKickPassengers)) @@ -146,6 +153,19 @@ private void CreateMenu() SetVehicleLights(CurrentPersonalVehicle.Handle, 0); } } + else if (item == toggleStance) + { + PressKeyFob(CurrentPersonalVehicle); + if (itemIndex == 0) + { + SetReduceDriftVehicleSuspension(CurrentPersonalVehicle.Handle, false); + } + else if (itemIndex == 1) + { + SetReduceDriftVehicleSuspension(CurrentPersonalVehicle.Handle, true); + } + } + } else { diff --git a/vMenu/menus/PlayerAppearance.cs b/vMenu/menus/PlayerAppearance.cs index 5211add5..a6a448bb 100644 --- a/vMenu/menus/PlayerAppearance.cs +++ b/vMenu/menus/PlayerAppearance.cs @@ -1189,6 +1189,7 @@ private void RefreshCustomizationMenu() ["a_c_chickenhawk"] = "ChickenHawk", ["a_c_chimp"] = "Chimp", ["a_c_chop"] = "Chop", + ["a_c_chop_02"] = "Chop 2", // mpsecurity ["a_c_cormorant"] = "Cormorant", ["a_c_cow"] = "Cow", ["a_c_coyote"] = "Coyote", @@ -1201,6 +1202,7 @@ private void RefreshCustomizationMenu() ["a_c_husky"] = "Husky", ["a_c_killerwhale"] = "KillerWhale", ["a_c_mtlion"] = "MountainLion", + ["a_c_panther"] = "Panther", // mpheist4 ["a_c_pig"] = "Pig", ["a_c_pigeon"] = "Pigeon", ["a_c_poodle"] = "Poodle", @@ -1214,6 +1216,7 @@ private void RefreshCustomizationMenu() ["a_c_sharkhammer"] = "HammerShark", ["a_c_sharktiger"] = "TigerShark", ["a_c_shepherd"] = "Shepherd", + ["a_c_stingray"] = "Stingray", ["a_c_westy"] = "Westy" }; private Dictionary maleModels = new Dictionary() @@ -1229,6 +1232,7 @@ private void RefreshCustomizationMenu() ["a_m_m_eastsa_02"] = "Eastsa02AMM", ["a_m_m_farmer_01"] = "Farmer01AMM", ["a_m_m_fatlatin_01"] = "Fatlatin01AMM", + ["a_m_m_genbiker_01"] = "GenBiker01AMM", // mpsum2 ["a_m_m_genfat_01"] = "Genfat01AMM", ["a_m_m_genfat_02"] = "Genfat02AMM", ["a_m_m_golfer_01"] = "Golfer01AMM", @@ -1240,6 +1244,7 @@ private void RefreshCustomizationMenu() ["a_m_m_malibu_01"] = "Malibu01AMM", ["a_m_m_mexcntry_01"] = "MexCntry01AMM", ["a_m_m_mexlabor_01"] = "MexLabor01AMM", + ["a_m_m_mlcrisis_01"] = "MLCrisis01AMM", // mpvinewood ["a_m_m_og_boss_01"] = "OgBoss01AMM", ["a_m_m_paparazzi_01"] = "Paparazzi01AMM", ["a_m_m_polynesian_01"] = "Polynesian01AMM", @@ -1257,6 +1262,7 @@ private void RefreshCustomizationMenu() ["a_m_m_soucent_03"] = "Soucent03AMM", ["a_m_m_soucent_04"] = "Soucent04AMM", ["a_m_m_stlat_02"] = "Stlat02AMM", + ["a_m_m_studioparty_01"] = "StudioParty01AMM", // mpsecurity ["a_m_m_tennis_01"] = "Tennis01AMM", ["a_m_m_tourist_01"] = "Tourist01AMM", ["a_m_m_trampbeac_01"] = "TrampBeac01AMM", @@ -1266,6 +1272,7 @@ private void RefreshCustomizationMenu() ["a_m_o_acult_01"] = "Acult01AMO", ["a_m_o_acult_02"] = "Acult02AMO", ["a_m_o_beach_01"] = "Beach01AMO", + ["a_m_o_beach_02"] = "Beach02AMO", // mpheist4 ["a_m_o_genstreet_01"] = "Genstreet01AMO", ["a_m_o_ktown_01"] = "Ktown01AMO", ["a_m_o_salton_01"] = "Salton01AMO", @@ -1280,6 +1287,7 @@ private void RefreshCustomizationMenu() ["a_m_y_beach_01"] = "Beach01AMY", ["a_m_y_beach_02"] = "Beach02AMY", ["a_m_y_beach_03"] = "Beach03AMY", + ["a_m_y_beach_04"] = "Beach04AMY", // mpheist4 ["a_m_y_bevhills_01"] = "Bevhills01AMY", ["a_m_y_bevhills_02"] = "Bevhills02AMY", ["a_m_y_breakdance_01"] = "Breakdance01AMY", @@ -1287,6 +1295,11 @@ private void RefreshCustomizationMenu() ["a_m_y_business_01"] = "Business01AMY", ["a_m_y_business_02"] = "Business02AMY", ["a_m_y_business_03"] = "Business03AMY", + ["a_m_y_carclub_01"] = "CarClub01AMY", // mptuner + ["a_m_y_clubcust_01"] = "ClubCust01AMY", + ["a_m_y_clubcust_02"] = "ClubCust02AMY", + ["a_m_y_clubcust_03"] = "ClubCust03AMY", + ["a_m_y_clubcust_04"] = "ClubCust04AMY", // mpheist4 ["a_m_y_cyclist_01"] = "Cyclist01AMY", ["a_m_y_dhill_01"] = "Dhill01AMY", ["a_m_y_downtown_01"] = "Downtown01AMY", @@ -1296,6 +1309,7 @@ private void RefreshCustomizationMenu() ["a_m_y_epsilon_02"] = "Epsilon02AMY", ["a_m_y_gay_01"] = "Gay01AMY", ["a_m_y_gay_02"] = "Gay02AMY", + ["a_m_y_gencaspat_01"] = "GebCasPat01AMY", // mpvinewood ["a_m_y_genstreet_01"] = "Genstreet01AMY", ["a_m_y_genstreet_02"] = "Genstreet02AMY", ["a_m_y_golfer_01"] = "Golfer01AMY", @@ -1324,6 +1338,7 @@ private void RefreshCustomizationMenu() ["a_m_y_salton_01"] = "Salton01AMY", ["a_m_y_skater_01"] = "Skater01AMY", ["a_m_y_skater_02"] = "Skater02AMY", + ["a_m_y_smartcaspat_01"] = "SmartCasPat01AMY", // mpvinewood ["a_m_y_soucent_01"] = "Soucent01AMY", ["a_m_y_soucent_02"] = "Soucent02AMY", ["a_m_y_soucent_03"] = "Soucent03AMY", @@ -1331,10 +1346,12 @@ private void RefreshCustomizationMenu() ["a_m_y_stbla_01"] = "Stbla01AMY", ["a_m_y_stbla_02"] = "Stbla02AMY", ["a_m_y_stlat_01"] = "Stlat01AMY", + ["a_m_y_studioparty_01"] = "StudioParty01AMY", // mpsecurity ["a_m_y_stwhi_01"] = "Stwhi01AMY", ["a_m_y_stwhi_02"] = "Stwhi02AMY", ["a_m_y_sunbathe_01"] = "Sunbathe01AMY", ["a_m_y_surfer_01"] = "Surfer01AMY", + ["a_m_y_tattoocust_01"] = "TattooCust01AMY", // mptuner ["a_m_y_vindouche_01"] = "Vindouche01AMY", ["a_m_y_vinewood_01"] = "Vinewood01AMY", ["a_m_y_vinewood_02"] = "Vinewood02AMY", @@ -1355,6 +1372,7 @@ private void RefreshCustomizationMenu() ["a_f_m_fatbla_01"] = "FatBla01AFM", ["a_f_m_fatcult_01"] = "FatCult01AFM", ["a_f_m_fatwhite_01"] = "FatWhite01AFM", + ["a_f_m_genbiker_01"] = "GenBiker01AFM", // mpsum2 ["a_f_m_ktown_01"] = "Ktown01AFM", ["a_f_m_ktown_02"] = "Ktown02AFM", ["a_f_m_prolhost_01"] = "PrologueHostage01AFM", @@ -1373,20 +1391,29 @@ private void RefreshCustomizationMenu() ["a_f_o_soucent_01"] = "Soucent01AFO", ["a_f_o_soucent_02"] = "Soucent02AFO", ["a_f_y_beach_01"] = "Beach01AFY", + ["a_f_y_beach_02"] = "Beach02AFY", // mpheist4 ["a_f_y_bevhills_01"] = "Bevhills01AFY", ["a_f_y_bevhills_02"] = "Bevhills02AFY", ["a_f_y_bevhills_03"] = "Bevhills03AFY", ["a_f_y_bevhills_04"] = "Bevhills04AFY", + ["a_f_y_bevhills_05"] = "Bevhills05AFY", // mpheist3 ["a_f_y_business_01"] = "Business01AFY", ["a_f_y_business_02"] = "Business02AFY", ["a_f_y_business_03"] = "Business03AFY", ["a_f_y_business_04"] = "Business04AFY", + ["a_f_y_carclub_01"] = "CarClub01AFY", // mptuner + ["a_f_y_clubcust_01"] = "ClubCust01AFY", + ["a_f_y_clubcust_02"] = "ClubCust02AFY", + ["a_f_y_clubcust_03"] = "ClubCust03AFY", + ["a_f_y_clubcust_04"] = "ClubCust04AFY", // mpheist4 ["a_f_y_eastsa_01"] = "Eastsa01AFY", ["a_f_y_eastsa_02"] = "Eastsa02AFY", ["a_f_y_eastsa_03"] = "Eastsa03AFY", ["a_f_y_epsilon_01"] = "Epsilon01AFY", + ["a_f_y_femaleagent"] = "FemaleAgentAFY", ["a_f_y_fitness_01"] = "Fitness01AFY", ["a_f_y_fitness_02"] = "Fitness02AFY", + ["a_f_y_gencaspat_01"] = "GenCasPat01AFY", // mpvinewood ["a_f_y_genhot_01"] = "Genhot01AFY", ["a_f_y_golfer_01"] = "Golfer01AFY", ["a_f_y_hiker_01"] = "Hiker01AFY", @@ -1401,9 +1428,12 @@ private void RefreshCustomizationMenu() ["a_f_y_rurmeth_01"] = "Rurmeth01AFY", ["a_f_y_scdressy_01"] = "Scdressy01AFY", ["a_f_y_skater_01"] = "Skater01AFY", + ["a_f_y_smartcaspat_01"] = "SmartCasPat01AFY", // mpvinewood ["a_f_y_soucent_01"] = "Soucent01AFY", ["a_f_y_soucent_02"] = "Soucent02AFY", ["a_f_y_soucent_03"] = "Soucent03AFY", + ["a_f_y_studioparty_01"] = "StudioParty01AFY", // mpsecurity + ["a_f_y_studioparty_02"] = "StudioParty02AFY", // mpsecurity ["a_f_y_tennis_01"] = "Tennis01AFY", ["a_f_y_topless_01"] = "Topless01AFY", ["a_f_y_tourist_01"] = "Tourist01AFY", @@ -1417,31 +1447,81 @@ private void RefreshCustomizationMenu() private Dictionary otherPeds = new Dictionary() { ["csb_abigail"] = "AbigailCutscene", + ["csb_agatha"] = "AgathaCutscene", // mpvinewood + ["csb_agent"] = "AgentCutscene", + ["csb_alan"] = "AlanCutscene", ["csb_anita"] = "AnitaCutscene", ["csb_anton"] = "AntonCutscene", + ["csb_ary"] = "ARYCutscene", // mpheist4 + ["csb_ary_02"] = "ARY02Cutscene", // mpsecurity + ["csb_avery"] = "AveryCutscene", // mpvinewood + ["csb_avischwartzman_02"] = "AviSchwartzman02Cutscene", // mptuner + ["csb_avon"] = "AvonCutscene", + ["csb_ballas_leader"] = "BallasLeaderCutscene", // mpsecurity ["csb_ballasog"] = "BallasogCutscene", + ["csb_billionaire"] = "BillionaireCutscene", // mpsecurity + ["csb_bogdan"] = "BogdanCutscene", ["csb_bride"] = "BrideCutscene", + ["csb_brucie2"] = "Brucie2Cutscene", // patchday22ng + ["csb_bryony"] = "BryonyCutscene", ["csb_burgerdrug"] = "BurgerDrugCutscene", ["csb_car3guy1"] = "Car3Guy1Cutscene", ["csb_car3guy2"] = "Car3Guy2Cutscene", + ["csb_celeb_01"] = "Celeb01Cutscene", // mpheist3 ["csb_chef"] = "ChefCutscene", + ["csb_chef2"] = "Chef2Cutscene", ["csb_chin_goon"] = "ChinGoonCutscene", ["csb_cletus"] = "CletusCutscene", ["csb_cop"] = "CopCutscene", ["csb_customer"] = "CustomerCutscene", ["csb_denise_friend"] = "DeniseFriendCutscene", + ["csb_dix"] = "DixCutscene", + ["csb_djblamadon"] = "DJBlaMadonCutscene", + ["csb_drugdealer"] = "DrugDealerCutscene", // mptuner + ["csb_englishdave"] = "EnglishDaveCutscene", + ["csb_englishdave_02"] = "EnglishDave02Cutscene", // mpheist4 ["csb_fos_rep"] = "FosRepCutscene", + ["csb_g"] = "GCutscene", + ["csb_georginacheng"] = "GeorginaChengCutscene", // mpheist3 + ["csb_golfer_a"] = "GolferACutscene", // mpsecurity + ["csb_golfer_b"] = "GolferBCutscene", // mpsecurity ["csb_groom"] = "GroomCutscene", ["csb_grove_str_dlr"] = "GroveStrDlrCutscene", - ["csb_g"] = "GCutscene", + ["csb_gustavo"] = "GustavoCutscene", // mpheist4 ["csb_hao"] = "HaoCutscene", + ["csb_hao_02"] = "Hao02Cutscene", // patchday26ng + ["csb_helmsmanpavel"] = "HelmsmanPavelCutscene", // mpheist4 + ["csb_huang"] = "HuangCutscene", // mpheist3 ["csb_hugh"] = "HughCutscene", + ["csb_imani"] = "ImaniCutscene", // mpsecurity ["csb_imran"] = "ImranCutscene", + ["csb_isldj_00"] = "IslDJ00Cutscene", // mpheist4 + ["csb_isldj_01"] = "IslDJ01Cutscene", // mpheist4 + ["csb_isldj_02"] = "IslDJ02Cutscene", // mpheist4 + ["csb_isldj_03"] = "IslDJ03Cutscene", // mpheist4 + ["csb_isldj_04"] = "IslDJ04Cutscene", // mpheist4 + ["csb_jackhowitzer"] = "JackHowitzerCutscene", ["csb_janitor"] = "JanitorCutscene", + ["csb_jio"] = "JIOCutscene", // mpheist4 + ["csb_jio_02"] = "JIO02Cutscene", // mpsecurity + ["csb_johnny_guns"] = "JohnnyGunsCutscene", // mpsecurity + ["csb_juanstrickler"] = "JuanStricklerCutscene", // mpheist4 ["csb_maude"] = "MaudeCutscene", + ["csb_miguelmadrazo"] = "MiguelMadrazoCutscene", // mpheist4 + ["csb_mimi"] = "MimiCutscene", // mptuner + ["csb_mjo"] = "MJOCutscene", // mpheist4 + ["csb_mjo_02"] = "MJO02Cutscene", // mpsecurity + ["csb_money"] = "MoneyCutscene", + ["csb_moodyman_02"] = "Moodyman02Cutscene", // mptuner + ["csb_mp_agent14"] = "MPAgent14Cutscene", + ["csb_mrs_r"] = "MrsRCutscene", + ["csb_musician_00"] = "Musician00Cutscene", // mpsecurity ["csb_mweather"] = "MerryWeatherCutscene", ["csb_ortega"] = "OrtegaCutscene", ["csb_oscar"] = "OscarCutscene", + ["csb_paige"] = "PaigeCutscene", + ["csb_party_promo"] = "PartyPromoCutscene", // mpsecurity + ["csb_popov"] = "PopovCutscene", ["csb_porndudes"] = "PornDudesCutscene", ["csb_prologuedriver"] = "PrologueDriverCutscene", ["csb_prolsec"] = "PrologueSec01Cutscene", @@ -1450,28 +1530,56 @@ private void RefreshCustomizationMenu() ["csb_ramp_hipster"] = "RampHipsterCutscene", ["csb_ramp_marine"] = "RampMarineCutscene", ["csb_ramp_mex"] = "RampMexCutscene", + ["csb_rashcosvki"] = "RashcosvkiCutscene", ["csb_reporter"] = "ReporterCutscene", + ["csb_req_officer"] = "ReqOfficerCutscene", // mpsecurity ["csb_roccopelosi"] = "RoccoPelosiCutscene", ["csb_screen_writer"] = "ScreenWriterCutscene", + ["csb_security_a"] = "SecurityACutscene", // mpsecurity + ["csb_sessanta"] = "SessantaCutscene", // mptuner + ["csb_sol"] = "SolCutscene", + ["csb_soundeng_00"] = "SoundEngineer00Cutscene", // mpsecurity + ["csb_sss"] = "SSSCutscene", // mpheist4 ["csb_stripper_01"] = "Stripper01Cutscene", ["csb_stripper_02"] = "Stripper02Cutscene", + ["csb_talcc"] = "TalCCCutscene", + ["csb_talmm"] = "TalMMCutscene", + ["csb_thornton"] = "ThorntonCutscene", // mpvinewood + ["csb_tomcasino"] = "TomCasinoCutscene", // mpvinewood ["csb_tonya"] = "TonyaCutscene", + ["csb_tonyprince"] = "TonyPrinceCutscene", ["csb_trafficwarden"] = "TrafficWardenCutscene", + ["csb_undercover"] = "UndercoverCutscene", + ["csb_vagos_leader"] = "VagosLeaderCutscene", // mpsecurity + ["csb_vagspeak"] = "VagSpeakCutscene", + ["csb_vernon"] = "VernonCutscene", // mpsecurity + ["csb_vincent"] = "VincentCutscene", // mpvinewood + ["csb_vincent_2"] = "Vincent2Cutscene", // mpheist3 + ["csb_wendy"] = "WendyCutscene", // mpheist3 + ["g_f_importexport_01"] = "ImportExport01GF", ["g_f_y_ballas_01"] = "Ballas01GFY", ["g_f_y_families_01"] = "Families01GFY", ["g_f_y_lost_01"] = "Lost01GFY", ["g_f_y_vagos_01"] = "Vagos01GFY", + ["g_m_importexport_01"] = "ImportExport01GM", ["g_m_m_armboss_01"] = "ArmBoss01GMM", ["g_m_m_armgoon_01"] = "ArmGoon01GMM", ["g_m_m_armlieut_01"] = "ArmLieut01GMM", + ["g_m_m_cartelguards_01"] = "CarterGuards01GMM", // mpheist4 + ["g_m_m_cartelguards_02"] = "CarterGuards02GMM", // mpheist4 + ["g_m_m_casrn_01"] = "CasRN01MM", // mpvinewood ["g_m_m_chemwork_01"] = "ChemWork01GMM", ["g_m_m_chiboss_01"] = "ChiBoss01GMM", ["g_m_m_chicold_01"] = "ChiCold01GMM", ["g_m_m_chigoon_01"] = "ChiGoon01GMM", ["g_m_m_chigoon_02"] = "ChiGoon02GMM", + ["g_m_m_genthug_01"] = "GenThug01GMM", // mpsum2 + ["g_m_m_goons_01"] = "Goons01GMM", // mpsecurity ["g_m_m_korboss_01"] = "KorBoss01GMM", ["g_m_m_mexboss_01"] = "MexBoss01GMM", ["g_m_m_mexboss_02"] = "MexBoss02GMM", + ["g_m_m_prisoners_01"] = "Prisoners01GMM", // mptuner + ["g_m_m_slasher_01"] = "Shalsher01GMM", // patchday27ng ["g_m_y_armgoon_02"] = "ArmGoon02GMY", ["g_m_y_azteca_01"] = "Azteca01GMY", ["g_m_y_ballaeast_01"] = "BallaEast01GMY", @@ -1502,20 +1610,35 @@ private void RefreshCustomizationMenu() ["hc_gunman"] = "PestContGunman", ["hc_hacker"] = "Hacker", ["ig_abigail"] = "Abigail", + ["ig_agatha"] = "Agatha", // mpvinewood + ["ig_agent"] = "Agent", + ["ig_agent_02"] = "Agent02", //mpsum2 ["ig_amandatownley"] = "AmandaTownley", ["ig_andreas"] = "Andreas", + ["ig_ary"] = "ARY", // mpheist4 + ["ig_ary_02"] = "ARY02", // mpsecurity ["ig_ashley"] = "Ashley", + ["ig_avery"] = "Avery", // mpvinewood + ["ig_avischwartzman_02"] = "AviSchwartzman02", // mptuner + ["ig_avon"] = "Avon", + ["ig_ballas_leader"] = "BallasLeader", // mpsecurity ["ig_ballasog"] = "Ballasog", ["ig_bankman"] = "Bankman", ["ig_barry"] = "Barry", + ["ig_benny"] = "Benny", + ["ig_benny_02"] = "Benny02", // mptuner ["ig_bestmen"] = "Bestmen", ["ig_beverly"] = "Beverly", + ["ig_billionaire"] = "Billionaire", // mpsecurity ["ig_brad"] = "Brad", ["ig_bride"] = "Bride", + ["ig_brucie2"] = "Brucie2", // patchday22ng ["ig_car3guy1"] = "Car3Guy1", ["ig_car3guy2"] = "Car3Guy2", ["ig_casey"] = "Casey", + ["ig_celeb_01"] = "Celeb01", // mpheist3 ["ig_chef"] = "Chef", + ["ig_chef2"] = "Chef2", ["ig_chengsr"] = "WeiCheng", ["ig_chrisformage"] = "CrisFormage", ["ig_claypain"] = "Claypain", @@ -1525,97 +1648,223 @@ private void RefreshCustomizationMenu() ["ig_davenorton"] = "DaveNorton", ["ig_denise"] = "Denise", ["ig_devin"] = "Devin", + ["ig_dix"] = "Dix", + ["ig_djblamadon"] = "DJBlaMadon", + ["ig_djblamrupert"] = "DJBlamRupert", + ["ig_djblamryanh"] = "DJBlamRyanH", + ["ig_djblamryans"] = "DJBlamRyanS", + ["ig_djdixmanager"] = "DJDixManager", + ["ig_djgeneric_01"] = "DJGeneric01", + ["ig_djsolfotios"] = "DJSolFotios", + ["ig_djsoljakob"] = "DJSolJakob", + ["ig_djsolmanager"] = "DJSolManager", + ["ig_djsolmike"] = "DJSolMike", + ["ig_djsolrobt"] = "DJSolRobT", + ["ig_djtalaurelia"] = "DJTalAurelia", + ["ig_djtalignazio"] = "DJTalIgnazio", ["ig_dom"] = "Dom", ["ig_dreyfuss"] = "Dreyfuss", ["ig_drfriedlander"] = "DrFriedlander", + ["ig_drugdealer"] = "DrugDealer", // mptuner + ["ig_englishdave"] = "EnglishDave", + ["ig_englishdave_02"] = "EnglishDave02", // mpheist4 + ["ig_entourage_a"] = "EntourageA", // mpsecurity + ["ig_entourage_b"] = "EntourageB", // mpsecurity ["ig_fabien"] = "Fabien", ["ig_fbisuit_01"] = "FbiSuit01", ["ig_floyd"] = "Floyd", + ["ig_g"] = "G", + ["ig_georginacheng"] = "GeorginaCheng", // mpheist3 + ["ig_golfer_a"] = "GolferA", // mpsecurity + ["ig_golfer_b"] = "GolferB", // mpsecurity ["ig_groom"] = "Groom", + ["ig_gustavo"] = "Gustavo", // mpheist4 ["ig_hao"] = "Hao", + ["ig_hao_02"] = "Hao02", // patchday26ng + ["ig_helmsmanpavel"] = "HelmsmanPavel", // mpheist4 + ["ig_huang"] = "Huang", // mpheist3 ["ig_hunter"] = "Hunter", + ["ig_imani"] = "Imani", // mpsecurity + ["ig_isldj_00"] = "IslDJ00", // mpheist4 + ["ig_isldj_01"] = "IslDJ01", // mpheist4 + ["ig_isldj_02"] = "IslDJ02", // mpheist4 + ["ig_isldj_03"] = "IslDJ03", // mpheist4 + ["ig_isldj_04"] = "IslDJ04", // mpheist4 + ["ig_isldj_04_d_01"] = "ISLDJ04D01", // mpheist4 + ["ig_isldj_04_d_02"] = "ISLDJ04D02", // mpheist4 + ["ig_isldj_04_e_01"] = "ISLDJ04E01", // mpheist4 + ["ig_jackie"] = "Jackie", // mpheist4 ["ig_janet"] = "Janet", ["ig_jay_norris"] = "JayNorris", ["ig_jewelass"] = "Jewelass", ["ig_jimmyboston"] = "JimmyBoston", + ["ig_jimmyboston_02"] = "JimmyBoston02", ["ig_jimmydisanto"] = "JimmyDisanto", + ["ig_jimmydisanto2"] = "JimmyDisanto2", // mpheist3 + ["ig_jio"] = "JIO", // mpheist4 + ["ig_jio_02"] = "JIO02", // mpsecurity ["ig_joeminuteman"] = "JoeMinuteman", + ["ig_johnny_guns"] = "JohnnyGuns", // mpsecurity ["ig_johnnyklebitz"] = "JohnnyKlebitz", ["ig_josef"] = "Josef", ["ig_josh"] = "Josh", - ["ig_kerrymcintosh"] = "KerryMcintosh", + ["ig_juanstrickler"] = "JuanStrickler", // mpheist4 + ["ig_karen_daniels"] = "KarenDaniels", + ["ig_kaylee"] = "Kaylee", // mpheist4 + ["ig_kerrymcintosh"] = "KerryMcIntosh", + ["ig_kerrymcintosh_02"] = "KerryMcIntosh02", + ["ig_lacey_jones_02"] = "LaceyJones02", ["ig_lamardavis"] = "LamarDavis", + ["ig_lamardavis_02"] = "LamarDavis02", // mpsecurity ["ig_lazlow"] = "Lazlow", + ["ig_lazlow_2"] = "Lazlow2", ["ig_lestercrest"] = "LesterCrest", + ["ig_lestercrest_2"] = "LesterCrest2", + ["ig_lestercrest_3"] = "LesterCrest3", // mpheist3 ["ig_lifeinvad_01"] = "Lifeinvad01", ["ig_lifeinvad_02"] = "Lifeinvad02", + ["ig_lildee"] = "LilDee", // mptuner ["ig_magenta"] = "Magenta", + ["ig_malc"] = "Malc", ["ig_manuel"] = "Manuel", ["ig_marnie"] = "Marnie", ["ig_maryann"] = "MaryAnn", + ["ig_mason_duggan"] = "MasonDuggan", // mpsum2 ["ig_maude"] = "Maude", ["ig_michelle"] = "Michelle", + ["ig_miguelmadrazo"] = "MiguelMadrazo", // mpheist4 ["ig_milton"] = "Milton", + ["ig_mimi"] = "Mimi", // mptuner + ["ig_mjo"] = "MJO", // mpheist4 + ["ig_mjo_02"] = "MJO02", // mpsecurity ["ig_molly"] = "Molly", + ["ig_money"] = "Money", + ["ig_moodyman_02"] = "Moddyman02", // mptuner + ["ig_mp_agent14"] = "MPAgent14", ["ig_mrk"] = "MrK", ["ig_mrsphillips"] = "MrsPhillips", ["ig_mrs_thornhill"] = "MrsThornhill", + ["ig_musician_00"] = "Musician00", // mpsecurity ["ig_natalia"] = "Natalia", ["ig_nervousron"] = "NervousRon", ["ig_nigel"] = "Nigel", ["ig_old_man1a"] = "OldMan1a", ["ig_old_man2"] = "OldMan2", + ["ig_oldrichguy"] = "OldRichGuy", // mpheist4 ["ig_omega"] = "Omega", ["ig_oneil"] = "ONeil", ["ig_orleans"] = "Orleans", ["ig_ortega"] = "Ortega", + ["ig_paige"] = "Paige", ["ig_paper"] = "Paper", + ["ig_party_promo"] = "PartyPromo", // mpsecurity ["ig_patricia"] = "Patricia", + ["ig_patricia_02"] = "Patricia02", // mpheist4 + ["ig_pilot"] = "Pilot", // mpheist4 + ["ig_popov"] = "Popov", ["ig_priest"] = "Priest", ["ig_prolsec_02"] = "PrologueSec02", ["ig_ramp_gang"] = "RampGang", ["ig_ramp_hic"] = "RampHic", ["ig_ramp_hipster"] = "RampHipster", ["ig_ramp_mex"] = "RampMex", + ["ig_rashcosvki"] = "Rashcosvki", + ["ig_req_officer"] = "ReqOfficer", // mpsecurity ["ig_roccopelosi"] = "RoccoPelosi", ["ig_russiandrunk"] = "RussianDrunk", + ["ig_sacha"] = "Sacha", ["ig_screen_writer"] = "ScreenWriter", + ["ig_security_a"] = "SecurityA", // mpsecurity + ["ig_sessanta"] = "Sessanta", // mptuner ["ig_siemonyetarian"] = "SiemonYetarian", + ["ig_sol"] = "Sol", ["ig_solomon"] = "Solomon", + ["ig_soundeng_00"] = "SoundEng00", // mpsecurity + ["ig_sss"] = "SSS", // mpheist4 ["ig_stevehains"] = "SteveHains", ["ig_stretch"] = "Stretch", + ["ig_talcc"] = "TalCC", ["ig_talina"] = "Talina", + ["if_talmm"] = "TalMM", ["ig_tanisha"] = "Tanisha", ["ig_taocheng"] = "TaoCheng", + ["ig_teocheng2"] = "TeoCheng2", // mpvinewood ["ig_taostranslator"] = "TaosTranslator", + ["ig_taostranslator2"] = "TaosTranslator2", // mpvinewood ["ig_tenniscoach"] = "TennisCoach", ["ig_terry"] = "Terry", + ["ig_thornton"] = "Thornton", // mpvinewood + ["ig_tomcasino"] = "TomCasino", // mpvinewood ["ig_tomepsilon"] = "TomEpsilon", ["ig_tonya"] = "Tonya", + ["ig_tonyprince"] = "TonyPrince", ["ig_tracydisanto"] = "TracyDisanto", ["ig_trafficwarden"] = "TrafficWarden", ["ig_tylerdix"] = "TylerDixon", + ["ig_tylerdix_02"] = "TylerDixon02", + ["ig_vagos_leader"] = "VagosLeader", // mpsecurity + ["ig_vagspeak"] = "VagSpeak", + ["ig_vernon"] = "Vernon", // mpsecurity + ["ig_vincent"] = "Vincent", // mpvinewood + ["ig_vincent_2"] = "Vincent2", // mpheist3 + ["ig_vincent_3"] = "Vincent3", // mpsecurity ["ig_wade"] = "Wade", + ["ig_warehouseboss"] = "WarehouseBoss", // mpsum2 + ["ig_wendy"] = "Wendy", // mpheist3 ["ig_zimbor"] = "Zimbor", + ["mp_f_bennymech_01"] = "BennyMechanic01", + ["mp_f_boatstaff_01"] = "MBoatStaff01", + ["mp_f_cardesign_01"] = "CarDesign01", + ["mp_f_chbar_01"] = "CHBar01", + ["mp_f_cocaine_01"] = "FCocaine01", + ["mp_f_counterfeit_01"] = "FCounterfeit01", ["mp_f_deadhooker"] = "DeadHooker", + ["mp_f_execpa_01"] = "FExecPA01", + ["mp_f_execpa_02"] = "FExecPA02", + ["mp_f_forgery_01"] = "FForgery01", + ["mp_f_helistaff_01"] = "HeliStaff01", + ["mp_f_meth_01"] = "FMeth01", ["mp_f_misty_01"] = "Misty01", ["mp_f_stripperlite"] = "StripperLite", + ["mp_f_weed_01"] = "FWeed01", ["mp_g_m_pros_01"] = "MPros01", + ["mp_m_avongoon"] = "AvonGoon", + ["mp_m_boatstaff_01"] = "FBoatStaff01", + ["mp_m_bogdangoon"] = "BogdanGoon", ["mp_m_claude_01"] = "Claude01", + ["mp_m_cocaine_01"] = "MCocaine01", + ["mp_m_counterfeit_01"] = "MCounterfeit01", ["mp_m_exarmy_01"] = "ExArmy01", + ["mp_f_execpa_01"] = "MExecPA01", ["mp_m_famdd_01"] = "Famdd01", ["mp_m_fibsec_01"] = "FibSec01", + ["mp_m_forgery_01"] = "MForgery01", + ["mp_m_g_vagfun_01"] = "VagFun01", ["mp_m_marston_01"] = "Marston01", + ["mp_m_meth_01"] = "MMeth01", ["mp_m_niko_01"] = "Niko01", + ["mp_m_securoguard_01"] = "SecuroGuard01", ["mp_m_shopkeep_01"] = "ShopKeep01", + ["mp_m_waremech_01"] = "WareMech01", + ["mp_m_weapexp_01"] = "WeapExp01", + ["mp_m_weapwork_01"] = "WeapWork01", + ["mp_m_weed_01"] = "MWeed01", ["mp_s_m_armoured_01"] = "Armoured01", + ["s_f_m_autoshop_01"] = "Autoshop01SFM", // mptuner ["s_f_m_fembarber"] = "FemBarberSFM", ["s_f_m_maid_01"] = "Maid01SFM", + ["s_f_m_retailstaff_01"] = "RetailStaff01SFM", // mptuner ["s_f_m_shop_high"] = "ShopHighSFM", + ["s_f_m_studioassist_01"] = "StudioAssistant01SFM", // mpsecurity ["s_f_m_sweatshop_01"] = "Sweatshop01SFM", + ["s_f_m_warehouse_01"] = "Warehouse01SFM", // mpsum2 ["s_f_y_airhostess_01"] = "Airhostess01SFY", ["s_f_y_bartender_01"] = "Bartender01SFY", ["s_f_y_baywatch_01"] = "Baywatch01SFY", + ["s_f_y_beachbarstaff_01"] = "BeachBarStaff01SFY", // mpheist4 + ["s_f_y_casino_01"] = "Casino01SFY", // patchday22ng + ["s_f_y_clubbar_01"] = "ClubBar01SFY", + ["s_f_y_clubbar_02"] = "ClubBar02SFY", // mpheist4 ["s_f_y_cop_01"] = "Cop01SFY", ["s_f_y_factory_01"] = "Factory01SFY", ["s_f_y_hooker_01"] = "Hooker01SFY", @@ -1637,20 +1886,29 @@ private void RefreshCustomizationMenu() ["s_m_m_armoured_02"] = "Armoured02SMM", ["s_m_m_autoshop_01"] = "Autoshop01SMM", ["s_m_m_autoshop_02"] = "Autoshop02SMM", + ["s_m_m_autoshop_03"] = "Autoshop03SMM", // mptuner ["s_m_m_bouncer_01"] = "Bouncer01SMM", + ["s_m_m_bouncer_02"] = "Bouncer02SMM", // mpheist4 + ["s_m_m_ccrew_01"] = "CCrew01SMM", ["s_m_m_chemsec_01"] = "ChemSec01SMM", ["s_m_m_ciasec_01"] = "CiaSec01SMM", ["s_m_m_cntrybar_01"] = "Cntrybar01SMM", ["s_m_m_dockwork_01"] = "Dockwork01SMM", ["s_m_m_doctor_01"] = "Doctor01SMM", + ["s_m_m_drugprocess_01"] = "DrugProcess01SMM", // mpheist4 ["s_m_m_fiboffice_01"] = "FibOffice01SMM", ["s_m_m_fiboffice_02"] = "FibOffice02SMM", + ["s_m_m_fibsec_01"] = "FIBSec01SMM", + ["s_m_m_fieldworker_01"] = "FieldWorker01SMM", // mpheist4 ["s_m_m_gaffer_01"] = "Gaffer01SMM", ["s_m_m_gardener_01"] = "Gardener01SMM", ["s_m_m_gentransport"] = "GentransportSMM", ["s_m_m_hairdress_01"] = "Hairdress01SMM", ["s_m_m_highsec_01"] = "Highsec01SMM", ["s_m_m_highsec_02"] = "Highsec02SMM", + ["s_m_m_highsec_03"] = "Highsec03SMM", // mpheist3 + ["s_m_m_highsec_04"] = "Highsec04SMM", // mpheist4 + ["s_m_m_highsec_05"] = "Highsec05SMM", // mpsecurity ["s_m_m_janitor"] = "JanitorSMM", ["s_m_m_lathandy_01"] = "Lathandy01SMM", ["s_m_m_lifeinvad_01"] = "Lifeinvad01SMM", @@ -1669,15 +1927,21 @@ private void RefreshCustomizationMenu() ["s_m_m_postal_01"] = "Postal01SMM", ["s_m_m_postal_02"] = "Postal02SMM", ["s_m_m_prisguard_01"] = "Prisguard01SMM", + ["s_m_m_raceorg_01"] = "RageOrg01SMM", // mptuner ["s_m_m_scientist_01"] = "Scientist01SMM", ["s_m_m_security_01"] = "Security01SMM", ["s_m_m_snowcop_01"] = "Snowcop01SMM", ["s_m_m_strperf_01"] = "Strperf01SMM", ["s_m_m_strpreach_01"] = "Strpreach01SMM", ["s_m_m_strvend_01"] = "Strvend01SMM", + ["s_m_m_studioassist_02"] = "StudioAssist02SMM", // mpsecurity + ["s_m_m_studioprod_01"] = "StudioProd01SMM", // mpsecurity + ["s_m_m_studiosoueng_02"] = "StudioSouEng02SMM", // mpsecurity + ["s_m_m_tattoo_01"] = "Tattoo01SMM", // mptuner ["s_m_m_trucker_01"] = "Trucker01SMM", ["s_m_m_ups_01"] = "Ups01SMM", ["s_m_m_ups_02"] = "Ups02SMM", + ["s_m_m_warehouse_01"] = "Warehouse01SMM", // mpsum2 ["s_m_o_busker_01"] = "Busker01SMO", ["s_m_y_airworker"] = "AirworkerSMY", ["s_m_y_ammucity_01"] = "Ammucity01SMY", @@ -1687,9 +1951,12 @@ private void RefreshCustomizationMenu() ["s_m_y_baywatch_01"] = "Baywatch01SMY", ["s_m_y_blackops_01"] = "Blackops01SMY", ["s_m_y_blackops_02"] = "Blackops02SMY", + ["s_m_y_blackops_03"] = "Blackops03SMY", ["s_m_y_busboy_01"] = "Busboy01SMY", + ["s_m_y_casino_01"] = "Casino01SMY", // mpvinewood ["s_m_y_chef_01"] = "Chef01SMY", ["s_m_y_clown_01"] = "Clown01SMY", + ["s_m_y_clubbar_01"] = "ClubBar01SMY", ["s_m_y_construct_01"] = "Construct01SMY", ["s_m_y_construct_02"] = "Construct02SMY", ["s_m_y_cop_01"] = "Cop01SMY", @@ -1721,26 +1988,48 @@ private void RefreshCustomizationMenu() ["s_m_y_uscg_01"] = "Uscg01SMY", ["s_m_y_valet_01"] = "Valet01SMY", ["s_m_y_waiter_01"] = "Waiter01SMY", + ["s_m_y_waretech_01"] = "WareTech01SMY", + ["s_m_y_westsec_01"] = "WestSec01SMY", // mpvinewood + ["s_m_y_westsec_02"] = "WestSec02SMY", // mpheist3 ["s_m_y_winclean_01"] = "WinClean01SMY", ["s_m_y_xmech_01"] = "Xmech01SMY", ["s_m_y_xmech_02"] = "Xmech02SMY", + ["s_m_y_xmech_02_mp"] = "Xmech02MPSMY", + ["u_f_m_casinocash_01"] = "CasinoCash01", // mpvinewood + ["u_f_m_casinoshop_01"] = "CasinoShop01", // mpvinewood ["u_f_m_corpse_01"] = "Corpse01", + ["u_f_m_debbie_01"] = "Debbie01", // mpvinewood ["u_f_m_miranda"] = "Miranda", + ["u_f_m_miranda_02"] = "Miranda02", ["u_f_m_promourn_01"] = "PrologueMournFemale01", + ["u_f_m_carol"] = "Carol", // patchday22ng + ["u_f_m_eileen"] = "Eileen", // mpvinewood ["u_f_o_moviestar"] = "MovieStar", ["u_f_o_prolhost_01"] = "PrologueHostage01", + ["u_f_y_beth"] = "Beth", // mpvinewood ["u_f_y_bikerchic"] = "BikerChic", ["u_f_y_comjane"] = "ComJane", + ["u_f_y_corpse_01"] = "Corpse01", ["u_f_y_corpse_02"] = "Corpse02", + ["u_f_y_danceburl_01"] = "DanceBurl01", + ["u_f_y_dancelthr_01"] = "DanceLthr01", + ["u_f_y_dancerave_01"] = "DanceRave01", ["u_f_y_hotposh_01"] = "Hotposh01", ["u_f_y_jewelass_01"] = "Jewelass01", + ["u_f_y_lauren"] = "Lauren", // mpvinewood ["u_f_y_mistress"] = "Mistress", ["u_f_y_poppymich"] = "Poppymich", + ["u_f_y_poppymich_02"] = "Poppymich02", ["u_f_y_princess"] = "Princess", ["u_f_y_spyactress"] = "SpyActress", + ["u_f_y_taylor"] = "Taylor", // mpvinewood ["u_m_m_aldinapoli"] = "AlDiNapoli", ["u_m_m_bankman"] = "Bankman01", ["u_m_m_bikehire_01"] = "BikeHire01", + ["u_m_m_blane"] = "Blane", // mpvinewood + ["u_m_m_curtis"] = "Curtis", // mpvinewood + ["u_m_m_doa_01"] = "DOA01", + ["u_m_m_edtoh"] = "EdToh", ["u_m_m_fibarchitect"] = "FibArchitect", ["u_m_m_filmdirector"] = "FilmDirector", ["u_m_m_glenstank_01"] = "Glenstank01", @@ -1754,7 +2043,10 @@ private void RefreshCustomizationMenu() ["u_m_m_promourn_01"] = "PrologueMournMale01", ["u_m_m_rivalpap"] = "RivalPaparazzi", ["u_m_m_spyactor"] = "SpyActor", + ["u_m_m_streetart_01"] = "StreetArt01", + ["u_m_m_vince"] = "Vince", // mpvinewood ["u_m_m_willyfist"] = "WillyFist", + ["u_m_o_dean"] = "Dean", // mpvinewood ["u_m_o_finguru_01"] = "Finguru01", ["u_m_o_taphillbilly"] = "Taphillbilly", ["u_m_o_tramp_01"] = "Tramp01", @@ -1763,13 +2055,22 @@ private void RefreshCustomizationMenu() ["u_m_y_babyd"] = "Babyd", ["u_m_y_baygor"] = "Baygor", ["u_m_y_burgerdrug_01"] = "BurgerDrug", + ["u_m_y_caleb"] = "Caleb", // mpvinewood ["u_m_y_chip"] = "Chip", + ["u_m_y_corpse_01"] = "Corpse01", + ["u_m_y_croupthief_01"] = "CroupThief01", // mpvinewood ["u_m_y_cyclist_01"] = "Cyclist01", + ["u_m_y_danceburl_01"] = "DanceBurl01", + ["u_m_y_dancelthr_01"] = "DanceLthr01", + ["u_m_y_dancerave_01"] = "DanceRave01", ["u_m_y_fibmugger_01"] = "FibMugger01", + ["u_m_y_gabriel"] = "Gabriel", // mpvinewood ["u_m_y_guido_01"] = "Guido01", ["u_m_y_gunvend_01"] = "GunVend01", ["u_m_y_hippie_01"] = "Hippie01", ["u_m_y_imporage"] = "Imporage", + ["u_m_y_juggernaut_01"] = "Juggernaut01", + ["u_m_y_juggernaut_02"] = "Juggernaut02", // mpsum2 ["u_m_y_justin"] = "Justin", ["u_m_y_mani"] = "Mani", ["u_m_y_militarybum"] = "MilitaryBum", @@ -1780,8 +2081,10 @@ private void RefreshCustomizationMenu() ["u_m_y_proldriver_01"] = "PrologueDriver", ["u_m_y_rsranger_01"] = "RsRanger01AMO", ["u_m_y_sbike"] = "SbikeAMO", + ["u_m_y_smugmech_01"] = "SmugMech01", ["u_m_y_staggrm_01"] = "Staggrm01AMO", ["u_m_y_tattoo_01"] = "Tattoo01AMO", + ["u_m_y_ushi"] = "Ushi", // mpvinewood ["u_m_y_zombie_01"] = "Zombie01", }; diff --git a/vMenu/menus/VehicleOptions.cs b/vMenu/menus/VehicleOptions.cs index d6c97503..54f17b4f 100644 --- a/vMenu/menus/VehicleOptions.cs +++ b/vMenu/menus/VehicleOptions.cs @@ -155,6 +155,8 @@ private void CreateMenu() var tiresList = new List() { "All Tires", "Tire #1", "Tire #2", "Tire #3", "Tire #4", "Tire #5", "Tire #6", "Tire #7", "Tire #8" }; MenuListItem vehicleTiresList = new MenuListItem("Fix / Destroy Tires", tiresList, 0, "Fix or destroy a specific vehicle tire, or all of them at once. Note, not all indexes are valid for all vehicles, some might not do anything on certain vehicles."); + MenuItem destroyEngine = new MenuItem("Destroy Engine", "Destroys your vehicle's engine."); + MenuItem deleteBtn = new MenuItem("~r~Delete Vehicle", "Delete your vehicle, this ~r~can NOT be undone~s~!") { LeftIcon = MenuItem.Icon.WARNING, @@ -368,6 +370,10 @@ private void CreateMenu() menu.AddMenuItem(vehicleTiresList); //menu.AddMenuItem(destroyTireList); } + if (IsAllowed(Permission.VODestroyEngine)) // DESTROY VEHICLE ENGINE + { + menu.AddMenuItem(destroyEngine); + } if (IsAllowed(Permission.VOFreeze)) // FREEZE VEHICLE { menu.AddMenuItem(vehicleFreeze); @@ -502,7 +508,8 @@ private void CreateMenu() { SetLicensePlateCustomText(); } - else if (item == vehicleInvisible) // Make vehicle invisible. + // Make vehicle invisible. + else if (item == vehicleInvisible) { if (vehicle.IsVisible) { @@ -528,6 +535,11 @@ private void CreateMenu() vehicle.IsVisible = !vehicle.IsVisible; } } + // Destroy vehicle engine + else if (item == destroyEngine) + { + SetVehicleEngineHealth(vehicle.Handle, -4000); + } } // If the player is not the driver seat and a button other than the option below (cycle seats) was pressed, notify them. @@ -1812,6 +1824,7 @@ public void UpdateMods(int selectedIndex = 0) MenuCheckboxItem xenonHeadlights = new MenuCheckboxItem("Xenon Headlights", "Enable or disable ~b~xenon ~s~headlights.", IsToggleModOn(veh.Handle, 22)); MenuCheckboxItem turbo = new MenuCheckboxItem("Turbo", "Enable or disable the ~y~turbo~s~ for this vehicle.", IsToggleModOn(veh.Handle, 18)); MenuCheckboxItem bulletProofTires = new MenuCheckboxItem("Bullet Proof Tires", "Enable or disable ~y~bullet proof tires~s~ for this vehicle.", !GetVehicleTyresCanBurst(veh.Handle)); + MenuCheckboxItem lowGripTires = new MenuCheckboxItem("Low Grip Tires", "Enable or disable ~y~low grip tires~s~ for this vehicle.", GetDriftTyresEnabled(veh.Handle)); // Add the checkboxes to the menu. VehicleModMenu.AddMenuItem(toggleCustomWheels); @@ -1825,6 +1838,7 @@ public void UpdateMods(int selectedIndex = 0) VehicleModMenu.AddMenuItem(headlightColor); VehicleModMenu.AddMenuItem(turbo); VehicleModMenu.AddMenuItem(bulletProofTires); + VehicleModMenu.AddMenuItem(lowGripTires); // Create a list of tire smoke options. List tireSmokes = new List() { "Red", "Orange", "Yellow", "Gold", "Light Green", "Dark Green", "Light Blue", "Dark Blue", "Purple", "Pink", "Black" }; Dictionary tireSmokeColors = new Dictionary() @@ -1919,6 +1933,11 @@ public void UpdateMods(int selectedIndex = 0) { SetVehicleTyresCanBurst(veh.Handle, !_checked); } + // Low Grip Tyres + else if (item2 == lowGripTires) + { + SetDriftTyresEnabled(veh.Handle, _checked); + } // Custom Wheels else if (item2 == toggleCustomWheels) { diff --git a/vMenu/menus/WeaponOptions.cs b/vMenu/menus/WeaponOptions.cs index 0c384ff2..20931425 100644 --- a/vMenu/menus/WeaponOptions.cs +++ b/vMenu/menus/WeaponOptions.cs @@ -44,7 +44,7 @@ private void CreateMenu() MenuItem getAllWeapons = new MenuItem("Get All Weapons", "Get all weapons."); MenuItem removeAllWeapons = new MenuItem("Remove All Weapons", "Removes all weapons in your inventory."); - MenuCheckboxItem unlimitedAmmo = new MenuCheckboxItem("Unlimited Ammo", "Unlimited ammonition supply.", UnlimitedAmmo); + MenuCheckboxItem unlimitedAmmo = new MenuCheckboxItem("Unlimited Ammo", "Unlimited ammunition supply.", UnlimitedAmmo); MenuCheckboxItem noReload = new MenuCheckboxItem("No Reload", "Never reload.", NoReload); MenuItem setAmmo = new MenuItem("Set All Ammo Count", "Set the amount of ammo in all your weapons."); MenuItem refillMaxAmmo = new MenuItem("Refill All Ammo", "Give all your weapons max ammo."); diff --git a/vMenu/vMenuClient.csproj b/vMenu/vMenuClient.csproj index c3725302..5f53dce8 100644 --- a/vMenu/vMenuClient.csproj +++ b/vMenu/vMenuClient.csproj @@ -19,7 +19,7 @@ - + runtime diff --git a/vMenuServer/config/permissions.cfg b/vMenuServer/config/permissions.cfg index a83e04fd..eca69922 100644 --- a/vMenuServer/config/permissions.cfg +++ b/vMenuServer/config/permissions.cfg @@ -238,6 +238,7 @@ add_ace builtin.everyone "vMenu.VehicleOptions.All" allow #add_ace builtin.everyone "vMenu.VehicleOptions.Repair" allow #add_ace builtin.everyone "vMenu.VehicleOptions.Wash" allow #add_ace builtin.everyone "vMenu.VehicleOptions.Engine" allow +#add_ace builtin.everyone "vMenu.VehicleOptions.DestroyEngine" allow #add_ace builtin.everyone "vMenu.VehicleOptions.BikeSeatbelt" allow #add_ace builtin.everyone "vMenu.VehicleOptions.SpeedLimiter" allow #add_ace builtin.everyone "vMenu.VehicleOptions.ChangePlate" allow @@ -313,6 +314,7 @@ add_ace builtin.everyone "vMenu.PersonalVehicle.Menu" allow add_ace builtin.everyone "vMenu.PersonalVehicle.All" allow #add_ace builtin.everyone "vMenu.PersonalVehicle.ToggleEngine" allow #add_ace builtin.everyone "vMenu.PersonalVehicle.ToggleLights" allow +#add_ace builtin.everyone "vMenu.PersonalVehicle.ToggleStance" allow #add_ace builtin.everyone "vMenu.PersonalVehicle.KickPassengers" allow #add_ace builtin.everyone "vMenu.PersonalVehicle.LockDoors" allow # This grants both locking and unlocking the doors. #add_ace builtin.everyone "vMenu.PersonalVehicle.Doors" allow @@ -459,15 +461,22 @@ add_ace builtin.everyone "vMenu.WeaponOptions.All" allow # add_ace builtin.everyone "vMenu.WeaponOptions.Unarmed" allow # add_ace builtin.everyone "vMenu.WeaponOptions.VintagePistol" allow # add_ace builtin.everyone "vMenu.WeaponOptions.Wrench" allow -# add_ace builtin.everyone "vMenu.WeaponOptions.PlasmaPistol" allow # xmas 2018 dlc (1604) -# add_ace builtin.everyone "vMenu.WeaponOptions.PlasmaCarbine" allow # xmas 2018 dlc (1604) -# add_ace builtin.everyone "vMenu.WeaponOptions.PlasmaMinigun" allow # xmas 2018 dlc (1604) -# add_ace builtin.everyone "vMenu.WeaponOptions.StoneHatchet" allow # xmas 2018 dlc (1604) -# add_ace builtin.everyone "vMenu.WeaponOptions.CeramicPistol" allow # xmas 2019 dlc (1868) -# add_ace builtin.everyone "vMenu.WeaponOptions.NavyRevolver" allow # xmas 2019 dlc (1868) -# add_ace builtin.everyone "vMenu.WeaponOptions.PericoPistol" allow # xmas 2020 dlc (2189) -# add_ace builtin.everyone "vMenu.WeaponOptions.MilitaryRifle" allow # xmas 2020 dlc (2189) -# add_ace builtin.everyone "vMenu.WeaponOptions.CombatShotgun" allow # xmas 2020 dlc (2189) +# add_ace builtin.everyone "vMenu.WeaponOptions.PlasmaPistol" allow +# add_ace builtin.everyone "vMenu.WeaponOptions.PlasmaCarbine" allow +# add_ace builtin.everyone "vMenu.WeaponOptions.PlasmaMinigun" allow +# add_ace builtin.everyone "vMenu.WeaponOptions.StoneHatchet" allow +# add_ace builtin.everyone "vMenu.WeaponOptions.CeramicPistol" allow # mpheist3 dlc (1868) +# add_ace builtin.everyone "vMenu.WeaponOptions.NavyRevolver" allow # mpheist3 dlc (1868) +# add_ace builtin.everyone "vMenu.WeaponOptions.HazardCan" allow # mpheist3 dlc (1868) +# add_ace builtin.everyone "vMenu.WeaponOptions.PericoPistol" allow # mpheist4 dlc (2189) +# add_ace builtin.everyone "vMenu.WeaponOptions.MilitaryRifle" allow # mpheist4 dlc (2189) +# add_ace builtin.everyone "vMenu.WeaponOptions.CombatShotgun" allow # mpheist4 dlc (2189) +# add_ace builtin.everyone "vMenu.WeaponOptions.EMPLauncher" allow # mpsecurity dlc (2545) +# add_ace builtin.everyone "vMenu.WeaponOptions.HeavyRifle" allow # mpsecurity dlc (2545) +# add_ace builtin.everyone "vMenu.WeaponOptions.FertilizerCan" allow # mpsecurity dlc (2545) +# add_ace builtin.everyone "vMenu.WeaponOptions.StunGunMP" allow # mpsecurity dlc (2545) +# add_ace builtin.everyone "vMenu.WeaponOptions.PrecisionRifle" allow # mpsum2 dlc (2699) +# add_ace builtin.everyone "vMenu.WeaponOptions.TacticalRifle" allow # mpsum2 dlc (2699) #################################### # WEAPON LOADOUTS MENU # diff --git a/vMenuServer/vMenuServer.csproj b/vMenuServer/vMenuServer.csproj index 14d78205..63e58adc 100644 --- a/vMenuServer/vMenuServer.csproj +++ b/vMenuServer/vMenuServer.csproj @@ -19,7 +19,7 @@ - + runtime From c2e336c9cd57e6999f048911e4cf4050df6cbce1 Mon Sep 17 00:00:00 2001 From: Victor <44535997+VictorGamer072YT@users.noreply.github.com> Date: Thu, 29 Sep 2022 22:54:06 -0300 Subject: [PATCH 06/13] Update VehicleData.cs --- vMenu/data/VehicleData.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/vMenu/data/VehicleData.cs b/vMenu/data/VehicleData.cs index 42d888a5..d689570b 100644 --- a/vMenu/data/VehicleData.cs +++ b/vMenu/data/VehicleData.cs @@ -19,23 +19,23 @@ public VehicleColor(int id, string label) { if (label == "veh_color_taxi_yellow") { - if (CitizenFX.Core.Native.API.GetLabelText("veh_color_taxi_yellow") == "NULL") + if (GetLabelText("veh_color_taxi_yellow") == "NULL") { - CitizenFX.Core.Native.API.AddTextEntry("veh_color_taxi_yellow", $"Taxi {CitizenFX.Core.Native.API.GetLabelText("IEC_T20_2")}"); + AddTextEntry("veh_color_taxi_yellow", $"Taxi {GetLabelText("IEC_T20_2")}"); } } else if (label == "veh_color_off_white") { - if (CitizenFX.Core.Native.API.GetLabelText("veh_color_off_white") == "NULL") + if (GetLabelText("veh_color_off_white") == "NULL") { - CitizenFX.Core.Native.API.AddTextEntry("veh_color_off_white", "Off White"); + AddTextEntry("veh_color_off_white", "Off White"); } } else if (label == "VERY_DARK_BLUE") { - if (CitizenFX.Core.Native.API.GetLabelText("VERY_DARK_BLUE") == "NULL") + if (GetLabelText("VERY_DARK_BLUE") == "NULL") { - CitizenFX.Core.Native.API.AddTextEntry("VERY_DARK_BLUE", "Very Dark Blue"); + AddTextEntry("VERY_DARK_BLUE", "Very Dark Blue"); } } From a3d86124815bd23f2e745a5beafb2157169f2035 Mon Sep 17 00:00:00 2001 From: Victor <44535997+VictorGamer072YT@users.noreply.github.com> Date: Thu, 29 Sep 2022 23:00:52 -0300 Subject: [PATCH 07/13] Update Noclip.cs --- vMenu/Noclip.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vMenu/Noclip.cs b/vMenu/Noclip.cs index 146c8f9f..59ce5f4f 100644 --- a/vMenu/Noclip.cs +++ b/vMenu/Noclip.cs @@ -22,7 +22,8 @@ public class NoClip : BaseScript "Very Fast", "Extremely Fast", "Extremely Fast v2.0", - "Max Speed" + "Max Speed", + "Max Speed v2.0" }; public NoClip() From 063cd793a0b3f00808e629b63396e8b891be3d40 Mon Sep 17 00:00:00 2001 From: Victor <44535997+VictorGamer072YT@users.noreply.github.com> Date: Thu, 29 Sep 2022 23:01:10 -0300 Subject: [PATCH 08/13] Add 0.5x torque/power multiplier --- vMenu/menus/VehicleOptions.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vMenu/menus/VehicleOptions.cs b/vMenu/menus/VehicleOptions.cs index 54f17b4f..401233d0 100644 --- a/vMenu/menus/VehicleOptions.cs +++ b/vMenu/menus/VehicleOptions.cs @@ -176,9 +176,9 @@ private void CreateMenu() GetLabelText("CMOD_PLA_4"), "North Yankton" }; MenuListItem setLicensePlateType = new MenuListItem("License Plate Type", licensePlates, 0, "Choose a license plate type and press ~r~enter ~s~to apply " + "it to your vehicle."); - var torqueMultiplierList = new List { "x2", "x4", "x8", "x16", "x32", "x64", "x128", "x256", "x512", "x1024" }; + var torqueMultiplierList = new List { "x0.5", "x2", "x4", "x8", "x16", "x32", "x64", "x128", "x256", "x512", "x1024" }; MenuListItem torqueMultiplier = new MenuListItem("Set Engine Torque Multiplier", torqueMultiplierList, 0, "Set the engine torque multiplier."); - var powerMultiplierList = new List { "x2", "x4", "x8", "x16", "x32", "x64", "x128", "x256", "x512", "x1024" }; + var powerMultiplierList = new List { "x0.5", "x2", "x4", "x8", "x16", "x32", "x64", "x128", "x256", "x512", "x1024" }; MenuListItem powerMultiplier = new MenuListItem("Set Engine Power Multiplier", powerMultiplierList, 0, "Set the engine power multiplier."); List speedLimiterOptions = new List() { "Set", "Reset", "Custom Speed Limit" }; MenuListItem speedLimiter = new MenuListItem("Speed Limiter", speedLimiterOptions, 0, "Set your vehicles max speed to your ~y~current speed~s~. Resetting your vehicles max speed will set the max speed of your current vehicle back to default. Only your current vehicle is affected by this option."); From 3fb599ed6c2ccec59663e91cbdb9dc8ea056e8d9 Mon Sep 17 00:00:00 2001 From: Victor <44535997+VictorGamer072YT@users.noreply.github.com> Date: Thu, 29 Sep 2022 23:06:33 -0300 Subject: [PATCH 09/13] Update VehicleOptions.cs --- vMenu/menus/VehicleOptions.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vMenu/menus/VehicleOptions.cs b/vMenu/menus/VehicleOptions.cs index 401233d0..507b79a9 100644 --- a/vMenu/menus/VehicleOptions.cs +++ b/vMenu/menus/VehicleOptions.cs @@ -50,8 +50,8 @@ public class VehicleOptions public bool VehicleFrozen { get; private set; } = false; public bool VehicleTorqueMultiplier { get; private set; } = false; public bool VehiclePowerMultiplier { get; private set; } = false; - public float VehicleTorqueMultiplierAmount { get; private set; } = 2f; - public float VehiclePowerMultiplierAmount { get; private set; } = 2f; + public float VehicleTorqueMultiplierAmount { get; private set; } = 0.5f; + public float VehiclePowerMultiplierAmount { get; private set; } = 0.5f; private Dictionary vehicleExtras = new Dictionary(); #endregion From 038b8a1e30971c1111b4f7c914244974e6b791a6 Mon Sep 17 00:00:00 2001 From: Victor <44535997+VictorGamer072YT@users.noreply.github.com> Date: Thu, 29 Sep 2022 23:34:36 -0300 Subject: [PATCH 10/13] Add x2048 --- vMenu/menus/VehicleOptions.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vMenu/menus/VehicleOptions.cs b/vMenu/menus/VehicleOptions.cs index 507b79a9..be03d017 100644 --- a/vMenu/menus/VehicleOptions.cs +++ b/vMenu/menus/VehicleOptions.cs @@ -176,9 +176,9 @@ private void CreateMenu() GetLabelText("CMOD_PLA_4"), "North Yankton" }; MenuListItem setLicensePlateType = new MenuListItem("License Plate Type", licensePlates, 0, "Choose a license plate type and press ~r~enter ~s~to apply " + "it to your vehicle."); - var torqueMultiplierList = new List { "x0.5", "x2", "x4", "x8", "x16", "x32", "x64", "x128", "x256", "x512", "x1024" }; + var torqueMultiplierList = new List { "x0.5", "x2", "x4", "x8", "x16", "x32", "x64", "x128", "x256", "x512", "x1024", "x2048" }; MenuListItem torqueMultiplier = new MenuListItem("Set Engine Torque Multiplier", torqueMultiplierList, 0, "Set the engine torque multiplier."); - var powerMultiplierList = new List { "x0.5", "x2", "x4", "x8", "x16", "x32", "x64", "x128", "x256", "x512", "x1024" }; + var powerMultiplierList = new List { "x0.5", "x2", "x4", "x8", "x16", "x32", "x64", "x128", "x256", "x512", "x1024", "x2048" }; MenuListItem powerMultiplier = new MenuListItem("Set Engine Power Multiplier", powerMultiplierList, 0, "Set the engine power multiplier."); List speedLimiterOptions = new List() { "Set", "Reset", "Custom Speed Limit" }; MenuListItem speedLimiter = new MenuListItem("Speed Limiter", speedLimiterOptions, 0, "Set your vehicles max speed to your ~y~current speed~s~. Resetting your vehicles max speed will set the max speed of your current vehicle back to default. Only your current vehicle is affected by this option."); From 0b4a9c5b31e76f653c4d7def67f2e7e260f3c7b9 Mon Sep 17 00:00:00 2001 From: Victor <44535997+VictorGamer072YT@users.noreply.github.com> Date: Thu, 29 Sep 2022 23:34:57 -0300 Subject: [PATCH 11/13] Translate on the X axis whilst using Noclip. --- vMenu/Noclip.cs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/vMenu/Noclip.cs b/vMenu/Noclip.cs index 59ce5f4f..6efe8061 100644 --- a/vMenu/Noclip.cs +++ b/vMenu/Noclip.cs @@ -69,7 +69,10 @@ private async Task NoClipHandler() BeginScaleformMovieMethod(Scale, "SET_DATA_SLOT"); ScaleformMovieMethodAddParamInt(1); PushScaleformMovieMethodParameterString("~INPUT_MOVE_LR~"); + if (!FollowCamMode) PushScaleformMovieMethodParameterString($"Turn Left/Right"); + else + PushScaleformMovieMethodParameterString($"Move Left/Right"); EndScaleformMovieMethod(); BeginScaleformMovieMethod(Scale, "SET_DATA_SLOT"); @@ -131,6 +134,7 @@ private async Task NoClipHandler() if (Game.PlayerPed.IsInVehicle()) Game.DisableControlThisFrame(0, Control.VehicleRadioWheel); + var xoff = 0.0f; var yoff = 0.0f; var zoff = 0.0f; @@ -153,6 +157,16 @@ private async Task NoClipHandler() { yoff = -0.5f; } + + if (FollowCamMode && Game.IsDisabledControlPressed(0, Control.MoveLeftOnly)) + { + xoff = -0.5f; + } + if (FollowCamMode && Game.IsDisabledControlPressed(0, Control.MoveRightOnly)) + { + xoff = 0.5f; + } + if (!FollowCamMode && Game.IsDisabledControlPressed(0, Control.MoveLeftOnly)) { SetEntityHeading(Game.PlayerPed.Handle, GetEntityHeading(Game.PlayerPed.Handle) + 3f); @@ -161,6 +175,7 @@ private async Task NoClipHandler() { SetEntityHeading(Game.PlayerPed.Handle, GetEntityHeading(Game.PlayerPed.Handle) - 3f); } + if (Game.IsDisabledControlPressed(0, Control.Cover)) { zoff = 0.21f; @@ -180,7 +195,7 @@ private async Task NoClipHandler() moveSpeed *= 1.8f; } moveSpeed = moveSpeed / (1f / GetFrameTime()) * 60; - newPos = GetOffsetFromEntityInWorldCoords(noclipEntity, 0f, yoff * (moveSpeed + 0.3f), zoff * (moveSpeed + 0.3f)); + newPos = GetOffsetFromEntityInWorldCoords(noclipEntity, xoff * (moveSpeed + 0.3f), yoff * (moveSpeed + 0.3f), zoff * (moveSpeed + 0.3f)); var heading = GetEntityHeading(noclipEntity); SetEntityVelocity(noclipEntity, 0f, 0f, 0f); From 3d14ba494c005e5669d8f168a0726300a220d917 Mon Sep 17 00:00:00 2001 From: of-ravens-claw Date: Tue, 20 Dec 2022 21:37:05 -0300 Subject: [PATCH 12/13] Update to b2802 Probably missing some stuff, but it works. --- SharedClasses/PermissionsManager.cs | 4 ++++ vMenu/data/ValidWeapon.cs | 17 +++++++++++++++++ vMenu/data/VehicleData.cs | 17 +++++++++++++++++ 3 files changed, 38 insertions(+) diff --git a/SharedClasses/PermissionsManager.cs b/SharedClasses/PermissionsManager.cs index 60518c73..e3fad08e 100644 --- a/SharedClasses/PermissionsManager.cs +++ b/SharedClasses/PermissionsManager.cs @@ -312,6 +312,10 @@ public enum Permission // MPSUM2 DLC (v 2699) WPPrecisionRifle, WPTacticalRifle, + //MPCHRISTMAS3 DLC (b2802) + WPPistolXM3, + WPCandyCane, + WPRailgunXM3, #endregion // Weapon Loadouts Menu diff --git a/vMenu/data/ValidWeapon.cs b/vMenu/data/ValidWeapon.cs index b2f6d8d5..d4ca0f5e 100644 --- a/vMenu/data/ValidWeapon.cs +++ b/vMenu/data/ValidWeapon.cs @@ -226,6 +226,10 @@ private static void CreateWeaponsList() //MPSUM2 DLC (V 2699) { "weapon_tacticalrifle", GetLabelText("WTD_TACRIFLE") }, { "weapon_precisionrifle", GetLabelText("WTD_PRCSRIFLE") }, + //MPCHRISMAS3 dlc b2802 + { "weapon_pistolxm3", GetLabelText("WTD_PISTOLXM3") }, + { "weapon_candycane", GetLabelText("WTD_CANDYCANE") }, + { "weapon_railgunxm3", GetLabelText("WTD_RAILGUNXM3") }, }; public static readonly Dictionary weaponNames = new Dictionary() @@ -336,6 +340,10 @@ private static void CreateWeaponsList() //MPSUM2 DLC (V 2699) { "weapon_tacticalrifle", GetLabelText("WT_TACRIFLE") }, { "weapon_precisionrifle", GetLabelText("WT_PRCSRIFLE") }, + //MPCHRISMAS3 dlc b2802 + { "weapon_pistolxm3", GetLabelText("WT_PISTOLXM3") }, + { "weapon_candycane", GetLabelText("WT_CANDYCANE") }, + { "weapon_railgunxm3", GetLabelText("WT_RAILGUNXM3") }, }; #endregion @@ -448,6 +456,12 @@ private static void CreateWeaponsList() //MPSUM2 DLC (V 2699) ["weapon_tacticalrifle"] = Permission.WPTacticalRifle, ["weapon_precisionrifle"] = Permission.WPPrecisionRifle, + //MPCHRISTMAS3 DLC (b2802) + // No, I don't care about permissions at all. + // I'll remove all of them at some point + ["weapon_pistolxm3"] = Permission.WPPistolXM3, + ["weapon_candycane"] = Permission.WPCandyCane, + ["weapon_railgunxm3"] = Permission.WPRailgunXM3, }; #endregion @@ -832,6 +846,9 @@ private static void CreateWeaponsList() ["COMPONENT_TACTICALRIFLE_CLIP_02"] = GetLabelText("WCT_CLIP2"), ["COMPONENT_PRECISIONRIFLE_CLIP_01"] = GetLabelText("WCT_CLIP1"), ["COMPONENT_AT_AR_FLSH_REH"] = GetLabelText("WCT_FLASH"), + //MPCHRISMAS3 dlc b2802 + ["COMPONENT_PISTOLXM3_CLIP_01"] = GetLabelText("WCT_CLIP1"), + ["COMPONENT_PISTOLXM3_SUPP"] = GetLabelText("WCD_PI_SUPP"), }; #endregion diff --git a/vMenu/data/VehicleData.cs b/vMenu/data/VehicleData.cs index d689570b..936e9c29 100644 --- a/vMenu/data/VehicleData.cs +++ b/vMenu/data/VehicleData.cs @@ -354,6 +354,7 @@ public static class Vehicles "GRESLEY", "HABANERO", "HUNTLEY", + "ISS8", // LOS SANTOS DRUG WAR (MPCHRISTMAS3)DLC - Requires b2802 "IWAGEN", // THE CONTRACT (MPSECURITY) DLC - Requires b2545 "JUBILEE", // THE CONTRACT (MPSECURITY) DLC - Requires b2545 "LANDSTALKER", @@ -400,6 +401,7 @@ public static class Vehicles #region Muscle public static List Muscle { get; } = new List() { + "BROADWAY", // LOS SANTOS DRUG WAR (MPCHRISTMAS3)DLC - Requires b2802 "BLADE", "BUCCANEER", "BUCCANEER2", @@ -421,6 +423,7 @@ public static class Vehicles "DUKES2", "DUKES3", // SUMMER SPECIAL (MPSUM) DLC - Requires b2060 "ELLIE", + "EUDORA", // LOS SANTOS DRUG WAR (MPCHRISTMAS3)DLC - Requires b2802 "FACTION", "FACTION2", "FACTION3", @@ -464,9 +467,11 @@ public static class Vehicles "SLAMVAN6", "STALION", "STALION2", + "TAHOMA", // LOS SANTOS DRUG WAR (MPCHRISTMAS3)DLC - Requires b2802 "TAMPA", "TAMPA3", "TULIP", + "TULIP2", // LOS SANTOS DRUG WAR (MPCHRISTMAS3)DLC - Requires b2802 "VAMOS", "VIGERO", "VIGERO2", // CRIMINAL ENTERPRISES (MPSUM2) DLC - Requires b2699 @@ -558,6 +563,7 @@ public static class Vehicles "ELEGY", "ELEGY2", "EUROS", // LS TUNERS (MPTUNER) DLC - Requires b2372 + "EVERON2", // LOS SANTOS DRUG WAR (MPCHRISTMAS3)DLC - Requires b2802 "FELTZER2", "FLASHGT", "FUROREGT", @@ -589,11 +595,13 @@ public static class Vehicles "NINEF2", "OMNIS", "OMNISEGT", // CRIMINAL ENTERPRISES (MPSUM2) DLC - Requires b2699 + "PANTHERE", // LOS SANTOS DRUG WAR (MPCHRISTMAS3)DLC - Requires b2802 "PARAGON", // CASINO AND RESORT (MPVINEWOOD) DLC - Requires b2060 "PARAGON2", // CASINO AND RESORT (MPVINEWOOD) DLC - Requires b2060 "PARIAH", "PENUMBRA", "PENUMBRA2", // SUMMER SPECIAL (MPSUM) DLC - Requires b2060 + "R300", // LOS SANTOS DRUG WAR (MPCHRISTMAS3)DLC - Requires b2802 "RAIDEN", "RAPIDGT", "RAPIDGT2", @@ -648,6 +656,7 @@ public static class Vehicles "EMERUS", // CASINO AND RESORT (MPVINEWOOD) DLC - Requires b2060 "ENTITYXF", "ENTITY2", + "ENTITY3", // LOS SANTOS DRUG WAR (MPCHRISTMAS3)DLC - Requires b2802 "FMJ", "FURIA", // CASINO HEIST (MPHEIST3) DLC - Requires b2060 "GP1", @@ -683,6 +692,7 @@ public static class Vehicles "VACCA", "VAGNER", "VIGILANTE", + "VIRTUE", // LOS SANTOS DRUG WAR (MPCHRISTMAS3)DLC - Requires b2802 "VISIONE", "VOLTIC", "VOLTIC2", @@ -728,11 +738,13 @@ public static class Vehicles "LECTRO", "MANCHEZ", "MANCHEZ2", // CAYO PERICO (MPHEIST4) DLC - Requires b2189 + "MANCHEZ3", // LOS SANTOS DRUG WAR (MPCHRISTMAS3)DLC - Requires b2802 "NEMESIS", "NIGHTBLADE", "OPPRESSOR", "OPPRESSOR2", "PCJ", + "POWERSURGE", // LOS SANTOS DRUG WAR (MPCHRISTMAS3)DLC - Requires b2802 "RATBIKE", "REEVER", // THE CONTRACT (MPSECURITY) DLC - Requires b2545 "RROCKET", // CASINO AND RESORT (MPVINEWOOD) DLC - Requires b2060 @@ -756,6 +768,7 @@ public static class Vehicles #region OffRoad public static List OffRoad { get; } = new List() { + "BOOR", // LOS SANTOS DRUG WAR (MPCHRISTMAS3)DLC - Requires b2802 "BFINJECTION", "BIFTA", "BLAZER", @@ -917,6 +930,7 @@ public static class Vehicles "GBURRITO", "GBURRITO2", "JOURNEY", + "JOURNEY2", // LOS SANTOS DRUG WAR (MPCHRISTMAS3)DLC - Requires b2802 "MINIVAN", "MINIVAN2", "PARADISE", @@ -930,6 +944,7 @@ public static class Vehicles "SPEEDO4", "SURFER", "SURFER2", + "SURFER3", // LOS SANTOS DRUG WAR (MPCHRISTMAS3)DLC - Requires b2802 "TACO", "YOUGA", "YOUGA2", @@ -1026,6 +1041,7 @@ public static class Vehicles "BLIMP3", "BOMBUSHKA", "CARGOPLANE", + "CARGOPLANE2", // LOS SANTOS DRUG WAR (MPCHRISTMAS3)DLC - Requires b2802 "CUBAN800", "DODO", "DUSTER", @@ -1062,6 +1078,7 @@ public static class Vehicles { "AIRBUS", "BRICKADE", + "BRICKADE2", // LOS SANTOS DRUG WAR (MPCHRISTMAS3)DLC - Requires b2802 "BUS", "COACH", "PBUS2", From c7629216e7e5a4321d2158d693334088b0f2c055 Mon Sep 17 00:00:00 2001 From: of-ravens-claw Date: Tue, 20 Dec 2022 22:43:51 -0300 Subject: [PATCH 13/13] Move NY plate to label, Fix ISSI8 Because no one thought about checking for other strings that also meant North Yankton. Bloody brilliant, don't you think? --- vMenu/data/VehicleData.cs | 2 +- vMenu/menus/VehicleOptions.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/vMenu/data/VehicleData.cs b/vMenu/data/VehicleData.cs index 936e9c29..cbc587dd 100644 --- a/vMenu/data/VehicleData.cs +++ b/vMenu/data/VehicleData.cs @@ -354,7 +354,7 @@ public static class Vehicles "GRESLEY", "HABANERO", "HUNTLEY", - "ISS8", // LOS SANTOS DRUG WAR (MPCHRISTMAS3)DLC - Requires b2802 + "ISSI8", // LOS SANTOS DRUG WAR (MPCHRISTMAS3)DLC - Requires b2802 "IWAGEN", // THE CONTRACT (MPSECURITY) DLC - Requires b2545 "JUBILEE", // THE CONTRACT (MPSECURITY) DLC - Requires b2545 "LANDSTALKER", diff --git a/vMenu/menus/VehicleOptions.cs b/vMenu/menus/VehicleOptions.cs index be03d017..ab7f1db8 100644 --- a/vMenu/menus/VehicleOptions.cs +++ b/vMenu/menus/VehicleOptions.cs @@ -173,7 +173,7 @@ private void CreateMenu() MenuListItem setDirtLevel = new MenuListItem("Set Dirt Level", dirtlevel, 0, "Select how much dirt should be visible on your vehicle, press ~r~enter~s~ " + "to apply the selected level."); var licensePlates = new List { GetLabelText("CMOD_PLA_0"), GetLabelText("CMOD_PLA_1"), GetLabelText("CMOD_PLA_2"), GetLabelText("CMOD_PLA_3"), - GetLabelText("CMOD_PLA_4"), "North Yankton" }; + GetLabelText("CMOD_PLA_4"), GetLabelText("PROL") }; // PROL = North Yankton MenuListItem setLicensePlateType = new MenuListItem("License Plate Type", licensePlates, 0, "Choose a license plate type and press ~r~enter ~s~to apply " + "it to your vehicle."); var torqueMultiplierList = new List { "x0.5", "x2", "x4", "x8", "x16", "x32", "x64", "x128", "x256", "x512", "x1024", "x2048" }; @@ -183,7 +183,7 @@ private void CreateMenu() List speedLimiterOptions = new List() { "Set", "Reset", "Custom Speed Limit" }; MenuListItem speedLimiter = new MenuListItem("Speed Limiter", speedLimiterOptions, 0, "Set your vehicles max speed to your ~y~current speed~s~. Resetting your vehicles max speed will set the max speed of your current vehicle back to default. Only your current vehicle is affected by this option."); #endregion - + #region Submenus // Submenu's VehicleModMenu = new Menu("Mod Menu", "Vehicle Mods");