Script Hook V .NET v3.3.1


5.0/5 Votes: 3,228
Alexander Blade
Jan 17, 2022
Windows 10 / Windows 8 / Windows 7
932 KB

Report this app


Community Script Hook V.NET v3.3.1 is an ASI module that allows games to run in-game with .NET language. Its source code is available on GitHub.

How to Install Script Hook V.NET v3.3.1

  1. First you need to Install both the Microsoft .NET Framework 4.5.2 (or higher, so skip this on Windows 10) and the Microsoft Visual C++ Redistributable Package for Visual Studio 2013 (x64).
  2. Now Download and Install the Latest version of Script Hook V.
  3. After that you need to Download Community Script Hook V .NET.
  4. Now Copy the ScriptHookVDotNet.asi, ScriptHookVDotNet2.dll and ScriptHookVDotNet3.dll files into your game directory.

Changelog Script Hook V.NET v3.3.1

Despite the minor version difference, this version is basically the same as v3.2.0 but with one bug fix, additional enum values for WeaponComponentHash and WeaponAttachmentPoint, and additional properties for missing enum values of WeaponAttachmentPoint. v3.3.0 is skipped due to versioning issues.

What's new

Script Hook V  V3.4.0 (Latest Version)

  • Added Entity.FragmentGroupCountEntity.IsFragmentObjectEntity.DetachFragmentPart()EntityBone.FragmentGroupIndexWorld.EntityColliderCount, and Entity.EntityColliderCapacity
  • Added Ped.SeeingRangePed.HearingRangePed.VisualFieldMinAnglePed.VisualFieldMaxAnglePed.VisualFieldMinElevationAnglePed.VisualFieldMaxElevationAnglePed.VisualFieldPeripheralRange, and Ped.VisualFieldCenterAngle
  • Added Ped.CauseOfDeathPed.TimeOfDeathPed.ClearKillerRecord()Ped.ClearCauseOfDeathRecord(), and Ped.ClearTimeOfDeathRecord()
  • Added the getter of Ped.FiringPattern
  • Added Game.FindPattern()
  • Added Quaternion.LookRotation()
  • Added new peds, vehicles, weapons, weapon components, radio station, blip sprites, and explosion type to PedHashVehicleHashWeaponHashWeaponComponentHashRadioStationBlipSprite, and ExplosionType enums
  • Added the documentation note for the incorrectly named parameter offset to Entity.ApplyForce() and Entity.ApplyForceRelative()
  • Added the documentation note for the non-working parameter isAmmoLoaded to WeaponCollection.Give()
  • Fixed Stop() method of helper classes of Euphoria not working
  • Fixed Start() method of helper classes of Euphoria not working properly when peds are ragdolled. Now the method can apply simultaneously just like in v2.10.10 or earlier versions.
    • Also made the Start() method working when peds are ragdolled but not by SET_PED_TO_RAGDOLL, which does not work in v2.10.10 or earlier versions.
  • Fixed Vehicle.PassengerCount not counting as intended in v1.0.2545.0 (or later versions) due to addition to parameters and implementation changes

Change Log:

Script Hook V  V3.3.2

  • Fixed VehicleWheel.IsTouchingSurface crashing the game in some cases
  • Fixed scripts using subclasses that indirectly inherit GTA.Script not showing the correct API version in the log file and console log (although this did not affect determining the API version)

Script Hook V  V3.3.1

  • Fixed NaturalMotion.Message not properly sending Vector3 messages
  • Added missing weapon component and weapon attachment point hashes to WeaponComponentHash and WeaponAttachmentPoint
  • Added WeaponComponentCollection.GetBarrelComponent()WeaponComponentCollection.BarrelVariationsCountWeaponComponentCollection.GetSuppressorOrMuzzleBrakeComponent()WeaponComponentCollection.SuppressorAndMuzzleBrakeVariationsCountWeaponComponentCollection.GetGunRootComponent(), and WeaponComponentCollection.GunRootVariationsCount
    • Made WeaponComponentCollection.GetLuxuryFinishComponent() obsolete

Script Hook V  V3.2.0

  • 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.IsAnimalPedModel.IsFemalePedModel.IsGangPedModel.IsHumanPedModel.IsMalePedModel.IsMotorcycle, and Model.IsSubmarine,

  • Added the getter of Ped.CanBeTargetted

