Skip to content

ScriptHookVDotNet v3.2.0

Compare
Choose a tag to compare
@crosire crosire released this 25 Sep 16:19

NativeHashes enums are updated (v3 API only). Compiled scripts do not take effect since enums are embedded as constants when directly used. See f0ae67b for the changes.

Changelog

  • Fixed NaturalMotion.Euphoria. Now required memory offsets for the class are retrieved using memory patterns.

  • Added Native.Function.Call overloads with 0 to 16 normal InputArgument parameters. These overloads are provided mainly for performance.

    • This is also added in v2 API mainly for the API itself to improve performance, but you can use these overloads in scripts.
  • Added GameVersionNotSupportedException

    • This will be thrown if the properties or methods that are not supported in the game version you are playing (some certain getter properties or methods will return the default value instead).
  • Added EntityDamageRecord struct, EntityDamageRecordCollection class, and Entity.DamageRecords

  • Added Projectile class, World.GetAllProjectiles(), World.GetNearbyProjectiles(), World.GetClosestProjectile(), World.ProjectileCount, and World.ProjectileCapacity

  • Added MeasurementSystem enum and Game.MeasurementSystem

  • Added PlayerTargetingMode enum and Game.PlayerTargetingMode

  • Added Game.IsVibrationEnabled and Game.GetProfileSetting()

  • Added EntityPopulationType enums and Entity.PopulationType

  • Added the setter of Entity.RotationVelocity, and Entity.WorldRotationVelocity

  • Added Model.IsAnimalPed, Model.IsFemalePed, Model.IsGangPed, Model.IsHumanPed, Model.IsMalePed, Model.IsMotorcycle, and Model.IsSubmarine,

  • Added the getter of Ped.CanBeTargetted

  • Added Ped.SetIsPersistentNoClearTask() and Ped.GetAllLoadedModelsAppropriateForAmbientPeds()

  • Added Player.LockedOnEntity property

  • Added VehicleType enum, Vehicle.Type, Vehicle.IsRegularAutomobile, Vehicle.IsAmphibiousAutomobile, Vehicle.IsAutomobile, Vehicle.IsRegularQuadBike, Vehicle.IsAmphibiousQuadBike, Vehicle.IsQuadBike, Vehicle.IsAmphibious, Vehicle.IsTrailer, Vehicle.IsPlane, Vehicle.IsHelicopter, Vehicle.IsBlimp, Vehicle.IsMotorcycle, Vehicle.IsBicycle, Vehicle.IsBike, Vehicle.IsBoat, Vehicle.IsTrain, and Vehicle.IsSubmarine

    • These properties are added mainly for performance. Accessing these properties will be faster than accessing the equivalent properties of Model via Vehicle.Model.
  • Added Vehicle.IsConsideredDestroyed, Vehicle.GetModelMakeName(), Vehicle.GetModelType(), Vehicle.GetAllModelsOfType(), and Vehicle.GetAllLoadedModelsAppropriateForAmbientVehicles()

  • Added VehicleWheelBoneId enum, VehicleWheel.MemoryAddress, VehicleWheel.BoneId, VehicleWheel.LastContactPosition, VehicleWheel.SteeringLimitMultiplier, VehicleWheel.Temperature, VehicleWheel.IsTouchingSurface, VehicleWheel.IsTireOnFire, VehicleWheel.IsSteeringWheel, VehicleWheel.IsDrivingWheel, VehicleWheel.IsPunctured, VehicleWheel.IsBursted, VehicleWheel.Health, VehicleWheel.TireHealth, VehicleWheel.Fix() with a bool overload, VehicleWheel.Puncture(), and VehicleWheel.Burst()

  • Added Weapon.GetAllWeaponHashesForHumanPeds(), WeaponComponent.GetAllHashes() WeaponAsset.IsValidAsWeaponHash

  • Added World.IsClockPaused and World.MillisecondsPerGameMinute

  • Added a new overload for World.CreateRandomPed()

  • Added World.CreateRandomVehicle() with a new signature

    • Removed the old signature of CreateRandomVehicle since it did not work at all in all the versions of SHVDN
  • Added and PlayerTargetingMode enums

  • Added Screen.AreScreenKillEffectsEnabled, Screen.IsHelpTextDisplayed ,Screen.ShowSubtitle() with additional parameters, and Screen.ClearHelpText()

  • Added new or missing peds, vehicles, weapons, weapon components, radio stations, blip sprites, explosion types, checkpoint icon type, radio station, and vehicle color to PedHash, VehicleHash, WeaponHash, WeaponComponentHash, RadioStation, BlipSprite, ExplosionType, CheckpointIcon, RadioStation, and VehicleColor enums

  • Added the correct enum names to RagdollType and mark the old and incorrect enum names of RagdollType as obsolete

  • Added additional shortcut to remove the right character of the cursor with Ctrl + D in console

  • Added additional shortcut to remove the left character of the cursor with Ctrl + H in console

  • Added the ability to transpose two characters around the cursor with Ctrl + T in console

  • Added the ability to keep console history after reloading scripts

  • Fixed Blip.DisplayType, Blip.CategoryType, Blip.Priority, Blip.NumberLabel, Blip.Rotation, Blip.RotationFloat, Blip.ScaleY returning a incorrect value in v1.0.877.1 or earlier versions

  • Fixed Model.IsBlimp, Model.IsSubmarineCar, Model.IsTrailer returning a incorrect value in v1.0.877.1 or earlier versions

  • Fixed All of the properties of Checkpoint and Checkpoint.Exists() crashing the game on access

  • Fixed Weapon.GetDisplayNameFromHash returning WT_INVALID when some of the weapon hashes that are present in the stock game is present

  • Fixed Weapon.GetDisplayNameFromHash returning WT_INVALID when some of the weapon hashes that are present in the stock game is present

  • Fixed throwing NullReferenceException when WeaponCompoent.Active, WeaponCompoent.DisplayName, WeaponCompoent.LocalizedName is accessed via the instance for the invalid component. Now returns false or the empty string if accessed via the instance for the invalid component.

  • Made Entity.MarkAsNoLongerNeeded() in v3 API not setting the handle to zero (now behaves in the same way as that in v2 API)

    • Entity.Delete() in v3 API still sets the handle to zero, so be aware! If you need to remove entities from collecitions such as Dictionary, remove them from these collection before deting entities from the game.
  • Made getting entities handles with the methods in World class faster

  • Made pushing strings to native functions faster

  • Made Entity.FromHandle and Entity.EntityType values faster

  • Made World.WaypointBlip and World.WaypointPosition get values faster

  • Made WeaponComponent.AttachmentPoint get value faster

  • Made Weapon.Components load all compatible weapon components faster

  • Made Screen.ShowHelpTextThisFrame() show texts only one frame

  • Made all of the ped and vehicle properties that directly access to memory more future-proof by using memory patterns, preventing some scripts from easily not working by game updates