An ASI plugin for Grand Theft Auto V, which allows running scripts written in any .NET language on the .NET Framework runtime in-game.
ZLIB License
Bot releases are hidden (Show)
Published by crosire about 7 years ago
Model.IsPed
propertyGameVersion
enum to contain newer versionsPublished by crosire about 7 years ago
Published by crosire over 7 years ago
The installation procedure has changed. You need to install both ScriptHookVDotNet.asi
and ScriptHookVDotNet2.dll
to the game directory now. Scripts should reference ScriptHookVDotNet2.dll
. These changes were necessary to prepare for the v3 release.
Don't forget to unblock ScriptHookVDotNet2.dll
after extraction!!!!
See https://blogs.msdn.microsoft.com/delay/p/unblockingdownloadedfile/
GameVersion
enum to contain newer versionsPublished by crosire over 7 years ago
GameVersion
enum to contain newer versionsGame.GenerateHash
for input that contains backslashesVehicle.HighGear
not throwing an exception on invalid input valuesPublished by crosire over 7 years ago
GameVersion
enum to contain newer versionsPublished by crosire almost 8 years ago
GameVersion
enum to contain newer versionsPublished by crosire about 8 years ago
GameVersion
enum to contain newer versionsPublished by crosire over 8 years ago
Tasks.PlayAnimation()
IDisposable
interface from Script
class (but it's obsolete)Published by crosire over 8 years ago
ScriptSettings.GetValue
returning null
instead of the default value if an entry was not foundPublished by crosire over 8 years ago
This is the last big update to the v2 line of Community Script Hook V .NET (aka SHVDN). The upcoming major v3 version is a complete overhaul of the project and will break compatibility with most scripts. To continue support for older mods written against v2 or earlier, an option to change the location from which scripts are loaded was added, which now makes it possible to run multiple different versions of SHVDN alongside each other (e.g. both v2.9 and v3.0).
To do so, add a new INI file with the same name as the ASI to the game folder (e.g. ScriptHookVDotNet.ini
if the ASI is called ScriptHookVDotNet.asi
) with the following lines for SHVDN to load scripts from "\scripts_custom" instead of "\scripts":
ReloadKey=Insert
ScriptsLocation=scripts_custom
Script developers are encouraged to start becoming comfortable with all the changes to the .NET scripting API in v3. To do so, simply checkout and build the default dev_v3
branch. But please note that it's a work-in-progress, so changes are still to be expected.
Also, the entire .NET scripting API was rewritten from scratch in C# (instead of C++/CLI as before), which should make contributions a lot easier for most, if you are interested in helping this project.
Aborted
event to script class which is called on shutdownBlip.Rotation
setterCamera.GetOffsetInWorldCoords
and Camera.GetOffsetFromWorldCoords
Entity.IsInAngledArea
and Entity.ApplyForce
overloads which take a ForceType
enumPed.DropsWeaponsOnDeath
getter, Ped.MovementAnimationSet
setter and Ped.GetLastWeaponImpactCoords()
Player.MaxArmor
, Player.WantedCenterPosition
, Player.PrimaryParachuteTint
, Player.ReserveParachuteTint
, Player.ChangeModel()
, Player.RefillSpecialAbility()
, Player.SetRunSpeedMultThisFrame()
, Player.SetSwimSpeedMultThisFrame()
, SetExplosiveAmmoThisFrame()
, SetExplosiveMeleeThisFrame()
, SetSuperJumpThisFrame()
, SetFireAmmoThisFrame()
Scaleform.IsLoaded
, Scalreform.IsValid
and new constructor overload to handle loading instead of the Load()
methodTasks.AchieveHeading()
, Tasks.FollowToOffsetFromEntity()
, Tasks.LeaveVehicle()
with LeaveVehicleFlags
overload, more Tasks.ParkVehicle()
overloads and more Tasks.PlayAnimation()
overloadsVehicle.Driver
, Vehicle.IsFrontBumperBrokenOff
, Vehicle.IsRearBumperBrokenOff
, Vehicle.IsAxlesStrong
setter, Vehicle.DropsMoneyOnExplosion
setter, Vehicle.ProvidesCover
setter, Vehicle.HasBombBay
, Vehicle.HasForks
, Vehicle.HasSiren
, Vehicle.HasTowArm
, Vehicle.CurrentRPM
setter, Vehicle.WheelSpeed
, Vehicle.ExtraExists()
, Vehicle.IsExtraOn()
, Vehicle.ToggleExtra()
, Vehicle.Wash()
, Vehicle.GetDoors()
, Vehicle.IsDoorOpen()
, Vehicle.GetDoorAngleRatio()
, Vehicle.OpenBombBay()
, Vehicle.CloseBombBay()
Weapon.Name
and various methods related to weapon componentsWorld.GetClosest()
and additional overlodas for World.AddExplosion
and World.AddOwnedExplosion
UI.Notify
and UI.ShowSubtitle
for messages longer than 99 charactersVector3.Distance2D
and Vector3.DistanceSquared2D
Published by crosire over 8 years ago
WeaponAsset
classPublished by crosire over 8 years ago
Ped.SetConfigFlag()
Published by crosire over 8 years ago
byte
and short
overloads to InputArgument
/OutputArgument
Vehicle.MaxSpeed
getterPublished by crosire over 8 years ago
Vector3.DistanceTo2D()
and Vector3.DistanceToSquared2D()
Published by crosire over 8 years ago
BlaineCountyRadio
to radio station enumIEquatable
base interface to some scripting classesIEnumerable
base interface to PedGroup
classIHandleable
and ISpatial
base interfacesInputArgument
and OutputArgument
overload for uint
World.ShootBullet()
overload which takes a speed argumentUI.DrawTexture()
with a non-existing fileWeaponCollection.Give()
Entity.IsExplosionProof
, Entity.HasCollision
, Ped.CanSufferCriticalHits
and Vehicle.LandingGear
World.NextWeather
Game.GenerateHash()
with custom implementationPublished by crosire over 8 years ago
Entity.Health
behavior from previous versionsPublished by crosire over 8 years ago
Audio
classUISprite
classUIText
classWorld.Weather
getterPed.IsFalling
, Ped.IsJumping
, Ped.IsClimbing
, Ped.IsVaulting
, Ped.IsDiving
, Ped.IsFleeing
, Ped.IsInCombatAgainst()
, Ped.IsHeadtracking()
, Ped.IsJumpingOutOfVehicle
, Ped.IsCuffed
, Ped.DropsWeaponsOnDeath
setter, Ped.GetVehiclesIsTryingtoEnter()
, Ped.GetMeleeTarget()
, ...Ped.Clone()
methodVehicle.IsDamaged
, Vehicle.ClassType
Entity.IsTouching()
Player.DisableFiringThisFrame()
Task.EnterVehicle()
overloadsWeapon.Tint
GameplayCamera.Zoom
Game.GenerateHash()
, Game.GetControlNormal()
Entity.Health
Ped.MaxHealth
Entity.HasGravity
Published by crosire almost 9 years ago
First public release.
Published by crosire almost 9 years ago
Published by crosire almost 9 years ago
World.CreatePed()
and World.CreateVehicle()
to instantiate entitiesEntity
, Ped
and Vehicle
classesModel
classScript.Wait()
functionVector2
classScript.Settings
Vector3
, Matrix
and Quaternion
classes into separate Math
namespacePed.CurrentVehicle
to use "GET_VEHICLE_PED_IS_IN" instead of "GET_VEHICLE_PED_IS_USING"Game.RadarZoom
not being of type int