Quantcast
Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. The Cayo Perico Heist
      2. The Diamond Casino Heist
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Red Dead Online

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

    1. Red Dead Redemption 2

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

    1. Grand Theft Auto Series

    2. GTA VI

      1. St. Andrews Cathedral
    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. Guides & Strategies
      2. Help & Support
    6. GTA Vice City

      1. Guides & Strategies
      2. Help & Support
    7. GTA III

      1. Guides & Strategies
      2. 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. 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
    3. Gangs

    1. Announcements

    2. Support

    3. Suggestions

Sign in to follow this  
MagicStyle

Check if someone was headshotted

Recommended Posts

MagicStyle

Hello,
is it possible to check if someone was headshotted?

the only headshot relating functions i found are these:

 

Any REGISTER_PEDHEADSHOT(Ped ped)
void UNREGISTER_PEDHEADSHOT(Ped ped)
BOOL IS_PEDHEADSHOT_VALID(Ped ped)
BOOL IS_PEDHEADSHOT_READY(Ped ped)
char *GET_PEDHEADSHOT_TXD_STRING(Ped ped)

 

 

Share this post


Link to post
Share on other sites
Jitnaught

 

BOOL PED::GET_PED_LAST_DAMAGE_BONE(Ped ped, Any *outBone)// 0xD75960F6BD9EA49C 0xAB933841

You'll have to find what the output for the head bone is.

If the ped you are checking for a headshot has been killed, it may not work, as I tried this on IV and would always result in an error.

Edited by LetsPlayOrDy
  • Like 1

Share this post


Link to post
Share on other sites
c39687

getting the bone damaged from a dead ped worked fine for me in iv

  • Like 1

Share this post


Link to post
Share on other sites
MagicStyle

Is there a list with the names of all bones? And with which ped do i have to call the function, i try to check this for EVERY pedestrian.

Is there a table variable which contains all peds around the player? If not, how could i create one? Any ideas?

Edited by MagicStyle

Share this post


Link to post
Share on other sites
Jitnaught

Is there a list with the names of all bones? And with which ped do i have to call the function, i try to check this for EVERY pedestrian.

Is there a table variable which contains all peds around the player? If not, how could i create one? Any ideas?

I don't know of any list of all the bones, that's why I said you'll have to find it out yourself by shooting a ped in the head and then getting the value it returns.

 

Here's some code that gets peds within ~200 feet of you. The distance can't be changed.

int *handles = new int[maxAmount * 2 + 2];	//0 index is the size of the array	handles[0] = maxAmount;	int count = PED::GET_PED_NEARBY_PEDS(PLAYER::PLAYER_PED_ID(), (Any*)handles, -1);	if (handles != NULL)	{		for (int i = 0; i < count; i++)		{			int offsettedID = i * 2 + 2;			if (handles[offsettedID] != NULL && ENTITY::DOES_ENTITY_EXIST(handles[offsettedID]))			{				//the code you want to do to the ped			}		}	}
  • Like 1

Share this post


Link to post
Share on other sites
GeorgeZhang

is there a way to make ped immune to headshots? or reduce the damage of headshots?(with scipt of course)

Share this post


Link to post
Share on other sites
Lesnikus

Here's a list of bone indexes: http://pastebin.com/D7JMnX1g

How to use it? I tried everything. I used a different number:

Any iii = 31086; //or Any iii =1; Any iii = 18; etcif (PED::GET_PED_LAST_DAMAGE_BONE(peds[offsettedID], &iii)){	ENTITY::SET_ENTITY_HEALTH(playerPed, 0);}

The condition is triggered, regardless of the damaged bone (leg, arm, head, and so there is no difference). Why is that?

Share this post


Link to post
Share on other sites
InfamousSabre

A better question is: Why would it have worked that way at all? The function doesn't return anything other than: "Yes, this ped has a damaged bone." or "Nope, sorry. Couldn't find a damaged bone.".

It has one output parameter. This is the damaged bone. You call the function, then, if it found a damaged bone, check the variable you used for the output parameter.

Any bone;BOOL damaged;damaged = PED::GET_PED_LAST_DAMAGE_BONE(playerPed, &bone);if (damaged && bone == 31086)  //or == 1, or == 18, etc{	ENTITY::SET_ENTITY_HEALTH(playerPed, 0);}
Edited by InfamousSabre
  • Like 1

Share this post


Link to post
Share on other sites
Lesnikus

 

A better question is: Why would it have worked that way at all? The function doesn't return anything other than: "Yes, this ped has a damaged bone." or "Nope, sorry. Couldn't find a damaged bone.".

It has one output parameter. This is the damaged bone. You call the function, then, if it found a damaged bone, check the variable you used for the output parameter.

 

Any bone;BOOL damaged;damaged = PED::GET_PED_LAST_DAMAGE_BONE(playerPed, &bone);if (damaged && bone == 31086)  //or == 1, or == 18, etc{	ENTITY::SET_ENTITY_HEALTH(playerPed, 0);}

You are a genius! It works. But can we find out what damaged the bone? Bullet, collision with a car, fire ...

Share this post


Link to post
Share on other sites
InfamousSabre

As far as I know, no. Not without direct memory access anyway. Maybe one of those unknown natives though. Who knows?

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.