我是Roblox脚本的新手,我试图在NPC对话开始后将武器从透明更改为可见。
我在属性中将武器“ Autohyperlaser”的透明度设置为1,因此默认情况下它是透明的。我有一个名为“ Weapon_holder”的NPC,它有一个Dialog和DialogChoice子级。因此,层次结构为:
workspace.Weapon_holder.Head.Dialog.DialogChoice
我在DialogChoice对象下创建了一个脚本,该脚本具有以下代码:
local Dialog = script.Parent
Dialog.DialogChoiceSelected:Connect(function(Player, Choice)
workspace.Autohyperlaser.Handle.Transparency = 0
end)
我期望选择任何对话框选择之后,workspace.Autohyperlaser.Handle
的透明度从1变为0。但是,喷枪保持透明,因此脚本不正确或未被调用。我该如何使用它?
答案 0 :(得分:0)
DialogChoiceSelected事件只能在客户端触发。这是一个事件 Dialog,而不是DialogChoice。而且您必须在LocalScript中使用它,因为该事件仅是客户端的。您可以将LocalScript放入角色中,方法是将其放入StarterPlayer> StarterCharacterScripts中,或者将其放入播放器中,然后将其放入StarterPlayer> StarterPlayerScripts中,因为LocalScript仅在它们是这些或任何其他玩家后代对象的后代时才会运行。 >
对于代码,只需更改Dialog变量:
local Dialog = workspace.Weapon_holder.Head.Dialog --Since it is an event of a Dialog
Dialog.DialogChoiceSelected:Connect(function(Player, Choice)
workspace.Autohyperlaser.Handle.Transparency = 0
end)
如果LocalScript在正确的位置,则应立即将其触发。