为什么这个 Roblox 对话框脚本没有工作

所以当选择对话框选项时,我希望游戏执行特定的操作。

script.Parent.DialogChoiceSelected:connect(function(player,choice)
    if choice.Name == "No" then
        player.Character.Humanoid.Health = 0
    elseif choice.Name == "Yes" then
        player.Character.Humanoid.Health = 1000
    end
end)

该脚本已启用,放置在同一对话事件中,且我知道对话框名称是正确的,但当选择对话框选项时,绝对没有任何反应。所以有人可以告诉我如何 ****

点赞
用户2860267
用户2860267

看一下 Dialog.DialogChoiceSelected 的文档,其中有这句话:

此事件仅在客户端触发,不会在服务器上触发。应该连接到 LocalScript 或由 LocalScript 要求的 ModuleScript 中。

所以你需要在适当的位置使用 LocalScript 连接到此对话框对象,然后你的代码应该能够正常工作。

2021-06-13 18:53:24
用户16014788
用户16014788

如果你将一个脚本放在对话框里,它不会工作,因为它是客户端的,所以它必须是一个 LocalScript,并且必须是以下任何一种的后代:

  1. 玩家的背包,如一个工具的子项
  2. 玩家的角色模型
  3. 玩家的PlayerGui
  4. 玩家的PlayerScripts
  5. ReplicatedFirst服务。

然后将本地脚本的代码更改为 workspace:WaitForChild("TheDialogName")。

https://developer.roblox.com/en-us/api-reference/class/LocalScript

https://developer.roblox.com/en-us/api-reference/class/Dialog

2021-06-14 13:25:59