Roblox Lua值不改变

我添加了多个不同的NumberValues和BoolValues,但当我尝试像这样改变值时:

local i = 1
for i == 1
    game.Workspace.Time.Value = 0
    wait(120)
    game.Workspace.Time.Value + 0.5
end

工作区中的NumberValue不会改变

点赞
用户7452073
用户7452073

随意提一下:game.Workspace已经被弃用,请改用“workspace”。

此外,其语法都是错的,这是一个诚实的错误。应该是这样的:

-- 假设"Time"是一个放置在workspace下的 'NumberValue'
-- 假设此脚本位于workspace中

local i = 1
while (i == 1) do
    local time = workspace:FindFirstChild("Time") -- 使用 'FindFirstChild' 方法
    time.Value = time.Value + 0.5
    wait(120)
end

但是,这本身就是一个不良实践,因为这会产生任何正在运行的线程,并且我建议使用协程!

local function addTime()
    local varContainer = workspace:GetFirstChild("Time")
    repeat
        varContainer.Value = varContainer.Value + 0.5
        wait(120)
    until false
end

local newThread = coroutine.create(addTime) -- 创建新的协程

coroutine.resume(newThread) -- 在另一个运行的线程中永久运行它
2017-01-22 03:34:19