For all the "during missions" settings, the code looks as follows:
[...]
//get if mission is active
bool missionactive = GAMEPLAY::GET_MISSION_FLAG();
[...]
//check if core depletion should stop during missions
if (ini_stopcoredepletionafterdeathinmissions == 1)
{
//check if mission is not active
if (!missionactive)
{
//deplete cores
ATTRIBUTE::_0xC6258F41D86676E0(playerPed, 0, 0);
ATTRIBUTE::_0xC6258F41D86676E0(playerPed, 1, 0);
ATTRIBUTE::_0xC6258F41D86676E0(playerPed, 2, 0);
}
}
[...]
The main difference between the nexus and the non-nexus version is the performance improvement, which lets the user set the tick interval.
Could you try setting the TickInterval in the ini file to 1 and check if anything changes? (I doubt it, but its worth a try)
What I would also need to know is which setting causes the bug. Is it the core draining setting in general or the "disable in missions" part of it?
I have also updated the code on github with the "non-release version (for rdr2mods.com folks)" pull request description for folks to check.
Thank you for responding so quickly.
Hey guys,
please excuse my irregular appearances here.
If one of you could list all the currently mentioned bugs, I could try to address some of them on the weekend.
However far I come, I will then push the current code to the repo, so others can take a look.
Be aware that this was my first C++ project ever and I had no concept whatsoever in the beginning of making this mod (since the scope was meant to be extremely small and then grew into something bigger), so the source code is quite the chaos.
I hope you are not having a lot of troubles with the current version. I apologize, if you do (I simply cannot find a lot of time for coding in my leasure in the current state of my life).
Since I dont want to make any empty promises, I can just say that if I find the time to code a little, I will use it to figure out and fix the bugs you are reporting.
All the best,
HJ
There are only three ways NPCs can ignore the dying states:
You have EuphoriaModInstalled set to 1 (this only causes NPCs to stay down, when they fall and are below the thresholds - they will never be forcefully pushed down).
The chances for Dying States are below 100 (so some just wont be affected).
The NPC is an excluded character and the corresponding ini setting is turned on (to exclude those characters).
If those three are not the case, it might be an incompatibility, a script hook fault or something within the engine keeping NPCs from the effects of the script (--> least probable cause).
SpecialWeaponModifier is set to 30, meaning that affected weapons (your shotgun is one of them) do 30% of the usual damage.
Increase this one until you reach whatever damage behavior you are looking for.
Not possible, here is the code:
//set invincibility, if set in ini or adjust player health
if (ini_playerinvincibility == 1) PLAYER::SET_PLAYER_INVINCIBLE(player, true);
else if (ini_playerhealth != 0 && ENTITY::GET_ENTITY_MAX_HEALTH(playerPed, false) != ini_playerhealth)
{
ENTITY::SET_ENTITY_MAX_HEALTH(playerPed, ini_playerhealth);
ENTITY::SET_ENTITY_HEALTH(playerPed, ini_playerhealth, false);
}
PlayerInvincibility worked last time I tested.
I currently dont have the time to test myself, but I have implemented a new ini value called "DropNPCInDyingState". If set to 1, this should ragdoll every NPC as soon as their health value crosses the DyingThreshold (if the NPC is standing (= check if the head bone position is x cm above ground --> could be that NPCs who have low health and are trying to get up, will be ragdolled during the getting up animation - please report back if that looks off)).
PedDamageOverhaul.asi
PedDamageOverhaul.ini
Could you describe how to reproduce the behavior, so I can test it myself?
I have done a bunch of shootouts with the new version (for testing purposes) and have never experienced this (to be fair, I never experienced it with the older version, either).
I get NPCs standing up and walking, but they either fall down, squirm and die or they ragdoll/kneefall and die while walking.
I added a check - as soon as an NPC enters the last Dying State, they get ragdolled to the ground (the rest of the already existing logic should keep them there).
Please report back.
PedDamageOverhaul.asi
Fixed customized NPC health not being applied.
I also divided the ini set bleeding chance parameters by 10, so bleeding chances can be set even lower (for longer bleedouts).
Please see that you multiply your currently set bleeding chances by 10, if you intend to use your own ini file (BleedingChanceShot, BleedingChanceDying1, BleedingChanceDying2, LongerBleedingChance).
Also there should be some performance gain, since I reduced the number of script loops per second (and made them configurable via the ini file --> TickInterval).
If you want to use the on screen text for debugging, please set the TickInterval to 10 or something similar, otherwise the text will flicker (less draw calls).
PedDamageOverhaul.ini PedDamageOverhaul.asi
I tested this for 10mins and you seem to be correct. One of the updates must have changed the vanilla bleeding behavior, because they bleed out way faster than what I remembered.
I set their health to 250 and they walk for about 10secs now.
If you want 15 seconds, I suppose you would have to increase their health to 350.
I guess they deduct health based on percentages now instead of absolutes (or something similar).
PedDamageOverhaul.ini
Here is a new version trying to fix the "bleeding out and standing" bug some folks still seem to encounter on rare occasions. I suppose it happens in combinations with other mods. Nevertheless, I tried to fix it. Please report back (those who were able to reproduce such behaviors).
Those wanting to use their own ini, please set ZValueForHeadBone to 500.
PedDamageOverhaul.asi
PedDamageOverhaul.ini
The script already does check if the affected NPC is not the player.
But if you tell me which NPC I am supposed to add to the exclusion list, I can make a version for you (so you can check if that is really the cause of your problem).
Hm, I have read through the bug reports of the Script Hook V2 and there seem to be a lot of bugs concerning hotkeys and mod functions.
Could you try enabling friendly fire via the ini file, not via the hotkey?
Unfortunately, the vanilla game bleeding mechanic (which I suppose you are talking about) draing NPC health FAST.
The only thing you can do is setting the NPC health higher (like 250 or so) and adjust your DyingMovement- and Dying-Thresholds accordingly.
You will also have to configure FallTImeDown and FallTimeDeath (because with health values that high, NPCs won't die from most usually lethal falls anymore).
I dont know what WERO does in detail, but you could try changing you EuphoriaModInstalled setting in the PedDamageOverhaul.ini file.
What is a "download sign"?
Sounds like there is a problem with the hook, LML or the way you installed the mods.
Hello boys,
there is this one mission in which Arthur gets kidnapped and has to free himself from a cellar and escape the enemy camp.
During this mission there is a short part in which the player has to crawl (with blurred vision and such). Does anyone know how we could trigger this mode via script?
BR
HJ
Hey guys, sorry for my absence.
Here is a new version with some performance improvements (hopefully) and the option to unbind the toggle keys (by setting them to 0 in the ini).
Here is my ini as well (invincibility enabled for testing purposes).
PedDamageOverhaul.ini
PedDamageOverhaul.asi
This is a tool for making NPCs say speech lines (usually needed when looking for certain lines for NPCs to speak).
Installation
Download and install a Script Hook and an Asi Loader of your choice.
Drag and drop the files into your game directory (SpeechLinesTester.asi, SpeechLinesTester.ini, SpeechLines.txt).
Start your game.
What does this mod do?
This mod reads the speech line names from the file "SpeechLines.txt" and forces NPCs around the player to play the first line.
Via hotkeys you can iterate through the lines in the file (hotkeys and other settings can be changed in the "SpeechLinesTester.ini" file).
There is also an on screen display of the currently played line name.
You can find speech line names here: https://www.rdr2mods.com/wiki/speechlines/
Why?
I needed this when making PDO and finally found the time to clean it up a little. Maybe someone else can make use of it as well.
Source: https://github.com/HJHughJanus/SpeechLinesTester/
I dont know how you tie such an effect to an object.
With my limited knowledge, I would probably iterate through all the objects and for every hydrant I find, I check if one of my NPCs is close to it.
This will be performance-heavy, though^^
If you own it on Rockstar Launcher, I suppose it is "C:\Program Data\Rockstar Games\Red Dead Redemption 2".
On Steam it would be "C:\Program Data\Steam\steamapps\common\Red Dead Redemption 2", I guess.
I have my games installed on a separate drive, so I dont know what the default installation path is.
Your installation directory.
If you have a desktop icon, you can right click it and click on "open file location" (or something similar). The folder that will open is your root folder.