Send RPC to owning NetworkPlayer of networkView

I have a game with 4 players. One of the players is the network server.
I want to use networkView.RPC(“method”, Networkplayer, […]) to make a RPC call directly on the NetworkPlayer owning the networkView. See this code snippet

                var otherPlayerPawn = hit.transform.GetComponent<PlayerPawn>();
                otherPlayerPawn.networkView.RPC("TakeDamage", otherPlayerPawn.networkView.owner);
            }
        }

The problem is that this works perfectly with two players (1 server, 1 client) but not with three or more players. It works when the server player wants to call the RPC on any client or when a client wants to call the RPC on the server, but not when the clients are calling the RPC on another NetworkPlayer which is not the server.

I searched different topics and all the references but couldn´t find an explanation for this behaviour.

Has anyone any idea about that?

I had the same problem.

Have a look at my question

The problem is that a player cannot “talk” to another player until the second one is the server. Everything must go threw the server. So your 1st player must send a RPC call to the server telling that the 2nd player was hit, and then the server tells the 2nd player he was hit.

Create a method “RedirectDamage” that takes the shot player as an argument and call it via a RPC call from player 1 to the server. This method will call “TakeDamage” from server via player 2.

Tell me if you have a problem understanding this :slight_smile: