戈多多人游戏:未收到RPC消息

  • 本文关键字:RPC 消息 多多 游戏 godot
  • 更新时间 :
  • 英文 :


我是Godot的新手,所以我希望这个问题不要太傻。在我正在开发的多人游戏中,玩家需要向所有其他玩家报告他的状态变化("is_infected"(。

在游戏节点中,我有一个角色节点,玩家被创建为名为Character3D的场景的实例。在该节点内,我有一个称为"节点"的节点;infectionManager";处理感染逻辑。总结:游戏>字符>Character3D>感染管理器。

我尝试从InfectionManger向Character3D发出信号,然后从那里广播rpc调用。它看起来如下:

func _on_InfectionManager_is_infected(is_infected) -> void:
rpc("set_infected_list", get_name(), is_infected)
remote func set_infected_list(player_id, a_player_is_infected):
print(get_name(), " got the RPC message! ***")

然而,其他玩家似乎从来没有收到rpc消息,我不确定为什么会这样。

我认为服务器和客户端需要相同的结构。

当您发送rpc时,rpc正在查找相同的节点路径,若它找到了路径,它将尝试运行该函数。

尝试在(clint和服务器(上创建singleton并将此脚本添加到其中。

此处解释专用服务器的结构

最新更新