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  
GlitchWolfNLD

Spawn ped on sidewalk instead of the middle of the street

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!

 

Share this post


Link to post
Share on other sites
LeeC2202

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 LeeC2202

Share this post


Link to post
Share on other sites
LeeC2202

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 LeeC2202

Share this post


Link to post
Share on other sites
NModds
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. 

Share this post


Link to post
Share on other sites
LeeC2202

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.

Share this post


Link to post
Share on other sites
NModds
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. 

Share this post


Link to post
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
Sign in to follow this  

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

×

Important Information

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