1 Pluspunkt 0 Minuspunkte
Ich versuche gerade die Networking API von Godot und verstehe nicht ganz wie das mit den RPC funktioniert. Wie kann ich eine RPC Funktion in Godot nur auf dem Server zulassen? Oder nur auf einem bestimmten Spieler aufrufen?
von  

2 Antworten

0 Pluspunkte 0 Minuspunkte

Um eine Funktion nur auf dem Server zuzulassen kannst du die Netzwerk-ID prüfen. Der Server hat immer die 1.

@rpc ("any_peer")
func _my_rpc():
    if multiplayer.get_multiplayer_authority() == 1:
        # do stuff on server

Um einen RPC an einen bestimmten Player zu senden kannst du rpc_id benutzen.

rpc_id(remote_peer_id, "function_name")
von (566 Punkte)  
0 Pluspunkte 0 Minuspunkte

Die Multiplayer API stellt eine Funktion is_server bereit.

if multiplayer.is_server():
    rpc_id(peer_id, "my_rpc_function")
von (640 Punkte)