Description
Locational Damage is a project focused on realism, based on GTA IV armor-health-damage system. As you know, body armors only cover the body, but what happens on GTA V if you get shot, for example, on your leg or your arm? Yeah, your armor decreases, and your health does not change. On GTA IV, if you get shot on your leg, your health decreases even if you have body armor.
So I made this script to put that system on GTA V. The script detects where did you get shot, and if the body part is not the "body" (where your body armor is supposed to be and protect you), it knows how much damage have you received (a.k.a. how much your armor decreased) and puts the armor value to the original one, before getting shot; then, takes that damage and reduces the health.
So, if you have 100% armor and 100% health, when you get shot on your leg, vanilla game decreases armor value. This script decreases health value instead. If you get shot on the body, the armor value will be decreased as usually. If you haven't got armor, the script will change nothing. The script also knows the source of the damage, so it will only do it's job when you got shot by a non-melee weapon.
Aditionally I included a "deadly headshots" plugin, so if you get shot on your head, you will die instantly! You can enable it on the INI file provided (it's disabled by default). You can activate instead another option, avoiding instant-kills but enabling critical hits (your health is lowered a lot, almost dying).
.INI CONFIG FILE
The .ini file provided lets you customize this mod, and has the following options (put true/false on each one as you want):
- DeadlyHeadshots: the deadly headshots module. 1 shot to the head = dead.
- HeavyDamageHeadshots: headshots renders as critical hits; this means your health will be drastically decreased, close to zero. Having this activated with DeadlyHeadshots will have no effect, since DH will make you die instead.
ClearLastDamaged: pay attention to this option: it clears the "last damage type" flag from your character. This is used to determine if you got hit by a gun (bullet), a melee weapon or something else, so it won't render, for example, a hit to the head if you're falling as a headshot. The problem: it might cause issues with other related mods, for example, my InjuredRagdoll script. So, in case you have problems with other mods, try disabling this out.
Dependencies & installation
You need ScriptHookV and ScriptHookV DotNet in order to run this script. Place both DLL and INI files on Grand Theft Auto V/scripts folder.
Known bugs & future projects
- (in-game) "determining body parts" System is not very accurate sometimes, but ATM this system can do the job. The problem is, sometimes a bullet has more than an input (the game is not very realistic).
- During the tests i had some CTDs after dying 3 or 4 times, but maybe it was caused by the Afterdeath mod. If you have game crashes with or without that mod, please, let me know.
- On my InjuredRagdoll mod, although LocationalDamage detects a no-armor damage and decrases health, InjuredRagdoll will most probably detect an armor damage, applying the settings you have for armor hits.
- Deadly Headshots usually doesn't work if you're running the InjuredRagdoll script, or something else similar. The "Clear Last Damaged" option might make other health or hit-detection related scripts (like InjuredRagdoll) not working fine (on this case, try disabling that option).
I want to expand this script and make a complex & realistic health system.I'll merge with my InjuredRagdoll script on the future, or at least, make both scripts work together to avoid problems between both of them.
Changelog
- v1: initial relase.
- v1.1: included the HeavyDamageHeadshots and ClearLastDamage options (customizable from the INI file). The ClearLastDamage option might fix some issues related with hit detection and rendering head hits (like falling) as headshots.
First Upload: November 16, 2024 Last Updated: November 16, 2024