Action on land from height >300...

I want to setup something similar to fall damage but instead of damaging the actor I want to cause an action to occur based on the height rather than velocity.

For instance, if I wanted to slow the actor through setting Max walk speed reduction (float-float?) from the fall height rather than velocity how would I go about it? Actor falls from ledge and ledge is =>300ueu it causes the action to slow the character. I’ve got a grasp of the actual slowing method but not linking it to a height vector.

Thanks. B.

not quite sure what you mean and there might be an easier way. But could u store the height as a variable then do a line trace from the bottom of the actor towards the ground to work out what it is .

there is two events (I cant recall the names right now… something along the lines of “eventFellFromLedge” and “eventJumped”) I use those to record the start fall height. Then I use eventLanded to record the end fall height and measure the relative fall height by substracting end from start fall height.

Basically all characters in this multi-player game have no health. The game is sort of like a game of tag, it doesn’t require health you just need to outrun other players. If you try jumping off a high wall or a building, higher than 300 units, it slows you down for a few seconds while you recover from that fall.

This sounds like the way I should go. Using the output from that subtraction what should I use to decide the speed decrease, if fall distance is over 300?

Thanks. B.

Thanks Adeptus, I got it to work using your suggestion. Here’s how I did it.


I’m stuck with a disable input problem now. I can’t seem to find an answer to this, I have searched and found people saying use bool to set it up but I can’t get my head around how to do it.

I want to setup a following bit of code to keep the character crouched/slowed for 3-5 seconds, I can add the delay but I want to disable input from left shift and left ctrl key’s only, until that delay is complete.

If someone could point me in the right direction it would be appreciated. I’m not looking for the complete answer, just a guide to help me understand how to do it.

Thanks, B.

On your key pressed events, branch through a boolean that gets re-enabled after that delay.

Not sure if that info helps, but if you can provide more info on your scenario that would be good.

Basically, you jump/walk off a ledge, when you land the slowdown (crouch) is applied as per the blueprint above, up to this point everything works fine. Now, when the crouch is applied I’ve got a 3 second delay before it uncrouches the character. the problem is, when the crouch is applied the player can press sprint/crouch (left shift/left ctrl respectively) and it overrides the blueprint. I want to block the player fom doing this until the delay has timed out. Maybe I need to change the delay to a timer?

I’ve attached a copy of the FPCBP as a .txt, just rename to .uasset and have a look if you like.

Thanks, B.

When you fall and set the player to crouch set another var, a bool named isHurt to true. Off of your crouch and sprint action buttons run a branch and plug this in. If it is true, do nothing, if it is false crouch or sprint. after the 3 second delay set it back to false.

Thanks so much for this. I can’t believe how silly I’ve been here…instead of looking at the overall movement blueprint I kept getting bogged down trying to do it with that particular part on its own. Until you pointed that out I didn’t realise lol. :smiley:

Thanks again, B.