Server Error : Client is absorbing remote function (anyone able to explain please?)

so, I’m really new to the whole scripting of ue4 / ark, etc. so please look past my ignorance and let me know if you can help :slight_smile:

I’m trying to capture data that I’m told is only able to be accessed by sending a command to the server via a function to have it triggered on the server level, then return the value back to the clients via return function. I went through that process, tried using Run on Server for the function with “reliable” and it’s not working. When i look at the server logs, I see the following message.

[2016.06.09-07.07.21:719][736]LogNet:Warning: Client is absorbing remote function GetDinoTorpor on actor ShooterHudBP_C_0 because RemoteRole is ROLE_None

I’m thinking I have to create the function somewhere outside of the ShooterHubBP then call it to get it out of the client control, but I’m unsure. Please let me know if anyone can help. thanks.

Hey, you are pretty much right.
If you currently have your run on server event on the shooterhud that won’t work because the shooterhud only exists on the client. In addition to that for a successful run on server you need to call it on a replicated actor that is owned by the player, such as the playercontroller, pawn, weapon or buff.
It really depends on your mod and stackability requirements. If you work on a total conversion there is no problem with placing the event on the playercontroller, for mods your mod will need to be first in the load order to work if you modify the playercontroller or pawn. Weapons and Buffs are stackable but not always applicable.

If you want to dig more into the replication in ue4 i recommend reading this: http://cedric.bnslv.de/unreal-engine-4-network-compendium-released/

thanks for the info. can’t read the link you provided as I’m still at work, but I think you gave me the info I needed. the mod i work with is a TC, so from what you are saying, I should be able to create a custom event within the “PlayerControllerBlueprint” then within the shooterHudbp, call that in the following order…

PlayerController >> PlayerControllerBlueprint >> call event (with run a server)

ok, so I did as suggested, and it partly works…

PlayerController >> PlayerControllerBlueprint >> call event (with run a server) ==== this returns the value I was trying to get “GREAT!” :slight_smile:

however, now i’m trying to get that value back to the shooter hud to display it and i can’t figure out how to do that. i read over the manual you provided a link to, and watched a few vids, still can’t seem to get it. any guidance to lead me in the right location on how to get it back? I tried doing a cast to retrieve the var, but it always returns as 0.0.

You should be able to set a replicated variable on the playercontroller for your value and retrieve it. The settings for that are in the details panel of the variable.

maybe I’m not understanding, or not clear on what i’m trying to do. (or I’m doing it totally wrong).

basiclly, i’m displaying a hud via the “ShooterHudBP” for hp, torpor, etc. The torpor however does not return a value for the client if the dino is wild, but the value is able to be captured on the server if i cast from ShooterHudBP over to PlayerControllerBlueprint

Now, I’m trying to go back from PlayerControllerBlueprint, back to the ShooterHudBP carrying the variable back to the event within ShooterHudBP, but everytime i cast to ShooterHudBP, it’s geting stuck and not geting to the event activation at the end.

Within ShooterHudBP

then the event within PlayerControllerBlueprint

the print function never prints. if I put a print before the “Cast to ShooterHudBP” print will work, it’s only after that fails for some reason. not sure why.

yea, I can do that, but don’t I need to go from shooterHudPB >>> cast to event within playerControlerBlueprint >>> cast back to the shooterhubPB with captured var?