Alright, so I made a post a few days ago regarding my project to create PvP/PvE zones on a map. Becouse of this I’ve been experimenting with multiple ways to do this, but I keep running into the same problem whichever route I try to use.
I’ve tried three different approaches so far, trying to use SphereTriggers to mark where different zones are, and OnActorBeginOverlop events as trigger points:
1: Simply altering the Damage Type Adjusters of the PlayerPawn. That is, altering the damage multipler to 0.0 for all damage types that come from other players.
- This didn’t work simply becouse…well…there is no access to alter these values through the unreal system. The variables are hidden for use only in C++ code.
2: Creating two different PlayerPawn blueprints. One that has appropriate Damage Type Adjuster values for PvP, and one for PvE. When entering a different zone I would spawn the appropriate PlayerPawn, make the player possess this Pawn while removing the old one.
- This approach doesn’t seem feasible becouse I would naturally need to copy the inventory/exp/stats of the old pawn to the new one. And again, these variables(probably Structures in this case) do not seem available to reference or work with in the editor.
3: Use the nCanBeDamaged variable to activate godmode on any player that takes damage from a human source, and heal them approriately. This approach is of course the worst for many reasons, and I really don’t want to do this since it’s riddled with shortcomings and issues. A player could be 1-shot before godmode kicks in etc etc,
- It’s still doesn’t seem possible however. From what I can tell there is no way to actually heal a player. Applying negative damage doesn’t do it.
Since the devs will not be releasing c++ possibilities to modders anytime soon, it’s clear to me at least that there’s a DIRE need to expose more variables/arrays/structs or functions that can directly retrieve/write information from/to them. Without this the editor seems extremely limited, and it makes me sad
Edit: Just to have it said, I -am- new to the Unreal Engine so I could simply be missing things. The above is the wall that I’ve run into however.
Edit 2: Drathek correctly pointed that out that c++ possibilities might be added, although it’s been said to not be soon.