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  
Makinolo

Road type and entity physical characteristics

Recommended Posts

Makinolo

Hi guys

 

 

I've been reviewing many threads and searching the forum but no luck.

Is there a way to know what type of road (highway / secondary road / dirt road) a vehicle is driving over?

And for that same vehicle, is there a way to get its weight and bounding box (for volume calculation) from within a script?

 

Thank you!

 

Share this post


Link to post
Share on other sites
LeeC2202

You can use GET_NTH_CLOSEST_VEHICLE_NODE_ID to get the nearest vehicle node and GET_VEHICLE_NODE_PROPERTIES to get the properties. It's all held in bitflags though and they're a pain to try and work out. You can also use the SHAPE_TEST functions to return the material type by casting a ray at the ground below the vehicle.

 

For the weight you would have to use memory accessing to get the mass value from the handling.meta and for the bounding box you can use GET_MODEL_DIMENSIONS

 

If you're using ScriptHookVDotNet, SHAPE_TEST has an equivalent in World.Raycast() and there is an Entity.Model.GetDimensions(). I am not sure if there are equivalents for the vehicle node functions.

Share this post


Link to post
Share on other sites
Makinolo

Thank you so much!

 

I've tested the ray casting against the ground and it works. It gives me the material underneath the vehicle.

Only thing is SHAPE_TEST natives have changed names apparently and the documentation is not up to date. WORLDPROBE::_START_SHAPE_TEST_RAY is called  WORLDPROBE::_CAST_RAY_POINT_TO_POINT and WORLDPROBE::_GET_SHAPE_TEST_RESULT_EX is called WORLDPROBE::_GET_RAYCAST_RESULT_2.

 

Just in case someone wants to do the same thing:

 

Vector3 vcoords = ENTITY::GET_ENTITY_COORDS(vehicle, TRUE);
int rayHandle = WORLDPROBE::_CAST_RAY_POINT_TO_POINT( vcoords.x, vcoords.y, vcoords.z, vcoords.x, vcoords.y, vcoords.z - 10, 1, vehicle, 7);
BOOL hit;
Entity entityHit;
Hash materialHash;
Vector3 hitCoords, normal;
WORLDPROBE::_GET_RAYCAST_RESULT_2(rayHandle, &hit, &hitCoords, &normal, &materialHash, &entityHit );
if (hit)
{
	int etype = ENTITY::GET_ENTITY_TYPE(entityHit);
	// Do your thing with the ground type
}

 

There seems to be a comprehensive material list here: pastebin.com/gyHjsYBK

 

Share this post


Link to post
Share on other sites
LeeC2202
9 hours ago, Makinolo said:

Only thing is SHAPE_TEST natives have changed names apparently and the documentation is not up to date. WORLDPROBE::_START_SHAPE_TEST_RAY is called  WORLDPROBE::_CAST_RAY_POINT_TO_POINT and WORLDPROBE::_GET_SHAPE_TEST_RESULT_EX is called WORLDPROBE::_GET_RAYCAST_RESULT_2.

If you notice on http://www.dev-c.com/nativedb/ they are all called SHAPE_TEST. That's the goto place to find the latest info.

 

The _CAST_RAY and _GET_RAYCAST names were the original names before they worked out what they were really called. You can usually tell because natives that start with _ are names that have been given by the community. Names that don't have that are what have been discovered by hash reversal.

 

It can get really confusing because SHVDN isn't up to date with what that page says. So quite often you will find names on there that don't exist in SHVDN, or SHVDN will still be using the old names. I suspect that there are so many mods out there now, they can't change anything because it would break all those existing mods. And given that a huge number of mod authors can't be bothered to fix bugs anyway, it's just too risky. But it does leave the C++ and .Net modders using different information, which is a definite problem.

 

Good to hear you got it to work though.

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  

  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

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