Download

Targeting Other Players with Blueprints

Hey guys,

Currently, I am using Get Owning Player and Get Owner Controller to interact with a player equipping/using an item in BPs.

How do I target other players from the player list with UE4 IDs?

In both of the functions, there is a Target variable, that is currently set to self. However, nothing really useful comes on when I try to add a node to that variable.

Thanks in advance.

Re: The target variable on the Get Owning Player and Get Owner Controller, the TARGET in that case is the item(blueprint) you are trying to get the owning player of or the owner controller of. For example, if you have a Buff BP, and you place the Get Owning Player node, the Target:Self means that it will be retrieving the owning player of the Buff BP. Same is true if you placed the get owner controller node in the same BP, it will say Target:Self, meaning that it will retrieve the owner controller for the owner of the Buff BP. Target:blank on nodes is the target the node is working with WITHIN code, not a target in game.

That said, I too am trying to find a way to dynamically collect OTHER players names and steam ID’s when they cross into another players trigger sphere that I have set up. So ANYONE with knowledge on how to properly set up blueprints to PROPERLY retrieve this info to store in variables, would be greatly appreciated!

As I’ve mentioned to Ariien, I do not know how to fully retrieve the entire player list, my attempts to reproduce what Wildcard have done have proved fruitless in that only part of the entire list is made available, however in regards to retrieving the various bits of information about players can be done like so:

https://i.gyazo.com/9b23a87c9e1fa86fe239e9f2011ace97.png

Player controller is the input for that entire chain, and the node at the end is a custom struct, which is built as an array, thus storing all of the information in a singe place.

For collecting the players on overlap, if you’re adding a trigger sphere to the player(so as to make a stackable mod and not modifying the core directly), then when you attach the sphere, store it to a variable and - I believe - you should be able to create an OnComponentBeginOverlap event node, and from there add another reference to the component you’ve added and use a Get Overlapping Actors node - it’s probably not context sensitive, and ForEachLoop through the array using casting to shooter character and grabbing the Owner Controller.

If further explanation on the details of such a thing is needed, then I should be able to rig up an example of how to do this. I would also suggest removing the sphere on EndPlay if you’re using an equippable item to attach it, but that’s just me.

-WM

Just curious here, what relevance does the players UE4ID have? Steam name and survivor name I get, is that UE4ID for testing in the PIE? OR is it for logging info in game?

Gyazo’s f***ed again so the image is out, but the UE4ID is used for certain console commands and is unique to each player for the world they’re in - it won’t be the same between two different “ARK’s” is basically what that means.

It’s UE4’s built in way of identifying players uniquely in multiplayer I believe, I think Rama(a UE4 wizard/legend - same difference) was the one who got it exposed in the engine, but as that is local to that instance it’s not like the Steam(Unique)ID that will be same across all instances.

-WM