Jump to content
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. Los Santos Drug Wars
      2. Updates
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Red Dead Online

      1. Blood Money
      2. Frontier Pursuits
      3. Find Lobbies & Outlaws
      4. Help & Support
    3. Crews

    1. Grand Theft Auto Series

      1. Bugs*
      2. St. Andrews Cathedral
    2. GTA VI

    3. GTA V

      1. Guides & Strategies
      2. Help & Support
    4. GTA IV

      1. The Lost and Damned
      2. The Ballad of Gay Tony
      3. Guides & Strategies
      4. Help & Support
    5. GTA San Andreas

      1. Classic GTA SA
      2. Guides & Strategies
      3. Help & Support
    6. GTA Vice City

      1. Classic GTA VC
      2. Guides & Strategies
      3. Help & Support
    7. GTA III

      1. Classic GTA III
      2. Guides & Strategies
      3. Help & Support
    8. Portable Games

      1. GTA Chinatown Wars
      2. GTA Vice City Stories
      3. GTA Liberty City Stories
    9. Top-Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    1. Red Dead Redemption 2

      1. PC
      2. Help & Support
    2. Red Dead Redemption

    1. GTA Mods

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Red Dead Mods

      1. Documentation
    3. Mod Showroom

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

      1. Design Your Own Mission
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Rockstar Games

    2. Rockstar Collectors

    1. Off-Topic

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

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

    2. Forum Support

    3. Suggestions

Spawn ped on sidewalk instead of the middle of the street


GlitchWolfNLD
 Share

Recommended Posts

GlitchWolfNLD

I'm trying to get my victim ped to spawn on a sidewalk somewhere random on the map within a range from the player however the ped just ends up spawning at (0,0,0) when I have a range greater then 200 from the player.

I would love to have a much larger range

I am using the World.GetSafeCoordForPed(Vector3 pos, bool sidewalk) method.

Thanks in advance!

 

Link to comment
Share on other sites

I have used this in the past World.GetNextPositionOnSidewalk. Which actually just calls the same native GET_SAFE_COORD_FOR_PED as the function you used.

 

One thing to be aware of, is beyond a certain range from the player, the map or collision might not have loaded and I think that can affect the results of functions like this. If you can see the spawn location, or it's close- by, you have a better chance of success.

Edited by Guest
Link to comment
Share on other sites

Just something further on this, I noticed in NativeDB they mentioned the flags option for GET_SAFE_COORD_FOR_PED, which you can also access with one of the overloads for World.GetSafeCoordForPed, it's GetSafeCoordForPed(Vector3 pos, bool sidewalk, int flags).

 

There seems to be a list of common flag values that are used in the scripts, so what I would be tempted to do, is create a small test mod that gets a result with each of the flag settings and then draw different coloured markers at the positions returned by each one. That way, you can see if any flag settings give consistently good or bad results, which might let you refine your checking for optimal results.

Edited by Guest
Link to comment
Share on other sites

  • 3 weeks later...
On 10/14/2018 at 8:40 AM, LeeC2202 said:

I have used this in the past World.GetNextPositionOnSidewalk. Which actually just calls the same native GET_SAFE_COORD_FOR_PED as the function you used.

 

One thing to be aware of, is beyond a certain range from the player, the map or collision might not have loaded and I think that can affect the results of functions like this. If you can see the spawn location, or it's close- by, you have a better chance of success.

Now it makes sense why I can't spawn something really far away from the player using get ground z coord or even waypoint teleporting because the map collision didn't load. Is that also the same reason why raycasting doesn't work for extreme distances? I have tested it a little and found that if I teleport to a really far part of the map and I raycast back to the original position I can then teleport back to where I started even if it is almost half way across the city but it is highly inconsistent to say the pattern is always true. Example would be from maze tower raycasted to the bridge or to the beach. 

Link to comment
Share on other sites

Yep, there is a native to request collision but that also only works within a certain range. If you spawn an entity (I have only tried this on a vehicle), you can use

Function.Call(Hash.SET_ENTITY_LOAD_COLLISION_FLAG, entity, true);

And that will cause that entity to load collision around it. So maybe spawning an entity, set that flag, let that load the collision and then doing the raycast might work. It does seem a bit extreme though if you have to load something like a vehicle, just to get collision but I haven't seen any other way of getting the collision to load at a distance.

Link to comment
Share on other sites

30 minutes ago, LeeC2202 said:

Yep, there is a native to request collision but that also only works within a certain range. If you spawn an entity (I have only tried this on a vehicle), you can use

Function.Call(Hash.SET_ENTITY_LOAD_COLLISION_FLAG, entity, true);

And that will cause that entity to load collision around it. So maybe spawning an entity, set that flag, let that load the collision and then doing the raycast might work. It does seem a bit extreme though if you have to load something like a vehicle, just to get collision but I haven't seen any other way of getting the collision to load at a distance.

Thanks for the info, I will try that out. 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • 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.