Quantcast
Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!

    1. Red Dead Redemption 2

      1. Gameplay
      2. Missions
      3. Help & Support
    2. Red Dead Online

      1. Gameplay
      2. Find Lobbies & Outlaws
      3. Help & Support
    1. Crews & Posses

      1. Recruitment
    2. Events

    1. GTA Online

      1. Arena War
      2. After Hours
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Grand Theft Auto Series

    3. GTA Next

    4. GTA V

      1. PC
      2. Guides & Strategies
      3. Help & Support
    5. GTA IV

      1. Episodes from Liberty City
      2. Multiplayer
      3. Guides & Strategies
      4. Help & Support
      5. GTA Mods
    6. GTA Chinatown Wars

    7. GTA Vice City Stories

    8. GTA Liberty City Stories

    9. GTA San Andreas

      1. Guides & Strategies
      2. Help & Support
      3. GTA Mods
    10. GTA Vice City

      1. Guides & Strategies
      2. Help & Support
      3. GTA Mods
    11. GTA III

      1. Guides & Strategies
      2. Help & Support
      3. GTA Mods
    12. Top Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    13. Wiki

      1. Merchandising
    1. GTA Modding

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    3. Featured Mods

      1. DYOM
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Red Dead Redemption

    2. Rockstar Games

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Programming
      5. Movies & TV
      6. Music
      7. Sports
      8. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. News

    2. Forum Support

    3. Site Suggestions

Sign in to follow this  
nyanpire

[C#] How to apply force on peds/props at angle?

Recommended Posts

nyanpire

Hey,

I've been trying to figure out how to apply force on ped/props at an angle for the past couple of days with no luck, I can guess its obvious and has something to do with quaternion or force amount on Y & Z axis but just can't figure it out. Help me,please..

I'm trying to launch peds/props at the angle of the cross-hair..

Thanks :)

Share this post


Link to post
Share on other sites
spearminty

This will apply force to an object in the direction of the active gameplay camera

//get camera rotationVector3 Rot = CAM::GET_GAMEPLAY_CAM_ROT(2);//normalize to directional vectorVector3 direction = RotationToDirection(Rot);//directional force vectordirection.x = force * direction.x;direction.y = force * direction.y;direction.z = force * direction.z;//apply the force to the entity//rotation is a normalized vector to rotate the objectENTITY::APPLY_FORCE_TO_ENTITY(targetEntity, 1, direction.x, direction.y, direction.z, rotation_x, rotation_y, rotation_z, false, false, true, true, false, true);//function convert 0-90 rotation to normalized directional vectorVector3 RotationToDirection(Vector3* rot){	float radiansZ = rot->z * 0.0174532924f;	float radiansX = rot->x * 0.0174532924f;	float num = std::abs((float)std::cos((double)radiansX));	Vector3 dir;	dir.x = (float)((double)((float)(-(float)std::sin((double)radiansZ))) * (double)num);	dir.y = (float)((double)((float)std::cos((double)radiansZ)) * (double)num);	dir.z = (float)std::sin((double)radiansX);	return dir;}
Edited by spearminty

Share this post


Link to post
Share on other sites
nyanpire

Can't seem to get it work :/ The force gets applied at a constant direction...

Share this post


Link to post
Share on other sites
spearminty

be sure you are recalculating the rotation before each shoot event.

 

if you send me your code I can better help see your problem

Share this post


Link to post
Share on other sites
spearminty

For dotnet you will need to use:

Vector3 Rot =  GameplayCamera.Rotation;//normalize to directional vectorVector3 direction = RotationToDirection(Rot);//directional force vectordirection.X = force * direction.X;direction.Y = force * direction.Y;direction.Z = force * direction.Z;

 

Rot = GameplayCamera.Rotation;

as you have commented out

 

and not:

Vector3 Rot = Function.Call<Vector3>(Hash.GET_CAM_ROT, 2);

 

The get_cam_rot native gets the rotation of an arbitrary camera specified by an ID. You have not used this native correctly so it would probably always return some camera elsewhere in the world, or a null

 

This is the native that you want:

 

Native::Hash::GET_GAMEPLAY_CAM_ROT
Edited by spearminty

Share this post


Link to post
Share on other sites
nyanpire

No...can't get it to work.
Thanks for the help , I'm tired..might as well leave it as it is...

Share this post


Link to post
Share on other sites
nyanpire

Hey! It worked! Apparently , SET_PED_TO_RAGDOLL was the culprit here. Thanks alot for your help!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • 2 Users Currently Viewing
    0 members, 0 Anonymous, 2 Guests

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.