Erem Posted November 1, 2010 Share Posted November 1, 2010 If a spawned character has been injured, is it possible to raise its health above 47% and, if so, how? That may seem a strange question, so I'll briefly explain what it is I'm trying to do and share some observations I've made about peds' health. I'm trying to make a bodyguard mod in which a bodyguard, if injured, will slowly regain some of their health until they're able to get up again. Whilst trying to get it to work, I discovered that the game already does something very close to what I want to achieve but with one crucial difference. Here's what I've noticed: When a ped's health drops below 50% of maximum, they collapse to the ground. If the native SET_PED_DIES_WHEN_INJURED has been set for that ped, they die, otherwise they lie on the ground, twitching occasionally. If their health is above 25%, they will gradually regain health until it reaches 47% of maximum. If the native SET_CHAR_WILL_MOVE_WHEN_INJURED has been set for that ped, they will get to their feet, stagger around for a bit whilst bent over, then collapse again. This time, they stay down, their health remaining at 47%. If the ped's health falls below 25%, they gradually lose health until it reaches 0 and they die. My problem is that I want the bodyguards to regain health upto, say, 55% of maximum - just enough to get them on their feet and ready to fight again, but not so much that it looks like a miracle has happened! I tried the obvious, SET_CHAR_HEALTH, but that didn't work as I expected: the bodyguard's health was increased briefly but then the game took it back down to 47%. Next I tried REVIVE_INJURED_PED with similar results: this time the bodyguard's health was restored to 100% - before the game noticed what I was up to and put it down to 47% again! In both cases, the bodyguard remained lying on the ground. What seems to be happening is that the game still believes the bodyguard to be injured, despite me having increased its health, and re-adjusts its health to the maximum allowed for an injured ped. Has anyone encountered this before and found a way around it? Link to comment Share on other sites More sharing options...
Kucikuc24 Posted November 1, 2010 Share Posted November 1, 2010 f32 x, y, z;f32 radius = /*your own value/*;Ped closestPed;GetCharCoordinates(GetPlayerPed(), &x, &y, &z);GetClosestChar(x, y, z, radius, true, true, &closestPed);if(DoesCharExist(closestPed)){ u32 health; GetCharHealth(closestPed, &health); health = health + 200; SetCharHealth(closestPed, health);} Try this Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now