Script Hook V  V3.1.0

  • Added Blip.MemoryAddressBlip.DisplayTypeBlip.CategoryTypeBlip.SecondaryColorBlip.DisplayNameHashBlip.RotationFloatBlip.ScaleXBlip.ScaleYBlip.FlashIntervalBlip.FlashTimeLeftBlip.ShowsDollarSignBlip.ShowsHeadingIndicatorBlip.ShowsOutlineIndicatorBlip.ShowsFriendIndicatorBlip.ShowsCrewIndicatorBlip.IsHiddenOnLegendBlip.GetAppropriateName()Blip.ResetName()BlipCategoryTypeBlipDisplayType, and World.GetNearbyBlips()
  • Added the getters of Blip.PriorityBlip.NumberLabelBlip.NameBlip.Rotation, and Blip.ShowRoute
  • Added Model.IsBigModel.HasBulletProofGlassModel.HasLowriderHydraulicsModel.HasDonkHydraulicsModel.HasParachuteModel.HasRocketBoostModel.AllowRappelModel.CanStandOnTop, and Model.CanJump
  • Added Vehicle.IsBigVehicleVehicle.IsBusVehicle.IsDonkVehicle.IsElectricVehicleVehicle.IsEmergencyVehicleVehicle.IsLawEnforcementVehicleVehicle.IsLowriderVehicle.IsOffRoadVehicleVehicle.IsSubmarineCarVehicle.IsTank, and Vehicle.IsVan
  • Added World.PedCountWorld.PropCountWorld.PickupObjectCountWorld.VehicleCapacityWorld.PedCapacityWorld.PropCapacity, and World.PickupObjectCapacity
  • Added Entity.IsWaterCannonProofEntity.IsSteamProofEntity.IsSmokeProof
  • Added the property Vehicle.HandlingData
  • Added Ped.GetAllModels() and Weapon.GetAllModels()
  • Added new peds, vehicles, weapons, radio stations, blip sprites, and explosion types to PedHashVehicleHashWeaponHashRadioStation,BlipSprite, and ExplosionType enums
  • Added OpenWheel to VehicleClass enum
  • Added missing control values to Control enum
  • Added missing firing pattern values to FiringPattern enum
  • Added missing flag values to LeaveVehicleFlags enum
  • Added more accurate values to VehicleLockStatus and made confusing values obsolete
  • Added countermeasure against removing vehicles added in Arena War or later updates (Lowriders or later updates in 1.0.505.2 to 1.0.1493.1), using memory patterns

Script Hook V  V3.0.4

  • Added new vehicles to VehicleHash enum
  • Added overload to Screen.ShowHelpTextThisFrame() to make beeping optional
  • Added WeaponCollection.Give() overload which accepts a weapon name
  • Added setter for Ped.VehicleWeapon
  • Added VehicleWindowTint.Invalid enum value for when the native returns “-1”
  • Fixed Ped.Kill()
  • Fixed wrong date being set and returned by World.CurrentDate
  • Fixed setter for Vehicle.SteeringAngle using radians instead of degrees
  • Fixed file version information for ScriptHookVDotNet2.dll

Script Hook V  V3.0.3

  • Fixed missing multiply operator in quaternion class for v2 API
  • Fixed IsPersistent and MarkAsNoLongerNeeded() using the wrong natives
  • Updated GameVersion enum to contain newer versions

Script Hook V  V3.0.2

  • Fixed “//0” being added to INI value when saving script settings
  • Fixed keyboard state not updating correctly when pressing modifier keys (like Ctrl or Shift)
  • Fixed scripts that were installed to subdirectories of “scripts” not loading
    This should never have worked, but did in v2 because of an oversight. Unfortunately some scripts rely on this, so enabling that behavior again.

Script Hook V  V3.0.1

  • Added reload key again and support for changing the console toggle key
  • Fixed some scripts failing to load with a TypeLoadException
  • Fixed characters going missing when rendering strings greater than 198 characters

Script Hook V  V3.0.0

  • Added in-game console
  • Added in-game notification when a script crashes
  • Added new scripting API with lots of new features, like particles, advanced notifications, … (see ScriptHookVDotNet3.dll for reference)
  • Added support for spawning additional instances of a script (check out Script.InstantiateScript, requires v3 API)
  • Added missing heading parameter to Tasks.StartScenario
  • Fixed Weather.Halloween
  • Fixed potential crash when calling Entity.Persistent = false
  • Fixed World.GetNearbyPeds() and similar crashing the game when called with a model
  • Removed support for loading script assemblies from a subdirectory inside “scripts”
  • Removed GTA.UI.WorldToScreen from v2 (impossible to implement due to how the new loader works)
    Scripts using this method won’t work unfortunately. They need to be compiled against the v3 API.


Version Size Requirements Date
3.0.4 869 KB Windows 10 / Windows 8 / Windows 7 03/07/2020
3.1.0 886 KB Windows 10 / Windows 8 / Windows 7 30/12/2020
3.2.0 931 KB Windows 10 / Windows 8 / Windows 7 25/09/2021