Respawning Player through the death screen with specific coordinate

Greetings :slight_smile: Currently, I trying to respawn the player’s character when he presses the button “respawn” on the death screen.

I have already created a BP widget with my Death screen

I already did a ragdoll animation when the player overlaps the trigger area.

Player die when trigger collision area

But I don’t know how to call this widget when the player died. And how to respawn him on exact area.

Tried multiple variants.

  1. Call widget when the player died from my BP_ThirdPersonCharacter but got an error on Vieport section

  2. And tried the guide - Respawning a Player Character | Unreal Engine Documentation. But unfortunately doesn’t work for me for a couple of reasons - 1st it will respawn by pressing an exact button. Without the death screen. And the second one is that there is no possibility to create New Input Parameter of Blueprint class type Character, then name it Character.

Could you help please with that issue ? :slight_smile:

Many thanks for your time!

Could you post the logical steps that you are trying to achieve with no blueprints in mind? Because the screen you posted are pretty confusing.

Hello, thank you for Your answer. Sure. Below I wrote a “user case”.

My Aim: Player die - show death screen with two buttons (Respawn and quit) - Player press respawn - Respawn third person character in a proper location

I already did:

  1. Turn on Ragdoll animation when the character overlaps with a collation of my obstacle.
  2. Death screen

Hey @NightMareLunacy! Welcome to the Forums!

Have you tried making a variable that can be checked by your other blueprint? Or activated in your other blueprint on character death? Here is live training on blueprint communication that explains how to do so:

Blueprint Communications | Live Training | Unreal Engine

I hope the above solution is what you are needing.

1 Like

Sorry for the delay.
Keep in mind the Player State, Game State and Game Mode should manage the situation.
When the player dies the Player State should be notified and so the Game State and, eventually, the Game Mode, depending on the kind of game (single player, multiplayer and so on).
The Player State or the Game State should pop-up the respawn/quit widget and receive the callback based on the choice.

At that point the old Character should be destroyed and a new one can be spawned by calling Spawn Actor with your player character class and respawn point transform as input.
Tell the Player Controller to posses the new Character and dismiss the widget.

Could you specify the way? I should make a global variable for the death stance - and then check the status if it death shows a death screen?

From whatever blueprint you can always obtain the Game State, Player State or Game Mode instance as well as Player Pawn, Player Character and so on.
Whenever the player dies you should get, let’s say, the Player State, cast it to your implementation and call the function that shows the death screen.
Instancing the death screen widget you subscribe to the Event Dispatecher that calls back the Event that respawns the player.

Now: try to translate the iter into blueprints: what’s the first object that knows that the player is dead?

I have character and object with collision. When I overlap it. Character dies
ezgif-4-0fd1e64d3c

Sorry for the spam but according to the rules I can’t upload more than 1 image or other media. But I would like to describe it all in detail

Here is BP logic which I put in Object when overlap

And here is the logic I put to my third person character (RagDoll animation)

Okay :slight_smile: then the character knows what to do (die).
Now inform the Game State or the Player State about that and make it pop-up the widget.
When the player clicks on Respawn the Game State or the Player State destroys the third person character and spawn another one in the spawn point of your choice.
Remember to make the Player Controller possess the new third person character.

I don’t want to tell you exactly what to do but I’m trying to help you figure out the blueprint hierarchy in UE (in case some day you’ll try to make it multiplayer or not).

Yey, I did it. Here is how I make it. Not sure that it’s optimal. I just add components to the existing part of my Character death animation.

How can I save spawn point, something like a checkpoint system?

When the player reaches it It will save the spawn point and then resurrect the player there? I should check if the variable is true for each location and which is true. respawn there?

Also, can I get respawn from the death screen widget? So when I clicked respawn it will spawn actor

Here’s a guide on respawning

Respawning a Player | Unreal Engine Documentation
You might want to have some Player Spawn object along the path.

2 Likes

If I ever finish this game, I will put you on the credit page for sure :smiley:


I did spawn the system, but it doesn’t work for me since I call it from my death screen widget, and it seems like the game does not understand what should it be respawned.

1 Like

As I told you :slight_smile: you must use a Callback aka an Event Dispatcher from the widget to the class that spawn then widget.
image
Add a call back on the widget, bind the callback in the class the spawned the widget and call the callback from the widget

Unfortunately, I’m too stupid to understand the issue and how to solve it with your tips :smiley:

I read the article about event dispatchers for some reason doesn’t work for me. I think I didn’t understand how it’s works

If someone needs a solution to how to do it properly, I found a way. Probably there is a way to do it more appropriately. If you found one, give a tip, please :slight_smile:

So. Here is how I did it.

First, you need to set up in-game mode “logic of death and respawn.”

And what to do when the actor is destroyed, for me, is to show the death screen widget
Gamemode1

After that gives logic and animation to death. For me, it’s the activation of ragdoll

And destroy the actor, so the game will know that player is dead.

But for checkpoint logic, you need to create BP_Actor and set the following logic. So when the player overlaps the checkpoint, it will take the same position to respawn the player.

If someone could help with setting the amount of respawning on the same checkpoint to one (1), then destroy the checkpoint after being respawned on it. please give a tip :slight_smile: