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

[C#] How to get the Peds around the player? Help


Aktarus
 Share

Recommended Posts

Hello Everyone,

 

I am trying to create a class in C# that change the behavior of all characters (pedestrians) that are around the player.

I have seen some sample of codes (moment0's code BTW) around here but it doesn't work for me.

Here is my code:

    using CitizenFX.Core;    using CitizenFX.Core.Native;        public Class1() {         const int numElements = 10;        const int arraySize = numElements * 2 + 2;       //Start at index 2, and the odd elements are padding                                                           int[] peds = new int[arraySize];        //Setup the array                        peds[0] = numElements;       //0 index is the size of the array        int localPlayerId = Game.Player.Handle;        // Get the ID of the player        Ped player = Function.Call(Hash.GET_PLAYER_PED, localPlayerId);        // Get the Ped of the player        int count = Function.Call(Hash.GET_PED_NEARBY_PEDS, player, peds, -1);   // Scan the ped around the player and fill the array        for (int i = 0; i < count; ++i)	    {		    int offsettedID = i * 2 + 2;       		    if (Function.Call(Hash.DOES_ENTITY_EXIST, peds[offsettedID]))            {                    Function.Call(Hash.SET_PED_COMBAT_MOVEMENT, peds[offsettedID], 3);                    Function.Call(Hash.SET_PED_COMBAT_RANGE, peds[offsettedID], 2);                    Function.Call(Hash.SET_PED_COMBAT_ATTRIBUTES, peds[offsettedID], 5, true);            }

Visual studio noticed me 3 errors.

 

The following line make an error CS0029 (Cannot implicitly convert type 'void' to 'CitizenFX.Core.Ped')

Function.Call(Hash.GET_PLAYER_PED, localPlayerId);

The following line, as well, make an error CS0029 (Cannot implicitly convert type 'void' to 'Bool')

Function.Call(Hash.DOES_ENTITY_EXIST, peds[offsettedID])

Also the argument "peds" in this line make an error CS1503 (Argument 3: cannot convert from 'int[]' to 'CitizenFX.Core.Native.InputArgument'):

int count = Function.Call(Hash.GET_PED_NEARBY_PEDS, player, peds, -1);

I don't understand what is wrong. Does any one can help me? :cry:

Thanks

Edited by Aktarus
Link to comment
Share on other sites

You need to change the return type for the Function.Call method,

 

This should solve your first two problems:

Function.Call<Ped>(Hash.GET_PLAYER_PED, localPlayerId);

and

Function.Call<bool>(Hash.DOES_ENTITY_EXIST, peds[offsettedID])
Link to comment
Share on other sites

Thanks FIFSA! Your code works. :cool:

 

Rest the last error. Normally 'peds' in this case (GET_PED_NEARBY_PEDS function) should be a pointer to an array as it is stated to the documentation:

 

PED::GET_PED_NEARBY_PEDSHashes: 0x23F8F5FC7E8C4A6B 0x4D3325F4
int GET_PED_NEARBY_PEDS(Ped ped, int *sizeAndPeds, int ignore)// 0x23F8F5FC7E8C4A6B 0x4D3325F4

sizeAndPeds - is a pointer to an array. The array is filled with peds found nearby the ped supplied to the first argument.
ignore - ped type to ignore

Return value is the number of peds found and added to the array passed.

 

 

But how can I get a pointer of array? I have tried many different things, such as:

fixed(int* p = peds[0]); 

But it doesn't work at all! Any help guys?

Link to comment
Share on other sites

  • 4 weeks later...

Hi, im sry to ask this in your Thread.

 

I want to include the same thing in my external.

Does anyone know the Pointer to the beginning of the PED Pool?

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.