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

Spawned ped attacks itself instead of attacking other peds [C#]


Kolopsel
 Share

Recommended Posts

Hello,

so this is the continuation of "How to let a ped attack the Player or another Ped ? [C#] "

 

The Problem is, that the ped ive created attacks itselft instead of attacking other peds.

It would be nice if you could help me.

 

My Code :

Ped player = Game.Player.Character;            GTA.Math.Vector3 mySpot = player.Position.Around(5.0F);            Ped angryPed = World.CreatePed(PedHash.Bankman01, mySpot);            Ped targetPed = World.GetClosestPed(angryPed.Position, 12f);            angryPed.Task.FightAgainst(targetPed);

Thanks for reading !

- Kolopsel

Link to comment
Share on other sites

Scriptkiddy1337

i don't know how to fix it in C#, for ussual there is a way to iterate more peds.

But this code seems to does exactly what if have to do ^^

 

Ped angryPed = World.CreatePed(PedHash.Bankman01, mySpot); // you spawn a Ped herePed targetPed = World.GetClosestPed(angryPed.Position, 12f); // and want the closest Ped to the Coords of your created Peds// the result will be of course targetPed == angryPed because, it's obviously the closest Ped in this Coords ^^
2 Ways to fix it would be to find the way to iterate them in C# or you use the coords relative to yours

 

Ped targetPed = World.GetClosestPed(mySpot, 12f);
and in anycase make sure, you don't found or own Ped

 

if (Game.Player.Character != targetPed && angryPed != targetPed)     angryPed.Task.FightAgainst(targetPed);
Link to comment
Share on other sites

i don't know how to fix it in C#, for ussual there is a way to iterate more peds.

But this code seems to does exactly what if have to do ^^

Ped angryPed = World.CreatePed(PedHash.Bankman01, mySpot); // you spawn a Ped herePed targetPed = World.GetClosestPed(angryPed.Position, 12f); // and want the closest Ped to the Coords of your created Peds// the result will be of course targetPed == angryPed because, it's obviously the closest Ped in this Coords ^^
2 Ways to fix it would be to find the way to iterate them in C# or you use the coords relative to yours

 

Ped targetPed = World.GetClosestPed(mySpot, 12f);
and in anycase make sure, you don't found or own Ped

 

if (Game.Player.Character != targetPed && angryPed != targetPed)     angryPed.Task.FightAgainst(targetPed);

Thanks !

Edited by Kolopsel
Link to comment
Share on other sites

Hello,

so this is the continuation of "How to let a ped attack the Player or another Ped ? [C#] "

 

The Problem is, that the ped ive created attacks itselft instead of attacking other peds.

It would be nice if you could help me.

 

My Code :

Ped player = Game.Player.Character;            GTA.Math.Vector3 mySpot = player.Position.Around(5.0F);            Ped angryPed = World.CreatePed(PedHash.Bankman01, mySpot);            Ped targetPed = World.GetClosestPed(angryPed.Position, 12f);            angryPed.Task.FightAgainst(targetPed);

Thanks for reading !

- Kolopsel

 

This was happened because the function World.GetClosestPed returned the closest ped from a position. Therefore, your ped was always the closest ped returned because he has the smallest distance to the position.

To avoid this problem, you can get a list of close peds, iterate through the list and always verify that the current processed ped is not the target ped. (Scriptkiddy1337's solution)

 

No more suicidal peds :sui:

Edited by ins1de
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.