Jump to content

HughJanus

Recognized Creator
  • Posts

    830
  • Joined

  • Last visited

  • Days Won

    93

 Content Type 

Profiles

Forums

Gallery

Downloads

News Articles

Modding Wiki

RDR2 Native Database

RDR2 Native Parameters

RDR2 Player Clothes Database

RDR2 Ped Voices Database

RDR2 Ped Speech Lines

RDR2 Modding Tutorials

RDR2 Ped Model Database

RDR2 Animations Database

RDRFR Changelog

RDRFR Installation Guide

RDRFR Features

RDRFR Settings

LML User Contributions

Everything posted by HughJanus

  1. Depends on what you mean by "wounded". There is the knockdown feature which makes peds stay down for a while, but get back up again - so I guess thats what you want? If you dont want the actual wounded or dying states, just set their thresholds low - like this: NPCHealth = 300 KnockbackThreshold = 290 (so the first shot can not knock an enemy back, but from the second one onwards, its possible) DyingThreshold = 40 (and other thresholds as low as well) Just an example, so the dying modes would only set in when at 40 health, so you have 250 health you can inflict to a ped while which he can be knocked down and get back up again. ...does that make sense?
  2. For those waiting for new versions to test. Here is the first beta (already some days old). We are currently tweaking values and getting rid of bugs, but it is feature complete. Have fun^^ PedDamOv_v1.4b1.zip
  3. Does this work with a controller too? What is the "look back key" on a controller?
  4. Havent tried. I was so frustrated after discovering that, that I moved on with something else^^
  5. I have now used the iterating through weapons, because I didnt want all weapons to cause bleeding :)
  6. The setting for Arthurs health isnt working properly, unfortunately. Please use the NPC Damage Modifier to make NPCs deal more or less damage instead of changing Arthurs health (the effect should be the same).
  7. I need some help. I have been trying to apply force to certain bones, but they seem to vary for each NPC. For example I tried to apply a force push to the right forearm (= 54187), when an NPC is down. The sheriff in Valentine does work, but other NPC might be pushed in the left forearm, some even in the thigh,.. How can I make sure that I push every NPC in the right forearm - can I work with bone names somehow like this: GET_ENTITY_BONE_INDEX_BY_NAME(Ped, "SKEL_R_Forearm"); Or does it need another name? Edit: I just tried it with the bone names, but the result is the same. The Sheriff in Valentine keeps moving his arms, other NPCs mostly dont. Is that a known problem? How can it be solved?
  8. haha I was looking for the third value, where I put the question mark :D I googled and found this from GTA 5, I am now working with the value 0. If youu want to define only a specific weapon, second parameter=weapon hash code, third parameter=0 If you want to define any melee weapon, second parameter=0, third parameter=1. If you want to identify any weapon (firearms, melee, rockets, etc.), second parameter=0, third parameter=2.
  9. So if I want to do it for WEAPON_UNARMED, I do it like this? has_entity_been_damaged_by_weapon(Ped, GET_HASH_KEY("WEAPON_UNARMED"), ?); The method wants an integer and I dont know what to insert^^
  10. So here is a new alpha version in which Jamie is excluded, there is an option to only disarm someone if you hogtie them and there is some "advanced" dying movement. We have implemented three stages of being downed now - before there was only the dying threshold, under which the NPC just didnt move (except their head, looking around, making faces and maybe their hands a little) - now there is the dyingmovement state 1 (DyingMovementThreshold), the dyingmovement state 2 (DyingMovementThreshold2) and the disabled state (DyingThreshold, same as before). Example for the health: NPCHealt = 200 DyingMovementThreshold = 150 DyingMovementThreshold2 = 100 DyingThreshold = 50 They should have their values in this order, because the first state has somewhat agile movement on the ground (rolling around, twitching strongly, etc.), the second state has less movement (just a little twitch or spasm here and there or some light leg kicking) and the DyingState is the same as before (NPC only looking around, now also making more pain noises). You can tinker with all the values - if you figure out a good combination, please share it with us. This version is just a raw configuration of the new values. PedDamOv_v1.4a11.zip
  11. I found this one already, but would have to go through all the weapons but the fists 😕 Thanks for responding, though.
  12. In a mod I am using a bleeding effect. Currently it also applies when being damaged in a fistfight. How could I check if an NPC has been damaged by a "non-fist-weapon"?^^ I imagine something like checking if the last damaged source was NOT a fist... is that possible somehow?
  13. Could you explain your code? What do the flags and attributes mean?
  14. Thanks for your input, guys. Unfortunately our private lives have gotten a little stressier over the past month, so we dont have that much time for the mod at the moment - but behind the scenes we keep testing stuff (just not spending as much time on it as we did before), so dont worry :)
  15. @fitfondue I have now dumbed the code down so that everything you set in the ini (all the x, y and z values for the different bones) will be executed at once. I omitted all the randomizers and the "remembering" of the NPC push, because the push will always be the same anyway (= whatever you set in the ini). All the randomizer logic, we can re-do when we know what we want. With this code you should be able to force certain behaviors. Would be cool if you share some values here, once you get close to something :) Thanks, as always, for your great work and effort! Did a quick search for the timescale check but couldnt find anything useful. Have you found something already? PedDamOv_v1.4a8.zip
  16. Hey @snuffles, the latest version of PedDamageOverhaul has a modifier for NPC damage - with this you can achieve the same effect as decreasing Arthurs health 🙂
  17. The ones below with the semicolon in front are comments, they are not being executed (I just saved them so I wouldnt forget the initial values I tested with) 🙂
  18. @fitfondue Awesome video xD Yeah, theres still randomness because inside the body zones you can set in the ini, there is a randomizer which can not be set (so a case can occur where both calves are pushed and only one arm and one of the spine vertebras, so the calf push is much stronger). Before changing any of the present logic, I would like to brainstorm a bit with you. If I change it now so that we can set forces separately for each bone and axis, what would be the end goal (so I can already put the code into the right places, when making it new)? Would we like to create x different behaviors (e.g. bone pushing setups) which we then randomize (like the rolling in your video, then some squirming behavior, and some very slow crawling-like behavior, and whatever...)? Or would we like to completely randomize the bones being pushed, so arbitrary behaviors can occur (maybe some we didnt even think of - but this may also lead to weird behavior)? Or do we set up rules for randomizing - like if the left forearm is pushed, there always has to be the right calf pushed in the same movement..? Because when I start to re-do the code, I will have to break up everything I currently have and then I want to make it proper :) Thanks for testing so thoroughly all the time!
  19. I dont have hand and foot bones or leg and arm. I only have some fingers and the forearm as well as the calves and the thighs - more I dont have. If you want the push to be applied all the time of the duration, then wait all the time of the pause duration, then push again for the whole time (without any randomness) the following values have to be set: DyingMovementChance=999 (so every loop the pushing is triggered at 100% chance) DyingMovementPushTime=1000 (pushing duration, 1000 = 1 second) DyingMovementWaitTime=1000 (pause during the push durations, 1000 = 1 second) If you want all limb parts (spine, legs and arms) to be moving at the same time you set the chance values as follows: DyingMovementLegChance01=-1 DyingmovementLegChance02=-1 DyingMovementArmChance01=-1 DyingMovementArmChance02=-1 DyingMovementSpineChance01=-1 DyingMovementSpineChance02=-1 DyingMovementLegArmChance01=-1 DyingMovementLegArmChance02=-1 DyingMovementLegSpineChance01=-1 DyingMovementLegSpineChance02=-1 DyingMovementArmSpineChance01=-1 DyingMovementArmSpineChance02=-1 DyingMovementAllChance01=0 DyingMovementAllChance02=99 -1 disables and the 01 chance of "All" (meaning all body parts) is 0 and the 02 chance is 99, so that means "if randomizer is between 0 and 99, push all parts" (the randomizer generates a number between 0 and 99, so you have a 100% chance of triggering). As for the body parts, they have chance modifiers which cant be confiured yet (making the legs, for example, either one leg move, the other leg moves, or both legs move - everyone of them having the same chance of occuring). I dont know when I will be able to implement the requested parameters, because it will be quite some work, but I will see to get it done during the week :)
  20. I just found a native "SET_PED_MAX_TIME_UNDERWATER" and tested it, but it doesnt seem to do anything. WIth the mod on (NPCHealth = 450) a lawmen takes about 20 seconds to drown - no matter how high I set this value. When did you encounter someone who hasnt drowned in half a minute? How could I reproduce it? For me, everyone drowns in an acceptable amount of time (I throw them in water where they are totally submerged).
  21. I have added a few more parameters: ;booleans for dying movement IsDyingMovementForceRelative_ArmsX=0 IsDyingMovementForceRelative_ArmsY=0 IsDyingMovementForceRelative_ArmsZ=0 IsDyingMovementForceRelative_LegsX=0 IsDyingMovementForceRelative_LegsY=0 IsDyingMovementForceRelative_LegsZ=0 IsDyingMovementForceRelative_SpineX=0 IsDyingMovementForceRelative_SpineY=0 IsDyingMovementForceRelative_SpineZ=0 IsDyingMovementDirectionRelative_ArmsX=1 IsDyingMovementDirectionRelative_ArmsY=1 IsDyingMovementDirectionRelative_ArmsZ=1 IsDyingMovementDirectionRelative_Arms=1 IsDyingMovementDirectionRelative_LegsX=1 IsDyingMovementDirectionRelative_LegsY=1 IsDyingMovementDirectionRelative_LegsZ=1 IsDyingMovementDirectionRelative_Legs=1 IsDyingMovementDirectionRelative_SpineX=1 IsDyingMovementDirectionRelative_SpineY=1 IsDyingMovementDirectionRelative_SpineZ=1 IsDyingMovementDirectionRelative_Spine=1 IgnoreDyingMovementUpVector=0 ;chance intervals for dying movement (which body parts will be moved is decided by the randomizer - if it lies between the chance01 and chance02, the corresponding part(s) will be moved) DyingMovementLegChance01=0 DyingmovementLegChance02=13 DyingMovementArmChance01=14 DyingMovementArmChance02=27 DyingMovementSpineChance01=28 DyingMovementSpineChance02=41 DyingMovementLegArmChance01=42 DyingMovementLegArmChance02=55 DyingMovementLegSpineChance01=56 DyingMovementLegSpineChance02=69 DyingMovementArmSpineChance01=70 DyingMovementArmSpineChance02=83 DyingMovementAllChance01=84 DyingMovementAllChance02=99 I hope its self-explanatory^^ Will start testing now. PedDamOv_v1.4a5.zip Edit: I removed the thigh bones from the leg section (because if force was applied, there was a high chance it would make it look like the NPC thrusts its pelvis^^) - so the leg section only consists of the calves now. For the relative force variables I also added some without the axis, which is applied when all the axis are triggered simultaneously (like with the direction). PedDamOv_v1.4a6.zip Edit2: I have added new code so that the NPC will "remember" the randomizers for the time it is being pushed. So from now on, as long as a push lasts, it should have the same values (combination of bones being pushed and the direction in which they are pushing). So if you set the push phase to 5 seconds, the full 5 seconds will push the same bones in the same direction. If you choose the pushing values low enough, it almost seems like fluent movement. Now its a matter of tweaking the pushing intervals (everything over 1 second looks like the NPC is being "tense" (like having a seizure) for that time - so I think we need to stay below the 1 second, but adjust the waiting time and pushing chance so that the change of intervals is not noticeable and meanwhile keeping the pushing values at a level that looks believable). I think a lot of tweaking has to be done now lol I have already played around almost an hour with the values, but have not come up with a good solution yet^^ Im thrilled to see what you will do with it - until now you were always the one better at tweaking stuff 🙂 PedDamOv_v1.4a7.zip
  22. Adapted the code a little, so the movementchance would trigger the push for the whole duration of the seconds set in the ini. After the push a minimum of the wait time set in the ini will pass, then the chance applies again. Also edited the chances of the body parts, so there is also the chance of body parts moving simultaneously. All in all, just a little polish. I also tried to fix the lawmen speaking when in dying state - hope I solved it. New version attached. @fitfondue Unfortunately every line of code (generally speaking - in realitiy of course not every line) in the script is executed in the same interval - so no chance of getting one check to get done less often (unless we use a timer which is counting). But I would say we worry about the performance when we notice an impact 🙂 I think the problem will be waking NPCs up, because I havent found a native for it yet^^ PedDamOv_v1.4a4.zip
  23. I have now done a reimplementation of the movement in dying state like @fitfondue suggested in a private conversation (based on a duration -> moves for 5 seconds, waits for 3, moves for 5, ect -> all configurable in the ini). lol it is hilarious. Files attached xD The implementation is now: if NPC is in dying state and the dyingmovementchance checks out: generate 3 random numbers between 0 and 99 number 1 determines the body part which is moving (arms, legs or spine) number 2 determines which of the part is moving (left arm, right arm, left calf, right thigh, etc.) number 3 determines the axis which is being pushed (x, y or z) pushing is done for the duration set in the ini, then the NPC will not be pushed for the waiting duration in the ini, then pushing again -> for every push the 3 numbers are generated from scratch this is only a first implementation, I am open to new randomizer-concepts! @Frizio I'll check your suggestions during next week since I dont have that much time this weekend and I want to play around with the dying movement a little more - I think we are onto something. Thanks for the input! PedDamOv_v1.4a3.zip
  24. I will have to check the natives for anything that can tell me if someone is hogtied, since I havent been able to find that out yet. I totally agree that this would be less exploitable, but I havent been able to do it yet. Leg/Arm-shots can work but not the way you would think - we would have to check if certain bones have been hit and then give the NPC with health points - because we dont know where it has been hit before the damage is done. I would suggest giving a percentage of the NPChealth value back (depending on the setting for the damage modifier) if certain bones have been hit. What do you think? For NPCs to wake up we have to be able to find out if they have been knocked out by melee damage - I dont know if we will be able to determine the type of damage that was done to an NPC (I dont even know if there is something like a damage type). If it should only count for Arthur we may be able to check if he is armed and currently targeting an NPC, and if that NPC is on the ground and has less than x health -> do something. Then we have to figure out how to wake someone up^^ (but I think the arthur version will cost some performance, since we need to be scanning and checking a lot of stuff permanently)
×
×
  • Create New...