Lua 脚本赢得';不工作,声音不响';我不玩,砖头也不玩';不要变色

Lua 脚本赢得';不工作,声音不响';我不玩,砖头也不玩';不要变色,lua,roblox,Lua,Roblox,我和我的朋友在工作室里做一个恐怖游戏,突然,我绕过了这个问题。我想让窗户颜色变为白色,播放灯光声音,然后恢复正常,等待15/20秒并循环 我已经把声音放在剧本的孩子们身上了,但它不起作用。我已经试了很长时间了 script.Parent.BrickColor=("Institutional White") script.Sound:Play() wait(0.2) script.Parent.BrickColor = Dark st

我和我的朋友在工作室里做一个恐怖游戏,突然,我绕过了这个问题。我想让窗户颜色变为白色,播放灯光声音,然后恢复正常,等待15/20秒并循环

我已经把声音放在剧本的孩子们身上了,但它不起作用。我已经试了很长时间了

        script.Parent.BrickColor=("Institutional White")
        script.Sound:Play()
        wait(0.2)
        script.Parent.BrickColor = Dark stone grey
        wait(10)
        loop
    end

应该是“=”,应该是“结束”

我假设您使用的是Roblox Studio

您的思路是正确的,但是只有一些语法错误需要修复。将BrickColor设置为零件时,必须创建新的BrickColor对象。可以使用.new()函数来实现这一点

script.Parent.BrickColor = BrickColor.new("Institutional White")
local part = script.Parent:WaitForChild("MyPart")
local sound = script.Parent:WaitForChild("MySound")
接下来,我们需要修复您的while循环。现在,您已经声明了
end
单词,但是您还需要
while
语句!我假设你希望循环无限运行。在这种情况下,您可以执行以下操作:

while (true) do
    --Write your code here
end
你必须担心的另一件事是你的资产负载。简单地说,资产只是游戏中的一个对象,就像声音、图片、角色,任何真正的东西。有时候,当你启动游戏时,你的代码会比你的资产负载运行得更快。在这种情况下,我们需要编写代码,使用:WaitForChild()函数等待资产加载

script.Parent.BrickColor = BrickColor.new("Institutional White")
local part = script.Parent:WaitForChild("MyPart")
local sound = script.Parent:WaitForChild("MySound")
还有,Roblox工作室的另一个声音。声音的来源或播放位置取决于声音的父元素。例如,如果我将声音放在
myPart
中,声音将从砖块本身播放,并在您走开时变得更安静。如果将声音放在服务或非物理对象中,如
工作区
脚本
,则声音将全局播放,每个人都将以相同的音量听到声音

最后,您的代码应该是这样的:

local part = script.Parent
local sound = script:WaitForChild("Sound")

while (true) do
    part.BrickColor = BrickColor.new("Institutional White")
    sound:Play()
    wait(0.2)
    part.BrickColor = BrickColor.new("Medium stone grey")
    wait(10)
end

希望这有帮助

这是你的全部密码吗?你期望的结果是什么?您的代码在语法上是错误的。错误消息意味着,lua正在等待分配
loop
,例如
loop=123
。但是缺少预期的
=