SHVDN
v3
An ASI plugin for Grand Theft Auto V, which allows running scripts written in any .NET language in-game. Developed by crosire https://github.com/crosire/scripthookvdotnet/
|
Public Member Functions | |
PointGunHelper (Ped ped) | |
Creates a new Instance of the PointGunHelper for sending a PointGun Message to a given Ped. More... | |
Public Member Functions inherited from GTA.NaturalMotion.CustomHelper | |
void | Start () |
Starts this Natural Motion behavior on the Ped that will loop until manually aborted. More... | |
void | Start (int duration) |
Starts this Natural Motion behavior on the Ped for a specified duration. More... | |
void | Stop () |
Stops this Natural Motion behavior on the Ped. More... | |
void | SetArgument (string argName, bool value) |
Sets a Message argument to a bool value. More... | |
void | SetArgument (string argName, int value) |
Sets a Message argument to a int value. More... | |
void | SetArgument (string argName, float value) |
Sets a Message argument to a float value. More... | |
void | SetArgument (string argName, string value) |
Sets a Message argument to a string value. More... | |
void | SetArgument (string argName, Vector3 value) |
Sets a Message argument to a Vector3 value. More... | |
void | ResetArguments () |
Resets all arguments to their default values. More... | |
override string | ToString () |
Returns the internal message name. More... | |
Properties | |
bool | EnableRight [set] |
Allow right hand to point/support?. More... | |
bool | EnableLeft [set] |
Allow right hand to point/support?. More... | |
Vector3 | LeftHandTarget [set] |
Target for the left Hand. More... | |
int | LeftHandTargetIndex [set] |
Index of the object that the left hand target is specified in, -1 is world space. More... | |
Vector3 | RightHandTarget [set] |
Target for the right Hand. More... | |
int | RightHandTargetIndex [set] |
Index of the object that the right hand target is specified in, -1 is world space. More... | |
float | LeadTarget [set] |
NB: Only Applied to single handed weapons (some more work is required to have this tech on two handed weapons). Amount to lead target based on target velocity relative to the chest. More... | |
float | ArmStiffness [set] |
Stiffness of the arm. More... | |
float | ArmStiffnessDetSupport [set] |
Stiffness of the arm on pointing arm when a support arm is detached from a two-handed weapon. More... | |
float | ArmDamping [set] |
Damping. More... | |
float | GravityOpposition [set] |
Amount of gravity opposition on pointing arm. More... | |
float | GravOppDetachedSupport [set] |
Amount of gravity opposition on pointing arm when a support arm is detached from a two-handed weapon. More... | |
float | MassMultDetachedSupport [set] |
Amount of mass of weapon taken into account by gravity opposition on pointing arm when a support arm is detached from a two-handed weapon. The lower the value the more the character doesn't know about the weapon mass and therefore is more affected by it. More... | |
bool | AllowShotLooseness [set] |
Allow shot to set a lower arm muscleStiffness than pointGun normally would. More... | |
float | ClavicleBlend [set] |
How much of blend should come from incoming transforms 0(all IK) .. 1(all ITMs) For pointing arms only. (Support arm uses the IK solution as is for clavicles). More... | |
float | ElbowAttitude [set] |
Controls arm twist. (except in pistolIK). More... | |
int | SupportConstraint [set] |
Type of constraint between the support hand and gun. 0=no constraint, 1=hard distance constraint, 2=Force based constraint, 3=hard spherical constraint. More... | |
float | ConstraintMinDistance [set] |
For supportConstraint = 1: Support hand constraint distance will be slowly reduced until it hits this value. This is for stability and also allows the pointing arm to lead a little. Don't set lower than NM_MIN_STABLE_DISTANCECONSTRAINT_DISTANCE 0.001f. More... | |
float | MakeConstraintDistance [set] |
For supportConstraint = 1: Minimum distance within which support hand constraint will be made. More... | |
float | ReduceConstraintLengthVel [set] |
For supportConstraint = 1: Velocity at which to reduce the support hand constraint length. More... | |
float | BreakingStrength [set] |
For supportConstraint = 1: strength of the supporting hands constraint (kg m/s), -1 to ignore/disable. More... | |
float | BrokenSupportTime [set] |
Once constraint is broken then do not try to reconnect/support for this amount of time. More... | |
float | BrokenToSideProb [set] |
Probability that the when a constraint is broken that during brokenSupportTime a side pose will be selected. More... | |
float | ConnectAfter [set] |
If gunArm has been controlled by other behaviors for this time when it could have been pointing but couldn't due to pointing only allowed if connected, change gunArm pose to something that could connect for connectFor seconds. More... | |
float | ConnectFor [set] |
Time to try to reconnect for. More... | |
int | OneHandedPointing [set] |
0 = don't allow, 1= allow for kPistol(two handed pistol) only, 2 = allow for kRifle only, 3 = allow for kPistol and kRifle. Allow one handed pointing - no constraint if cant be supported . If not allowed then gunHand does not try to point at target if it cannot be supported - the constraint will be controlled by always support. More... | |
bool | AlwaysSupport [set] |
Support a non pointing gunHand i.e. if in zero pose (constrain as well if constraint possible). More... | |
bool | PoseUnusedGunArm [set] |
Apply neutral pose when a gun arm isn't in use. NB: at the moment Rifle hand is always controlled by pointGun. More... | |
bool | PoseUnusedSupportArm [set] |
Apply neutral pose when a support arm isn't in use. More... | |
bool | PoseUnusedOtherArm [set] |
Apply neutral pose to the non-gun arm (otherwise it is always under the control of other behaviors or not set). If the non-gun hand is a supporting hand it is not controlled by this parameter but by poseUnusedSupportArm. More... | |
float | MaxAngleAcross [set] |
Max aiming angle(deg) sideways across body midline measured from chest forward that the character will try to point. More... | |
float | MaxAngleAway [set] |
Max aiming angle(deg) sideways away from body midline measured from chest forward that the character will try to point. More... | |
int | FallingLimits [set] |
0= don't apply limits. 1=apply the limits below only when the character is falling. 2 = always apply these limits (instead of applying maxAngleAcross and maxAngleAway which only limits the horizontal angle but implicity limits the updown (the limit shape is a vertical hinge). More... | |
float | AcrossLimit [set] |
Max aiming angle(deg) sideways across body midline measured from chest forward that the character will try to point. i.e. for rightHanded gun this is the angle left of the midline. More... | |
float | AwayLimit [set] |
Max aiming angle(deg) sideways away from body midline measured from chest forward that the character will try to point. i.e. for rightHanded gun this is the angle right of the midline. More... | |
float | UpLimit [set] |
Max aiming angle(deg) upwards from body midline measured from chest forward that the character will try to point. More... | |
float | DownLimit [set] |
Max aiming angle(deg) downwards from body midline measured from chest forward that the character will try to point. More... | |
int | RifleFall [set] |
Pose the rifle hand to reduce complications with collisions. 0 = false, 1 = always when falling, 2 = when falling except if falling backwards. More... | |
int | FallingSupport [set] |
Allow supporting of a rifle(or two handed pistol) when falling. 0 = false, 1 = support if allowed, 2 = support until constraint not active (don't allow support to restart), 3 = support until constraint not effective (support hand to support distance must be less than 0.15 - don't allow support to restart). More... | |
int | FallingTypeSupport [set] |
What is considered a fall by fallingSupport). Apply fallingSupport 0=never(will support if allowed), 1 = falling, 2 = falling except if falling backwards, 3 = falling and collided, 4 = falling and collided except if falling backwards, 5 = falling except if falling backwards until collided. More... | |
int | PistolNeutralType [set] |
0 = byFace, 1=acrossFront, 2=bySide. NB: bySide is not connectible so be careful if combined with kPistol and oneHandedPointing = 0 or 2. More... | |
bool | NeutralPoint4Pistols [set] |
NOT IMPLEMENTED YET KEEP=false - use pointing for neutral targets in pistol modes. More... | |
bool | NeutralPoint4Rifle [set] |
Use pointing for neutral targets in rifle mode. More... | |
bool | CheckNeutralPoint [set] |
Check the neutral pointing is pointable, if it isn't then choose a neutral pose instead. More... | |
Vector3 | Point2Side [set] |
Side, up, back) side is left for left arm, right for right arm mmmmtodo. More... | |
float | Add2WeaponDistSide [set] |
Add to weaponDistance for point2Side neutral pointing (to straighten the arm). More... | |
Vector3 | Point2Connect [set] |
Side, up, back) side is left for left arm, right for rght arm mmmmtodo. More... | |
float | Add2WeaponDistConnect [set] |
Add to weaponDistance for point2Connect neutral pointing (to straighten the arm). More... | |
bool | UsePistolIK [set] |
Enable new ik for pistol pointing. More... | |
bool | UseSpineTwist [set] |
Use spine twist to orient chest?. More... | |
bool | UseTurnToTarget [set] |
Turn balancer to help gun point at target. More... | |
bool | UseHeadLook [set] |
Use head look to drive head?. More... | |
float | ErrorThreshold [set] |
Angular difference between pointing direction and target direction above which feedback will be generated. More... | |
float | FireWeaponRelaxTime [set] |
Duration of arms relax following firing weapon. NB:This is clamped (0,5) in pointGun. More... | |
float | FireWeaponRelaxAmount [set] |
Relax multiplier following firing weapon. Recovers over relaxTime. More... | |
float | FireWeaponRelaxDistance [set] |
Range of motion for ik-based recoil. More... | |
bool | UseIncomingTransforms [set] |
Use the incoming transforms to inform the pointGun of the primaryWeaponDistance, poleVector for the arm. More... | |
bool | MeasureParentOffset [set] |
If useIncomingTransforms = true and measureParentOffset=true then measure the Pointing-from offset from parent effector, using itms - this should point the barrel of the gun to the target. This is added to the rightHandParentOffset. NB NOT used if rightHandParentEffector LT 0. More... | |
Vector3 | LeftHandParentOffset [set] |
Pointing-from offset from parent effector, expressed in spine3's frame, x = back/forward, y = right/left, z = up/down. More... | |
int | LeftHandParentEffector [set] |
1 = Use leftShoulder. Effector from which the left hand pointing originates. Ie, point from this part to the target. -1 causes default offset for active weapon mode to be applied. More... | |
Vector3 | RightHandParentOffset [set] |
Pointing-from offset from parent effector, expressed in spine3's frame, x = back/forward, y = right/left, z = up/down. This is added to the measured one if useIncomingTransforms=true and measureParentOffset=true. NB NOT used if rightHandParentEffector LT 0. Pistol(0,0,0) Rifle(0.0032, 0.0, -0.0). More... | |
int | RightHandParentEffector [set] |
1 = Use rightShoulder.. Effector from which the right hand pointing originates. Ie, point from this part to the target. -1 causes default offset for active weapon mode to be applied. More... | |
float | PrimaryHandWeaponDistance [set] |
Distance from the shoulder to hold the weapon. If -1 and useIncomingTransforms then weaponDistance is read from ITMs. WeaponDistance=primaryHandWeaponDistance clamped [0.2f:m_maxArmReach=0.65] if useIncomingTransforms = false. pistol 0.60383, rifle 0.336. More... | |
bool | ConstrainRifle [set] |
Use hard constraint to keep rifle stock against shoulder?. More... | |
float | RifleConstraintMinDistance [set] |
Rifle constraint distance. Deliberately kept large to create a flat constraint surface where rifle meets the shoulder. More... | |
bool | DisableArmCollisions [set] |
Disable collisions between right hand/forearm and the torso/legs. More... | |
bool | DisableRifleCollisions [set] |
Disable collisions between right hand/forearm and spine3/spine2 if in rifle mode. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from GTA.NaturalMotion.CustomHelper | |
CustomHelper (Ped target, string message) | |
Creates a helper class for building Natural Motion messages to send to a given Ped. More... | |
GTA.NaturalMotion.PointGunHelper.PointGunHelper | ( | Ped | ped | ) |
Creates a new Instance of the PointGunHelper for sending a PointGun Message to a given Ped.
|
set |
Max aiming angle(deg) sideways across body midline measured from chest forward that the character will try to point. i.e. for rightHanded gun this is the angle left of the midline.
Default value = 90.0f. Min value = 0.0f. Max value = 180.0f.
|
set |
Add to weaponDistance for point2Connect neutral pointing (to straighten the arm).
Default value = 0.0f. Min value = -1.0f. Max value = 1000.0f.
|
set |
Add to weaponDistance for point2Side neutral pointing (to straighten the arm).
Default value = 0.3f. Min value = -1.0f. Max value = 1000.0f.
|
set |
Allow shot to set a lower arm muscleStiffness than pointGun normally would.
Default value = False.
|
set |
Support a non pointing gunHand i.e. if in zero pose (constrain as well if constraint possible).
Default value = False.
|
set |
Damping.
Default value = 1.0f. Min value = 0.1f. Max value = 5.0f.
|
set |
Stiffness of the arm.
Default value = 14.0f. Min value = 2.0f. Max value = 15.0f.
|
set |
Stiffness of the arm on pointing arm when a support arm is detached from a two-handed weapon.
Default value = 8.0f. Min value = 2.0f. Max value = 15.0f.
|
set |
Max aiming angle(deg) sideways away from body midline measured from chest forward that the character will try to point. i.e. for rightHanded gun this is the angle right of the midline.
Default value = 90.0f. Min value = 0.0f. Max value = 180.0f.
|
set |
For supportConstraint = 1: strength of the supporting hands constraint (kg m/s), -1 to ignore/disable.
Default value = -1.0f. Min value = -1.0f. Max value = 1000.0f.
|
set |
Once constraint is broken then do not try to reconnect/support for this amount of time.
Default value = 1.0f. Min value = 0.0f. Max value = 5.0f.
|
set |
Probability that the when a constraint is broken that during brokenSupportTime a side pose will be selected.
Default value = 0.5f. Min value = 0.0f. Max value = 1.0f.
|
set |
Check the neutral pointing is pointable, if it isn't then choose a neutral pose instead.
Default value = False.
|
set |
How much of blend should come from incoming transforms 0(all IK) .. 1(all ITMs) For pointing arms only. (Support arm uses the IK solution as is for clavicles).
Default value = 0.0f. Min value = 0.0f. Max value = 1.0f.
|
set |
If gunArm has been controlled by other behaviors for this time when it could have been pointing but couldn't due to pointing only allowed if connected, change gunArm pose to something that could connect for connectFor seconds.
Default value = 0.7f. Min value = 0.0f. Max value = 5.0f.
|
set |
Time to try to reconnect for.
Default value = 0.6f. Min value = 0.0f. Max value = 5.0f.
|
set |
Use hard constraint to keep rifle stock against shoulder?.
Default value = True.
|
set |
For supportConstraint = 1: Support hand constraint distance will be slowly reduced until it hits this value. This is for stability and also allows the pointing arm to lead a little. Don't set lower than NM_MIN_STABLE_DISTANCECONSTRAINT_DISTANCE 0.001f.
Default value = 0.0f. Min value = 0.0f. Max value = 0.1f.
|
set |
Disable collisions between right hand/forearm and the torso/legs.
Default value = False.
|
set |
Disable collisions between right hand/forearm and spine3/spine2 if in rifle mode.
Default value = False.
|
set |
Max aiming angle(deg) downwards from body midline measured from chest forward that the character will try to point.
Default value = 45.0f. Min value = 0.0f. Max value = 180.0f.
|
set |
Controls arm twist. (except in pistolIK).
Default value = 0.3f. Min value = -1.0f. Max value = 1.0f.
|
set |
Allow right hand to point/support?.
Default value = True.
|
set |
Allow right hand to point/support?.
Default value = True.
|
set |
Angular difference between pointing direction and target direction above which feedback will be generated.
Default value = 0.4f. Min value = 0.0f. Max value = 3.1f.
|
set |
0= don't apply limits. 1=apply the limits below only when the character is falling. 2 = always apply these limits (instead of applying maxAngleAcross and maxAngleAway which only limits the horizontal angle but implicity limits the updown (the limit shape is a vertical hinge).
Default value = 0. Min value = 0. Max value = 2.
|
set |
Allow supporting of a rifle(or two handed pistol) when falling. 0 = false, 1 = support if allowed, 2 = support until constraint not active (don't allow support to restart), 3 = support until constraint not effective (support hand to support distance must be less than 0.15 - don't allow support to restart).
Default value = 1. Min value = 0. Max value = 3.
|
set |
What is considered a fall by fallingSupport). Apply fallingSupport 0=never(will support if allowed), 1 = falling, 2 = falling except if falling backwards, 3 = falling and collided, 4 = falling and collided except if falling backwards, 5 = falling except if falling backwards until collided.
Default value = 0. Min value = 0. Max value = 5.
|
set |
Relax multiplier following firing weapon. Recovers over relaxTime.
Default value = 0.5f. Min value = 0.1f. Max value = 1.0f.
|
set |
Range of motion for ik-based recoil.
Default value = 0.1f. Min value = 0.0f. Max value = 0.3f.
|
set |
Duration of arms relax following firing weapon. NB:This is clamped (0,5) in pointGun.
Default value = 0.4f. Min value = 0.0f. Max value = 5.0f.
|
set |
Amount of gravity opposition on pointing arm.
Default value = 1.0f. Min value = 0.0f. Max value = 2.0f.
|
set |
Amount of gravity opposition on pointing arm when a support arm is detached from a two-handed weapon.
Default value = 0.5f. Min value = 0.0f. Max value = 2.0f.
|
set |
NB: Only Applied to single handed weapons (some more work is required to have this tech on two handed weapons). Amount to lead target based on target velocity relative to the chest.
Default value = 0.0f. Min value = 0.0f. Max value = 10.0f.
|
set |
1 = Use leftShoulder. Effector from which the left hand pointing originates. Ie, point from this part to the target. -1 causes default offset for active weapon mode to be applied.
Default value = -1. Min value = -1. Max value = 21.
|
set |
Pointing-from offset from parent effector, expressed in spine3's frame, x = back/forward, y = right/left, z = up/down.
Default value = Vector3(0.0f, 0.0f, 0.0f).
|
set |
Target for the left Hand.
Default value = Vector3(0.0f, 0.0f, 0.0f).
|
set |
Index of the object that the left hand target is specified in, -1 is world space.
Default value = -1.
|
set |
For supportConstraint = 1: Minimum distance within which support hand constraint will be made.
Default value = 0.1f. Min value = 0.0f. Max value = 3.0f.
|
set |
Amount of mass of weapon taken into account by gravity opposition on pointing arm when a support arm is detached from a two-handed weapon. The lower the value the more the character doesn't know about the weapon mass and therefore is more affected by it.
Default value = 0.1f. Min value = 0.0f. Max value = 1.0f.
|
set |
Max aiming angle(deg) sideways across body midline measured from chest forward that the character will try to point.
Default value = 90.0f. Min value = 0.0f. Max value = 180.0f.
|
set |
Max aiming angle(deg) sideways away from body midline measured from chest forward that the character will try to point.
Default value = 90.0f. Min value = 0.0f. Max value = 180.0f.
|
set |
If useIncomingTransforms = true and measureParentOffset=true then measure the Pointing-from offset from parent effector, using itms - this should point the barrel of the gun to the target. This is added to the rightHandParentOffset. NB NOT used if rightHandParentEffector LT 0.
Default value = True.
|
set |
NOT IMPLEMENTED YET KEEP=false - use pointing for neutral targets in pistol modes.
Default value = False.
|
set |
Use pointing for neutral targets in rifle mode.
Default value = True.
|
set |
0 = don't allow, 1= allow for kPistol(two handed pistol) only, 2 = allow for kRifle only, 3 = allow for kPistol and kRifle. Allow one handed pointing - no constraint if cant be supported . If not allowed then gunHand does not try to point at target if it cannot be supported - the constraint will be controlled by always support.
Default value = 1. Min value = 0. Max value = 3.
|
set |
0 = byFace, 1=acrossFront, 2=bySide. NB: bySide is not connectible so be careful if combined with kPistol and oneHandedPointing = 0 or 2.
Default value = 0. Min value = 0. Max value = 2.
|
set |
Side, up, back) side is left for left arm, right for rght arm mmmmtodo.
Default value = Vector3(-1.0f, -0.9f, -0.2f).
|
set |
Side, up, back) side is left for left arm, right for right arm mmmmtodo.
Default value = Vector3(5.0f, -5.0f, -2.0f).
|
set |
Apply neutral pose when a gun arm isn't in use. NB: at the moment Rifle hand is always controlled by pointGun.
Default value = False.
|
set |
Apply neutral pose to the non-gun arm (otherwise it is always under the control of other behaviors or not set). If the non-gun hand is a supporting hand it is not controlled by this parameter but by poseUnusedSupportArm.
Default value = False.
|
set |
Apply neutral pose when a support arm isn't in use.
Default value = False.
|
set |
Distance from the shoulder to hold the weapon. If -1 and useIncomingTransforms then weaponDistance is read from ITMs. WeaponDistance=primaryHandWeaponDistance clamped [0.2f:m_maxArmReach=0.65] if useIncomingTransforms = false. pistol 0.60383, rifle 0.336.
Default value = -1.0f. Min value = -1.0f. Max value = 1.0f.
|
set |
For supportConstraint = 1: Velocity at which to reduce the support hand constraint length.
Default value = 1.5f. Min value = 0.1f. Max value = 10.0f.
|
set |
Rifle constraint distance. Deliberately kept large to create a flat constraint surface where rifle meets the shoulder.
Default value = 0.2f. Min value = 0.0f.
|
set |
Pose the rifle hand to reduce complications with collisions. 0 = false, 1 = always when falling, 2 = when falling except if falling backwards.
Default value = 0. Min value = 0. Max value = 2.
|
set |
1 = Use rightShoulder.. Effector from which the right hand pointing originates. Ie, point from this part to the target. -1 causes default offset for active weapon mode to be applied.
Default value = -1. Min value = -1. Max value = 21.
|
set |
Pointing-from offset from parent effector, expressed in spine3's frame, x = back/forward, y = right/left, z = up/down. This is added to the measured one if useIncomingTransforms=true and measureParentOffset=true. NB NOT used if rightHandParentEffector LT 0. Pistol(0,0,0) Rifle(0.0032, 0.0, -0.0).
Default value = Vector3(0.0f, 0.0f, 0.0f).
|
set |
Target for the right Hand.
Default value = Vector3(0.0f, 0.0f, 0.0f).
|
set |
Index of the object that the right hand target is specified in, -1 is world space.
Default value = -1.
|
set |
Type of constraint between the support hand and gun. 0=no constraint, 1=hard distance constraint, 2=Force based constraint, 3=hard spherical constraint.
Default value = 1. Min value = 0. Max value = 3.
|
set |
Max aiming angle(deg) upwards from body midline measured from chest forward that the character will try to point.
Default value = 90.0f. Min value = 0.0f. Max value = 180.0f.
|
set |
Use head look to drive head?.
Default value = True.
|
set |
Use the incoming transforms to inform the pointGun of the primaryWeaponDistance, poleVector for the arm.
Default value = True.
|
set |
Enable new ik for pistol pointing.
Default value = True.
|
set |
Use spine twist to orient chest?.
Default value = True.
|
set |
Turn balancer to help gun point at target.
Default value = False.